h5跳转到小程序

准备工作:
1、需要小程序和公众号相互绑定;
2、登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”,也就是最后h5访问链接的域名需要配置在公众号里面。

一、微信内部跳转:点击微信开放按钮wx-open-launch-weapp进行跳转

参考微信文档:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_Open_Tag.html#%E5%BC%80%E6%94%BE%E6%A0%87%E7%AD%BE%E8%AF%B4%E6%98%8E%E6%96%87%E6%A1%A3

具体代码如下:

<!DOCTYPE HTML>
<html>

<head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title>h5跳转到小程序</title>
</head>

<body>
  <!-- username是小程序的原始id(查看路径:设置-》基本设置-》账号信息-》原始ID, path是要跳转到小程序的页面-->
  <wx-open-launch-weapp id="launch-btn" username="gh_8e8b1720ea9f" path="pages/login/login">
    <template>
      <style>
        .btn {
          width: 200px;
          height: 200px;
          font-size: 32px;
          background-color: yellowgreen;
        }
      </style>
      <button class="btn">打开小程序</button>
    </template>
  </wx-open-launch-weapp>
</body>

</html>
<script src="./axios.min.js"></script>
<script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
<script>
  function shareFirend() {
    let url = window.location.href.replace(/#.+/, '');
    url = encodeURIComponent(url)
    axios.get('/pos-coupon/weChat/jssdk/getSignature', {
      params: {
        url: url
      }
    }).then(res => {
      if (res.data.success) {
        let result = res.data.result || {};
        let appId = result.appId;
        let timestamp = result.timestamp;
        let nonceStr = result.nonceStr;
        let signature = result.signature;
        let apiList = [
          'onMenuShareAppMessage',
          'onMenuShareTimeline'
        ]
        wx.config({
          debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
          appId: appId, // 必填,公众号的唯一标识
          timestamp: timestamp, // 必填,生成签名的时间戳
          nonceStr: nonceStr, // 必填,生成签名的随机串
          signature: signature, // 必填,签名
          jsApiList: apiList, // 必填,需要使用的JS接口列表
          openTagList: ['wx-open-launch-weapp'] //必填 h5跳转到小程序
        });
      } else {
        console.error(res.data.message)
      }
    })
  }
  shareFirend()
  var btn = document.getElementById('launch-btn');
  btn.addEventListener('launch', function (e) {
    console.log('success');
  });
  btn.addEventListener('error', function (e) {
    console.log('fail', e.detail);
  });
</script>

二、微信外部跳转:通过URL Scheme打开小程序

参考微信文档:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/url-scheme.html

通过服务端接口或在小程序管理后台「工具」-「生成URL Scheme」入口可以获取打开小程序任意页面的URL Scheme。适用于从短信、邮件、微信外网页等场景打开小程序。
(生成的URL Scheme示例:weixin://dl/business/?t=XCGtcSXWM6e)
在这里插入图片描述
注意:获取到小程序URL scheme码后,需要判断是iOS系统还是Android系统,iOS可直接跳转URL Scheme;Android要先跳转到h5,再由h5跳转URL Scheme

此方法是通过h5进行再次跳转,具体代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>网页跳转小程序</title>
  <script>
    window.location.href = "weixin://dl/business/?t=XCGtcSXWM6e"
  </script>
</head>
<body>
  这个只适用于微信外部跳转到小程序
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值