feat: refact id column define

This commit is contained in:
engigu
2026-03-03 17:25:38 +08:00
parent 117ae126f7
commit 4589c64923
62 changed files with 881 additions and 454 deletions
+19
View File
@@ -0,0 +1,19 @@
package utils
import (
"github.com/rs/xid"
)
// GenerateID 生成一个新的 ID (使用 xid,20位字符)
func GenerateID() string {
return xid.New().String()
}
// IsNumeric 检查字符串是否全为数字
func IsNumeric(s string) bool {
for _, c := range s {
if c < '0' || c > '9' {
return false
}
}
return s != ""
}
+5 -5
View File
@@ -8,13 +8,13 @@ import (
)
type Claims struct {
UserID uint `json:"user_id"`
UserID string `json:"user_id"`
Username string `json:"username"`
jwt.RegisteredClaims
}
// GenerateToken 生成 JWT token
func GenerateToken(userID uint, username string, expireDays int, secret string) (string, error) {
func GenerateToken(userID string, username string, expireDays int, secret string) (string, error) {
claims := Claims{
UserID: userID,
Username: username,
@@ -29,18 +29,18 @@ func GenerateToken(userID uint, username string, expireDays int, secret string)
}
// ParseToken 解析 JWT token
func ParseToken(tokenString string, secret string) (uint, string, error) {
func ParseToken(tokenString string, secret string) (string, string, error) {
token, err := jwt.ParseWithClaims(tokenString, &Claims{}, func(token *jwt.Token) (any, error) {
return []byte(secret), nil
})
if err != nil {
return 0, "", err
return "", "", err
}
if claims, ok := token.Claims.(*Claims); ok && token.Valid {
return claims.UserID, claims.Username, nil
}
return 0, "", errors.New("invalid token")
return "", "", errors.New("invalid token")
}