VUE使用 wx-open-launch-app 组件开发微信打开APP功能


Posted in Javascript onAugust 11, 2020

在微信中开发使用vue框架,通过 wx-open-launch-app 微信自定义注册组件开发 微信H5打开app功能

template

<template>
	<div class="beva-home">		
		<!-- ===== 微信浏览器打开贝瓦APP ===== -->
		<div class="weixin-open-app" v-if="openAppState">
			<img class="close-icon" :src="icon.close" alt="关闭" @click="handleCloseOpenAppMask">
			<div class="detail">微信端暂不支持音视频播放,请到APP观看收听。</div>
			<div class="open-btn" v-if="!wechatState" @click="handleOpenBevaApp">打开贝瓦儿歌APP</div>
			<div class="" v-else>
				<wx-open-launch-app id="launch-btn" @error="handleErrorFn" @launch="handleLaunchFn" appid="wxd8799b17ff675637" extinfo="这里是微信H5传递给APP的指定参数">
					<script type="text/wxtag-template">
						<style>.btn { display: flex;align-items: center; }</style>								
						<div class="btn" style="border-radius: 50px;font-size:15px;color:#ffffff;font-weight:700;padding: 0 50px;height:45px;line-height: 45px;background-color: #FF9700;margin: 0 auto;">前往贝瓦儿歌</div>					
					</script>
				</wx-open-launch-app>
			</div>			
		</div>
	</div>
</template>

script

<script>
	export default {
		data() {
			return {
				wechatState:false, // 是否显示微信打开app功能按钮			
				icon:{
					close:require("../../assets/close.png")
				},				
				openAppState:false, // 显示打开app 的按钮 
			}
		},
		methods: {
			/**
			 * 判断当前的环境是否为微信环境且版本大于指定版本
			 */
			handleJudgeWechat(){
			 let wechat = navigator.userAgent.match(/MicroMessenger\/([\d\.]+)/i) ;
			 let judgewechat = wechat[1].split('.')
			 if(judgewechat[0]>=7){
			 if(judgewechat[1]>=0){
			  if(judgewechat[2]>=12){
			  this.wechatState = true
			  console.log("当前符合 h5 打开指定app")   
			  }
			 }
			 }
			},
			/**
			 * 打开应用宝下载页面
			 */
			handleOpenBevaApp() {
				window.location.href = "https://a.app.qq.com/o/simple.jsp?pkgname=com.slanissue.apps.mobile.erge&g_f=******"
			},
			/**
			 * 监听error 函数
			 */
			handleErrorFn(e){
				this.$data.wechatOpenAppData ="【这里是error 函数】"+ JSON.stringify(e)
				if (e.isTrusted == false) {
					// alert("跳转失败")
					window.open("https://a.app.qq.com/o/simple.jsp?pkgname=com.slanissue.apps.mobile.erge&g_f=******")
				}
			},
			/**
			 * 监听launch 函数
			 */
			handleLaunchFn(e){
				this.$data.wechatOpenAppData ="【这里是launch 函数】"+ JSON.stringify(e)
			},
			/**
			 * 配置当前页面分享信息
			 */
			handleWeixinShare(){
				this.$weixin.share({
					imgUrl: window.location.origin + require("../../assets/logo.png"),
					title: "贝瓦儿歌-推荐首页",
					desc: "海量精品课程,尽在贝瓦儿歌APP!",
					link: window.location.href
				})
			},
			/**
			 * 关闭弹框打开贝瓦儿歌app
			 */
			handleCloseOpenAppMask(){
				this.$data.openAppState = false
			},
		},
		mounted() {
			this.handleWeixinShare()
			console.log("【贝瓦首页初始化】")
			this.handleJudgeWechat()
			// 获取 homelist 组件传递过来的打开app的 显示状态
			this.bus.$on("openAPP",res=>{
				console.log("open app")
				if(res.type){
					this.$data.openAppState = true
				}
			})
		}
	}
</script>

现在只是再做一个笔记,后续等现阶段开发完毕了,在详细梳理一下教程。可以看一下效果图。

在微信开发者工具上显示:开发者工具由于不满足微信打开app的版本信息,所以显示的自己写的一个默认样式。

VUE使用 wx-open-launch-app 组件开发微信打开APP功能

在真机上显示:
在真机上因为当前环境版本支持打开app功能,所以当前展示的真实的情况。

VUE使用 wx-open-launch-app 组件开发微信打开APP功能

总结

到此这篇关于VUE使用 wx-open-launch-app 组件开发微信打开APP功能的文章就介绍到这了,更多相关vue开发微信打开APP内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
jQuery中创建实例与原型继承揭秘
Dec 21 Javascript
jQueryUI中的datepicker使用方法详解
May 25 Javascript
浅谈js中对象的使用
Aug 11 Javascript
js eval函数使用,js对象和字符串互转实例
Mar 06 Javascript
JS库之Highlight.js的用法详解
Sep 13 Javascript
基于AngularJs select绑定数字类型的问题
Oct 08 Javascript
vue实现的下拉框功能示例
Jan 29 Javascript
微信小程序框架的页面布局代码
Aug 17 Javascript
解决Vue中 父子传值 数据丢失问题
Aug 27 Javascript
云服务器部署Node.js项目的方法步骤(小白系列)
Mar 23 Javascript
详解Typescript里的This的使用方法
Jan 08 Javascript
原生js 实现表单验证功能
Feb 08 Javascript
vue实现图片按比例缩放问题操作
Aug 11 #Javascript
JavaScript中while循环的基础使用教程
Aug 11 #Javascript
vue-cli3 引入 font-awesome的操作
Aug 11 #Javascript
js实现列表按字母排序
Aug 11 #Javascript
Vue使用轮询定时发送请求代码
Aug 10 #Javascript
vue页面引入three.js实现3d动画场景操作
Aug 10 #Javascript
详解vue中v-model和v-bind绑定数据的异同
Aug 10 #Javascript
You might like
DOMXML函数笔记
2006/10/09 PHP
用Socket发送电子邮件
2006/10/09 PHP
php随机输出名人名言的代码
2012/10/07 PHP
php获取网页标题和内容函数(不包含html标签)
2014/02/03 PHP
linux下编译安装memcached服务
2014/08/03 PHP
WordPress中邮件的一些修改和自定义技巧
2015/12/15 PHP
Yii CGridView用法实例详解
2016/07/12 PHP
PHP删除数组中特定元素的两种方法
2019/02/28 PHP
Js判断CSS文件加载完毕的具体实现
2014/01/17 Javascript
Javascript基础教程之break和continue语句
2015/01/18 Javascript
Jquery+ajax+JAVA(servlet)实现下拉菜单异步取值
2016/03/23 Javascript
JSON与String互转的实现方法(Javascript)
2016/09/27 Javascript
JS中Array数组学习总结
2017/01/18 Javascript
基于nodejs 的多页面爬虫实例代码
2017/05/31 NodeJs
Django中使用jquery的ajax进行数据交互的实例代码
2017/10/15 jQuery
微信小程序异步处理详解
2017/11/10 Javascript
Node.js模块全局安装路径配置方法
2018/05/17 Javascript
Node.js Buffer用法解读
2018/05/18 Javascript
详解vue-router数据加载与缓存使用总结
2018/10/29 Javascript
JS实现换肤功能的方法实例详解
2019/01/30 Javascript
echarts实现词云自定义形状的示例代码
2019/02/20 Javascript
python使用urllib2模块获取gravatar头像实例
2013/12/18 Python
Python3.x版本中新的字符串格式化方法
2015/04/24 Python
python 通过logging写入日志到文件和控制台的实例
2018/04/28 Python
Mac在python3环境下安装virtualwrapper遇到的问题及解决方法
2019/07/09 Python
python实现多线程端口扫描
2019/08/31 Python
解决python Jupyter不能导入外部包问题
2020/04/15 Python
荷兰街头时尚之家:Funkie House
2019/03/18 全球购物
意大利奢侈品综合电商网站:MODES
2019/12/14 全球购物
高等教育专业自荐信范文
2014/03/26 职场文书
班主任班级寄语大全
2014/04/04 职场文书
学历公证委托书
2014/04/09 职场文书
公司承诺书格式
2014/05/21 职场文书
解除劳动合同协议书范本2014
2014/09/25 职场文书
幼儿园安全管理制度
2015/08/05 职场文书
Win10 Anaconda安装python-pcl
2022/04/29 Servers