1. main.ts
app.config.compilerOptions.isCustomElement=tag=>tag.startsWith("wx-open-launch-weapp")
2. 引入weixin-js-sdk
npm install weixin-js-sdk --save
3. html
<div v-if="isWeixin" class="btn-applet">
<wx-open-launch-weapp path="pages/index/index" appid="微信小程序appId" >
<component :is="'script'" type="text/wxtag-template">
<div style="color: #4BC051;"> 打开小程序</div>
</component>
</wx-open-launch-weapp>
</div>
4. js
import wx from "weixin-js-sdk"
import { ref } from "vue"
let ua: any = navigator.userAgent.toLowerCase()
let isWeixin = ref<Boolean>(!isWXWork && ua.match(/micromessenger/i) == 'micromessenger')
getWechatConfig({
url: window.location.href
}).then(res => {
const data = res.data
wx.config({
debug: false,
appId: data.appId,
timestamp: data.timestamp,
nonceStr: data.nonceStr,
signature: data.signature,
jsApiList: ['updateTimelineShareData'],
openTagList: ['wx-open-launch-weapp']
})
})
5. css
.btn-applet {
background: #fff;
width: 210px;
margin: 0px auto 0;
border-radius: 6px;
font-size: 0.37333rem;
display: flex;
height:40px;
justify-content: center;
align-items: center;
}