赞
踩
这个方法使用的是微信官方api 请求url scheme 实现的
因为前端请求在手机上会有跨域错误 所以请求代码放到了后端
后端不会写 但是后端需要调用的api及参数如下
首先拿到小程序的access_token 这个也是后端调用 微信官方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>
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。