51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1486|回复: 3
打印 上一主题 下一主题

微信小程序关于启动登录授权更新从直接调用

[复制链接]
  • TA的每日心情
    无聊
    4 天前
  • 签到天数: 530 天

    连续签到: 2 天

    [LV.9]测试副司令

    跳转到指定楼层
    1#
    发表于 2022-4-19 10:53:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    1测试积点
    微信小程序关于启动登录授权更新从直接调用wx.getuserinfo改到bottom方式后出现一连串错误请专家帮看下启动登录授权更新从直接调用wx.getuserinfo改到bottom方式后出现一连串错误
    1. var e = require("../../utils/request.js"), t = require("../../utils/navigate.js"), a = require("../../utils/check.js"), n = (require("../../utils/common.js"),
    2. require("../../utils/md5.js")), o = getApp();

    3. Page({
    4. data: {
    5.     shouquan:false,
    6.     loginWay: 0,
    7.     isFirstLogin: !1,
    8.     isGet: !1,
    9.     time: 120,
    10.     phone0: "",
    11.     phone1: "",
    12.     pwd: "",
    13.     code: "",
    14.     isLoginBack: !1,
    15.     isSetPwd: !0,
    16.     userId: ""
    17. },
    18. onLoad: function(e) {
    19.     new (getApp().ToastPannel)();
    20. },
    21. onShow: function() {
    22.     wx.removeStorageSync("PHPSESSID");
    23. },
    24. onHide: function() {
    25.     console.log("onHide");
    26. },
    27. onUnload: function() {
    28.     console.log("onUnload");
    29. },
    30. switchNav: function(e) {
    31.     var t = e.currentTarget.dataset.nav;
    32.     this.setData({
    33.         loginWay: Number(t)
    34.     });
    35. },
    36. getCode: function() {
    37.     var t = this;
    38.     if (this.checkedPhone(this.data.phone0)) {
    39.         var a = {};
    40.         a.type = 3, a.phone = this.data.phone0, a.openid = o.globalData.userInfo.open_id,
    41.         o.globalData.userInfo.open_id && e.request("Api/Login/get_phone_code", a, function(e) {
    42.             var a = e.data;
    43.             if (1 == a.code) {
    44.                 t.setData({
    45.                     isGet: !0
    46.                 });
    47.                 var n = setInterval(function() {
    48.                     t.data.time <= 0 && (t.data.time = 120, clearTimeout(n), t.setData({
    49.                         isGet: !1
    50.                     })), t.setData({
    51.                         time: --t.data.time
    52.                     });
    53.                 }, 1e3);
    54.             } else t.show(a.msg, "", "top");
    55.         });
    56.     }
    57. },
    58. phoneLogin: function() {
    59.     var a = this;
    60.     if (this.checkedPhone(this.data.phone0)) if ("" == this.data.code.trim()) this.show("请填写验证码", "", "top"); else {
    61.         var n = {};
    62.         n.type = 1, n.user_name = this.data.phone0, n.openid = o.globalData.userInfo.open_id,
    63.         n.code = this.data.code, console.log(n), e.request("Api/Login/user_login", n, function(e) {
    64.             var n = e.data;
    65.             if (1 == n.code) if (n.data.is_first_login) a.setData({
    66.                 isFirstLogin: !0
    67.             }), a.data.userId = n.data.user_id; else {
    68.                 var o = a.storageUser(n.data);
    69.                 wx.setStorageSync("user", o), a.data.isLoginBack ? t.nav("navigateBack", 1) : t.nav("switchTab", "../index/index");
    70.             } else a.show(n.msg, "", "top");
    71.         });
    72.     }
    73. },
    74. phoneFirstLogin: function(a) {
    75.     var s = this, i = a.detail.value.phonePwd;
    76.     if (this.checkedPwd(i)) {
    77.         var r = {};
    78.         r.member_id = this.data.userId, r.password = n.hexMD5(n.hexMD5(i + o.pwdFixedStr)),
    79.         console.log(r), e.request("Api/Login/save_user_pwd", r, function(e) {
    80.             var a = e.data;
    81.             if (1 == a.code) {
    82.                 var n = s.storageUser(a.data);
    83.                 wx.setStorageSync("user", n), s.data.isLoginBack ? t.nav("navigateBack", 1) : t.nav("switchTab", "../index/index");
    84.             } else s.show(a.msg, "", "top");
    85.         });
    86.     }
    87. },
    88. userLogin: function() {
    89.     var a = this, s = this;
    90.     if (this.checkedPhone(this.data.phone1) && this.checkedPwd(this.data.pwd)) {
    91.         var i = {};
    92.         i.type = 2, i.user_name = this.data.phone1, i.openid = o.globalData.userInfo.open_id,
    93.         i.code = this.data.code, i.password = n.hexMD5(n.hexMD5(this.data.pwd + o.pwdFixedStr)),
    94.         e.request("Api/Login/user_login", i, function(e) {
    95.             var n = e.data;
    96.             if (1 == n.code) {
    97.                 var o = s.storageUser(n.data);
    98.                 wx.setStorageSync("user", o), s.data.isLoginBack ? t.nav("navigateBack", 1) : t.nav("switchTab", "../index/index");
    99.             } else a.show(n.msg, "", "top");
    100.         });
    101.     }
    102. },
    103. wxLogin: function() {
    104.     console.log(1111);
    105.     var that = this;
    106.     var a = this, n = wx.getStorageSync("wxPersonInfo");
    107.     if (console.log(n), n) e.request("Api/Login/user_login_weixin", n, function(e) {
    108.         console.log(e);
    109.         var n = e.data;
    110.         if (1 == n.code) {
    111.             var o = a.storageUser(n.data);
    112.             console.log(o),
    113.             1 == n.data.is_bind_phone ? t.nav("navigateTo", "../bindPhone/bindPhone", o) : (wx.setStorageSync("user", o),
    114.             a.data.isLoginBack ? t.nav("navigateBack", 1) : t.nav("switchTab", "../index/index"));
    115.         }
    116.     }); else {
    117.         
    118.         var o = getApp();
    119.         wx.login({
    120.             success: function(t) {
    121.                 var n = {}, s = wx.getStorageSync("wxPersonInfo");
    122.                 console.log(s), s ? (n.nickname = s.nickname, n.headimgurl = s.headimgurl, n.sex = s.sex,
    123.                 n.open_id = s.open_id, o.globalData.userInfo = n) : e.request("Api/WeiXin/get_wxopenid", {
    124.                     code: t.code
    125.                 }, function(t) {
    126.                     console.log(t);
    127.                     n.open_id = t.data.data.openid,
    128.                     wx.getUserInfo ? wx.getUserInfo({
    129.                         success: function(t) {
    130.                             console.log(t), wx.getUserInfo({
    131.                                 success: function(t) {
    132.                                     console.log(t);
    133.                                     var a = JSON.parse(t.rawData);
    134.                                     n.nickname = a.nickName, n.headimgurl = a.avatarUrl, n.sex = a.gender, o.globalData.userInfo = n,
    135.                                     console.log(n);
    136.                                     e.request("Api/WeiXin/save_user_weixin_info", n, function(e) {
    137.                                         e.data.code, wx.setStorageSync("wxPersonInfo", n);
    138.                                         that.wxLogin();
    139.                                     });
    140.                                 },
    141.                                 fail: function(e) {
    142.                                     console.log(e), a.show("授权失败,请确认重新授权!", "", "top");
    143.                                 }
    144.                             });
    145.                         },
    146.                         fail: function(e) {
    147.                             console.log(e);
    148.                             that.setData({shouquan:true});
    149.                         }
    150.                     }) : wx.showModal({
    151.                         title: "当前微信版本过低",
    152.                         content: "当前微信版本过低,有些功能不能使用,请升级到最新微信版本后重试。"
    153.                     });
    154.                     // 获取用户信息接口
    155.                     //  queryUsreInfo: function() {
    156.                     //     wx.request({
    157.                     //      url: getApp().globalData.urlPath + 'hstc_interface/queryByOpenid',
    158.                     //      data: {
    159.                     //      openid: getApp().globalData.openid
    160.                     //     },
    161.                     //     header: {
    162.                     //     'content-type': 'application/json'
    163.                     //     },
    164.                     //     success: function (res) {
    165.                     //     console.log(res.data);
    166.                     //     getApp().globalData.userInfo = res.data;
    167.                     //     }
    168.                     // })
    169.                     // }

    170.                 });
    171.             }
    172.         });           
    173.     }
    174. },
    175. // 打开权限设置页提示框
    176. bindGetUserInfo:function(t){
    177.      console.log(t);
    178.      var o = getApp();
    179.      var a = JSON.parse(t.detail.rawData);
    180.      var that = this;
    181.     this.setData({shouquan:false});

    182.     wx.login({
    183.         success: function(t) {
    184.             var n = {}, s = wx.getStorageSync("wxPersonInfo");
    185.             console.log(s), s ? (n.nickname = s.nickname, n.headimgurl = s.headimgurl, n.sex = s.sex,
    186.             n.open_id = s.open_id, o.globalData.userInfo = n) : e.request("Api/WeiXin/get_wxopenid", {
    187.                 code: t.code
    188.             }, function(t) {
    189.                 n.open_id = t.data.data.openid,

    190.                 n.nickname = a.nickName, n.headimgurl = a.avatarUrl, n.sex = a.gender, o.globalData.userInfo = n,
    191.                                 console.log(n);
    192.                                 e.request("Api/WeiXin/save_user_weixin_info", n, function(e) {
    193.                                     e.data.code, wx.setStorageSync("wxPersonInfo", n);
    194.                                     wx.switchTab({
    195.                                         url: '/pages/index/index'
    196.                                       })
    197.                                 });               
    198.             });
    199.         }
    200.     });


    201.     setTimeout(function(){
    202.         that.wxLogin();
    203.     },1000);

    204. },
    205. storageUser: function(e) {
    206.     var t = {}, a = wx.getStorageSync("wxPersonInfo");
    207.     return t.openid = a.open_id, t.phone = e.phone, t.token = e.token, t.nick_name = e.nick_name,
    208.     t.member_name = e.member_name, t.image = e.image, t.id = e.id, t;
    209. },
    210. registorFn: function() {
    211.     t.nav("navigateTo", "../register/register");
    212. },
    213. forgetPwd: function() {
    214.     t.nav("navigateTo", "../forgetPwd/forgetPwd");
    215. },
    216. getPhoneFn0: function(e) {
    217.     this.setData({
    218.         phone0: e.detail.value
    219.     });
    220. },
    221. getPhoneFn1: function(e) {
    222.     this.setData({
    223.         phone1: e.detail.value
    224.     });
    225. },
    226. getPwdFn: function(e) {
    227.     this.setData({
    228.         pwd: e.detail.value
    229.     });
    230. },
    231. getTxtFn: function(e) {
    232.     this.setData({
    233.         code: e.detail.value
    234.     });
    235. },
    236. checkedPhone: function(e) {
    237.     var t = a.checkPhone(e);
    238.     if (101 == t.code) return this.show("手机号不能为空", "", "top"), t.status;
    239.     switch (t.code) {
    240.       case 101:
    241.         return this.show("手机号不能为空", "", "top"), t.status;

    242.       case 102:
    243.         return this.show("手机号过短", "", "top"), t.status;

    244.       case 103:
    245.         return this.show("手机号过长", "", "top"), t.status;

    246.       case 105:
    247.         return this.show("手机号格式错误", "", "top"), t.status;

    248.       default:
    249.         return t.status;
    250.     }
    251. },
    252. checkedPwd: function(e) {
    253.     var t = a.checkPwd(e);
    254.     switch (t.code) {
    255.       case 101:
    256.         return this.show("密码不能为空", "", "top"), t.status;

    257.       case 102:
    258.         return this.show("密码过短,格式为数字与字母的6~16位组合", "", "top"), t.status;

    259.       case 103:
    260.         return this.show("密码过长,格式为数字与字母的6~16位组合", "", "top"), t.status;

    261.       case 105:
    262.         return this.show("密码格式错误,格式为数字与字母的6~16位组合", "", "top"), t.status;

    263.       default:
    264.         return t.status;
    265.     }
    266. },
    267. checkContrastPwd: function(e, t) {
    268.     var n = a.checkContrastPwd(e, t);
    269.     return 104 == n.code ? (this.show("两次输入密码不一致", "", "top"), n.status) : n.status;
    270. }
    271. });
    复制代码
    更改完成后以及下错误及返回结果 :
    1. 1.{data: {…}, header: {…}, statusCode: 200, cookies: Array(0), errMsg: "request:ok"}
    2. cookies: []
    3. data: {code: 1, msg: "请求成功。", data: {…}}
    4. errMsg: "request:ok"
    5. header: {Date: "Sun, 17 Apr 2022 11:32:24 GMT", Server: "Apache/2.4.23 (Win32) OpenSSL/1.0.2j mod_fcgid/2.3.9", X-Powered-By: "PHP/5.4.45", Expires: "Thu, 19 Nov 1981 08:52:00 GMT", Cache-Control: "no-store, no-cache, must-revalidate, post-check=0, pre-check=0", …}
    6. statusCode: 200
    7. proto: Object
    8. 2.{errMsg: "getUserInfo:fail scope unauthorized"}
    9. errMsg: "getUserInfo:fail scope unauthorized"
    10. proto: Object
    11. 3.{type: "getuserinfo", timeStamp: 7906, target: {…}, currentTarget: {…}, mark: {…}, …}
    12. currentTarget: {id: "", offsetLeft: 85, offsetTop: 320, dataset: {…}}
    13. detail: {errMsg: "getUserInfo:ok", rawData: "{"nickName":"~小友","gender":0,"language":"zh_CN","c…f9GN12kHXVXCPbKwwfyxX84Iwe6surlcGKCicibadtg/132"}", signature: "960b61a011af45d710378d4217e4e2950d456339", encryptedData: "RDJHMIkZRF23rhvljsxnyvWA5SNgadJX1ks4WFTLFmTApRQ10g…oKYWT/OSSHhUj6BW/5njaUhmlJb3kBS9w5z6BHAVRAFIcQA==", iv: "AOtsMy2UR4IUSDtpQo/AkA==", …}
    14. mark: {}
    15. mut: false
    16. target: {id: "", offsetLeft: 85, offsetTop: 320, dataset: {…}}
    17. timeStamp: 7906
    18. type: "getuserinfo"
    19. _userTap: false
    20. proto: Object
    21. 报错1:
    22. VM3301 WAService.js:2 MiniProgramError
    23. Cannot set property 'userInfo' of undefined
    24. TypeError: Cannot set property 'userInfo' of undefined
    25. athttp://127.0.0.1:52044/appservice/pages/login/login.js:201:136
    26. at success (http://127.0.0.1:52044/appservice/utils/request.js:49:140)
    27. at Function.i. (http://127.0.0.1:52044/appservice/__dev__/WAService.js:2:2911763)
    28. at
    29. athttp://127.0.0.1:52044/appservice/__dev__/WAService.js:2:121992
    30. at u (http://127.0.0.1:52044/appservice/__dev__/WAService.js:2:1539149)
    31. at Function. (http://127.0.0.1:52044/appservice/__dev__/WAService.js:2:1703010)
    32. at
    33. athttp://127.0.0.1:52044/appservice/__dev__/WAService.js:2:121992
    34. athttp://127.0.0.1:52044/appservice/__dev__/WAService.js:2:1677704(env: Windows,mp,1.05.2201240; lib: 2.14.0)
    35. 报错2:
    36. VM3301 WAService.js:2 MiniProgramError
    37. Cannot set property 'userInfo' of undefined
    38. TypeError: Cannot set property 'userInfo' of undefined
    39. at success (http://127.0.0.1:52044/appservice/pages/login/login.js:144:114)
    40. at Function.i. (http://127.0.0.1:52044/appservice/__dev__/WAService.js:2:2911763)
    41. at
    42. at Object.success (http://127.0.0.1:52044/appservice/__dev__/WAService.js:2:121992)
    43. at B (http://127.0.0.1:52044/appservice/__dev__/WAService.js:2:1841150)
    44. at B (http://127.0.0.1:52044/appservice/__dev__/WAService.js:2:1841388)
    45. athttp://127.0.0.1:52044/appservice/__dev__/WAService.js:2:1842827
    46. athttp://127.0.0.1:52044/appservice/__dev__/asdebug.js:1:49966
    47. at C (http://127.0.0.1:52044/appservice/__dev__/asdebug.js:1:49621)
    48. athttp://127.0.0.1:52044/appservice/__dev__/asdebug.js:1:3691(env: Windows,mp,1.05.2201240; lib: 2.14.0)
    复制代码
    求问怎么改后续登录流程

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    3 天前
  • 签到天数: 1521 天

    连续签到: 5 天

    [LV.Master]测试大本营

    2#
    发表于 2022-4-20 10:21:08 | 只看该作者
    看下报错在那个请求
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 10:15
  • 签到天数: 756 天

    连续签到: 1 天

    [LV.10]测试总司令

    3#
    发表于 2022-4-20 10:54:47 | 只看该作者
    打个断点,看下输出
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    1 小时前
  • 签到天数: 2819 天

    连续签到: 1 天

    [LV.Master]测试大本营

    4#
    发表于 2022-4-20 14:05:06 | 只看该作者
    没看明白方法,直接一步步调试是否可以
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-25 08:26 , Processed in 0.072855 second(s), 21 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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