# 10、小程序体验版和正式版无法请求云函数
# 解决办法
将以下域名加入小程序域名白名单
request合法域名
支付宝云:https://{spaceId}.api-hz.cloudbasefunction.cn; 这里的{spaceId}替换成你支付宝云的空间id
阿里云:https://api.next.bspapp.com;
腾讯云:https://tcb-api.tencentcloudapi.com;
uploadFile合法域名
支付宝云:https://u.object.cloudrun.cloudbaseapp.cn;
阿里云:前往unicloud控制台查看
腾讯云:https://cos.ap-shanghai.myqcloud.com;
download合法域名
支付宝云:https://{spaceId}.normal.cloudstatic.cn; 这里的{spaceId}替换成你支付宝云的空间id
阿里云:前往unicloud控制台查看
腾讯云:需要从云存储下载文件的时候才需要配置,不同服务空间域名不同,可以在web控制台查看文件详情里面看到url域名
步骤:
进入小程序后台
https://mp.weixin.qq.com
点击前往 (opens new window)点击
开发管理
-开发设置
- 服务器域名 点击修改
在
request
合法域名中添加域名。在
uploadFile
合法域名中添加域名。在
download
合法域名中添加域名。
添加域名后还是无法请求?
- 可能是缓存问题,删除微信APP里对应的小程序(清空缓存),微信开发者工具点下清空全部缓存,并重启微信开发者工具(点重新打开项目),最后重新上传体验版。
- 如果上面的清空缓存还是不行,则点击微信开发者工具右上角【详情】,把不校验合法域名前的勾去掉,尝试在微信开发者工具里访问云函数,此时会提示还有哪个域名没有加入白名单。然后把提示的域名加入白名单
- 重复步骤1和步骤2,直到在步骤2时没有提示需要加白名单的域名时才算成功。
特别注意
如果步骤2上提示的域名是一个ip 127.0.0.1
,则代表你点的HBX的【运行】菜单上传的体验版,你应该点HBX上方菜单【发行】-【微信小程序】的方式上传体验版。
即【运行】
菜单打包出来的代码就只能本地调试用,体验版和正式版用不了,只有【发行】
菜单打包出来的代码才能发体验版和正式版。
# 微信小程序体验版和正式版无法获取昵称和头像等API的调用?
需要在你的隐私协议里明确声明需要获取昵称和头像等其他API的使用