本人前端最近在做微信公众号支付,看了官网的文档和一些网上的教程,基本上说的都差不多,在这里不再累述。这里只讲下openID怎么获取,因为教程和网上对openID的获取是少之又少,可能对大神来说这是件简单的事情,但我这个小白在这上面花了数天的时间才弄明白!
1.想拿到openid首先的拿到用户的code。code是前端获取还是后端?其实都可以:
前端在预支付页面,在用户点击预支付的时候,把接口拼接好:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=公众号APPID&redirect_uri=你要跳转的链接地址(在此地址拿用户code)&response_type=code&scope=snsapi_base#wechat_redirect
拿code的前端代码:
function GetQueryString(name){
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null)return unescape(r[2]);
return null;
}
GetQueryString(‘code’)//记住code是在你写的redirect_uri的URL的页面拿!!!然后给后端去拼链接拿openID。。。。
后端也可以拿用户code,拼接参数相同只是把redirect_uri写成后台的一个路由,在这个路由里来拿code,然后再拿openID:
能力有限,希望能帮助一些人~~~~莫喷