快乐的鱼 发表于 2022-5-31 17:44:55

一个微信登录相关的讨论

最近要做一个微信登录方面的跳坑了,刚好看到一个关于微信登录的有价值的讨论,先放在这里,以备后用;

分享者:若有来生必要懒死
我这里有两种登录方式
一种比较简单
一种比较安全


第一种:





第二种:是按照官方的做法
我这是原生的,懒得写一个一个函数了,不过有个大哥给我看过可以给你们参考一下


纯文本查看 复制代码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;(这个是回写)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

快乐的鱼 发表于 2022-5-31 19:21:17

懂得
页: [1]
查看完整版本: 一个微信登录相关的讨论