微信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"
这就奇怪了,这里提示配置成功也就说明了,签名什么的都是生成成功了的。排除签名生成错误和后端参数传递异常问题。

使用微信开发工具查看wx.config是否获取到OpenTag
查看之前的一个配置成功的页面微信开发工具控制台输出是:
获取到了wx-open-launch-weapp的开发标签权限

而我新加的这个页面是没有获取到开发标签的权限的,如下图所示:

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


invalid signature签名错误排查:
假如你遇到签名错误的情况,建议你按照以下顺序进行排查。
确认签名算法正确,可用http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign 页面工具进行校验。
确认config中nonceStr(js中驼峰标准大写S), timestamp与用以签名中的对应noncestr, timestamp一致。
确认url是页面完整的url(请在当前页面alert(location.href.split('#')[0])确认),包括
'http(s)://'部分,以及'?'后面的GET参数部分,但不包括'#'hash后面的部分。确认 config 中的 appid 与用来获取 jsapi_ticket 的 appid 一致。
确保一定缓存access_token和jsapi_ticket。
确保你获取用来签名的url是动态获取的,动态页面可参见实例代码中php的实现方式。如果是html的静态页面在前端通过ajax将url传到后台签名,前端需要用js获取当前页面除去'#'hash部分的链接(可用location.href.split('#')[0]获取,而且需要encodeURIComponent),因为页面一旦分享,微信客户端会在你的链接末尾加入其它参数,如果不是动态获取当前链接,将导致分享后的页面签名失败。
微信h5跳转小程序wx-open-launch-weapp开放标签不显示(已解决)的更多相关文章
- 今天记录一下h5跳转小程序,可以通过短信推广小程序
今天记录一下h5跳转小程序最简单的方法,首先准备条件,是一个已经上线的小程序 根据URL Schame进行跳转,在微信公众平台登录自己的小程序,然后生成RL Schame,如下图 其次按照步骤进行小程 ...
- 微信公众号H5跳转小程序
其实就是用 官方的组件wx-open-launch-weapp <div style="position:relative;"> <img class=" ...
- PHP微信公共号H5页面跳转小程序。
1.H5跳转小程序. function myfun(){ var openid = "<?=$_SESSION['openid']?>"; wx.miniProgram ...
- h5页面跳转小程序
2020年以前, 只能通过 web-view内嵌h5跳转小程序,现在 可以直接跳了!!!!!! 官方文档:https://developers.weixin.qq.com/doc/offiacco ...
- 微信公众号支付|微信H5支付|微信扫码支付|小程序支付|APP微信支付解决方案总结
最近负责的一些项目开发,都用到了微信支付(微信公众号支付.微信H5支付.微信扫码支付.APP微信支付).在开发的过程中,在调试支付的过程中,或多或少都遇到了一些问题,今天总结下,分享,留存. 先说注意 ...
- 微信小程序wx.request接口
微信小程序wx.request接口 wx.request是小程序客户端与服务器端交互的接口 HTTPS 请求 一个微信小程序,只能同时(同时不能大于5个)有5个网络请求 wx.request(OBJE ...
- 微信支付之扫码支付、公众号支付、H5支付、小程序支付相关业务流程分析总结
前言 很久以来,一直想写一篇微信支付有关的总结文档:一方面是总结自己的一些心得,另一方面也可以帮助别人,但是因种种原因未能完全理解透彻微信支付的几大支付方式,今天有幸做一些总结上的文章,也趁此机会,将 ...
- 监控微信小程序wx.request请求失败
在微信小程序里,与后台服务器交互的主要接口函数是wx.request(),用于发起 HTTPS 网络请求.其重要性不言而喻.然而,却经常遇到请求失败的问题,笔者特意谷歌"wx.request ...
- 微信小程序wx.showActionSheet调用客服信息功能
微信小程序wx.showActionSheet调用客服消息功能 官方文档的代码: wx.showActionSheet({ itemList: ['A', 'B', 'C'], success (re ...
随机推荐
- 基于Linux系统的MariaDB数据库的安装配置
数据库是指长期存储在计算机内.有组织的和可共享的数据集合.表是数据库存储数据的基本单位,一个表由若干个字段组成 MariaDB 数据库管理系统是 MySQL 的一个分支,主要由开源社区在维护,采用 G ...
- QT学习日记篇01(1)-QT界面初探- *.pro文件详解
一: 项目管理文件(.pro文件) 项目管理文件用于记录项目的一些设置,以及项目包含文件的组织管理 后缀为".pro"的 文件是项目的管理文件,文件名就是项目的名称,如Demo.p ...
- Android系统编程入门系列之应用内数据保存数据库
上篇文章已经介绍了如何使用SharedPreferences存储键值对形式的轻量级数据,对于那些相同结构的多组数据,类似于存储Java中定义的类的多个对象属性值,如果按照键值对的形式一条条读写,需要分 ...
- 经典多级时间轮定时器(C语言版)
经典多级时间轮定时器(C语言版) 文章目录 经典多级时间轮定时器(C语言版) 1. 序言 2. 多级时间轮实现框架 2.1 多级时间轮对象 2.2 时间轮对象 2.3 定时任务对象 2.4 双向链表 ...
- table头部固定,内容滚动,类似新闻一下向上滚动
html: <div class="ul_box"> <table class="table1"> <thead> < ...
- centos7关于防火墙的一些操作
防火墙相关 # 检查防火墙状态 systemctl status firewalld # 开启防火墙 systemctl start firewalld # 关闭防火墙 systemctl stop ...
- 【OI】Tex Quotes——UVa 272
题目: TEX is a typesetting language developed by Donald Knuth. It takes source text together with a fe ...
- php move_uploaded_file保存文件失败
move_uploaded_file保存失败后找错,先使用了try catch,但是没输出信息,才知道该函数在php中是警告属于error,不属于exeption,因此不能通过简单的if(!...)处 ...
- Java基础系列(9)- 数据类型扩展及常见面试题
整数拓展 // 整数拓展: 进制 二进制0b 十进制 八进制0 十六进制0x // 同一个数字在不同进制中,结果是不同的,进制换算 int i = 10; int i2 = 010; // 八进制 i ...
- 基于pgpool搭建postgresql集群
postgresql集群搭建 基于pgpool中间件实现postgresql一主多从集群部署,这里用两台服务器作一主一从示例 虚拟机名 IP 主从划分 THApps 192.168.1.31 主节点 ...