This commit is contained in:
oneao committed 2026-04-19 21:30:51 +08:00
1 parent b6415c0d65
commit 89aaef1d6b
29 files changed
+1118 -277

No files matched your search

@@ -94,8 +94,8 @@ func handleThirdLogin(
}
// ========= token =========
token, err := jwtx.CreateToken(c.Context(), map[string]any{
"id": id,
token, err := jwtx.CreateToken(c.Context(), jwtx.TokenData{
UserID: id,
})
if err != nil {
return errors.WithStack(err)
@@ -129,25 +129,24 @@ func registerUser(
err := dbClient.WithTx(c.Context(), func(tx *db.Client) error {
if err := tx.Insert(c.Context(), "user", "id", map[string]any{
if err := tx.Insert(c.Context(), "b_user", "id", map[string]any{
"id": userId,
"nickname": nickname,
"avatar": avatar,
"status": 1,
"create_time": "NOW()",
"update_time": "NOW()",
"created_at": "NOW()",
"updated_at": "NOW()",
"last_login_time": "NOW()",
}); err != nil {
return err
}
if err := tx.Insert(c.Context(), "user_oauth", "id", map[string]any{
"id": uniqueid.NextId(),
"user_id": userId,
"type": loginType,
"openid": openid,
"create_time": "NOW()",
"update_time": "NOW()",
if err := tx.Insert(c.Context(), "b_user_oauth", "id", map[string]any{
"id": uniqueid.NextId(),
"user_id": userId,
"type": loginType,
"openid": openid,
"created_at": "NOW()",
"updated_at": "NOW()",
}); err != nil {
return err
}
@@ -159,8 +158,8 @@ func registerUser(
return errors.WithStack(err)
}
token, err := jwtx.CreateToken(c.Context(), map[string]any{
"id": userId,
token, err := jwtx.CreateToken(c.Context(), jwtx.TokenData{
UserID: userId,
})
if err != nil {
return errors.WithStack(err)
@@ -179,7 +178,10 @@ func getUserByOpenID(dbClient *db.Client, c fiber.Ctx, openid string, loginType
users, err := dbClient.LoadDataBySQL(
c.Context(),
"SELECT u.* FROM user_oauth o JOIN user u ON u.id = o.user_id WHERE o.openid = ? AND o.type = ?",
`SELECT u.*
FROM b_user_oauth o
JOIN b_user u ON u.id = o.user_id
WHERE o.openid = $1 AND o.type = $2`,
[]any{openid, loginType},
)
@@ -196,6 +198,19 @@ func getUserByOpenID(dbClient *db.Client, c fiber.Ctx, openid string, loginType
// ======================== 类型工具(极简版) ========================
func toInt64(v any) int64 {
i, _ := v.(int64)
return i
switch val := v.(type) {
case int64:
return val
case int32:
return int64(val)
case int16:
return int64(val)
case int:
return int64(val)
case float64:
return int64(val)
default:
fmt.Printf("unknown type: %T, value=%v\n", v, v)
return 0
}
}