• 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);
                        });
                    }
  • 相关阅读:
    Leetcode Excel Sheet Column Number
    AlgorithmsI PA2: Randomized Queues and Deques Subset
    AlgorithmsI PA2: Randomized Queues and Deques RandomizedQueue
    AlgorithmsI PA2: Randomized Queues and Deques Deque
    AlgorithmsI Programming Assignment 1: PercolationStats.java
    hdu多校第四场 1003 (hdu6616) Divide the Stones 机智题
    hdu多校第四场 1007 (hdu6620) Just an Old Puzzle 逆序对
    hdu多校第四场1001 (hdu6614) AND Minimum Spanning Tree 签到
    hdu多校第三场 1007 (hdu6609) Find the answer 线段树
    hdu多校第三场 1006 (hdu6608) Fansblog Miller-Rabin素性检测
  • 原文地址:https://www.cnblogs.com/haonanZhang/p/13742164.html
Copyright © 2020-2023  润新知