收藏
回答

vue使用wx-open-launch-app标签不显示,怎么处理?

<div class="open_app">
    <wx-open-launch-app
      id="launch-btn"
      @error="handleError"
      @launch="handleLaunch"
      :extinfo="dataStr"
      appid="wxb0877bc6bXXXXXXXX"
    >
      <script type="text/wxtag-template">
        <button class="btn" style="border: none">App唤起</button>
      </script>
    </wx-open-launch-app>
  </div>


created() {
    this.wechatInit()
  },
  methods: {
    /**
     * @description: 打开错误
     * @param  {*}
     * @return {*}
     */
    handleError() {
      jump()
    },
    /**
     * @description: 打开成功
     * @param  {*}
     * @return {*}
     */
    handleLaunch() {
      alert('打开成功')
    },
    /**
     * @description: 接口获取开放标签需要的参数
     * @param  {*}
     * @return {*}
     */
    wechatInit() {
      axios({
        method'get',
        // url: '/getAccessToken',
        url'https://XXXXXXX',
        params: {
          urlencodeURIComponent(window.location.href.split('#')[0])
        },
        headers: {
          Authorization:
            'XXXXXXX'
        }
      }).then((res) => {
        if (res.data) {
          const data = res.data.data
          wx.config({
            debugtrue// 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印
            appId'wxb0877bc6bXXXXXXXX'// 必填,公众号的唯一标识
            timestamp: data.timestamp, // 必填,生成签名的时间戳
            nonceStr: data.nonceStr, // 必填,生成签名的随机串
            signature: data.signature, // 必填,签名
            jsApiList: ['onMenuShareAppMessage''onMenuShareTimeline'], // 必填,需要使用的JS接口列表
            openTagList: ['wx-open-launch-app'// 可选,需要使用的开放标签列表,例如['wx-open-launch-app']
          })


          wx.ready(function () {
            // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
            console.log('hello')
          })
        } else {
          console.log('获取微信签名失败')
        }
      })


      wx.error(function (res{
        // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
        console.log(res, 'err')
      })
    }
  }


弹窗跳出来config:ok; 但页面压根不显示按钮,然后把<script type="text/wxtag-template">改成<template>就显示按钮了,但点击无响应了。


回答关注问题邀请回答
收藏

1 个回答

  • 江江
    江江
    2021-06-29

    域名要配置好才行,传到线上看看,如果还没有,那就再外面包一层view

    2021-06-29
    有用
    回复 4
    • 一
      2021-06-29
      配置好了的,也是线上看的,我代码包了一层div了,是vue项目,没有显示。
      2021-06-29
      回复
    • 吴睿
      吴睿
      2021-10-22回复
      请问,怎么处理的
      2021-10-22
      回复
    • whale
      whale
      2021-12-03回复
      请问怎么处理的
      2021-12-03
      回复
    • 一
      2021-12-07回复whale
      没有处理好 直接弄了透明层
      2021-12-07
      回复
登录 后发表内容