h5页面唤醒APP

已下载APP只需要唤醒时(微信里面直接打开用wx-open-launch-app(挺麻烦的建议看清文档再做需要安卓ios配合))

使用callapp-lib插件

//安装
npm install --save callapp-lib
//引入(我是封装的公共方法在 mixin.js中引入)
import CallApp from 'callapp-lib';
this.options = {
	scheme: { //打开IOS的标识
		protocol: ''
	},
	intent: { //打开安卓标识
		package: '', //安卓协议 com.tencent.mm weixin
		scheme: 'xxx',
	},
	appstore: '', //App Store地址
	yingyongbao: 'xxx', //应用宝地址
	fallback: '', //唤端失败后跳转的地址。
	timeout: 3000, //等待唤端的时间(单位: ms),超时则判断为唤端失败。
}
this.callLib = new CallApp(this.options);
this.callLib.open({
	path: 'h5',
	param, // 打开APP某个页面时需要接收的参数
	// 自定义唤端失败回调函数,传递callback会覆盖callapp-lib库中默认的唤端失败处理逻辑
	callback: function() {
		console.log('唤端失败的处理');
		uni.navigateTo({
			url: '/download'
		})
	}
});

但没有下载APP 走callLib的唤端失败的处理 写一个下载页面

根据不同手机型号跳转到不同的商店 安卓我写了遮罩层 用默认浏览器打开下载app

const ua = navigator.userAgent;
let isAndroid = ua.indexOf("Android") > -1 || ua.indexOf("Linux") > -1; //android终端
let isIOS = !!ua.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
const isHuawei = ua.match(/huawei/i);
const isHonor = ua.match(/honor/i);
const isOppo = ua.match(/oppo/i);
const isOppoR15 = ua.match(/pacm00/i);
const isVivo = ua.match(/vivo/i);
const isXiaomi = ua.match(/mi\s/i);
const isXIAOMI = ua.match(/xiaomi/i);
const isXiaomi2s = ua.match(/mix\s/i);
const isRedmi = ua.match(/redmi/i);
//判断是不是微信
let isWeixin =
	ua.toLowerCase().match(/MicroMessenger/i) == "micromessenger";
// 如果是安卓微信端打开,引导去浏览器打开
if (isAndroid&&isWeixin) {
	this.isMask = true;
	return;
}
let url = "";
if (isAndroid) {
	 if (isHuawei || isHonor) {
		url = this.huawei
	} else if (isOppo || isOppoR15) {
		url = this.oppo
	} else if (isVivo) {
		url = this.vivo
	} else if (isXiaomi || isRedmi || isXiaomi2s || isXIAOMI) {
		url = this.xiaomi
	} else {
		url = this.yingyongbao
	}
} else if (isIOS) {
	url = this.ios;
}
window.location.href = url

wx-open-launch-app从微信直接打开app
微信内网页跳转APP功能

太麻烦了,因为我服务号与开放平台账号不是同一个主体 换主体等了很久,还有APP必须接入微信的openSDK 要不然不让跳

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值