那天下午正在调试新项目
我叼着饼干,刚把微信登录按钮怼进网页里,以为点两下就能收工喝奶茶。结果一测试,用户点了微信图标后,页面直接崩出个红叉叉!提示写着“预期外错误”,连个具体原因都不给,气得我把键盘拍的啪啪响。
开始翻垃圾堆似的找原因
骂完还得干活不是?先打开浏览器调试器,看到控制台红字报错说“redirect_uri不匹配”。这玩意儿我明明在微信开放平台填过!于是我把代码里的回调地址复制下来,像捉虱子一样一个字一个字对:
- 网页写的是:http://我的测试域名/login/weixin
- 微信后台填的是:http://我的测试域名/login/weixin/
就多了个斜杠“/”!微信这死心眼完全不认账!我赶紧冲进微信开放平台后台,哆嗦着手在“授权回调域”那栏把结尾的斜杠删得干干净净,一点保存,心跳的像刚跑完八百米。
手贱点了刷新后我傻了
以为搞定收工,美滋滋刷新测试页面,结果那大红叉叉又蹦出来了!比上次还嚣张!整个人懵了三秒。调试器里翻出新的报错,说是“appsecret不对”。赶紧滚回微信后台,核对那个长得像乱码的应用密钥(AppSecret)。不看不知道,那串字母数字里有个“0”被我复制成了“O”!改代码改得眼都花了,谁能看清这破字体!气得我对着屏幕吼:“你倒是用个等宽字体喂!”。骂骂咧咧地删除粘贴,又核对了两遍,确认这密码本似的玩意儿没错了才敢点保存。
不死心再测,结果...
深呼吸两口,颤抖着手点下微信登录按钮。这回页面没崩!它终于跳出那个熟悉的绿色微信授权页面了!感动得我差点当场给微信客服磕一个。赶紧截个成功登录的图,顺手抄起泡了半天的枸杞茶猛灌一口——嚯!已经凉透了。但这都不重要,关键是记住血泪教训:微信登录这祖宗,后台设置比代码还讲究!地址多一个斜杠都不行,密钥抄错个字母就崩给你看!下回再配第三方,我非得拿放大镜把后台设置当合同条款来审,不然又得像我一样,一下午光跟斜杠和字母较劲了。