今天掏出微信开发工具搞公众号开发,差点被坑到怀疑人生。以前玩小程序还算顺溜,结果套到公众号直接翻车,一堆隐藏陷阱等着人跳。这就把我的踩坑实录甩出来,你们下次绕道走!
开局就跪在配置上
刚打开微信开发工具,美滋滋新建项目,公众号选项直接选上。域名填完蹦出来个提示:“非官方授权域名”。当场懵圈,这域名明明在公众号后台配过了!折腾半小时发现:工具里填的域名必须带http://,后台配的不带协议头!补上立马绿了。
- 坑点1:工具里的“公众号网页项目”要求完整URL(带http://),后台配置的“JS接口安全域名”只需纯域名
- 避坑:复制后台域名后手动加http://
调试时签名疯狂报错
调个微信分享接口,工具里一切正常,真机死活报签名错误。血压瞬间飙升!原来开发工具默认忽略URL里的#号及其后参数,但真机会完整计算!代码里用了*取当前地址签名,直接翻车。
解决办法糙得很:自己写个函数剔除#号后面内容。工具里测试时用*('#')[0],上线代码加个判断,开发环境保持原样。
本地调试支付能把自己逼疯
调微信支付差点原地去世。本地起服务调试,支付回调死活收不到。翻文档翻到眼瞎,发现微信公众号支付回调必须用80/443端口+备案域名!本地localhost和127.0.0.1?微信根本不鸟你!
土办法解决:
- 用内网穿透工具把本机端口映射到公网域名
- 公众号后台支付配置填这个穿透域名
- 工具里项目URL也改成穿透地址
调试时疯狂修改配置+重启穿透,差点把键盘砸了。
缓存把我整不会了
改完代码兴冲冲刷新页面,样式居然没变?!微信开发工具缓存比老坛酸菜还顽固。试遍全网方案:
- Ctrl+F5硬刷新?失败!
- 清除工具缓存?暂时性胜利!
- 修改版本号v=1.0?真机有用工具里照旧!
终极杀招:项目设置里勾选“不校验合法域名”,关掉工具删掉.localstorage文件重开。现在每次启动都条件反射删文件...
真机调试像个玄学
以为工具调试通过就万事大吉?太天真!安卓机打开白屏,iPhone显示错位,老板的千元机直接卡成PPT。真机调试必须开“远程调试”,用数据线连电脑后扫工具里的二维码。结果华为手机扫完跳转应用商店,vivo扫码毫无反应!在文件里加了段暴力跳转代码:
if(*().match(/micromessenger/) && !isDev){ *="封装好的schema链接" }
这才在开发阶段强行拉起调试。
的惨痛教训
最坑的是上周交项目。功能全测好了,老板亲自体验时突然卡死。查了三小时发现是微信jssdk初始化太早!客户网络差时*没加载完就执行了,加了setTimeout延后500ms才稳。测试时网速快没发现,老板在地下停车场直接翻车...
所以记住:所有*操作必须塞回调里!能用Promise封装就别裸奔!现在看到微信文档就想吐,但谁让甲方爸爸只认公众号?





