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 相关文章推荐
提示$ is not defined错误分析及解决
Apr 09 Javascript
查看图片(前进后退)功能实现js代码
Apr 24 Javascript
一个简单的jQuery计算器实现了连续计算功能
Jul 21 Javascript
常用javascript表单验证汇总
Jul 20 Javascript
JavaScript:Array类型全面解析
May 19 Javascript
浅谈bootstrap源码分析之scrollspy(滚动侦听)
Jun 06 Javascript
详解Angularjs在控制器(controller.js)中使用过滤器($filter)格式化日期/时间实例
Feb 17 Javascript
js遍历获取表格内数据的方法(必看)
Apr 06 Javascript
详解微信小程序设置底部导航栏目方法
Jun 29 Javascript
Node.js readline 逐行读取、写入文件内容的示例
Mar 01 Javascript
JavaScript格式化json和xml的方法示例
Jan 22 Javascript
JavaScript前端面试组合函数
Jun 21 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 gd等比例缩放压缩图片函数
2016/06/12 PHP
详解PHP如何更好的利用PHPstorm的自动提示
2017/08/18 PHP
漂亮的widgets,支持换肤和后期开发新皮肤(2007-4-27已更新1.7alpha)
2007/04/27 Javascript
extjs 3.31 TreeGrid实现静态页面加载json到TreeGrid里面
2013/04/02 Javascript
jQuery实现购物车计算价格功能的方法
2015/03/25 Javascript
JS实现两表格里数据来回转移的方法
2015/05/28 Javascript
js正则匹配出所有图片及图片地址src的方法
2015/06/08 Javascript
jQuery UI设置固定日期选择特效代码分享
2015/08/27 Javascript
jQuery监听浏览器窗口大小的变化实例
2017/02/07 Javascript
js实现显示手机号码效果
2017/03/09 Javascript
js 数字、字符串、布尔值的转换方法(必看)
2017/04/07 Javascript
vue2.0多条件搜索组件使用详解
2020/03/26 Javascript
安装Node.js并启动本地服务的操作教程
2018/05/12 Javascript
vue中vee validate表单校验的几种基本使用
2018/06/25 Javascript
对vue2.0中.vue文件页面跳转之.$router.push的用法详解
2018/08/24 Javascript
js+springMVC 提交数组数据到后台的实例
2019/09/21 Javascript
vue 组件内获取actions的response方式
2019/11/08 Javascript
javascript 对象 与 prototype 原型用法实例分析
2019/11/11 Javascript
js实现弹窗猜数字游戏
2020/11/26 Javascript
Linux下升级安装python3.8并配置pip及yum的教程
2020/01/02 Python
解决tensorflow/keras时出现数组维度不匹配问题
2020/06/29 Python
PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)的步骤详解
2020/11/02 Python
香港卓悦化妆品官网:BONJOUR
2017/09/21 全球购物
Nicole Miller官方网站:纽约女装品牌
2019/09/14 全球购物
Electric官网:美国高级眼镜和配件品牌
2020/06/04 全球购物
档案接收函范文
2014/01/10 职场文书
冬季安全检查方案
2014/05/23 职场文书
学校食品安全实施方案
2014/06/14 职场文书
2014年党员加强作风建设思想汇报
2014/09/15 职场文书
大学生年度个人总结
2015/02/15 职场文书
汤姆叔叔的小屋读书笔记
2015/06/30 职场文书
新人入职感言
2015/07/31 职场文书
2016年学习贯彻十八届五中全会精神心得体会
2016/01/05 职场文书
Mysql文件存储图文详解
2021/06/01 MySQL
Android存储中最基本的文件存储方式
2022/04/30 Java/Android
服务器间如何实现文件共享
2022/05/20 Servers