问题:
集成微信js-sdk,出现invalid signature签名抛错。
解决初步思路:
根据问题抛错,去查阅js-sdk的常见错误及解决办法,通过对比发现抛错是签名,按照解决办法一一对比去检查代码,确认前端传给后端的URL是否正确,前端按照上述方法把URL转码传给后端后,发现依然获取签名报错。
最终解决思路:
仔细阅读jssdk的错误寄解决办法以及签名算法的生成,发现还是URL的问题,根据js-sdk上面签名算法的生成上,URL参数是为解码后的URL,后端没解码URL,所以导致签名抛错,前端传给后端是通过encodeURIComponent()方法转码过后的URL,而后端拿到前端转码过后的URL,是需要解码才能生成正确的签名。