H5 使用微信开放标签跳转小程序

微信开放标签是微信公众平台面向网页开发者提供的扩展标签集合,可以在网页上提供跳转小程序、打开 App 等能力。本文梳理使用微信开放标签跳转小程序的过程,以备日后查阅。

参考链接

1. 开放标签说明文档

准备已认证的服务号

开放标签只能绑定已认证的服务号,只能在微信真机上测试。因此以下都是不行:

  • 不能使用测试服务号
  • 不能是普通公众号,只能是服务号
  • 不能使用微信开发者工具

开放标签可以跳转任何合法小程序,因此准备任意一个已认证的服务号都可以,不必是小程序绑定的那个服务号。

绑定 js 安全域名

登录服务号后台,在「公众号设置 - 功能设置 - JS接口安全域名」里添加安全域名,需要注意一个服务号只能设置 5 个安全域名,一个月只能修改 5 次,因此尽量想好以后再去设置。

保存之前需要下载校验文件,并上传到域名的根目录:

配置域名注意以下事项:

  1. 域名要公网能够访问,因为保存时要微信要去访问校验文件
  2. 只配置域名,不要带 http://,不要带端口号
  3. 域名要通过 ICP 备案,所以像 .local 是不行的
  4. 域名的端口微信强制 http 使用 80,https 使用 443,在开发时要注意

初始化微信 js sdk

界面引入 //res.wx.qq.com/open/js/jweixin-1.6.0.js,然后调用 config 接口注入配置信息。签名下一小节再讲

wx.config({debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印appId: '', // 必填,服务号的唯一标识timestamp: '', // 必填,生成签名的时间戳nonceStr: '', // 必填,生成签名的随机串,长度 16 个字符串signature: '',// 必填,签名jsApiList: [], // 必填,需要使用的JS接口列表openTagList: ['wx-open-launch-weapp'] // 可选,需要使用的开放标签列表
});

需要注意:

  • sdk 版本需要再 1.6.0 以上
  • nonceStr 是使用驼峰命名的,不要拼错了

生成签名

生成签名一般是由后端提供接口,这里主要说一下容易出现问题的地方

  • 由于历史原因,jsapi_ticket 有 jsapi 和 wx_card 两种,wx_card用于微信卡券,其他情况都用 jsapi,后端生成时不要生成错了

  • 可以通过工具验证签名是成功的

  • 如果使用的是 get 方法来请求生成签名接口,要注意参数要用 encodeURIComponent 进行编码。使用 Post 方法则不需要考虑

  • 生成签名的 url 是不带 # 后面的部分的 

使用开放标签进行跳转

可以把 wx-open-launch-weap 标签做成一个透明的蒙层盖在按钮上面,注意标签内部的标签要设置 width/height,并且单位要用 px

const tagStyle = {width: '100%', height: '100%', position: 'absolute', left: 0, top: 0, zIndex: 1, backgroundColor: 'transparent', overflow: 'hidden'}
const tagButtonStyle = {width: '160px', height: '64px', display: 'block', border: 'none', backgroundColor: 'transparent'}return (<button style={style} className='open-minapp'>{children}<wx-open-launch-weapp style={tagStyle}  username={username} path={path} envVersion={envVersion} extraData={extraData} ><script type="text/wxtag-template"><button style={tagButtonStyle}></button></script></wx-open-launch-weapp></button>)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/429888.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【网络流24题】No.7 试题库问题 (最大流,二分图多重匹配)

【题意】 假设一个试题库中有 n 道试题。 每道试题都标明了所属类别。 同一道题可能有多个类别属性。现要从题库中抽取 m 道题组成试卷。并要求试卷包含指定类型的试题。 试设计一个满足要求的组卷算法。 输入文件示例input.txt3 153 3 42 1 21 31 31 31 33 1 2 32 2 32 1 31 2…

css3 transform matrix 深入理解

矩阵可以用来表示图形的变换。css3定义了matrix和matrix3d方法&#xff0c;用来表示2维和3维的变换。下文将分析这两个接口的使用方法&#xff0c;并且用下文的思路&#xff0c;实现了一个简单的用js控制css3变换的jquery插件css3js &#xff0c; 变换矩阵和净变换矩阵 matri…

php给留言分配id_简单实现PHP留言板功能

本文实例为大家分享了PHP留言板功能的具体实现代码&#xff0c;供大家参考&#xff0c;具体内容如下HTML代码PHP留言本留言者: {$vo.nickname}|邮箱: {$vo.email}时间: {$vo.replytime}内容: {$vo.content}{$vo.id}楼留言重置function clearDefaultText(){var nickname docume…

所有选择器

*            $("*")          所有元素 #id            $("#lastname")       id"lastname" 的元素 .class           $(".intro")…

随机数公式生成一个负数和正数之间的数_java产生从负数到正数范围的随机数方法...

第四步 完整代码至于调用方法嘛&#xff1a;写个test测试下&#xff1b;(这个方法不好代码看起来很乱&#xff0c;你也可以实例化&#xff0c;然后另写一个test调用)复制代码注意包名需要改成代码所在的包名&#xff0c;我的包名是求平均数package 求平均数;import java.util.A…

sklearn、theano、TensorFlow 以及 theras 的理解

sklearn ⇒ 机器学习算法和模型&#xff1b;theras theanoTensorFlow1. 理解模型以及函数&#xff0c;参数返回值的实际意义 一定要注意模型的构造函数&#xff0c;接收的参数列表&#xff0c;以及该模型本身所要解决的问题&#xff0c;因为在一些实现较好的框架或者库中&#…

参数等效模型可以用于_干货分享电池单体产热特性及热模型标定分析(2)

上篇已讲解了电池单体产热特性及电池模型相关理论&#xff0c;相较之下等效电路模型无需对电池内部的电化学反应有着深入的分析&#xff0c;是通过电路来描述电池的开路电压、内阻等&#xff0c;以实现对电池外特性的表征。本篇将继续讨论此问题&#xff0c;用Matlab和Amesim模…

loadrunner学习记录一

一、什么是性能测试&#xff1f; 使用自动化测试工具对产品按一定的性能指标进行测试&#xff0c;解决性能瓶颈&#xff0c;给用户最好的体验。 二、性能测试的目的&#xff1f; 目的是验证软件系统是否能够达到用户提出的性能指标&#xff0c;同时发现软件系统中存在的性能瓶颈…

检测同心圆_(二)光线如何被眼睛检测到?

在第一篇文章中&#xff08;链接&#xff1a;&#xff08;一&#xff09;视觉系统的全貌&#xff09;&#xff0c;我们已经了解了视觉信息被大脑处理的全过程。现在&#xff0c;我们把目光投向一切的起点——眼睛。实际上&#xff0c;人们提起“视觉”&#xff0c;首先想到的几…

matlab计算斜方差_计算一幅图像的信噪比

本文摘自本人的毕业设计《数字图像滤波算法研究》2019, Chang’an University, Xi’an, China.本文适用于原始图像&#xff08;即不含噪声的图像&#xff09;存在的情况下。使用待计算SNR图像&#xff08;记为A&#xff09;与原始图像&#xff08;记为B&#xff09;做相减运算&…

数据库DBA(3年以内需求)

1、DBA工作&#xff1a;日常维护&#xff0c;备份及恢复&#xff0c;系统安装&#xff0c;补丁应用&#xff0c;健康检查及优化&#xff0c;故障处理; 2、精通sql语句、视图存储过程、函数的编写、触发器; 3、精通data guard/RAC,能顺利配置和管理data guard; 4、精通mysql Mas…

ext get id js_【翻译】Ext JS最新技巧——2015-8-11

Seth Lemmons&#xff1a;使用棒极了的Awesome FontExt JS 6附带了一个新的海卫一主题&#xff0c;可以使用Font Awesome字体作为背景图像的图标。不过&#xff0c;你知道如何通过“iconCls”和“glyph”来使用哪些相同的图标(以及更多来自于广泛的Font Awesome库)吗?使用海卫…

【转载】linux进程及进程控制

Linux进程控制 程序是一组可执行的静态指令集&#xff0c;而进程(process)是一个执行中的程序实例。利用分时技术&#xff0c;在Linux操作系统上同时可以运行多个进程。分时技术的基本原理是把CPU的运行时间划分成一个个规定长度的时间片&#xff0c;让每个进程在一个时间片内运…

区分大小屏幕_VESA持续推动DisplayHDR认证计划,你的屏幕属于何种等级吗?

美国视频电子标准协会(VESA)今年可说是动作频频&#xff0c;年初先发布了专为OLED与其他自发光显示器所制订的DisplayHDR True Black高动态范围标准&#xff0c;下半年则更新DisplayHDR兼容测试规范至1.1版&#xff0c;并发布新的DisplayHDR 1400性能分级&#xff0c;至于年中所…

WdatePicker显示乱码

1.修改zh-cn.js内容&#xff1a; var $lang{ errAlertMsg: "不合法的日期格式或者日期超出限定范围,需要撤销吗?", aWeekStr: ["周","日","一","二","三","四","五","六"],…

cordova 某个页面强制横屏_小白科普:从输入网址到最后浏览器呈现页面内容,中间发生了什么?...

老刘 1前言这篇文章是应网友之邀所写&#xff0c;主要描述一下我们访问网站时&#xff0c; 从输入网址到最后浏览器呈现内容&#xff0c;中间发生了什么。今天的文章主要专注于应用层&#xff0c;我拿了一个很简单的网络结构来讲。假定本机已经获取了IP地址&#xff0c;各种网络…

MySQL中order by中关于NULL值的排序问题

MySQL中order by 排序遇到NULL值的问题 MySQL数据库&#xff0c;在order by排序的时候&#xff0c;如果存在NULL值&#xff0c;那么NULL是最小的&#xff0c;ASC正序排序的话&#xff0c;NULL值是在最前面的。 如果我们想让NULL排在后面&#xff0c;让非NULL的行排在前面该怎么…

vue调用手机相机相册_今天才发现,点一下小米手机相册,能将照片一键制作成电影...

随着国产手机的发展&#xff0c;手机像素越来越高&#xff0c;里面的功能也越来越丰富&#xff0c;手机拍照成了不少人的日常&#xff0c;如果你很爱拍照&#xff0c;手机里有一大堆照片&#xff0c;那么教你用手机自带的相册功能&#xff0c;一键将照片制作成电影&#xff0c;…

bzoj3389:[Usaco2004 Dec]Cleaning Shifts安排值班

思路&#xff1a;可以贪心&#xff0c;也可以最短路。 贪心写法&#xff1a;因为在保证合法的前提下&#xff0c;我们选择的区间一定要右端点尽量靠后才行&#xff0c;于是我们每次就选择一个合法的并且右端点最靠后的区间就好了&#xff08;如果没有合法的输出-1即可&#xff…

unity 烘焙参数 设置_Unity通用渲染管线(URP)系列(九)——点光源和聚光灯

200篇教程总入口&#xff0c;欢迎收藏&#xff1a;放牛的星星&#xff1a;[教程汇总持续更新]Unity从入门到入坟——收藏这一篇就够了​zhuanlan.zhihu.com本文重点内容&#xff1a;1、支持更多类型的灯光2、包含实时的点光源和聚光灯3、为点光源和聚光灯烘焙阴影4、每个物体限…