微信小程序内部通过web-view打开H5跳转小程序页面(判断H5是在微信小程序内部打开还是在外部打开)

	goWeapp() {
				var ua = navigator.userAgent.toLowerCase();
				if (ua.match(/MicroMessenger/i) == "micromessenger") {
					// ios的ua中无miniProgram,但都有MicroMessenger(表示是微信浏览器)
					wx.miniProgram.getEnv((res) => {
						if (res.miniprogram) {
							console.log('在小程序里')
							wx.miniProgram.navigateTo({
								url: `/packageA/pages/acPreviewMS/index?StoreId=${this.PromotionInfo.StoreId}&acId=${this.PromotionInfo.ActivityId}&AcType=${this.activityDetail.AcType}`,
								success(res) {
								    console.log(res) // 输出:{ errMsg: "navigateTo:ok" }
								  },
								  fail(res) {
								    console.log(res) // 输出:{ errMsg: "navigateTo:fail" }
								  }
							})

						} else {
							console.log('不在小程序里');
							this.goActiveDetail();
						}
					})
				} else {
					console.log('不在微信里')
					this.goActiveDetail();

				}



			},
goActiveDetail() {
				var that = this;
				// 先判断是不是pc端打开的h5 如果是pc端提醒用手机打开页面
				if (window.navigator.userAgent.indexOf("Windows") != -1) {
					window.alert("请使用手机打开!")
				} else {
					// 调取接口获取URL Scheme
					let params =
	`StoreId=${that.PromotionInfo.StoreId}&acId=${that.PromotionInfo.ActivityId}&AcType=${that.activityDetail.AcType}`
					console.log(params)
					$.post('/api/wx/GenerateScheme', {
							Path: "packageA/pages/acPreviewMS/index", //打开的小程序页面路径
							Query: params,
							// env_version: "trial" //  正式版为"release",体验版为"trial",开发版为"develop"
						})
						.then(res => {
							let UrlScheme = res.Data
							setTimeout(() => {
								window.open(UrlScheme);
							}, 200)
						})

				}
			},

web-view | 微信开放文档 
微信外部跳转小程序页面具体请看我的上上一篇文章h5跳转微信小程序(微信内部浏览器以及外部浏览器均适用)_青青子衿越的博客-CSDN博客

注意:苹果手机可能会出现跳转不成功 所以一定要加一下延迟

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值