近期因项目需求,需要在原本的h5页面跳转到小程序页。分享一下步骤及避坑点。

微信的官方文档:

https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_Open_Tag.html 1、配置域名

在所开发的公众号设置中里配置安全域名:【域名校验的时候还需要在当前域名服务器中上传文件进行验证】,因为是相关负责人员配置,没有截图。(已认证的服务号)

ios开发加载H5的优化 app加载h5页面很慢_小程序


2、引入js文件

在需要调用JS接口的页面引入如下JS文件 (支持https)

我写在了index.html里

<script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js "></script>

3、用例html

<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>

开放标签用于调用小程序。可在里面写标签显示,便于点击。
重要!!!
样式问题, 开放标签的样式可能会存在和整个页面的css有些冲突,样式不好改,我们可以把这个标签透明度设置为0,放一个无click事件的标签放在同等位置。相当于两个标签叠加【可解决开放标签验证过慢加载问题】
id:开放标签id
username:小程序id,eg:“gh_xxxxxxxx”(可在小程序配置管理平台查看)
path:跳转到小程序页面的路径,可动态绑定,注: :path=“”weapppath“”,可自行添加参数。

4.config验证 js

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

debug:是否开始调试

import VConsole from 'vconsole';
     const vConsole = new VConsole();` 
     使用console调试,可在移动端查看调试信息

appid、timestamp、nonceStr、signature,请求公众号后端接口返回信息填入
jsApiList:调用的接口,这里随便写的,如果需要调用微信扫一扫,录音什么的,写相应的接口
openTagList:['wx-open-launch-weapp]:这里很重要!!!
h5跳小程序是:wx-open-launch-weapp
h5跳App是:wx-open-launch-app

congfig验证:

这个里面需要后端返回signature,微信文档提供了,获取接口,这句话在文档中容易被忽略

ios开发加载H5的优化 app加载h5页面很慢_h5_02