uniapp修改微信小程序登录getUserInfo为getUserProfile

废话不多说,直接上代码,这个是封装的微信小程序登录操作
之前的代码

sendLogin: function() {
    var e = this, n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0, r = "weixin";
    return new Promise(function(o, i) {
        t.login({
            provider: r,
            success: function(a) {
               t.getUserInfo({
                    provider: r,
                    success: function(t) {
                    console.log(t)
                    var s = {
                         code: a.code,
                         nickName: t.userInfo.nickName,
                         avatarUrl: t.userInfo.avatarUrl,
                         gender: t.userInfo.gender,
                         parentid: n,
                         iv: t.iv,
                         encrypted_data: t.encryptedData,
                         platform: r
                   };
                   e.request("User/appLogin", s, "POST", !0, !1).then(function(t) {
                     1 == t.code && o(t.data);
                     }).catch(function(t) {
                         i(t);
                     });
                   }
                });
            }
          });
      });
  },

修改之后的代码

sendLogin: function() {
                    var e = this, n = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0, r = "weixin";
                    return new Promise(function(o, i) {
                        let code = '';
                        t.login({
                          success: (res) => {
                            code = res.code
                            console.log(res.code);
                          }
                        });
                        t.getUserProfile({
                          desc: '登录',
                          success: function(t) {
                              console.log(t)
                              var s = {
                                  code: code,
                                  nickName: t.userInfo.nickName,
                                  avatarUrl: t.userInfo.avatarUrl,
                                  gender: t.userInfo.gender,
                                  parentid: n,
                                  iv: t.iv,
                                  encrypted_data: t.encryptedData,
                                  platform: r
                              };
                              e.request("User/appLogin", s, "POST", !0, !1).then(function(t) {
                                  1 == t.code && o(t.data);
                              }).catch(function(t) {
                                  i(t);
                              });
                          }
                        });
                    });
                },

其实改变的不是很多,原来的login执行成功然后往下执行getUserInfo,最后面传给后台,现在就是把login和getUserProfile拆开,login只获取code,然后getUserProfile里面把相关的参数传给后台解密即可,而getUserProfile和getUserInfo的写法基本没什么区别,就是少了一个openID,这个后台去获取,不用前台处理,这样写为了避免getUserProfile内嵌在login里面掉不起来的问题,基本上这样就可以获取到用户的正常信息了
这个是封装的东西,可以自己改一下,基本的逻辑都是可以看懂的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值