首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微信公众号开发之H5页面跳转到指定的小程序

微信公众号开发之H5页面跳转到指定的小程序

作者头像
追逐时光者
发布2021-10-18 11:26:06
2.1K0
发布2021-10-18 11:26:06
举报
文章被收录于专栏:编程进阶实战编程进阶实战

前言:

  最近公司有一个这样的需要,需要从我们在现有的公众号H5页面中加一个跳转到第三方小程序的按钮。之前只知道小程序之间是可以相互跳转的,今天查阅了下微信开发文档原来现在H5网页也支持小程序之间的跳转了,下面就简单描述一下对接的流程。

微信公众号详细对接文档:

https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_Open_Tag.html#21

公众号关联小程序:

注意:在对接跳转之前我们需要在需要跳转的小程序关联到我们的公众号中。公众号可以关联同一主体的小程序10个,不同主体的3个。

1、进入公众号后台,路径:广告与服务——小程序—小程序管理—添加

2、关联小程序—管理员微信扫码确认

3、搜索小程序名称或APPID绑定

4、绑定成功等待小程序管理者同意

查看小程序原始id:

小程序原始id,即小程序对应的以gh_开头的id

找到关联成功的小程序,鼠标放入其中找到详情查看小程序原始id

绑定JS接口安全域名:

登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。

微信JS-SDK的使用步骤,配置信息生成详细说明(.NET版):

https://cloud.tencent.com/developer/article/1494588

跳转标签、前提条件和属性说明:

跳转小程序:wx-open-launch-weapp

用于页面中提供一个可跳转指定小程序的按钮。使用此标签后,用户需在网页内点击标签按钮方可跳转小程序。H5通过开放标签打开小程序的场景值为1167。

开放对象
  1. 已认证的服务号,服务号绑定“JS接口安全域名”下的网页可使用此标签跳转任意合法合规的小程序。
  2. 已认证的非个人主体的小程序,使用小程序云开发的静态网站托管绑定的域名下的网页,可以使用此标签跳转任意合法合规的小程序。
错误提示

若跳转时出现以下页面,表示网页绑定的服务号或小程序无权限,请检查是否符合上述开放对象条件。

属性

名称

必填

默认值

备注

username

所需跳转的小程序原始id,即小程序对应的以gh_开头的id

path

所需跳转的小程序内页面路径及参数(不填写的话默认跳转小程序首页)

代码实现:

注意:使用浏览器或者微信开发工具调试wx-open-launch-weapp开发标签都不会显示,只有在真机中才会有效果(前提还是config接口注入权限验证配置通过)。

<html>

<head>
    <title>H5打开小程序</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1, maximum-scale=1">
</head>

<body>
    <wx-open-launch-weapp id="launch-btn" username="gh_xxxxxxxx" path="pages/home/index?user=123&action=abc">
    <script type="text/wxtag-template">
      <style>.btn { padding: 12px }</style>
      <button class="btn">打开小程序</button>
    </script>
    </wx-open-launch-weapp>


    <!-- 公众号 JSSDK -->
    <script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>

    <!--js代码-->
    <script type="text/javascript">

        var btn = document.getElementById('launch-btn');
        btn.addEventListener('launch', function (e) {
            console.log('success');
        });
        btn.addEventListener('error', function (e) {
            console.log('fail', e.detail);
        });

        wx.ready(function () {
            var ua = navigator.userAgent.toLowerCase()
            var isWXWork = ua.match(/wxwork/i) == 'wxwork'
            var isWeixin = !isWXWork && ua.match(/micromessenger/i) == 'micromessenger'

            if (isWeixin) {
                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'], // 填入打开小程序的开放标签名  
                })
            }
            else {
                alert("请在微信中打开");
            }
        })

    </script>
</body>

</html>

实现效果:

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-10-14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言:
  • 微信公众号详细对接文档:
  • 公众号关联小程序:
  • 查看小程序原始id:
  • 绑定JS接口安全域名:
  • 微信JS-SDK的使用步骤,配置信息生成详细说明(.NET版):
  • 跳转标签、前提条件和属性说明:
    • 跳转小程序:wx-open-launch-weapp
      • 开放对象
      • 错误提示
      • 属性
  • 代码实现:
  • 实现效果:
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档