如果使用非腾讯云的服务器需要在小程序管理后台设置白名单。也是从这里面搜索到的
开发者工具上使用的是http协议并且勾选了不校验合法域名,但上线需使用https协议
去掉之后编译,就会出现
https://XXXX 不在以下 request 合法域名列表中,请参考文档:
“不在以下request合法域名列表中”小程序报错解决
1) 登录你的微信公众平台 https://mp.weixin.qq.com
2) 打开服务器域名
微信小程序工具 -> 详情 -> 域名信息 (第一次用显示未设置)
重启微信开发工具(这步很重要,不重启就还是报错)
必看。。。。权威说明之域名使用
. 服务器域名配置
每个微信小程序需要事先设置通讯域名,小程序只可以跟指定的域名进行网络通信。包括普通 HTTPS 请求(wx.request)、上传文件(wx.uploadFile)、下载文件(wx.downloadFile) 和 WebSocket 通信(wx.connectSocket)。
从基础库 2.4.0 开始,网络接口允许与局域网 IP 通信,但要注意 不允许与本机 IP 通信。
从 2.7.0 开始,提供了 UDP 通信(wx.createUDPSocket)。
从 2.18.0 开始,提供了 TCP 连接(wx.createTCPSocket),只允许与同个局域网内的非本机 IP 以及配置过的服务器域名通信。
如使用微信云托管作为后端服务,则可无需配置通讯域名(在小程序内通过callContainer和connectContainer通过微信私有协议向云托管服务发起 HTTPS 调用和 WebSocket 通信)。
配置流程
服务器域名请在 「小程序后台-开发-开发设置-服务器域名」 中进行配置,配置时需要注意:
- 域名只支持
https
(wx.request、wx.uploadFile、wx.downloadFile) 和wss
(wx.connectSocket) 协议; - 域名不能使用 IP 地址(小程序的局域网 IP 除外)或 localhost;
- 对于
https
域名,可以配置端口,如 https://myserver.com:8080,但是配置后只能向 https://myserver.com:8080 发起请求。如果向 https://myserver.com、https://myserver.com:9091 等 URL 请求则会失败。如果不配置端口。如 https://myserver.com,那么请求的 URL 中也不能包含端口,甚至是默认的 443 端口也不可以。如果向 https://myserver.com:443 请求则会失败。 - 对于
wss
域名,无需配置端口,默认允许请求该域名下所有端口。 - 域名必须经过 ICP 备案;
- 出于安全考虑,
api.weixin.qq.com
不能被配置为服务器域名,相关API也不能在小程序内调用。 开发者应将 AppSecret 保存到后台服务器中,通过服务器使用getAccessToken
接口获取access_token
,并调用相关 API; - 不支持配置父域名,使用子域名。