博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微信小程序授权保存到相册功能
阅读量:6870 次
发布时间:2019-06-26

本文共 1764 字,大约阅读时间需要 5 分钟。

对于授权有三种情况:

1.用户第一次使用,弹出授权。

2.用户已经拒绝过授权。

3.用户已经授权过。

正确的逻辑处理是:

(1)获取用户授权的信息

(2)判断scope.writePhotosAlbum的值,若为true则已经授权,直接调用保存到相册的方法;若为undefined,则说明是第一次授权,需要调用wx.authorize弹出授权框,授权框只在第一次询问时弹出,如果用户已经拒绝了,则不会弹出。因此我们需要对undefined情况进行判断。若为false,则已经拒绝了授权,这时候我们需要调用wx.openSetting引导用户打开设置,保存到相册,wx.openSetting设置界面只会出现小程序已经向用户请求过的权限,正因为wx.authorize和wx.openSetting的使用场景限制,我们才需要考虑这两种case一起使用才行,缺一不可。

wx.getSetting({            success(res) {                if (res.authSetting['scope.writePhotosAlbum']) {                    _this.saveImg();                } else if (res.authSetting['scope.writePhotosAlbum'] === undefined) {                    wx.authorize({                        scope: 'scope.writePhotosAlbum',                        success() {
_this.saveImg(); }, fail(){ wx.showToast({ title: '您没有授权,无法保存到相册', icon: 'none' }) } }) }else { wx.openSetting({ success(res) { if (res.authSetting['scope.writePhotosAlbum']) { _this.saveImg(); }else{ wx.showToast({ title:'您没有授权,无法保存到相册', icon:'none' }) _this.setData({ isSaving: false }); } } }) } } })

 

转载于:https://www.cnblogs.com/BlueCc/p/10811410.html

你可能感兴趣的文章
获取音视频文件AVMetadata数据
查看>>
sql serve 创建序列
查看>>
模型层的生成
查看>>
关于APP接口设计
查看>>
【VI】如何再执行上一个(历史)命令(已解决)
查看>>
KendoUI系列:DropDownList
查看>>
Axure7.0汉化方法
查看>>
我的MYSQL学习心得(九)
查看>>
JavaScript高级程序设计学习笔记--DOM
查看>>
Python易学就会(五)turtle绘制椭圆与递归
查看>>
echarts map地图设置外边框或者阴影
查看>>
使用vue-cli脚手架+webpack搭建vue项目
查看>>
Docker - 03 编排容器 Docker Compose 指令速查表
查看>>
Mybatis基本映射--INSERT
查看>>
手把手教你理解卷积神经网络
查看>>
猴子都能看懂的《Git 分支管理》
查看>>
【面试算法】链表反转
查看>>
镭速(Raysync)文件传输高可用安装部署介绍!
查看>>
使用 Jaeger 完成服务间的链路追踪
查看>>
Java NIO使用及原理分析 (一)
查看>>