微信公众号跳转App-开放标签

微信开放标签是微信公众平台面向网页开发者提供的扩展标签集合。通过使用微信开放标签,网页开发者可安全便捷地使用微信或系统的能力,为微信用户提供更优质的网页体验。说白了就是公众号跳转APP

因为是最近开放的功能,配置相关的请查看-官方文档,接下来就直接操作了。(基于vue)

先下包因为次功能为基于wxjssdk1.6.0版本+的, 还有一种直接引入wxjssdk的链接,这种方法官方文档里有就不介绍了。

微信公众号跳转App-开放标签_第1张图片

为什么使用npm包的jssdk, 是为了按需加载, 其实也没啥必要, 直接在index.html, 直接引入wxjssdk的链接全局一次wx.config就ok。

两种随便选一个 npm 包 jweixin-1.6.0  / weixin-js-sdk  官方上这块具体也没说到底怎么用,所以开始实践。

在对应文件引入对应的包。

  import wx from 'jweixin-1.6.0';

在created/beforeCreated中调用获取你们微信公众号基本信息的参数,在回调用wx.config

created() {
 this.ceshi();
},
methods: {
 ceshi() {
  this.$ajax.get(url, {
    params: {
      ...params,
    },
  }).then((res) => {
    const returndata = res.data;
    wx.config({
      debug: false,
      appId: returndata.appId,
      timestamp: returndata.timestamp,
      nonceStr: returndata.nonceStr,
      signature: returndata.signature,
      jsApiList: [],
      openTagList: ['wx-open-launch-app'],
    });
    wx.ready(() => {
    });
    wx.error((err) => {
      console.log(err, 'error'); // 如果报错打印报错信息
    });
  })
 },
}

引用及加载部分就已经好了, 直接去使用就可以了。

在template部分使用,使用的方法为官方写法


  

介绍下wx-open-launch-app元素的属性

名称 必填 默认值 备注
appid   所需跳转的AppID
extinfo   跳转所需额外信息
名称 冒泡 返回值 备注
launch   用户点击跳转按钮并对确认弹窗进行操作后触发
error { errMsg: string } 用户点击跳转按钮后出现错误

这时候你会发现,报错了,看报错信息为没有注册组件

我们来解决下报错,在main.js里

Vue.config.ignoredElements = [ // 忽略自定义元素标签抛出的报错
  'wx-open-launch-app', 
];

一切都好了, 发生产直接进行测试。

ios显示 config:fail    看意思是加载失败了走的wx.error

因为刚开始值调试ios机型没有使用安卓机, 所以就一直在试,考虑是否为异步问题,结果都是fali,后来用的安卓机试了一下

安卓显示 config:param is empty 

微信公众号跳转App-开放标签_第2张图片

百度了一下 这个意思是我们在wx.config中jsApiList这个属性是必填项,现在我们给的一个空数组。

既然ios没有显示具体的报错信息,就按照安卓显示的来修改下。

wx.config({
  debug: false,
  appId: returndata.appId,
  timestamp: returndata.timestamp,
  nonceStr: returndata.nonceStr,
  signature: returndata.signature,
  jsApiList: ['onMenuShareAppMessage'], // 因为不能为空,所以我随便写了一个微信的方法
  openTagList: ['wx-open-launch-app'],
});

再次发版。  两个端都显示config:ok

微信公众号跳转App-开放标签_第3张图片

这时候我们点击我们的按钮, 不会跳转, 因为wx.config 已经成功了,说明已经注入好了,不会跳转是因为我们这块 类似scope的插槽写的有问题, 

所有开放标签都能像普通的HTML标签一样在页面中直接使用,不需要再进行额外的处理。

如果所使用的标签允许提供插槽,由于插槽中模版的样式是和页面隔离的,因此需要注意在插槽中定义模版的样式。插槽模版及样式均需要通过进行包裹。对于Vue等视图框架,为了避免template标签冲突的问题,可使用

一切流程都通了,还剩一个问题, 就是我们的按钮, 在wx.config加载的时候 是空的, 加载好了才显示对应的文案, 这个时候我们就直接写一个样式一样的替代模块, 等加载好了再显示我们的这个对应可以跳转的元素就可以了。

微信公众号跳转App-开放标签_第4张图片

over~ 有什么不明白的,可以评论联系奥。

你可能感兴趣的:(微信公众号,微信公众号,微信开放标签)