简易商城项目 登录部分逻辑代码

https://www.cnblogs.com/0201zcr/p/5131602.html

  微信授权使用的是OAuth2.0授权的方式。主要有以下简略步骤:

  第一步:用户同意授权,获取code

  第二步:通过code换取网页授权access_token

  第三步:刷新access_token(如果需要)

  第四步:拉取用户信息(需scope为 snsapi_userinfo)

let code = util.GetUrlParam("code");  获取code码

PageService.getMember(this,code,data=>{
if (data.code === 0) {
              this.wechatUserInfoByCode = data.data;
              //设置session 注册时使用
              sessionStorage.setItem("unionid", data.data.unionid);
              sessionStorage.setItem("headImage", data.data.headImage);
              sessionStorage.setItem("nickName", data.data.nickName);
              sessionStorage.setItem("openid", data.data.openid);
    //获取unionid 下一步登录
              this.unionid = sessionStorage.getItem("unionid");
              //登录
              this.postLogin();
            }
})    //通过code换取网页授权access_token
getMember(vm,code ,callback,errorCallback) {
  vm.$getNew(`weChatOpen/getAccessTokenH5`, {code}, callback,errorCallback);
},


    //登录接口
    postLogin() {
      UserService.loginByUnionid(
        this,
        sessionStorage.getItem("unionid"),
        md5(sessionStorage.getItem("unionid")),
        data => {
          this.wechatUserInfo = data.data;
          this.isLogin = true;
          this.getIndexForH5(this.wechatUserInfo.memberId);
          sessionStorage.setItem("userInfo", JSON.stringify(data.data));
          sessionStorage.setItem("memberId", this.wechatUserInfo.memberId);
        },
        error => {
          this.getIndexForH5(this.wechatUserInfo.memberId);
          console.log(error);
        }
      );
    },

loginByUnionid(vm, username, password,callback,error) {
         vm.$post('login', { username, password }, callback,error);
    },

 

posted @ 2019-04-04 16:00  suanmei  阅读(163)  评论(0编辑  收藏  举报