uniapp 公众号进行本地授权与调试
1、修改本地 hosts 文件
- 找到 C:\Windows\System32\drivers\etc 下的 hosts 文件,打开文件是这样的
- 注释最后一行并另起一行,修改为
javascript
127.0.0.1 你需要修改的地址,例如:www.baidu.com
- 修改完毕记得保存,如果保存不了就要以管理员身份进行保存
2、刷新 DNS 缓存
- cmd 执行 ==ipconfig /flushdns== ,这样可以刷新 DNS 缓存,使刚刚修改的 hosts 文件及时生效
3、配置项目代理
- 打开 uniapp 的公众号项目,打开 manifest.json 文件的源码视图,将以下配置项配入其中
json
"h5": {
"devServer": {
"host": "www.baidu.com", // 用于指定devDerve使用的host,就是公众号项目存放的服务器地址,与hosts文件配置的一致
"port": 80, // 指定要监听请求的端口号,公众号项目的端口地址,默认80端口
"proxy": {
"/api": {
"target": "http://192.168.50.23:8188", // 请求的后端服务器地址
"ws": false, // 是否代理websockets
"changeOrigin": true, // 默认值:false 将主机标头的原点更改为目标URL
"secure": false, // 是否验证SSL Certs
"pathRewrite": {
"^/api": "/api" // 重写之后url为 http://192.168.50.23:8188/api/xxx
}
}
}
},
// 其他配置项
},
- 然后重启项目,就会发现项目的启动地址变成了==http://www.baidu.com:80/==,同时也要注意本地是否被占用了项目端口
- 在微信开发者工具中输入==http://www.baidu.com==,注意是http请求不是https
如果微信开发者工具强行把 http 转成 https,可以尝试以下方法
当前如果打开着微信开发者工具,先进行关闭,如果当前为关闭状态,直接忽略该步骤
删除User Data 文件夹即可
或者可以在 devServer 中增加 "https": true
4、配置完毕
- 现在在微信开发者工具内调试授权登录是可以正常授权的,但是调试微信支付还是会异常
javascript
{
errMsg: 'chooseWXPay:没有此SDK或暂不支持此SDK模拟'
}
- 此外还有一个 /sockjs-node/info 接口刷屏问题不知道如何解决