Jelajahi Sumber

邮箱注册时 phone 会填入 email_ + MD5前16位 作为占位值,避免唯一索引冲突

urbanu 1 bulan lalu
induk
melakukan
7badf84cfe
1 mengubah file dengan 5 tambahan dan 0 penghapusan
  1. 5 0
      apis/daytask/auth.go

+ 5 - 0
apis/daytask/auth.go

@@ -353,6 +353,11 @@ func (s *Server) Register(c *gin.Context) {
 		user.Phone = accountKey
 	} else {
 		user.Email = accountKey
+		// 邮箱注册时生成唯一占位手机号,避免uk_phone唯一索引冲突
+		h := md5.New()
+		h.Write([]byte(req.Account))
+		emailHash := hex.EncodeToString(h.Sum(nil))[:16]
+		user.Phone = fmt.Sprintf("email_%s", emailHash)
 	}
 
 	tx := db.Begin()