前端【小程序】12-小程序基础篇【授权流程】【没有授权则跳转到设置页面】

微信小程序授权流程

 

 

以保存图片到本地为例,保存图片之前先进行授权校验

 1   /**
 2    * 授权设置,点击保存图片的时候,触发该事件,然后获取用户的授权信息,判断是否存在某项授权,不存在则提示,跳转到设置页面,否则直接执行
 3    */
 4   authSetting () {
 5     wx.getSetting({
 6       success: ({ authSetting }) => {
 7         if (authSetting['scope.writePhotosAlbum'] === false) {
 8           console.log('拒绝了授权')
 9           // 拒绝了访问相册或者没有授权,调用授权API
10           wx.showModal({
11             content: '请允许添加到相册!',
12             showCancel: false,
13             success: () => {
14               // 打开设置界面
15               wx.openSetting({
16                 success: ({ authSetting }) => {
17                   console.log('authSetting: ', authSetting)
18                   // 如果设置了允许访问相册,则调用保存
19                   if (authSetting['scope.writePhotosAlbum']) {
20                     this.saveImage()
21                   }
22                   // 如果跳转到设置界面,用户仍然没有授权,那么不在管了
23                 }
24               })
25             }
26           })
27         } else {
28           // 如果设置允许访问相册, 则直接保存
29           this.saveImage()
30         }
31       }
32     })
33   },
34   /**
35    * 保存图片到本地
36    */
37   async saveImage () {
38     try {
39       // 1、获取图片信息(下载到本地)
40       const { path } = await wx.getImageInfo({
41         src: 'https://enjoy-plus.oss-cn-beijing.aliyuncs.com/uploads/qrcode.png'
42       })
43       // 2、保存图片(wx.saveVideoToPhotosAlbum方法不能直接传网络地址, 需要通过wx.getImageInfo方法把网络图片处理到小程序本地)
44       await wx.saveVideoToPhotosAlbum({ filePath: path })
45       wx.utils.toast('图片保存成功')
46     } catch (error) {
47       console.log(error)
48     }
49   }

 

posted @ 2024-04-18 20:22  为你编程  阅读(2)  评论(0编辑  收藏  举报