小程序开发|小程序制作|小程序开发网

搜索
查看: 2341|回复: 1

一个微信登录相关的讨论

[复制链接]

75

主题

279

帖子

662

积分

版主

Rank: 7Rank: 7Rank: 7

积分
662
发表于 2022-5-31 17:44:55 | 显示全部楼层 |阅读模式
最近要做一个微信登录方面的跳坑了,刚好看到一个关于微信登录的有价值的讨论,先放在这里,以备后用;

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


第一种:





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


[AppleScript] 纯文本查看 复制代码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}


[AppleScript] 纯文本查看 复制代码var pag_=null;(这个是this)var loadjs_=null;(这个是回写)

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

75

主题

279

帖子

662

积分

版主

Rank: 7Rank: 7Rank: 7

积分
662
 楼主| 发表于 2022-5-31 19:21:17 | 显示全部楼层
懂得
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表