فهرست منبع

登录功能优化

Zhangbw 3 ماه پیش
والد
کامیت
2e1647cdc4

+ 0 - 1
src/main/java/com/yingpai/gupiao/controller/AuthController.java

@@ -50,7 +50,6 @@ public class AuthController {
     @PostMapping("/phoneLogin")
     public Result<LoginVO> phoneLogin(@RequestBody LoginDTO loginDTO) {
         log.info("手机号登录请求,phone: {}, verifyCode: {}", loginDTO.getPhone(), loginDTO.getVerifyCode());
-        log.info("完整LoginDTO: {}", loginDTO);
         
         if (loginDTO.getPhone() == null || loginDTO.getPhone().isEmpty()) {
             return Result.error("手机号不能为空");

+ 10 - 0
src/main/java/com/yingpai/gupiao/domain/dto/LoginDTO.java

@@ -14,6 +14,16 @@ public class LoginDTO {
      */
     private String code;
     
+    /**
+     * 用户昵称(微信登录时使用)
+     */
+    private String nickname;
+    
+    /**
+     * 用户头像URL(微信登录时使用)
+     */
+    private String avatar;
+    
     /**
      * 手机号(手机号登录时使用)
      */

+ 14 - 3
src/main/java/com/yingpai/gupiao/service/impl/AuthServiceImpl.java

@@ -33,6 +33,11 @@ public class AuthServiceImpl implements AuthService {
      */
     private static final java.util.Map<String, String> CODE_CACHE = new java.util.concurrent.ConcurrentHashMap<>();
     
+    /**
+     * 默认头像URL
+     */
+    private static final String DEFAULT_AVATAR = "/static/images/head.png";
+    
     /**
      * 微信登录
      * @param code 微信登录code
@@ -55,15 +60,19 @@ public class AuthServiceImpl implements AuthService {
             
             // 如果用户不存在,创建新用户
             if (user == null) {
+                // 生成随机6位数字作为用户标识
+                String randomCode = String.format("%06d", new Random().nextInt(1000000));
+                
                 user = new User();
                 user.setOpenid(openid);
                 user.setUnionid(unionid);
-                user.setNickname("微信用户" + openid.substring(openid.length() - 6));
+                user.setNickname("微信用户" + randomCode);
+                user.setAvatar(DEFAULT_AVATAR);
                 user.setStatus(0);
                 user.setCreateTime(LocalDateTime.now());
                 user.setUpdateTime(LocalDateTime.now());
                 userMapper.insert(user);
-                log.info("创建新用户,userId: {}, openid: {}", user.getId(), openid);
+                log.info("创建新用户,userId: {}, openid: {}, nickname: {}", user.getId(), openid, user.getNickname());
             } else {
                 // 更新unionid(如果有)
                 if (unionid != null && !unionid.equals(user.getUnionid())) {
@@ -113,11 +122,13 @@ public class AuthServiceImpl implements AuthService {
         if (user == null) {
             user = new User();
             user.setPhone(phone);
-            user.setNickname("用户" + phone.substring(7));
+            user.setNickname(phone); // 使用手机号作为昵称
+            user.setAvatar(DEFAULT_AVATAR); // 使用默认头像
             user.setStatus(0);
             user.setCreateTime(LocalDateTime.now());
             user.setUpdateTime(LocalDateTime.now());
             userMapper.insert(user);
+            log.info("创建新用户,userId: {}, phone: {}, nickname: {}", user.getId(), phone, user.getNickname());
         }
         
         // 生成token