有关微信小程序保存图片到相册以及当用户拒绝授权保存图片后如何重新拉起授权的详细解析

您所在的位置:网站首页 微信图片为啥保存不到相册 有关微信小程序保存图片到相册以及当用户拒绝授权保存图片后如何重新拉起授权的详细解析

有关微信小程序保存图片到相册以及当用户拒绝授权保存图片后如何重新拉起授权的详细解析

2024-07-14 00:55:14| 来源: 网络整理| 查看: 265

一、准备阶段

保存图片到系统相册文档

uni.saveImageToPhotosAlbum({ filePath: '', // 必须是本地路径 success: () => { console.log('保存成功'); }, fail:() => { console.log('保存失败') } });

注意:此处的 filePat 必须是本地图片路径!!!! 疑问1:当用户第一次点击保存按钮调用了该接口,会弹出提示授权弹框,此时若点击了取消按钮,那么当用户第二次再点击保存按钮时此时会直接走fail接口而不会再次弹出授权提示框。那么此时又该如何重新拉起授权呢 疑问2:无论是用户未授权还是授权之后保存时点击了取消,都会直接走fail回调。那么此时又该如何区分是未授权还是说授权后点击了取消保存的按钮

二、疑问解答 疑问1解答:参考调起客户端小程序设置界面文档

虽然不能直接像用户第一次点击保存按钮时直接弹出授权弹框允许书券,但是可以通过打开设置界面让用户直接进入到设置页面手动打开

uni.openSetting({ success(res) { console.log('用户打开设置页面') } });

可通过预约文档进一步设置判断用户是都打开了之类的,不过没什么必要

疑问2解答:参考获取用户的当前设置文档

至于如何区分是用户时未授权还是说授权后点击了取消保存的按钮而走的fail回调,可通过判断用户是否授权了保存相册的权限,来进一步完善逻辑

wx.getSetting({ success(res) { if(res.authSetting['scope.writePhotosAlbum']) { // 已授权,用户点击了取消按钮 console.log('用户点击了取消保存相册') uni.showToast({ icon: 'none', title: '取消' }); } if(res.authSetting['scope.writePhotosAlbum'] == false) { // 用户未授权 console.log('用户未授权保存相册') } } }) 三、将以上逻辑整合起来

当点击保存时,直接调用保存相册接口(第一次的话会直接弹出授权提示框,后续正常走逻辑就对了),若用户点击了取消或者用户压根就未授权时,先通过判断用户是否打开了保存相册的权限,若用户未授权则提示是否跳转设置页面授权打开,若用户已授权了则用户是点击了取消按钮

uni.saveImageToPhotosAlbum({ filePath: '', // 必须是本地路径 success: () => { uni.showToast({ icon: 'success', title: '保存成功', duration: 2000 }); }, fail:() => { // 保存失败有可能是用户点击了取消按钮,也有可能是用户未授权保存相册功能这时候需要用户手动开启权限 // console.log('失败') wx.getSetting({ success(res) { if(res.authSetting['scope.writePhotosAlbum']) { // 已授权,用户点击了取消按钮,无需其他操作 uni.showToast({ icon: 'none', title: '取消' }); } if(res.authSetting['scope.writePhotosAlbum'] == false) { // 未授权,需用户跳转设置页面开启权限 uni.showModal({ title: '提示', content: `图片保存失败,请前往设置页面允许保存相册`, confirmColor: '#8C5CDD', success: function (res) { if (res.confirm) { // console.log('用户点击确定'); uni.openSetting({ success(res) { console.log('用户打开设置页面') } } else if (res.cancel) { // console.log('用户点击取消'); uni.showToast({ icon: 'none', title: '取消' }); } } }); } } }) } }); 四、其他:预览图片和视频文档

注意:此接口只支持微信小程序 此接口也可做到保存图片以及分享的效果,预览状态下长按图片即可

wx.previewMedia({ sources: [{ url: '', // 必须url网络路径 type: 'image' }], success: () => { console.log('成功') } })


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭