123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- const downLoadImage = (url) => {
- uni.getSetting({
- success: (res) => {
- // console.log(res.authSetting['scope.writePhotosAlbum'])
- let flag = res.authSetting['scope.writePhotosAlbum']
- if (flag===false) {
- // 未授权之前没该权限 返回的时undefined 拒绝授权是false 同意是true
- uni.showModal({
- title: '提示',
- content: '请先授权保存相册',
- success: (res) => {
- if (res.confirm) {
- uni.openSetting()
- } else {
- uni.showToast({
- icon: 'none',
- mask: true,
- title: '用户取消授权'
- })
- }
- }
- })
- } else {
- uni.showLoading({
- title:'保存中...',
- mask:true
- })
- uni.downloadFile({
- url,
- success: (res) => {
- if (res.statusCode === 200) {
- uni.saveImageToPhotosAlbum({
- filePath: res.tempFilePath,
- success: (res) => {
- console.log(res)
- uni.showToast({
- title: '保存成功',
- mask: true
- })
- },
- fail: (err) => {
- console.log(err)
- uni.showToast({
- title: '保存失败',
- mask: true,
- icon: 'error'
- })
- }
- });
- }
- },
- fail: () => {
- uni.showToast({
- title: '保存失败',
- mask: true,
- icon: 'error'
- })
- }
- });
- }
- }
- })
- }
- //如需动态获取权限,修改res.authSetting['scope.userLocation']与scope: 'scope.userLocation'的值。
- /****
- userInfo:用户信息
- userLocation:地理位置
- address:通讯地址
- werun:运动步数
- record:录音
- writePhotosAlbum:保存到相册
- camera:摄像头
- ****/
- const getAuth = (auth) => {
- return new Promise((resolve, reject) => {
- wx.getSetting({
- success(res) {
- if (!res.authSetting[`scope.${auth}`]) {
- wx.authorize({
- scope: `scope.${auth}`,
- success() {
- resolve()
- },
- async fail(e) {
- wx.hideLoading()
- await showText(auth,resolve, reject)
- }
- })
- } else {
- resolve()
- }
- }
- })
- })
- }
- const showText = async (auth,resolve, reject)=>{
- await uni.showModal({
- title: '提示',
- content: '请前往设置打开权限',
- success(res) {
- if (res.confirm) {
- uni.openSetting({
- async success(res) {
- console.log(res,res.authSetting[`scope.${auth}`])
- if(!res.authSetting[`scope.${auth}`]){
- return await showText(auth,resolve, reject)
- }else{
- return resolve()
- }
- },
- fail(err) {
- console.log(err)
- return reject()
- }
- })
- } else if (res.cancel) {
- uni.showModal({
- title: '提示',
- content: '请授权小程序权限,\n「右上角」-「设置」中开启',
- showCancel: false,
- success(res) {
- if (res.confirm) {
- return reject()
- }
- }
- })
- }
- }
- })
- }
- module.exports = {
- downLoadImage,
- getAuth
- }
|