Implement more endpoints & overhaul [2/n]

Drop LevelDB and move all the things to SQLite.

Implemented endpoints:
/api <unit, accessoryMaterialAll>
/api <unit, accessoryTab>
/live/continue
/live/partyList
/unit/favoriteAccessory (WIP)
/unit/sale

Signed-off-by: Sean Du <do4suki@gmail.com>
This commit is contained in:
2026-04-28 11:44:56 +08:00
parent 1500821f3e
commit 150ce674ad
218 changed files with 2993 additions and 2160 deletions
+6 -12
View File
@@ -7,10 +7,8 @@ import (
"honoka-chan/internal/router"
loginschema "honoka-chan/internal/schema/login"
"honoka-chan/internal/session"
"honoka-chan/pkg/db"
"honoka-chan/pkg/encrypt"
honokautils "honoka-chan/pkg/utils"
"strconv"
"time"
"github.com/gin-gonic/gin"
@@ -21,16 +19,17 @@ func login(ctx *gin.Context) {
ss := session.Get(ctx)
defer ss.Finalize()
authData, err := db.Ldb.Get([]byte(ctx.MustGet("token").(string)))
if ss.CheckErr(err) {
has, authKeyData := ss.GetAuthKey(ctx.MustGet("token").(string))
if !has {
ss.Abort(errors.New("invalid token"))
return
}
clientToken, err := base64.StdEncoding.DecodeString(gjson.Get(string(authData), "client_token").String())
clientToken, err := base64.StdEncoding.DecodeString(authKeyData.ClientToken)
if ss.CheckErr(err) {
return
}
serverToken, err := base64.StdEncoding.DecodeString(gjson.Get(string(authData), "server_token").String())
serverToken, err := base64.StdEncoding.DecodeString(authKeyData.ServerToken)
if ss.CheckErr(err) {
return
}
@@ -55,7 +54,7 @@ func login(ctx *gin.Context) {
authorizeToken := base64.StdEncoding.EncodeToString([]byte(honokautils.RandomStr(32)))
var userID int // 需要更新为字符串
var userID int
exists, err := ss.UserEng.Table("user_key").Where("key = ?", string(loginKey)).Cols("user_id").Get(&userID)
if ss.CheckErr(err) {
return
@@ -66,11 +65,6 @@ func login(ctx *gin.Context) {
return
}
err = db.Ldb.Set([]byte(strconv.Itoa(userID)), []byte(authorizeToken))
if ss.CheckErr(err) {
return
}
ss.Respond(loginschema.LoginResp{
ResponseData: loginschema.LoginData{
AuthorizeToken: authorizeToken,