- 给使用局域网通讯的小程序单开一个固定的配置
https://developers.weixin.qq.com/miniprogram/dev/framework/ability/mDNS.html 能给在局域网内使用的小程序单独加一个配置项吗?设置了该配置项的就不要再去检测SSL证书和域名配置了?现在是客户稍微有个WiFi连错了,或者用的手机流量,就各种 600001(cronet组件错误) 或者 600002(url域名不在安全域名列表中)的报错,客户不懂也不想懂,就知道报错了,天天投诉,各种骂人,是真的受不了了。
10小时前 - wx.request(局域网下)报fail url not in domain list 怎么解决?
小程序是在局域网下使用(非局域网要在mp后台配置ssl证书使用https的url,并且域名要备案等等),wx.request 配置的url 使用的是http://ip:port/api。并且在微信小程序开发工具中-详情-本地设置中勾选了“不校验合法域名,web-view(业务域名),TLS版本以及HTTPS证书”。 报这个错误的情况目前有两种: 1.在部分机型中出现,目前已知:红米node11,华为nova 9 pro ,VIVO V77e 等等;在小程序报错的手机中使用浏览器中访问api没问题,应用app里使用api也没问题,只有微信小程序会报错。 2.网络环境稍微复杂一点,使用的是两级路由,api服务端在一级路由,手机连接的是二级路由。手机微信小程序访问api,在正式版(线上版)和不开调试的体验版中会报这个错误;在开发版和打开调试的体验版可以正常使用,不报错。 目前,查看社区以及官方回答的部分解决方法,测试均无效。 1.删除小程序重新打开(没用) 2.开启位置服务(没用) 3.清空小程序缓存(没用) 官方唯一给的解决方案 目前看都没用,请问官方和遇到果类似问题的社友,有无可行的解决方案? 更新: 如果是局域网内使用,确保手机本机ip和局域网内服务器ip在同一局域网内。参考文档 wx.request/wx.connectSocket/wx.uploadFile/wx.downloadFile 的 url 参数允许为 [代码]${IP}:${PORT}/${PATH}[代码] 的格式,当且仅当 IP 与手机 IP 处在同一网段且不与本机 IP 相同(一般来说,就是同一局域网,如连接在同一个 wifi 下)时,请求/连接才会成功。 在这种情况下,不会进行安全域的校验,不要求必须使用 https/wss,也可以使用 http/ws。 所以,再有类似 fail url not in domain list 或者 cronet组件错误 ERR_CERT_COMMON_NAME_INVALID 等错误,优先检查手机本机IP。可以使用 wx.getLocalIPAddress 获取本机ip和子网掩码等判断是否是在同一局域网内。
2023-02-22