h5跳转微信小程序

H5跳转微信小程序方法

适用于短信、邮件、外部网页、微信内等拉起小程序的业务场景

场景介绍/业务介绍

点击短信、H5、PC页面上的按钮,可以拉起微信小程序。

微信官方文档介绍

在这里插入图片描述

H5页面代码

<template>
	<view class="container-main">
		<view class="view-login-home">
			<view class="btn-bg" @click="onPageClick">
				确认跳转
			</view>
		</view>
	</view>
</template>

<script>
	import {
		configApi
	} from '../../common/js/configApi.js'; // 公共配置

	export default {
		data() {
			return {
				codeH: '', // 携带参数
				wxUrl:'', // 微信跳转链接
			}
		},
		components: {

		},
		methods: {
			// 点击按钮,打开微信小程序
			onPageClick() {
				console.log(this.wxUrl,this.codeH);
				window.open(this.wxUrl)
			},
			// 请求接口,获取微信短连接
			async getURLScheme() {
				// 默认值"release"。要打开的小程序版本。正式版为"release",体验版为"trial",开发版为"develop",仅在微信外打开时生效。
				 var vparma = {
					 'jumpWxa':
					    {
					        'path': "/pages/home/index",
					        'query': 'pageType=H5&code=' + this.codeH,
					        'envVersion': configApi.ENV_version
					    }
				 }  // 接口入参
				let res = await this.$store.dispatch('getURLScheme', vparma); // 接口请求
				if (res.code == 200 && res.success) {
					let result = res.data;
					this.wxUrl = result.openLink;
				}
			},
			onShow() {
				// 获取小程序URL
				this.getURLScheme();
			},

			onLoad(e) {
				this.codeH = window.location.pathname.replace('/member/', '');  // 获取当前页面链接/member/后的数据作为小程序参数

			}
		},
	}
</script>

<style lang="scss">
	@import '@/common/css/common';
	@import '@/common/css/iconfont';

	.container-main {
		height: 100%;
		display: flex;
		flex-direction: column;
		box-sizing: border-box;
		align-items: flex-start;
		background-color: $uni-bg-color;


		.view-login-home {
			display: flex;
			position: absolute;
			left: 0;
			top: 45%;
			width: 100%;
			height: calc(100vh - 802px);
			flex-direction: column;

			.btn-bg {
				background-color: $mainColor;
				color: $titleColor;
				display: flex;
				align-items: center;
				justify-content: center;
				line-height: 100rpx;
				border-radius: 50rpx;
				margin: 30rpx;
				font-weight: 500;
				font-size: 32rpx;


			}
		}

	}
</style>

小程序代码

1、可以在小程序启动方法里面接收参数

onLaunch(options: any) {
	console.log('=========app.ts===========',options);
	var vitem = options.query
	if(vitem.pageType == 'H5'){
	  // vitem.code
	}
 },

在这里插入图片描述
小程序打印结果

在这里插入图片描述

2、可以在H5指定得页面接收数据

  onLoad(option:any) {
    console.log('=========home.ts===========',option);
    var vitem = option
    if(vitem.pageType == 'H5'){
    
    }
  },

在这里插入图片描述

小程序打印结果
在这里插入图片描述

注意 :小程序两个地方得取值层级不一样。小程序启动方法多了query。指定页面方法则没有这一层。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力成为包租婆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值