前端开发获取code注意点
捋⼀捋前端开发时怎么获取code,然后将code发给后端来换取⽤户的openid;
1、⾸先你要成为所要开发的的开发者,在公众平台--开发者⼯具--web开发者⼯具中将⾃⼰的号绑定为开发者;
2、然后在公众平台--基本配置中,启⽤开发者密码(AppSecret),然后将开发者ID和密码都保存好;ip⽩名单按照要求配置好就⾏;
3、在公众平台--设置--功能设置中按照要求配置好js接⼝安全域名和⽹页授权域名,注意js接⼝安全域名,每个⽉只能改3次,配置的时候⼀点要注意,最好⼀次把开发环境、测试环境和线上环境都配置好,然后把⽹页授权域名配置为开发环境,⽅便调试;
image.png
注意这些域名配置的时候,⼀定要按照要求配置完成,需要到他们⾃⼰的txt⽂件才会将回调url传到你的页⾯,配置不对是保存不了的,这点做的还是很⼈性的,不然3次机会太少了;
4、都配置完成之后,就需要⽣成⽹页链接了,我们的项⽬是⾥⾯嵌套的h5页⾯,在的⾃定义菜单中,将url按照固定格式拼接,填上去;
该链接分两种,⼀种是需要⽤户点击确认来获取⽤户基本信息的,⼀种是不需要点击确认,默认授权的,根据scope字段来控制即可;
open.weixin.qq/connect/oauth2/authorize?
appid=wx520c15f417810387&redirect_uri=https%3A%2F%2Fchong.qq%2Fphp%2Findex.php%3Fd%3D%26c%3DwxAdap ter%26m%3DmobileDeal%26showwxpaytitle%3D1%26vb2ctag%3D4_2030_5_1194_60&response_type=code&scope=snsapi_ba s
e&state=123#wechat_redirect
代码转换这个url格式是固定的,只需要更改appid,redirect_uri填开发环境域名(注意该链接⼀定要使⽤urlencode转换⼀下);
整个跳转链接⽣成之后,就可以配置到⾃定义菜单中的地址⾥⾯了;
image.png
5、配置完成后,需要⽤开发者⼯具调试。打开开发者⼯具,⽤⾃⼰的登录,然后将刚才配置到⾃定义菜单中的链接放到开发者⼯具的url⾥⾯;
image.png
然后直接点击回车,就会发现url改变了,⾥⾯会有code的字段,code每次登录都会不⼀样,需要随时获取;
image.png
6、将url转化为json对象,然后将code取出,发给后端即可;我的前端⽤的angular1的框架,直接⽤$location.search().code正常应该能取到code,但不知道为啥⼀直都是空的,$location.search()⼀直都是空的,太⽞学,只能⽤原⽣js将url转化为对象,在获取code;
代码贴上:
// 将返回的url获取,并转化为json对象,取到code,正常⽤$location.search().code即可,但是⼀直⽆法获取,更改为原⽣js获取code function GetRequest() {
var url = location.search; //获取url中"?"符后的字符串
var theRequest = new Object();
if (url.indexOf("?") != -1) {
var str = url.substr(1);
strs = str.split("&");
for(var i = 0; i < strs.length; i ++) {
theRequest[strs[i].split("=")[0]]=(strs[i].split("=")[1]);
}
}
return theRequest;
}
console.log( GetRequest());

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。