对于授权有三种情况:

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 });                                }}})}}})

如果你也想开发一款属于自己的微信小程序,可以通过第三方专业开发平台,来帮助你实现开发需求:厦门在乎科技-专注小程序、app、网站开发

微信小程序授权保存到相册功能相关推荐

  1. 微信小程序授权保存图片到相册

    在微信小程序中,做分享朋友圈,保存图片视频到相册,需要授权,会经常遇到.有时用户误操作,第一次拒绝授权弹框后,微信会认为用户拒绝该授权意愿并且不会再次调起授权弹框,这是该怎么办呢? 1.授权情况分析 ...

  2. 微信小程序生成图片保存到相册以及分享给好友

    这个功能我研究了一天半,最开始的头疼到后面成功实现,其中艰辛不言而喻,值得记录一下,经常写博客后,会发现自己在遇到问题和技术的时候就会习惯性的写博客,这是一个好习惯 言归正传 html添加canvas ...

  3. 微信小程序之保存动态图片功能

    效果图:(下面是电脑版,真机也可以调试成功) 1.调用wx.downloadFile方法下载图片到本地. wx.downloadFile({url: path,success: function(re ...

  4. 微信小程序授权登录 组件的封装

    微信小程序授权登录 组件的封装 新建components文件 写wxml文件 wxss部分 js部分 json引用 页面使用 页面js 授权登录 流程如下: 因为多个页面功能需要登录状态 所以做了个组 ...

  5. 微信小程序---授权保存图片或视频,拒绝后不在出现弹窗---自定义组件弹窗

    微信小程序授权保存图片后拒绝授权,(当拒绝授权后,微信再次调用保存不在出现授权弹窗): 这么一来,微信提供给开发者的解决方法就是跳入设置页面里面让用户自己打开权限. 那么今天自己自定义了一个组件. 根 ...

  6. 基于微信小程序的用户列表点赞功能

    代码地址如下: http://www.demodashi.com/demo/13997.html 一.前言 (1).适合人群 1.微信小程序开发者 2.前端工程师 3.想入门学习小程序开发的人员 4. ...

  7. 怎么实现微信小程序云开发拼团功能?

    [微信云开发教程]怎么实现微信小程序云开发拼团功能? 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 [微 ...

  8. 微信小程序下载视频到相册(带进度条)

    微信小程序下载视频到相册,并带进度条 <button class="desc-note my-button u-font-32" @click="toUpload( ...

  9. 【愚公系列】2022年09月 微信小程序-微信小程序实现网页一键登录功能

    文章目录 前言 一.微信小程序实现网页一键登录功能 1.旧版登录方法 2.新版登录方法 二.相关第三方包源码 前言 如果微信小程序要获取微信登录的用户信息,需要拿到code去后台换取用户信息,具体步骤 ...

最新文章

  1. 《学习opencv》笔记——矩阵和图像处理——cvMinManLoc,cvMul,cvNot,cvNorm and cvNormalize...
  2. 【OpenCV】5种图像滤波辨析:方框、均值、高斯、中值、双边
  3. 小瓜牛漫谈 — String、StringBuffer、StringBuilder
  4. CSS深入理解学习笔记之vertical-align
  5. 服务器测试网址填写注意事项
  6. OpenStack进入第二阶段需要解决的“七宗罪”
  7. java autorun_〔批处理〕右键添加命令,让Autorun.inf见鬼去吧
  8. java 获取js元素,表单元素值获取方式js及java方式的简单实例
  9. MVC HtmlHelper listbox用法
  10. 【nginx笔记】系统参数设置-使Nginx支持更多并发请求的TCP网络参数
  11. C语言断言assert详解
  12. Django中ORM模型总结(二)[抽象模型类,模型类的对应关系,模型类的属性,字段类型]...
  13. IDEA的short command line 的作用
  14. 简单OCX控件的开发
  15. 产品经理应该多读哪些书?
  16. 白噪声的matlab程序,matlab产生白噪声信号
  17. 山大商院java课程_山大商院必读书目推荐——《社会科学方法论》
  18. 温故而知新,可以为师矣
  19. 利用DSRM账号进行权限维持
  20. Android 9.0以上HTTP网络请求被限制解决方案

热门文章

  1. JZOJ 5904【NOIP2018模拟10.15】刺客信条
  2. python定义一个全局字典_Python字典操作详细介绍及字典内建方法分享
  3. 用户即将一分钟后关闭计算机,Win10开机提示“你的电脑将在一分钟后自动重启”怎么解决...
  4. SonarQube 安装
  5. 新手值得收藏,自媒体大神必备的40款工具,效率帮你提高上百倍
  6. linux tengine,Linux 安装 Tengine
  7. “有信云杯”大数据管理与应用创新大赛完美落幕,激发学子数字化创新活力
  8. haskell中 mod 与 rem 的区别
  9. DM8达梦数据库体系结构详解
  10. android studio 安卓制作app入门教程,Android开发:AndroidStudio安卓APP入门教程