這個(gè)項(xiàng)目用的是vue框架,需要判斷手機(jī)系統(tǒng)和瀏覽器環(huán)境,因?yàn)樵谖⑿胖惺遣荒苤苯哟蜷_APP的,微信屏蔽了此功能,當(dāng)時(shí)研究了好久,還是沒能實(shí)現(xiàn),我也是很無奈。
打開APP用的是url scheme,需要客戶端那邊定義給出鏈接,前端直接跳轉(zhuǎn)就行了。
下面是js部分代碼
goToApp() {
if (isWXBrowser) {
//判斷是否是在微信瀏覽器中打開的h5鏈接,如果是,只能跳轉(zhuǎn)到下載APP
if ("ios" == getAppType()) {
window.location.href = this.iosDownUrl; // 跳轉(zhuǎn)到App Store
} else {
window.location.href = this.androidDownUrl; // 跳轉(zhuǎn)到應(yīng)用寶
}
} else {
if ("ios" == getAppType()) {
this.openOrDown(this.iosOpenUrl, this.iosDownUrl);
} else {
this.openOrDown(this.androidOpenUrl, this.androidDownUrl);
}
}
},
openOrDown(openUrl, downUrl){
window.location.href = openUrl;
let hasApp = true;
setTimeout(function() {
//沒有安裝APP則跳轉(zhuǎn)至應(yīng)用寶下載,延時(shí)時(shí)間設(shè)置為2秒
if (!hasApp){
window.location.href = downUrl;
}
}, 2000);
let t1 = Date.now();
setTimeout(function() {
//t的時(shí)間就是出發(fā)APP啟動(dòng)的時(shí)間,若APP啟動(dòng)了,再次返回頁面時(shí)t2這行代碼執(zhí)行,hasApp即為true。反之若APP沒有啟動(dòng)即為false
let t2 = Date.now();
hasApp = !(!t1 || t2 - t1 < 1150);
}, 1000);
}
最后在微信小程序里可以直接打開APP,不過小程序又沒有打開App Store的功能,安卓也打不開應(yīng)用市場。具體可以參考小程序官方文檔https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/launchApp.html