1

在用uni-app混合方式开发app,在做微信授权登录的时候,要判断手机里面是否安装有微信客户端,如果没有安装提示用户,未安装微信客户端或版本过低

解决方案

官方介绍(传送门)

判断第三方程序是否已存在
plus.runtime.isApplicationExist(appInf);

示例:

// 判断第三方程序(微信) 是否安装
function checkApp(){
    if(plus.runtime.isApplicationExist({pname:'com.tencent.mm',action:'weixin://'})){
        console.log("微信应用已安装");
    }else{
        console.log("微信应用未安装");
    }
}
    
说明

如果第三方程序已安装则返回true,未安装则返回false

参数

appInf: ( ApplicationInf ) 必选 要判断第三方程序的描述信息

Android

平台需要通过设置appInf的pname属性(包名)进行查询

iOS

平台需要通过设置appInf的action属性(Scheme)进行查询,在iOS9以后需要添加白名单才可查询,在manifest.json文件plus->distribute->apple->urlschemewhitelist节点下添加(如urlschemewhitelist:["weixin"]).

常用平台

平台 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://

杭州蘇小小
178 声望12 粉丝

我是一名 WEB前端 开发者不断在前端这条路上努力拼搏着。我喜欢代码的逻辑有序性,每一行代码都有其不同的作用,所有的代码加起来就可以让用户能愉快的体验我的产品。我喜欢研究,遇到难题我不退缩,我相信我可以...