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 相关文章推荐
判断用户的在线状态 onbeforeunload事件
Mar 05 Javascript
JQueryEasyUI datagrid框架的进阶使用
Apr 08 Javascript
JavaScript显示当然日期和时间即年月日星期和时间
Oct 29 Javascript
封装了jQuery的Ajax请求全局配置
Feb 05 Javascript
JavaScript DOM节点操作方法总结
Aug 23 Javascript
JS中使用mailto实现将用户在网页中输入的内容传递到本地邮件客户端
Oct 08 Javascript
浅谈Angular中ngModel的$render
Oct 24 Javascript
JS弹出窗口的运用与技巧大全
Nov 01 Javascript
Vue组件之极简的地址选择器的实现
May 31 Javascript
Angularjs Ng_repeat中实现复选框选中并显示不同的样式方法
Sep 12 Javascript
JavaScript 扩展运算符用法实例小结【基于ES6】
Jun 17 Javascript
详解JavaScript执行模型
Nov 16 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
php判断变量类型常用方法
2012/04/24 PHP
php文件夹与文件目录操作函数介绍
2013/09/09 PHP
php中unserialize返回false的解决方法
2014/09/22 PHP
ThinkPHP框架分布式数据库连接方法详解
2017/03/14 PHP
javascript 哈希表(hashtable)的简单实现
2010/01/20 Javascript
网站导致浏览器崩溃的原因总结(多款浏览器) 推荐
2010/04/15 Javascript
JS按位非(~)运算符与~~运算符的理解分析
2011/07/31 Javascript
jQuery的animate函数学习记录
2014/08/08 Javascript
在JS数组特定索引处指定位置插入元素的技巧
2014/08/24 Javascript
Javascript数组与字典用法分析
2014/12/13 Javascript
js操作css属性实现div层展开关闭效果的方法
2015/05/11 Javascript
jquery+CSS3模拟Path2.0动画菜单效果代码
2015/08/31 Javascript
jQuery拖动元素并对元素进行重新排序
2015/12/30 Javascript
Javascript缓存API
2016/06/14 Javascript
js实现的在线调色板功能完整实例
2016/12/21 Javascript
Angular ui.bootstrap.pagination分页
2017/01/20 Javascript
Angular2生命周期钩子函数的详细介绍
2017/07/10 Javascript
vue与bootstrap实现时间选择器的示例代码
2017/08/26 Javascript
Angularjs按需查询实例代码
2017/10/30 Javascript
使用vue实现grid-layout功能实例代码
2018/01/05 Javascript
教你使用vue-cli快速构建的小说阅读器
2019/05/13 Javascript
深入了解js原型模式
2019/05/30 Javascript
深入学习js函数的隐式参数 arguments 和 this
2019/06/24 Javascript
elementUi vue el-radio 监听选中变化的实例代码
2019/06/28 Javascript
[01:23:35]Ti4主赛事胜者组 DK vs EG 1
2014/07/19 DOTA
[02:31]2018年度DOTA2最具人气选手-完美盛典
2018/12/16 DOTA
Python实现爬虫从网络上下载文档的实例代码
2018/06/13 Python
pandas dataframe的合并实现(append, merge, concat)
2019/06/24 Python
Python 函数list&amp;read&amp;seek详解
2019/08/28 Python
Python 寻找局部最高点的实现
2019/12/05 Python
Python 中如何实现参数化测试的方法示例
2019/12/10 Python
win10安装python3.6的常见问题
2020/07/01 Python
法国和欧洲海边和滑雪度假:Pierre & Vacances
2017/01/04 全球购物
BRASTY捷克:购买香水、化妆品、手袋和手表
2017/07/12 全球购物
大型营销活动计划书
2014/04/28 职场文书
导游词之西安骊山
2019/12/20 职场文书