1.添加 web 端扫码登录功能

This commit is contained in:
2025-08-05 21:15:01 +08:00
parent 17e07e3985
commit 65c41326f4
16 changed files with 311 additions and 10 deletions

View File

@@ -9,9 +9,12 @@ import vvpkassistant.Data.ResponseData;
import vvpkassistant.Data.ResponseInfo;
import vvpkassistant.Data.WxChatParam;
import vvpkassistant.User.mapper.UserDao;
import vvpkassistant.User.model.DTO.LoginInfoDTO;
import vvpkassistant.User.model.DTO.ScanInfoDTO;
import vvpkassistant.User.model.DTO.UserModelDTO;
import vvpkassistant.User.model.UserModel;
import vvpkassistant.User.model.UserModelVO;
import vvpkassistant.User.model.enumeration.LoginStatusEnum;
import vvpkassistant.User.service.UserService;
import vvpkassistant.common.ErrorCode;
import vvpkassistant.config.FunctionConfigHolder;
@@ -123,7 +126,10 @@ public class UserController {
// return ResponseData.error(ResponseInfo.ERROR,"创建聊天账号失败,请稍后再试");
// }
Map<String,Object> result = new HashMap<>();
result.put("info", tempModel);
StpUtil.login(tempModel.getId());
UserModelVO userModelVO = BeanUtil.copyProperties(tempModel, UserModelVO.class);
userModelVO.setToken(StpUtil.getTokenValue());
result.put("info", userModelVO);
result.put("newAccount",false);
//否则直接返回用户
return ResponseData.success(result);
@@ -149,7 +155,10 @@ public class UserController {
UserModel model = userDao.queryWithPhoneNumber(phoneNumber);
Map<String,Object> result = new HashMap<>();
if (model != null) { // 老用户
result.put("info",model);
UserModelVO userModelVO = BeanUtil.copyProperties(model, UserModelVO.class);
StpUtil.login(userModelVO.getId());
userModelVO.setToken(StpUtil.getTokenValue());
result.put("info",userModelVO);
result.put("newAccount", false);
result.put("chatInfo",wxChatParam);
return ResponseData.success(result);
@@ -197,7 +206,9 @@ public class UserController {
@PostMapping("getUserInfo")
public ResponseData<Object> getUserInfo(@RequestBody Map<String,Integer> map) {
UserModel userModel = userDao.selectById(map.get("id"));
return ResponseData.success(userModel);
UserModelVO userModelVO = BeanUtil.copyProperties(userModel, UserModelVO.class);
userModelVO.setHavaPassword(userModel.getPassword() != null);
return ResponseData.success(userModelVO);
}
// 查询用户所有pk数据
@@ -394,4 +405,27 @@ public class UserController {
public ResponseData<Object> verificationMail(@RequestParam("token") String token){
return ResponseData.success(userService.verificationMail(token));
}
@GetMapping("/qrcode")
public ResponseData<Object> generatedQrcode(){
return ResponseData.success(userService.generatedQrcode());
}
@GetMapping("/check/{uuid}")
public ResponseData<Object> checkQrcode(@PathVariable String uuid){
return ResponseData.success(userService.checkQrcode(uuid));
}
@PostMapping("/scan")
public ResponseData<?> scanQrCode(@RequestBody ScanInfoDTO scanInfoDTO) {
userService.scanQrcode(scanInfoDTO);
return ResponseData.success("");
}
@PostMapping("/confirm")
public ResponseData<?> confirm(@RequestBody ScanInfoDTO scanInfoDTO) {
userService.confirm(scanInfoDTO);
return ResponseData.success("");
}
}