1.原因

讯享网
由于微信小程序的限制,所以我们个人开发者想要使用这个项目的话小程序端目前的登录不了的,所以需要对其前后端进行改造即可正常登录使用。
1.1数据库
这里由于我们是进行测试所需,所以我们只需要进行一个假数据添加即可。
可以造我这个例子对其添加一条假数据。

1.2前端
使用HBuilder对其前端项目进行导入,然后修改pages/login/index.vue


将其中的登录方法修改为这个内容,当中的code和phone直接填写上面所造的数据
// 跳转到首页 const decryptPhoneNumber = (e) => { handleClose() login({ code: "", phoneCode: "" }).then((res) => { console.log(res) //将token存到缓存中,后续在统一请求头上加上token(短令牌) uni.setStorageSync('token', res.data.accessToken); //长令牌 uni.setStorageSync('refreshToken', res.data.refreshToken); //登录成功后跳转到首页 uni.switchTab({ url: '/pages/index/index' }); store.commit('user/setIsLoginSuccess', true) }).catch((err) => { console.log(err,'==================') uni.showToast({ title: '网络异常', duration: 2000, icon: 'none' }); store.commit('user/setIsLoginSuccess', true) }) }
讯享网
修改完毕之后对其进行重新编译运行即可。

1.3后端
登录的逻辑代码

讯享网@Override public UserLoginVO login(UserLoginRequestVO userLoginRequestVO) throws IOException {
// 1.由于我们已经有数据了,此处直接查询数据即可。 MemberDTO user = getByOpenid(userLoginRequestVO.getPhoneCode()); // 8 将用户ID存入token Map<String, Object> claims = MapUtil.<String, Object>builder() .put(Constants.GATEWAY.USER_ID, user.getId()).build(); // 9 封装用户信息和双token,响应结果 return new UserLoginVO(user.getOpenId(), this.tokenService.createAccessToken(claims), this.tokenService.createAccessToken(claims), 1 ); }
校验token的代码

@Override public AuthUserInfoDTO check(String token) {
// 普通用户的token没有对接权限系统,需要自定实现 AuthUserInfoDTO authUserInfoDTO = new AuthUserInfoDTO(); authUserInfoDTO.setUserId(1L); return authUserInfoDTO; }
然后对其后端两个项目程序部署即可实现效果
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/12988.html