1.進(jìn)頁面判斷環(huán)境
let ua = window.navigator.userAgent.toLowerCase();
if (ua.match(/Alipay/i) == "alipay") {
//支付寶
this.isBrowser = true;
} else if (ua.match(/MicroMessenger/i) == "micromessenger") {
//微信
this.isBrowser = false;
} else {
//普通瀏覽器
this.isBrowser = true;
}
2.微信環(huán)境調(diào)用wx sdk
npm install weixin-js-sdk --save
import wx from 'weixin-js-sdk'
3.請(qǐng)求后端驗(yàn)簽得到配置參數(shù)
傳給后端當(dāng)前url進(jìn)行驗(yàn)簽放钦,#號(hào)后的字符串不要
let url = window.location.href;
let newUrl = url.substring(0, url.indexOf('#'));
4.拿到參數(shù)后添加jsApiList和openTagList,配置wx-sdk環(huán)境
config.jsApiList = ['scanQRCode'];
config.openTagList = ['wx-open-launch-weapp'];
wx.config(config);
wx.ready(function() {
// config信息驗(yàn)證后會(huì)執(zhí)行ready方法,所有接口調(diào)用都必須在config接口獲得結(jié)果之后,config是一個(gè)客戶端的異步操作,所以如果需要在頁面加載時(shí)就調(diào)用相關(guān)接口,則須把相關(guān)接口放在ready函數(shù)中調(diào)用來確保正確執(zhí)行。對(duì)于用戶觸發(fā)時(shí)才調(diào)用的接口初斑,則可以直接調(diào)用,不需要放在ready函數(shù)中
});
5.template里的html
<wx-open-launch-weapp id="launch-btn" :username="username" :path="path">
<script type="text/wxtag-template">
<style>
.open-btn {
margin-top: 100px;
background-color: #4CAF50;
border: none;
color: white;
text-align: center;
text-decoration: none;
font-size: 16px;
border-radius: 15px;
width: 200px;
height: 50px;
line-height: 50px;
}
</style>
<button class="open-btn">打開小程序</button>
</script>
</wx-open-launch-weapp>
username:小程序初始ID膨处,要去小程序平臺(tái)找
path:跳轉(zhuǎn)路徑见秤,根據(jù)當(dāng)前href判斷跳轉(zhuǎn)路徑