最近有位同学咨询,他开发的微信小程序,有一个图片保存功能,就是对生成的二维码,点击分享后可以保存到本地,很普通的功能,在本地测试以及提交的体验版中,该功能都使用正常,都可以正常保存图片,但是在发布版中,该功能却无法使用,这是怎么回事呢?今天丁老师根据这个问题,做一下解释和回答。
首先查看该同学的代码:
wx.downloadFile({
url:image_url,
success: (res) => {
if (res.statusCode!==200) {
console.log('图片下载失败')
}
else{
wx.saveImageToPhotosAlbum({
filePath: res.tempFilePath,
success: () => {
console.log('保存成功')
},
fail: (error) => {
console.log('保存失败', error)
}
})
}
},
fail: (err) => {
console.log('图片下载失败,网络异常')
}
})从这个代码上看,先是下载图片,然后根据保存的临时路径,保存到本地,这个代码一点问题也没有,并且在本地和体验版中,都能成功运行,成功保存图片,这说明程序代码是没有问题的,那么为什么在正式版中无法保存呢?
问题分析
1.根据微信小程序的要求,下载的远程图片,域名必须在微信小程序开发者设置中的白名单中,检查白名单后发现没问题,该图片的根据域名已经添加白名单。
2.检查了图片文件,是正规的普通jpg文件,200K左右,尺寸不大,文件大小符合规范,没问题。
3.既然在体验版中可以用,在正式发布版中没法用,那么最后就只剩下权限问题了。和该同学沟通,了解了他在微信发布时的情况,果然,就是发布时的问题,他没有选择“采集用户隐私”!就时这个问题引起的!
采集用户隐私
1.微信小程序要求,在发布微信小程序时,需要选择是否采集用户隐私信息。
2.在以往的版本中,隐私信息包含用户的姓名、电话、地址等敏感信息,如果涉及采集这些信息,则必须选择“采集用户隐私”。
3.在现在的微信小程序审核中,用户相册的写入权限,也容纳在了采集用户隐私信息中,即使该小程序没有读取用户姓名、电话、地址等敏感信息,而涉及用户照片读取和写入的,一样归类未采集用户隐私信息。
4.因此,对小程序重新进行发布,在“用户隐私保护指引设置”中,勾选“采集用户隐私信息”即可。

解决方法
1.提交审核时,在“用户隐私保护指引设置”中,勾选“采集用户隐私”。
2.点击下方的“点击更新”用户隐私保护指引,完成用户隐私信息设置。
3.完善相册写入权限的用途、完善联系方式。

4.完善信息后,点击
保存即可。然后关闭窗口,在审核页面,点击提交审核按钮即可。
全文总结
目前微信小程序的生态越来越完善,微信官方针对小程序的审核也越来越严格,对各项功能的使用,都有这严格的限制标准,开发者在开发上架时,需要完善对应的隐私协议、功能说明才能够正常使用。
丁老师开发了上百款的微信小程序,发现一个规律,那就是在本地调试的正常,在体验版中功能使用的正常,发布后无法使用的功能,往往不是小程序代码的问题,更多的都是规则、白名单、开发者设置、隐私协议、接口授权的问题,这往往是属于技术范畴之外的要求,如果仅在代码中找问题,那这个故障永远都没法解决。建议各位开发者朋友,在遇到类似的问题时,不要只盯着代码,多去看看微信小程序官方的文档和最新协议要求,说不准就能找到解决方法。
以上就是该文章的全部内容,如果你的小程序也遇到了相关的问题,可以试着去解决一下。如果解决不了,或者是有其他更好的意见和建议,欢迎联系丁老师咨询和交流!
在使用前端jquery插件,tablesorter做表格排序和搜索时,遇到了一个问题,就是已经加载了jquery.tablesorter.js和jquery.tablesorter.widgets.js,但是在表格中的input输入关键...
经常做网站或者公网应用的朋友都知道,网站每天有大量的蜘蛛、弱密码探针、常用目录探针、暴漏弱点扫描等垃圾IP,使用爬虫大量访问,不仅对服务器的安全造成严重影响,而且还非法侵占了网站的流量,非法占用了网络带宽,以不安全、不专业的危险方式影响...
最近在使用IntelliJ IDEA开发时,突然发现有个文件,图标显示问号,这个文件也无法打开,无法编辑,是怎么回事呢?如图:经过研究发现,这是IDE无法判断此文件类型,从而将此文件根据文件内容设置为了未知类型,所以就无法打开。那么要解...
K8s,就是Kubernetes(库博内茨),是由Google发明创建的用于自动化部署、扩展和管理容器化的应用程序。很多人一直不太理解k8s到底是做什么的,以及在实际项目运行中的意义和作用到底有多大,今天丁老师就来介绍一下。K8s是做什...
windows11更新后,不管是桌面的右键,还是文件上点右键,都非常地别扭,而且也非常的卡顿。在网上找了一堆方法,都不管用,经过不懈努力,终于找到了真正能恢复经典版右键的方法。废话不多说,具体方法如下:1.以管理员方式运行CMD打开后,在C...
挺不错的浏览器,强加入了edge image viewer图片浏览器,感觉不是那么好,对于开发者来说,更想要原生的东西。包括微信网页版里的表情图片,用edge image viewer打开的话,无法保存为gif格式,即使保存了,也只是第一帧...
丁老师软件,推出图片在线加水印功能,支持图片和PDF文件加水印,可以添加文字水印、图片水印,文字水印支持调整文字大小、文字颜色、位置、透明度等,添加水印后可以自动生成文件,可以下载。在线添加图片水印地址https://www.dls6.co...
有同学咨询丁老师,他们公司的小程序和APP,是属于C端的客户服务类APP,提供会员注册、下单、发货、订单查询、业务办理进度查看等模块。其中有一个功能是在线咨询,之前是对接的人工在线客服坐席咨询,在用户量大的时候,峰值可能同时需要5-8个客服...