简易商城项目 登录部分逻辑代码
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); },