麻花痒 发表于 2024-12-20 11:21:14

微信h5跳转小步伐wx-open-launch-weapp开放标签不显示(已解决)

媒介: 

  前几天乐成对接了跳转第三方小步伐的功能,今天有个页面有必要对接。但是希奇的是用的和上次一模一样的配置,但就是死活不显示wx-open-launch-weapp这个开放标签的按钮,看不到任何结果(这个题目真的是让人欲哭无泪,雷同的代码差别的页面就不显示了),下面就说说我的排查解决过程。

开启wx.config的debug模式:

首先我们在wx.config的配置中开启debug。
wx.config({
                  debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印
                  appId: 'ccccxxxx4354353453', // 必填,公众号的唯一标识
                  timestamp: 0123456, // 必填,生成签名的时间戳
                  nonceStr: 'nonceStr', // 必填,填任意非空字符串即可
                  signature: 'signature', // 必填,填任意非空字符串即可
                  jsApiList: ['showOptionMenu', 'chooseImage', 'previewImage'], // 必填,随意一个接口即可
                  openTagList: ['wx-open-launch-weapp'], // 填入打开小程序的开放标签名
                }) 然后把修改的代码发布到服务此中,在手机上看出调试结果(注意只能够在真机上才看到结果,欣赏器和微信开辟工具中都看不到结果)
   输出结果为:"errMsg":"config:ok"
这就希奇了,这里提示配置乐成也就阐明了,签名什么的都是天生乐成了的。排除签名天生错误和后端参数通报异常题目。

https://img-blog.csdnimg.cn/img_convert/10366014f160fb3fb65f7ff5621decac.png

使用微信开辟工具检察wx.config是否获取到OpenTag

检察之前的一个配置乐成的页面微信开辟工具控制台输出是:
获取到了wx-open-launch-weapp的开辟标签权限

https://img-blog.csdnimg.cn/img_convert/d1f4861f4a45e3f72ad5a64c08513392.png
而我新加的这个页面是没有获取到开辟标签的权限的,如下图所示:

https://img-blog.csdnimg.cn/img_convert/07af26dd5c6ed2473912899d60416d91.png

分析解决题目

  到这里我们基本上可以看出来是没有获取到微信开放标签(OpenTag)的权限,而开放标签也是jweixin-1.6.0.js开始支持,于是我到欣赏器页面检察了js的加载资源,果然发现了题目所在,原来在之前的母版页中有一个jweixin-1.3.0.js的SDK先加载了,以是导致了这个开辟标签获取不到的题目,于是我将jweixin-1.3.0.js更换成jweixin-1.6.0.js就乐成了!!!

https://img-blog.csdnimg.cn/img_convert/e6daeaa63279771944aa827b10e0e6a4.png

https://img-blog.csdnimg.cn/img_convert/1c54f638dbfec450ace90bd539c46322.png

invalid signature签名错误排查:

如果你碰到签名错误的情况,建议你按照以下顺序进行排查。

[*] 确认签名算法正确,可用微信 JS 接口签名校验工具 页面工具进行校验。
[*] 确认config中nonceStr(js中驼峰标准大写S), timestamp与用以签名中的对应noncestr, timestamp同等。
[*] 确认url是页面完备的url(请在当前页面alert(location.href.split('#'))确认),包罗'http(s)://'部门,以及'?'背面的GET参数部门,但不包罗'#'hash背面的部门。
[*] 确认 config 中的 appid 与用来获取 jsapi_ticket 的 appid 同等。
[*] 确保一定缓存access_token和jsapi_ticket。
[*] 确保你获取用来签名的url是动态获取的,动态页面可参见实例代码中php的实现方式。如果是html的静态页面在前端通过ajax将url传到后台签名,前端必要用js获取当前页面除去'#'hash部门的链接(可用location.href.split('#')获取,而且必要encodeURIComponent),因为页面一旦分享,微信客户端会在你的链接末尾加入别的参数,如果不是动态获取当前链接,将导致分享后的页面签名失败。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 微信h5跳转小步伐wx-open-launch-weapp开放标签不显示(已解决)