# 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域名

步骤:

  1. 进入小程序后台 https://mp.weixin.qq.com 点击前往 (opens new window)

  2. 点击 开发管理 - 开发设置 - 服务器域名 点击 修改

  3. request 合法域名中添加域名。

  4. uploadFile 合法域名中添加域名。

  5. download 合法域名中添加域名。

添加域名后还是无法请求?

  1. 可能是缓存问题,删除微信APP里对应的小程序(清空缓存),微信开发者工具点下清空全部缓存,并重启微信开发者工具(点重新打开项目),最后重新上传体验版。

  1. 如果上面的清空缓存还是不行,则点击微信开发者工具右上角【详情】,把不校验合法域名前的勾去掉,尝试在微信开发者工具里访问云函数,此时会提示还有哪个域名没有加入白名单。然后把提示的域名加入白名单

  1. 重复步骤1和步骤2,直到在步骤2时没有提示需要加白名单的域名时才算成功。

特别注意

如果步骤2上提示的域名是一个ip 127.0.0.1,则代表你点的HBX的【运行】菜单上传的体验版,你应该点HBX上方菜单【发行】-【微信小程序】的方式上传体验版。

【运行】菜单打包出来的代码就只能本地调试用,体验版和正式版用不了,只有【发行】菜单打包出来的代码才能发体验版和正式版。

# 微信小程序体验版和正式版无法获取昵称和头像等API的调用?

需要在你的隐私协议里明确声明需要获取昵称和头像等其他API的使用