背景
先说下自己的应用背景 一件代发涉及到微信api相关的功能 扫一扫 转发,需要在真机上测试功能是否正确
第一步掉接口,获取微信签名,接着微信初始化 之后才能使用api 初始化的时候 就算签名获取成功 微信端也会校验域名
接口掉的域名是否与你访问的域名是一致 ,如果不一致 ready失败 还是不能调取api 换句话说 你本地其服务强行调通后端签名接口
但是此时你访问的是localhost:80 到wx.ready的时候还是会失败 。 浏览器上只能选择wechat环境
但是并不能真实的调起微信的api 所以需要在真机上联调,这时候问题就出现了 我怎么在真机上访问的域名 跟微信后端的域名对应上呢
有两种方法
1.你可以上传到服务器
优点:容易理解,实现简单 缺点:联调麻烦 比如上传到预发环境 我们的域名是
https://logisticsy-mrd.jd.com/
这时候你本地访问的域名是https://logisticsy-mrd.jd.com/
微信后台接收的也是https://logisticsy-mrd.jd.com/ 这样子就保持一致了
也就能调起微信api了,但是同时也存在弊端 你本地没有调试好 直接上预发 光发版本就折腾的了 联调更是费劲
2. 你可以本地建个代理
优点:联调方便 缺点:需要熟练配置 整体来说利大于弊 配置一次 后续抓包代理就很省事了 这也就是我接下来要说的
使用charles建立代理同步本地代码实时联调,你需要有以下准备