外部浏览器h5打开微信小程序 微信内置也可用

发布时间:2024年01月23日

这个方法使用的是微信官方api 请求url scheme 实现的?

因为前端请求在手机上会有跨域错误? 所以请求代码放到了后端

后端不会写? 但是后端需要调用的api及参数如下?

首先拿到小程序的access_token? 这个也是后端调用 微信官方api拿到的??

拿到后 调用? ?看官方文档比较省劲??

微信api地址

https://api.weixin.qq.com/wxa/generatescheme?access_token=ACCESS_TOKEN

前端调用例子

$.post('https://api.weixin.qq.com/wxa/generatescheme?access_token=ACCESS_TOKEN', {
    "jump_wxa":
    {
        "path": "/pages/home",
        "query": "",
        "env_version": "release"
    },
    "is_expire":true,
    "expire_type":1,
    "expire_interval":1
}, function(res) {
	// 请求成功后的处理逻辑
    location.href = res.data
	}, "json")
	.done(function() {
		// 请求成功完成后的操作
		console.log("请求成功完成");
	})

前端代码只做最后的请求跳转?

<script>
			
			$(function() {
				if (isPCBrowser()) {
				    console.log('当前在PC浏览器中打开');
					$('.box').hide()
					$('.boxToo').show()
				} else {
				    console.log('当前不在PC浏览器中打开');
					$('.boxToo').hide()
					$('.box').show()
					getOpenLink()
				}
			});
			
			// 判断是否在pc浏览器中打开
			function isPCBrowser() {
			    const userAgent = navigator.userAgent || navigator.vendor || window.opera;
			
			    // 判断是否是PC浏览器
			    return /android|avantgo|blackberry|bolt|boost|cricket|docomo|fone|hiptop|mini|mobi|palm|phone|pie|tablet|up\.browser|up\.link|webos|wos/i.test(userAgent) === false;
			}

			function getOpenLink() {
				$.post('https://url', {}, function(res) {
				  // 请求成功后的处理逻辑
				  location.href = res.data
				}, "json")
				  .done(function() {
				    // 请求成功完成后的操作
				    console.log("请求成功完成");
				  })
				  .fail(function(err) {
				    // 请求失败后的操作
				    console.log("请求失败",err);
				  })
				  .always(function() {
				    // 不论请求成功还是失败,执行的操作
				    console.log("请求完成");
				  });

			}
		</script>

文章来源:https://blog.csdn.net/sdgjah2/article/details/135767455
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。