• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

小程序 之登录 wx.login()

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

小程序的登录关键在于使用wx.login()方法后,要到取到code值传到后台,

再用小程序平台本帐号生成的appid+addsecret+code去微信接口服务取得用户唯一标识后即可登录【注意:此步骤必须要在本项目后台服务中才能成功,在小程序端是无效的】

appid+addsecret

下图是官方的登录流程图:

 

 

 

放上代码

showTopTips:function(e){ //登录/注册提交事件
    if (userName==\'\'){
      app.toastShow(this, "请输入手机号", "error");
    } else if (userPassword==\'\'){
      app.toastShow(this, "请输入验证码", "error");
    }else{
      var that = this
      wx.login({//调用获取用户openId
        success: function (res) {
          var loginDevice = \'W\'; //唯一标识 = W + 临时code值
          loginDevice = loginDevice + res.code //临时code值
          var appid = \'1100310183560349\'; //appid wxf79825c96701f981
          var timestamp = Date.parse(new Date());//获取当前时间戳 
          timestamp = timestamp / 1000;
          var version = \'1.0\'; //版本号
          var sign = \'erwlkrjlkwjelrjwlke\'; //签名
          var timestamp = Date.parse(new Date());//获取当前时间戳 
          timestamp = timestamp / 1000;
          var loginChannel = \'1003\'; //登录渠道:1001 ios手机 1002 android手机 1003 微信小程序 1004 手机H5
          wx.request({
            method: "post",
            url: \'http://uat.*****.com/xiao***/user/baseInfo/userLogin\', //仅为示例,并非真实的接口地址
            data: \'{"appId": "\' + appid + \'", "timestamp": \' + timestamp + \', "version": "\' + version + \'", "sign": "\' + sign + \'", "mobile": "\' + userName + \'","validateCode":"\' + userPassword + \'","loginChannel":"\' + loginChannel + \'","loginDevice":"\' + loginDevice + \'",}@#@1100310183560349\' //"validateWay": 1, "validateType": 2
            ,
            dataType: "json",
            header: {
              \'content-type\': \'application/json\' // 默认值
            },
            success: function (res) {
              var userIdEnc = res.data.data.userIdEnc;  //用户唯一标识
              var loginDevice = res.data.data.loginDevice;
              wx.setStorageSync(\'userIdEnc\', userIdEnc); //将userIdEnc存入本地缓存
              wx.setStorageSync(\'loginDevice\', loginDevice);//将loginDevice存入本地缓存
            
              that.redirectToIndex();

              // that.setData({
              //   id_token: res.data.id_token,
              //   response: res
              // })
              // try {
              //   wx.setStorageSync(\'id_token\', res.data.id_token)
              // } catch (e) {
              // }


              if (res.code == \'0000\') {
                console.log("注册成功");
                // wx.redirectTo({
                //   url: \'../../pages/index/index\',
                // })
              } else if (res.code == \'1002\') { //超时
                that.errorShow(\'超时\');
              } else if (res.code == \'1002\') { //帐号冻结
                that.errorShow(\'帐号冻结\');
              } else {  //失败
                that.errorShow(\'注册/登录失败\');
              }

            },
            fail: function (res) {
              //console.log(res.data);
              console.log(\'is failed\')
            }
          })



        }, fail: function (res) {
          console.log(\'获取临时code失败!\' + res.errMsg)
        }
      })
      
    }
  },

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap