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
+2 -2
View File
@@ -3,7 +3,7 @@ package basic
import (
"encoding/json"
"honoka-chan/internal/router"
"honoka-chan/internal/schema/ghome"
ghomeschema "honoka-chan/internal/schema/ghome"
"honoka-chan/internal/session"
"github.com/gin-gonic/gin"
@@ -20,7 +20,7 @@ func getCode(ctx *gin.Context) {
return
}
ss.Respond(ghome.GetCodeResp{
ss.Respond(ghomeschema.GetCodeResp{
Code: 0,
Msg: "ok",
Data: getCodeData,
@@ -2,7 +2,7 @@ package basic
import (
"honoka-chan/internal/router"
"honoka-chan/internal/schema/ghome"
ghomeschema "honoka-chan/internal/schema/ghome"
"honoka-chan/internal/session"
"github.com/gin-gonic/gin"
@@ -12,12 +12,12 @@ func getProductList(ctx *gin.Context) {
ss := session.New(ctx)
defer ss.Finalize()
getProductListData := ghome.GetProductListData{
getProductListData := ghomeschema.GetProductListData{
Message: []string{},
Result: 0,
}
ss.Respond(ghome.GetProductListResp{
ss.Respond(ghomeschema.GetProductListResp{
Code: 1,
Msg: "ok",
Data: getProductListData,
+5 -11
View File
@@ -4,9 +4,8 @@ import (
"encoding/base64"
"fmt"
"honoka-chan/internal/router"
"honoka-chan/internal/schema/ghome"
ghomeschema "honoka-chan/internal/schema/ghome"
"honoka-chan/internal/session"
"honoka-chan/pkg/db"
"honoka-chan/pkg/encrypt"
honokautils "honoka-chan/pkg/utils"
"net/url"
@@ -34,21 +33,16 @@ func handshake(ctx *gin.Context) {
params, _ := url.ParseQuery(string(decryptedData))
randKey := []byte(params.Get("randkey"))
deviceID := ss.GetDeviceID()
err = db.Ldb.Set([]byte(deviceID), randKey)
if ss.CheckErr(err) {
return
}
randKey := params.Get("randkey")
ss.SetRandKey(randKey)
token := fmt.Sprintf(`{"message":"ok","result":0,"token":"%s"}`, strings.ToUpper(honokautils.RandomStr(33)))
encryptedToken, err := openssl.Des3ECBEncrypt([]byte(token), randKey[0:24], openssl.PKCS7_PADDING)
encryptedToken, err := openssl.Des3ECBEncrypt([]byte(token), []byte(randKey)[0:24], openssl.PKCS7_PADDING)
if ss.CheckErr(err) {
return
}
ss.Respond(ghome.HandshakeResp{
ss.Respond(ghomeschema.HandshakeResp{
Code: 0,
Msg: "ok",
Data: base64.StdEncoding.EncodeToString(encryptedToken),
+3 -3
View File
@@ -2,7 +2,7 @@ package basic
import (
"honoka-chan/internal/router"
"honoka-chan/internal/schema/ghome"
ghomeschema "honoka-chan/internal/schema/ghome"
"honoka-chan/internal/session"
"github.com/gin-gonic/gin"
@@ -12,10 +12,10 @@ func loginArea(ctx *gin.Context) {
ss := session.New(ctx)
defer ss.Finalize()
ss.Respond(ghome.LoginAreaResp{
ss.Respond(ghomeschema.LoginAreaResp{
Code: 0,
Msg: "ok",
Data: ghome.LoginAreaData{
Data: ghomeschema.LoginAreaData{
UserID: ctx.PostForm("userid"),
},
})
+3 -3
View File
@@ -5,7 +5,7 @@ import (
"encoding/pem"
"honoka-chan/config"
"honoka-chan/internal/router"
"honoka-chan/internal/schema/ghome"
ghomeschema "honoka-chan/internal/schema/ghome"
"honoka-chan/internal/session"
honokautils "honoka-chan/pkg/utils"
@@ -18,7 +18,7 @@ func publicKey(ctx *gin.Context) {
publicKeyCode := 0
publicKeyMsg := "ok"
publicKeyData := ghome.PublicKeyData{
publicKeyData := ghomeschema.PublicKeyData{
Result: publicKeyCode,
Message: publicKeyMsg,
}
@@ -33,7 +33,7 @@ func publicKey(ctx *gin.Context) {
publicKeyData.Method = "rsa"
}
ss.Respond(ghome.PublicKeyResp{
ss.Respond(ghomeschema.PublicKeyResp{
Code: publicKeyCode,
Msg: publicKeyMsg,
Data: publicKeyData,