记一次发版过程中sb错误的思考与总结 正文 总结

昨天晚上9点多的时候发版小程序(前端RazSchool目录)和商城(rmall目录),前端资源和后端代码都发了,测了下,发现支付不了,前端调起不了微信支付。解决这个问题用了2个小时左右,最终发现是因为前端资源没发的sb问题(恨不得给自己两个大耳刮子)……

正文

出了问题,当然是查找原因啦。首先支付时安卓微信端直接没有提示,iOS微信提示调用支付JSAPI缺少参数:appId,嗯,这时候怀疑是前端的问题了,是不是前端代码有问题?让前端同事检查了一遍,没问题?难道是我后端问题?好吧!

  • 看日志咯,没有报错日志。
  • 抓包看预支付接口(改版了的)返回的数据,没有问题
  • 然后前端同事电脑直接访问他本地电脑的前端资源,接口用线上的,发现竟然可以……那就说明后端接口没问题了(排除法)!好了,说明问题出现在前端

因为我们的支付链接pay.xxx.com用nginx转发到cdn加速的static3.xxx.com,怀疑是不是缓存问题,好吧,加版本号试试(?v=20190105),还是不行?我再加(?v=1247384683xx00),各种加还是不行。

这样弄了许久之后,我就怀疑是不是前端资源没发呢?然后叫前端同事再重新上传到gitlab,我再拉代码,然后帮他打包(RazSchool文件目录)上传到服务器。重发了之后还是不行?我靠了个DJ!!!这时候就懵逼了,到底前端问题出现在哪里?缓存还是没刷新成功???

(这时候到了晚上,工作了一天,基本脑子有点模糊,不够用了!!!)

自以为是地认为就是缓存没刷新的问题,然后叫大佬(只有大佬才有操作服务器和发版的权限)改下nginx,把pay.xxx.com转发到源站static.xxx.com去,然后大佬一通操作(改nginx转发,重启nginx)后,再试试还是不行,抓包发现还是转发到static3.xxx.com的cdn加速链接?(why???这个有待大佬研究)

在大佬操作过程中,我在旁边看着他噼里啪啦,一不小心在看到nginx转发的链接中有rmall这个单词,这时我脑海中突然响起了一首歌曲—是他 是他 就是他……好像我每次打包的文件都是RazSchoo目录的,而支付商城的前端资源好像是放在rmall目录下的,嘶~md,神经大条了!!!不会就是我发错资源了吧,然后我小心翼翼地对大家说:我好像忘发了,发错文件了。。。

最后打包rmall,嗯,看到这个文件夹怎么感觉这么陌生呢???重新上传之后,果然可以了!!!虽然访问过的链接还是不行,因为链接还是static3有缓存,加下版本号就行了。

为了避免缓存问题,我叫大佬把支付链接的首页直接转发到源站static去,然后再改下微信公众号菜单里的链接(加版本号),好了,perfect(你个鬼),可以下班了。(这时候已经是11点多了)。马丹,这么sb的问题,竟然弄了两个小时,耽误了大家这么多的时间,本屌感觉有点心虚,看来少不了请大家喝茶压压惊了!

总结

  • 晚上最好不要发版,要发也要等待状态良好的时候再发(脑子清醒的时候,我觉得自己早上状态挺不错的)。一是晚上状态不好很容易出问题,二是下班之后出了问题更麻烦。
  • 如果发版的时候发的是别人的东西,一定要让他先过目,最好让他在旁边看着你操作,这样就知道你发的东西到底是不是他想要发的。
  • 这种问题,细心一点应该可以避免,比如拉取文件的时候看清楚是哪些文件要发的,询问清楚再发
  • 出了问题不要急,先静下心来,一步步排除问题,总会找到答案的,只是时间问题。

更多精彩文章请关注