uni-app 开发小程序,选择文件上传报错:chooseAndUploadFile:fail api scope is not declared in the privacy agreement
2023年09月07日 638
微信小程序突然无法选择文件,是因为基础库更新的问题,分享我的经验帮大家看看具体怎么处理这个问题。
报错信息
之前在小程序中用 <uni-file-pick>
组件来选择文件上传都没有问题,现在什么代码都没改,无论是微信开发者工具还是真机运行,都没法选择文件,而且返回报错了,报错信息如下:
选择失败 { errMsg:"chooseAndUploadFile:fail api scope is not declared in the privacy agreement"}
报错原因分析
从报错信息来看,是因为隐私协议的问题,但小程序不像 APP 开发,哪有什么隐私协议呢?后来才注意到微信公众平台安全助手给发的一条消息,内容如下:
原来是因为微信开发工具默认的基础库升级到了 2.33.0,在这个版本下更新了针对用户的隐私协议,需要到登录微信小程序后台去完善。出现上面的报错,其实不是 uni-app 组件的问题,而是因为 2023年6月15日 后没有完善,小程序隐私接口调用权限已经被收回了。
解决方法
方法1:继续使用低版本基础库
在微信开发者工具中,点击右上角,把微信基础库版本改成 2.33.0 以下,然后在重新运行项目即可。2.33.0 版本以下目前不需要完善《用户隐私保护指引》。不过这个方法只能暂时解决一下,不推荐。
方法2:完善协议
登录小程序平台,然后在「设置」-「基本设置」-「服务内容声明」中,找到《用户隐私保护指引》,点击右边的「更新」,根据提示完善就可以了。
操作完成后再次运行小程序,就可以正常选择文件了。