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 相关文章推荐
你需要知道的JavsScript可以做什么?
Jun 29 Javascript
Iframe thickbox2.0使用的方法
Mar 05 Javascript
html中的input标签的checked属性jquery判断代码
Sep 19 Javascript
JavaScript中双叹号!!作用示例介绍
Sep 21 Javascript
JQuery使用$.ajax和checkbox实现下次不在通知功能
Apr 16 Javascript
javascript实现在网页中运行本地程序的方法
Feb 03 Javascript
jQuery通过ajax快速批量提交表单数据
Oct 25 Javascript
学习Vue组件实例
Apr 28 Javascript
bootstrap里bootstrap动态加载下拉框的实例讲解
Aug 10 Javascript
一步一步的了解webpack4的splitChunk插件(小结)
Sep 17 Javascript
vue axios请求频繁时取消上一次请求的方法
Nov 10 Javascript
开发Node CLI构建微信小程序脚手架的示例
Mar 27 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 文件上传后端处理实用技巧方法
2017/01/06 PHP
yii2学习教程之5种内置行为类详解
2017/08/03 PHP
PHP开发中解决并发问题的几种实现方法分析
2017/11/13 PHP
直接生成打开窗口代码,不必下载
2008/05/14 Javascript
jquery 页面全选框实践代码
2010/04/02 Javascript
jQuery实现点击标题输入详细信息
2013/04/16 Javascript
JavaScript中数组slice和splice的对比小结
2016/09/22 Javascript
Js动态设置rem来实现移动端字体的自适应代码
2016/10/14 Javascript
原生JS实现图片轮播切换效果
2016/12/15 Javascript
js图片轮播手动切换特效
2017/01/12 Javascript
关于在vue-cli中使用微信自动登录和分享的实例
2017/06/22 Javascript
基于Particles.js制作超炫粒子动态背景效果(仿知乎)
2017/09/13 Javascript
详解JS数值Number类型
2018/02/07 Javascript
Webpack打包字体font-awesome的方法示例
2018/04/26 Javascript
vue实现搜索功能
2019/05/28 Javascript
详解node登录接口之密码错误限制次数(含代码)
2019/10/25 Javascript
Vue在chrome44偶现点击子元素事件无法冒泡的解决方法
2019/12/15 Javascript
Django自定义用户认证示例详解
2018/03/14 Python
python微信公众号开发简单流程
2018/03/23 Python
python实现自动网页截图并裁剪图片
2018/07/30 Python
python ChainMap的使用和说明详解
2019/06/11 Python
python循环嵌套的多种使用方法解析
2019/11/29 Python
Python OpenCV视频截取并保存实现代码
2019/11/30 Python
Python Django中的STATIC_URL 设置和使用方式
2020/03/27 Python
keras处理欠拟合和过拟合的实例讲解
2020/05/25 Python
Pyside2中嵌入Matplotlib的绘图的实现
2021/02/22 Python
Jogun Shop中文官网:韩国知名时尚男装网站
2016/10/12 全球购物
英国大码女性时装零售商:Evans
2018/08/29 全球购物
设计师大码女装:11 Honoré
2020/05/03 全球购物
方法名是否可以与构造器的名字相同
2012/06/04 面试题
《狐假虎威》教学反思
2014/02/07 职场文书
社区消防工作实施方案
2014/03/21 职场文书
工地安全质量标语
2014/06/07 职场文书
学用政策心得体会
2014/09/10 职场文书
2014幼儿园班主任工作总结
2014/12/04 职场文书
SpringBoot2零基础到精通之数据与页面响应
2022/03/22 Java/Android