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 相关文章推荐
js jquery做的图片连续滚动代码
Jan 06 Javascript
简明json介绍
Sep 28 Javascript
25个优雅的jQuery Tooltip插件推荐
May 25 Javascript
jsp js鼠标移动到指定区域显示选项卡离开时隐藏示例
Jun 14 Javascript
js判断变量初始化的三种形式及推荐用的形式
Jul 22 Javascript
一句jQuery代码实现返回顶部效果(简单实用)
Dec 28 Javascript
jQuery插件jqGrid动态获取列和列字段的方法
Mar 03 Javascript
基于Vue单文件组件详解
Sep 15 Javascript
修改vue+webpack run build的路径方法
Sep 01 Javascript
详解小程序之简单登录注册表单验证
May 13 Javascript
如何进行微信公众号开发的本地调试的方法
Jun 16 Javascript
Vue绑定用户接口实现代码示例
Nov 04 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 print EOF实现方法
2009/05/21 PHP
php at(@)符号的用法简介
2009/07/11 PHP
20个PHP常用类库小结
2011/09/11 PHP
CI框架源码解读之利用Hook.php文件完成功能扩展的方法
2016/05/18 PHP
解析URI与URL之间的区别与联系
2013/11/22 Javascript
理运用命名空间让js不产生冲突避免全局变量的泛滥
2014/06/15 Javascript
javascript+HTML5的canvas实现七夕情人节3D玫瑰花效果代码
2015/08/04 Javascript
基于jQuery倾斜打开侧边栏菜单特效代码
2015/09/15 Javascript
js实现简单排列组合的方法
2016/01/27 Javascript
基于jQuery实现二级下拉菜单效果
2016/02/01 Javascript
关于function类中定义变量this的简单说明
2016/05/28 Javascript
Element UI框架中巧用树选择器的实现
2018/12/12 Javascript
vue中的过滤器及其时间格式化问题
2020/04/09 Javascript
下载糗事百科的内容_python版
2008/12/07 Python
Python实现统计英文单词个数及字符串分割代码
2015/05/28 Python
举例讲解如何在Python编程中进行迭代和遍历
2016/01/19 Python
python直接获取API传递回来的参数方法
2018/12/17 Python
对python捕获ctrl+c手工中断程序的两种方法详解
2018/12/26 Python
实例详解python函数的对象、函数嵌套、名称空间和作用域
2019/05/31 Python
Python实现获取系统临时目录及临时文件的方法示例
2019/06/26 Python
使用Python实现图像标记点的坐标输出功能
2019/08/14 Python
在echarts中图例legend和坐标系grid实现左右布局实例
2020/05/16 Python
HTML5中使用postMessage实现Ajax跨域请求的方法
2016/04/19 HTML / CSS
HTML5语义化元素你真的用对了吗
2019/08/22 HTML / CSS
函数指针的定义是什么
2016/08/14 面试题
仓库管理专业个人的自我评价
2013/12/30 职场文书
小学科学教学反思
2014/01/26 职场文书
运动会400米加油稿(8篇)
2014/09/22 职场文书
2014年度思想工作总结
2014/11/27 职场文书
和谐家庭事迹材料
2014/12/20 职场文书
自荐信格式模板
2015/03/27 职场文书
2015年房地产销售工作总结
2015/04/20 职场文书
新兵入伍决心书
2015/09/22 职场文书
CSS3 制作精美的定价表
2021/04/06 HTML / CSS
Go缓冲channel和非缓冲channel的区别说明
2021/04/25 Golang
Netty客户端接入流程NioSocketChannel创建解析
2022/03/25 Java/Android