收藏
回答

vue中的wx-open-launch-app 标签里面的内容经常不显示,偶尔却又能正常显示出来?

当"打开app"这个按钮显示时,可以正常打开APP,不显示则无效,以下是部分代码

<template>
  <div class="title-box">
    <img src="../assets/logo.png" class="logo-icon" />
    <button class="open-app" v-show="!isWeChatOpen" @click="openApp">打开App</button>
    <div class="open-app2" v-show="isWeChatOpen">
      <wx-open-launch-app
          id="launch-btn"
          :appid="appid"
          extinfo=""
          @error="handleErrorFn"
          @launch="handleLaunchFn"
          >
          <script type="text/wxtag-template">
              <style>.btn {
                        width: 72px;
                        height: 32px;
                        line-height: 32px;
                        text-align: center;
                        font-size: 12px;
                        color: #2DB7FF;
                        background: #F4F4F4;
                        border-radius: 25px;
                    }</style>
              <div class="btn">打开APP</div>
          </script>
      </wx-open-launch-app>
    </div>
    <img v-if="isLoginState" src="../assets/title-login.png" class="title-login-icon" @click="openPersonal" />
    <button v-if="!isLoginState" class="open-login" @click="openLogin">登录</button>
  </div>


</template>

///以下是调用的方法
getWechatOpenTag() {
        shareGetSDK(window.location.href).then(res => {
          let data = res.data.data
          var _this = this
          wx.config({
            debug: false,
            appId: data.appId,
            timestamp: data.timestamp,
            nonceStr: data.nonceStr,
            signature: data.signature,
            jsApiList: ["onMenuShareAppMessage", "onMenuShareTimeline"],
            openTagList: ["wx-open-launch-app"]
          });
          wx.ready(function () {
            // Toast("成功")
            wx.checkJsApi({
              jsApiList: ['wx-open-launch-app'], // 需要检测的JS接口列表,所有JS接口列表见附录2,
              success: function (res) {
                console.log('可用')
                _this.isWeChatOpen = true
              },
              fail: (err) => {
                console.log(err, '不可用')
                _this.isWeChatOpen = false
              }
            })
          });
          wx.error(function (res) {
            // Toast(res)
          });
        })


wx.config dubug为true时,弹框提示内容 "wx-open-launch-app false"是什么意思呢?



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

5 个回答

  • 三余无梦生
    三余无梦生
    2020-12-09

    我就得为什么不能新增个方法而要新增个标签,如同定位一样

    2020-12-09
    有用 1
    回复
  • 大喵
    大喵
    2023-09-01

    最近使用wx-open-lauch-app也遇到类似问题,表现是打开有wx-open-lauch-app的页面渲染成功,从登录页后进入有wx-open-lauch-app的页面渲染失败,再刷新这个页面又渲染成功。

    原因是:使用有wx-open-lauch-app的页面地址去请求微信签名,跟初始打开的H5地址不一致导致(初始打开为登录页)。所以只要保证请求微信签名的地址和初始打开的地址一致即可。

    2023-09-01
    有用
    回复
  • 滕先生
    滕先生
    2021-04-12

    把外面的 v-show="isWeChatOpen" 改成 v-if

    2021-04-12
    有用
    回复
  • 疯狂的小辣椒
    疯狂的小辣椒
    2020-07-28

    你好,麻烦提供下测试链接。

    2020-07-28
    有用
    回复 12
    查看更多(7)
  • 煌爔
    煌爔
    2020-07-28

    ios上大概率会正常显示.安卓则是大概率不会显示,都是最新版的微信客户端

    2020-07-28
    有用
    回复 3
登录 后发表内容
问题标签