微信公众号中url传递参数到第三方的网页

来源:互联网 发布:银河证券手机炒股软件 编辑:程序博客网 时间:2024/06/16 11:56

在微信公众号开发中,有这么一个场景,点击模板消息中详情url进入到第三方的界面的问题,不知道别的大神是怎么做的,我第一种方法是,老老实实的按照官方文档去做。

方法1:通过网页授权,获取到code,再通过code获取openid,再根据openid请求接口,获取自己需要的参数。https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=第三方url&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
这样做在实际开发中受到了很大限制。

方法2:需要的参数直接在上面的url中携带。当然需要自己处理一下,直接一次传很多参数,js获取不到,传递一个是可以获取到的,没弄明白为什么。

传递一个参数:(这样可以直接在js里获取到这里传递的一个参数mcssn)
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx3aa9835c4b466364&redirect_uri=http://ip:port/view/index.html?mcssn=11111111111111111111&response_type=code&scope=snsapi_base&state=STATE&connect_redirect=1#wechat_redirect

传递多个参数:(只获取到了一个,不知道为什么)
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx3aa9835c4b466364&redirect_uri=http://ip:port/view/index.html?mcssn=11111111111111111111&teacct=123456&mccode=22222222&response_type=code&scope=snsapi_base&state=STATE&connect_redirect=1#wechat_redirect

传递多个参数:(想办法处理一下,自己的多个参数不用&连接,我这里用*连接了)
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx3aa9835c4b466364&redirect_uri=http://ip:port/view/index.html?mcssn=11111111111111111111*teacct=123456*mccode=22222222&response_type=code&scope=snsapi_base&state=STATE&connect_redirect=1#wechat_redirect

这样在js里可以用var urlSearch = location.search; 来获取传递过来的参数。这里直接贴出了写的方法:

//调用方法$(document).ready(function(){var mcssn = getUrlParams("mcssn");var teacct= getUrlParams("teacct");var mccode= getUrlParams("mccode");console.log(mcssn);console.log(teacct);console.log(mccode);}); function getUrlParams(names) {//获取?后面的参数   var urlSearch = location.search;   var urlValue="";   //以?*&来拆分   var params = urlSearch.split(/[?*&]/);    for(var i=0;i<params.length;i++){    //如果url参数里包含传递过来names字段,则取=后面的部分        if(params[i].indexOf(names) >= 0 ){            urlValue=params[i].split("=")[1];            return urlValue;        }    }   return urlValue;}   
阅读全文
0 0
原创粉丝点击