美文网首页微信公众号开发Web前端之路让前端飞
前端开发微信公众号获取code注意点

前端开发微信公众号获取code注意点

作者: 阿布_0caf | 来源:发表于2017-11-06 21:27 被阅读234次

    捋一捋前端开发微信公众号时怎么获取code,然后将code发给后端来换取用户的openid;
    1、首先你要成为所要开发的公众号的开发者,在微信公众平台--开发者工具--web开发者工具中将自己的微信号绑定为开发者;
    2、然后在微信公众平台--基本配置中,启用开发者密码(AppSecret),然后将开发者ID和密码都保存好;ip白名单按照要求配置好就行;
    3、在微信公众平台--公众号设置--功能设置中按照要求配置好js接口安全域名和网页授权域名,注意js接口安全域名,每个月只能改3次,配置的时候一点要注意,最好一次把开发环境、测试环境和线上环境都配置好,然后把网页授权域名配置为开发环境,方便调试;

    image.png
    注意这些域名配置的时候,一定要按照要求配置完成,微信需要找到他们自己的txt文件才会将回调url传到你的页面,配置不对是保存不了的,这点微信做的还是很人性的,不然3次机会太少了;
    4、都配置完成之后,就需要生成网页链接了,我们的项目是公众号里面嵌套的h5页面,在公众号的自定义菜单中,将url按照固定格式拼接,填上去;
    该链接分两种,一种是需要用户点击确认来获取用户基本信息的,一种是不需要点击确认,默认授权的,根据scope字段来控制即可;
    https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx520c15f417810387&redirect_uri=https%3A%2F%2Fchong.qq.com%2Fphp%2Findex.php%3Fd%3D%26c%3DwxAdap
    ter%26m%3DmobileDeal%26showwxpaytitle%3D1%26vb2ctag%3D4_2030_5_1194_60&response_type=code&scope=snsapi_bas
    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());

    相关文章

      网友评论

        本文标题:前端开发微信公众号获取code注意点

        本文链接:https://www.haomeiwen.com/subject/mntrmxtx.html