公众号H5跳转小程序

第一步:引入jweixin

<!-- 公众号 JSSDK -->
<script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>

第二步:签名

import { getSignatureConfig } from '@/api/signature'
import wx from 'jweixin-module'
export const wxSdkConfig = () => {
    const params = {
        url: window.location.href.split('#')[0]
    }
    getSignatureConfig(params).then(res => {
        if (res.errCode === 0) {
            const data = JSON.parse(res.data)
            // console.log('打印配置参数', data)
            setSignatureConfig(data)
        } else {
            console.log('签名接口报错1', res.errMsg)
        }
    }).catch(err => {
        console.log('签名接口报错', err)
    })
}

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

    wx.ready(function () {
        console.log("执行了ready");
        // const params = {
        //     title: 'Eppendorf 产品商城', // 分享标题
        //     desc: 'Eppendorf 产品商城', // 分享描述
        //     link: window.location.href, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
        //     imgUrl: 'https://eppendorf.juplus.cn/eppendorf_single/logo.png' // 分享图标
        // }
        // wxShare(params)
    })

    wx.error(function (err) {
        console.log('打印错误', err)
    })
}

// 分享给朋友或者朋友圈
export function wxShare (params) {
    wx.updateAppMessageShareData({
        ...params,
        success: function () {
            // 设置成功
            console.log('分享成功,自定义“分享给朋友”及“分享到QQ”按钮的分享内容')
        }
    })

    wx.updateTimelineShareData({
        ...params,
        success: function () {
            // 设置成功
            console.log('分享成功,自定义“分享到朋友圈”及“分享到QQ空间”按钮的分享内容')
        }
    })
}

// 隐藏功能按钮
export function hideMenuItems (params) {
    wx.hideMenuItems({
        menuList: [...params] // 要隐藏的菜单项,只能隐藏“传播类”和“保护类”按钮
    })
}
// 获取微信签名
wxSdkConfig();

第三步:main.js中配置

Vue.config.ignoredElements = ['wx-open-launch-weapp'];

第四步:使用微信开放标签

<template>
    <div class="main">
      <epp-banner :type="1"></epp-banner>
      <div class="menu-list">
          <div class="menu-item" v-for="(item,index) in menuList" :key="index">
              <div v-if="item.jumpApplet">
                  <wx-open-launch-weapp
                      style="height: 100%;width: 100%;"
                      id="launch-btn"
                      appid="wx78248ab2e6a420ec"
                      username="gh_464305d43974"
                      path="pages/index/index"
                      >
                      <script type="text/wxtag-template">
                          <style>
                              .menu-item-img {
                                  position: relative;
                                  display: flex;
                                  justify-content: center;
                                  margin-top: .8rem;
                              }
                              .menu-item-img .menu-img {
                                  width: 2.6rem;
                                  height: 2.4333rem;
                              }
                              .menu-item-img .menu-img-bgc {
                                  position: absolute;
                                  bottom: 0;
                                  width: 4.3667rem;
                                  height: 1.3667rem;
                              }
                              .f-s-12 {
                                  margin-top: .6rem;
                                  font-size: 12px;
                                  text-align: center;
                              }
                          </style>
                          <div class="menu-item-img">
                              <img fit="fill" class="menu-img" src="{{ cdnUrl + item.img }}" />
                              <img fit="fill" class="menu-img-bgc" src="{{ cdnUrl + 'FkilH56BxBbo7on8WBbu1eXwwHip' }}" />
                          </div>
                          <p class="f-s-12">{{ item.name }}</p>
                      </script>
                  </wx-open-launch-weapp>
              </div>
              <div v-else  @click="handleUrl(item.url)">
                  <div class="menu-item-img">
                      <van-image fit="fill" class="menu-img" :src="cdnUrl + item.img" />
                      <van-image fit="fill" class="menu-img-bgc" :src="cdnUrl + 'FkilH56BxBbo7on8WBbu1eXwwHip'" />
                      <span v-if="item.tip" class="hot-tip">HOT</span>
                  </div>
                  <p class="f-s-12">{{ item.name }}</p>
              </div>
          </div>
      </div>
    </div>
  </template>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值