H5浏览器跳转小程序方式

335 阅读2分钟

一、微信环境跳转小程序

第一步、下载并引入wx的SDK

npm install weixin-js-sdk --save
import wx from 'weixin-js-sdk';

第二步、初始化微信相关配置

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

第三步、组件使用

 <div class="container">
    <van-button block>免费领取</van-button>
    <wx-open-launch-weapp username="gh_f34f9c2b2b26" path="pages/index/index.html" :style="{ position: 'absolute', top: 0, left: 0, width: '100%', height: '100%' }">
      <script type="text/wxtag-template">
        <style>
          .open-weapp-btn-mark{
            position: absolute;
            top: 0;
            left: 0;
            bottom: 0;
            right: 0;
            width: 100%;
            height: 100%
            opacity: 0;
          }
        </style>
        <div class="open-weapp-btn-mark" />
      </script>
    </wx-open-launch-weapp>
  </div>

注: 1、本组件是在vue使用的,这里有保存文件可能会报一个该组件没找到的错我们可以在main.js中引入 Vue.config.ignoredElements = ['wx-open-launch-weapp'];

2、解释一下为什么这样写这个组件,因为wx-open-launch-weapp组件设置样式非常恶心,我们可以自己单独写一个button或者一个元素,并在wx-open-launch-weapp组件内的插槽内添加一个蒙层类的dom,目的是让他的点击区域覆盖到你显示的元素,大家可以根据我这个例子自由改变样式

二、外部浏览器跳转小程序

这里我们可以使用微信的 URL Scheme

官方文档地址: developers.weixin.qq.com/miniprogram…

这里就是需要调用接口来生成对应的url

developers.weixin.qq.com/miniprogram…

基本参数:

"path": '/pages/index/index', // 小程序页面路径
"query": '?a=1&b=2' // 参数

生成的 URL Scheme 如下所示:

weixin://dl/business/?t= *TICKET*

最后我们可以使用window.location.href = weixin://dl/business/?t= *TICKET*来进行跳转

总结

好啦,这就是我工作中用到的两种跳转小程序的方式,第二种微信内部其实也可以使用,但官方回复说,第二种安卓机会有兼容问题,推荐使用第一种,具体使用哪一种各位可根据实际方式选用