From e3f62faa756d84ba3e1a16e7ca3e141d22369713 Mon Sep 17 00:00:00 2001 From: Sean Du Date: Mon, 1 Jun 2026 21:44:19 +0800 Subject: [PATCH] Fix live replay Signed-off-by: Sean Du --- internal/handler/live/precisescore.go | 20 ++++++++++---------- internal/session/live.go | 22 ++++++++++------------ 2 files changed, 20 insertions(+), 22 deletions(-) diff --git a/internal/handler/live/precisescore.go b/internal/handler/live/precisescore.go index cd96062..62bd867 100644 --- a/internal/handler/live/precisescore.go +++ b/internal/handler/live/precisescore.go @@ -64,9 +64,9 @@ func preciseScore(ctx *gin.Context) { } // fmt.Println("liveSetting", liveSetting) - notes := []liveschema.NotesList{} - notes_list := utils.ReadAllText("./assets/serverdata/beatmaps/" + liveSetting.NotesSettingAsset) - err = json.Unmarshal([]byte(notes_list), ¬es) + notesList := []liveschema.NotesList{} + noteData := utils.ReadAllText("./assets/serverdata/beatmaps/" + liveSetting.NotesSettingAsset) + err = json.Unmarshal([]byte(noteData), ¬esList) if ss.CheckErr(err) { return } @@ -116,7 +116,7 @@ func preciseScore(ctx *gin.Context) { IsRandom: false, AcFlag: liveSetting.AcFlag, SwingFlag: liveSetting.SwingFlag, - NotesList: notes, + NotesList: notesList, }, }, Off: liveschema.Skill{ @@ -126,7 +126,7 @@ func preciseScore(ctx *gin.Context) { IsRandom: false, AcFlag: liveSetting.AcFlag, SwingFlag: liveSetting.SwingFlag, - NotesList: notes, + NotesList: notesList, }, }, RankInfo: ranks, @@ -146,8 +146,8 @@ func preciseScore(ctx *gin.Context) { UpdateDate: nil, PreciseList: nil, DeckInfo: nil, - TapAdjust: nil, // TODO: 不知道保存在哪里 - CanReplay: false, // TODO: 不知道保存在哪里 + TapAdjust: nil, + CanReplay: false, } skillOff = skillOn @@ -159,7 +159,9 @@ func preciseScore(ctx *gin.Context) { if ss.CheckErr(err) { return } - liveInfo.NotesList = notes + liveInfo.NotesList = notesList + skillOn.LiveInfo = liveInfo + skillOff.LiveInfo = liveInfo // PreciseList var preciseList []liveschema.PreciseList @@ -192,7 +194,6 @@ func preciseScore(ctx *gin.Context) { if record.IsSkillOn { // 技能开 skillOn.HasRecord = true - skillOn.LiveInfo = liveInfo skillOn.RandomSeed = time.Now().Unix() // TODO: 从 /live/play 的 Timestamp 字段获取 skillOn.MaxCombo = record.MaxCombo skillOn.UpdateDate = record.UpdateDate @@ -205,7 +206,6 @@ func preciseScore(ctx *gin.Context) { } else { // 技能关 skillOff.HasRecord = true - skillOff.LiveInfo = liveInfo skillOff.RandomSeed = time.Now().Unix() // TODO: 从 /live/play 的 Timestamp 字段获取 skillOff.MaxCombo = record.MaxCombo skillOff.UpdateDate = record.UpdateDate diff --git a/internal/session/live.go b/internal/session/live.go index 6fc79b5..cdf451d 100644 --- a/internal/session/live.go +++ b/internal/session/live.go @@ -1,11 +1,9 @@ package session import ( - "encoding/json" "honoka-chan/internal/constant" usermodel "honoka-chan/internal/model/user" liveschema "honoka-chan/internal/schema/live" - "honoka-chan/pkg/utils" ) // Move from LevelDB to SQLite @@ -77,7 +75,7 @@ func (ss *Session) GetLiveInfo(LiveDifficultyID int) (bool, *liveschema.LiveInfo } if !has { - has, err = ss.MainEng.Table("special_live_m").Alias("a"). + has, err = ss.MainEng.Table("normal_live_m").Alias("a"). Join("LEFT", "live_setting_m", "a.live_setting_id = live_setting_m.live_setting_id"). Where("live_difficulty_id = ?", LiveDifficultyID). Cols("a.live_difficulty_id,live_setting_m.*").Get(&info) @@ -86,14 +84,14 @@ func (ss *Session) GetLiveInfo(LiveDifficultyID int) (bool, *liveschema.LiveInfo } } - var notesList []liveschema.NotesList - if has { - noteData := utils.ReadAllText("./assets/serverdata/beatmaps/" + info.NotesSettingAsset) - err = json.Unmarshal([]byte(noteData), ¬esList) - if ss.CheckErr(err) { - return false, nil - } - } + // var notesList []liveschema.NotesList + // if has { + // noteData := utils.ReadAllText("./assets/serverdata/beatmaps/" + info.NotesSettingAsset) + // err = json.Unmarshal([]byte(noteData), ¬esList) + // if ss.CheckErr(err) { + // return false, nil + // } + // } return has, &liveschema.LiveInfo{ LiveDifficultyID: info.LiveDifficultyID, @@ -108,7 +106,7 @@ func (ss *Session) GetLiveInfo(LiveDifficultyID int) (bool, *liveschema.LiveInfo SRankCombo: info.SRankCombo, AcFlag: info.AcFlag, SwingFlag: info.SwingFlag, - NotesList: notesList, + NotesList: []liveschema.NotesList{}, } }