UNI-APP常用方法


1、判斷第三方程序是否已存在

Boolean plus.runtime.isApplicationExist(appInf);

如果第三方程序已安裝則返回true,未安裝則返回false。

appInf: ApplicationInf ) 必選 要判斷第三方程序的描述信息

Android平台需要通過設置appInf的pname屬性(包名)進行查詢。 iOS平台需要通過設置appInf的action屬性(Scheme)進行查詢,在iOS9以后需要添加白名單才可查詢,在manifest.json文件plus->distribute->apple->urlschemewhitelist節點下添加(如urlschemewhitelist:["weixin"]).

// 判斷第三方程序(微信) 是否安裝
function checkApp(){
    if(plus.runtime.isApplicationExist({pname:'com.tencent.mm',action:'weixin://'})){
        console.log("微信應用已安裝");
    }else{
        console.log("微信應用未安裝");
    }
}
判斷其他應用是否安裝,可以用對應的pname和action來判斷。以下是一些常用平台的pname和action。

平台 | pname | action
-|-|- 微信 | com.tencent.mm | weixin:// | QQ |com.tencent.mobileqq | mqq:// | 
新浪微博 | com.sina.weibo | sinaweibo:
// |
淘寶 | com.taobao.taobao | taobao:
// |
支付寶 | com.eg.android.AlipayGphone | alipay:
// |
京東 | com.jingdong.app.mall | openApp.jdMobile:
// |
優酷 | com.youku.phone | youku:
// |
高度地圖 | com.autonavi.minimap | iosamap:
// |
百度地圖 | com.baidu.BaiduMap | baidumap:
// |

 http://www.html5plus.org/doc/zh_cn/runtime.html#plus.runtime.isApplicationExist

2、判斷APP強制更新彈層

// 接口獲取當前版本信息
viewAppConfigApi().then((res) => { if(res.code == 1){   // app當前版本
    plus.runtime.getProperty(plus.runtime.appid,(wgtinfo)
=>{ versionNow = wgtinfo.version; if(verisonPlate !== versionNow){ // 版本號不同了 if(plate == 'android' && plateformConfig.isAndroidEnabled == 1){ // 安卓已上架 uni.hideTabBar(); this.showUpdate = true; }else if(plate == 'ios' && plateformConfig.isIosEnabled == 1){ // IOS已上架 uni.hideTabBar(); this.showUpdate = true; }else{ this.showUpdate = false; uni.showTabBar(); } }else{ this.showUpdate = false; uni.showTabBar(); } }) } })

點擊立即更新跳轉

if(plate == 'android'){
                    this.isLoading = true;
                    uni.downloadFile({
                        url: this.downLoadUrl,
                        success: data => {
                            this.isLoading = false;
                            if (data.statusCode === 200) { 
                                plus.runtime.install(data.tempFilePath, {  
                                    force: false  
                                }, function() {
                                    plus.runtime.restart();  
                                });  
                             }  
                        }
                    })
                }else if(plate == 'ios'){
                    //在App Store Connect中的App Store下的app信息,可找到appleId
                    let appleId= 'K64HH6LH8M';
                    plus.runtime.launchApplication({
                        action: `itms-apps://itunes.apple.com/cn/app/id${appleId}?mt=8`
                    }, function(e) {
                        console.log('Open system default browser failed: ' + e.message);
                    });
                }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM