一个微信登录相关的讨论
最近要做一个微信登录方面的跳坑了,刚好看到一个关于微信登录的有价值的讨论,先放在这里,以备后用;分享者:若有来生必要懒死
我这里有两种登录方式
一种比较简单
一种比较安全
第一种:
第二种:是按照官方的做法
我这是原生的,懒得写一个一个函数了,不过有个大哥给我看过可以给你们参考一下
纯文本查看 复制代码var pag_=null;var loadjs_=null;function login(pag,loadjs){// 1 登录用户 pag_=pag;loadjs_=loadjs; if(""==getApp().data.userid){ //未登录 wx.showToast({ title:'自动登录中...',mask:false,icon:'loading', duration:1000000 }); wx.login({success: function (res) {/////a1 getApp().data.login_code=res.code; userinfo(); }})/////a1 }else{ setTimeout(loadjs_,0); }}function userinfo(){ //2 获得用户信息 wx.getUserInfo({success: function (res) {/////a2 if("getUserInfo:ok"==res.errMsg){ var userinfo=res.userInfo; getApp().data.sex=userinfo.gender; getApp().data.headimg=userinfo.avatarUrl; getApp().data.usname=userinfo.nickName; console.log("userinfo===="+getApp().data.usname); console.log("userinfo===="+getApp().data.headimg); openid(); } } })/////a2}function openid(){//3 获得openid var openurl="https://api.weixin.qq.com/sns/jscode2session?"; openurl+="&appid="+getApp().data.appkey.appid+"&secret="+getApp().data.appkey.secret; openurl+="&grant_type=authorization_code&js_code="+getApp().data.login_code; wx.request({ url:openurl, header: {"content-type":"application/json"}, success: function(res1) { var openid=res1.data.openid; console.log("微信的openid==="+openid.length); if(""==openid){ return ;} getApp().data.openid=openid; loginsys(); } }) }function loginsys(){ //用openid登录系统 var loginurl=getApp().data.path+"/all/loginwx/openid.htm?openid="+getApp().data.openid; wx.request({/////a5 url:loginurl, method: 'POST', header: {'content-type': 'application/x-www-form-urlencoded'}, data: { headimg:getApp().data.headimg, usname:getApp().data.usname, sex:getApp().data.sex, province:getApp().data.province, city:getApp().data.city, latitude:getApp().data.latitude, longitude:getApp().data.longitude, share_user:pag_.data.share_user, share_shop:pag_.data.share_shop, share_good:pag_.data.share_good, share_vip:pag_.data.share_vip, share_welf:pag_.data.share_welf, qqwx:'xcx' },success: function(res) { //userid,mobile,openid var sys_=res.data; console.log("msg==="+sys_.msg); if(sys_.msg.indexOf("成功")>=0){ getApp().data.userid=sys_.userid; getApp().data.mobile=sys_.mobile; getApp().data.shop_id=sys_.shop_id; getApp().data.sessionid=sys_.sessionid; console.log("shop_id==="+getApp().data.shop_id); setTimeout(loadjs_,0); } } }) /////a5}module.exports = { login: login}
纯文本查看 复制代码var pag_=null;(这个是this)var loadjs_=null;(这个是回写)
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! 懂得
页:
[1]