课程名称:多端全栈项目实战:商业级代驾全流程落地
课程章节: 华夏代驾全栈小程序实战
课程讲师: 神思者
课程内容:
乘客登录
课程收获:

1.首先编写 login 得sql 通过用户 openid 查询 tb_customer 是否存在用户
2. service 里面 通过 登录code 发送到 vx 换取 openid 然后调用 sql 查询 返回id
3.编写form 判断 传入得code是否为空
@Data@Schema(description = "登陆系统")public class LoginForm {
@NotBlank(message = "code不能为空")
@Schema(description = "微信小程序临时授权")
private String code;} 4.编写 controller 调用service 获取 id

1.同样的 需要编写from类
2.然后编写 feign Api
@PostMapping("/customer/login")
public R login(LoginForm form);3.service 调用 feign得api 获取到 用户id
@Override
public Long login(LoginForm form) {
R r = cstServiceApi.login(form);
String userId = MapUtil.getStr(r, "userId");
if (!StrUtil.isBlank(userId)) {
return Convert.toLong(userId);
}
return null;
}
4.controller 获取id后 判断是否 为空 如果不为空 返回token 及 提示登录成功
@PostMapping("/login")
@Operation(summary = "登陆系统")
public R login(@RequestBody @Valid LoginForm form) {
Long customerId = customerService.login(form);
if (customerId != null) {
StpUtil.login(customerId);
String token = StpUtil.getTokenInfo().getTokenValue();
return R.ok().put("token", token);
}
return R.ok();
}
前端登录方面 需要使用 uni.login
login: function() {
let that = this;
uni.login({
provider: 'weixin',
success: function(resp) {
let code = resp.code;
let data = {
code: code };
that.ajax(that.url.login, 'POST', data, function(resp) {
if (!resp.data.hasOwnProperty('token')) {
that.$refs.uToast.show({
title: '请先注册',
type: 'error'
});
} else {
let token = resp.data.token;
uni.setStorageSync('token', token);
that.$refs.uToast.show({
title: '登陆成功',
type: 'success',
callback: function() {
uni.switchTab({
url: '../'
});
}
});
}
});
}
});}思路 : 获取code 调用接口 login 如果返回token 存在 则跳转至首页, 如果token 不存在 则提示用户 需要注册。


随时随地看视频
热门评论
-
幕布斯43158842022-10-19 0
查看全部评论你好 我想请问这个资料的解压码是啥