Implement achievement list

Signed-off-by: Sean Du <do4suki@gmail.com>
This commit is contained in:
2026-06-13 06:54:32 +08:00
parent 5c2d68f979
commit 17336de1b7
10 changed files with 320 additions and 0 deletions
@@ -0,0 +1,19 @@
package achievementschema
import achievementapischema "honoka-chan/internal/schema/api/achievement"
type PagingAccomplishedListReq struct {
Module string `json:"module"`
Action string `json:"action"`
TimeStamp int64 `json:"timeStamp"`
Mgd int `json:"mgd"`
FilterCategoryID int `json:"filter_category_id"`
CommandNum string `json:"commandNum"`
FromCount int `json:"from_count"`
}
type PagingAccomplishedListResp struct {
ResponseData []achievementapischema.AchievementListItem `json:"response_data"`
ReleaseInfo []any `json:"release_info"`
StatusCode int `json:"status_code"`
}
@@ -0,0 +1,33 @@
package achievementapischema
type AchievementRewardItem struct {
AddType int `json:"add_type"`
ItemID int `json:"item_id"`
Amount int `json:"amount"`
}
type AchievementListItem struct {
AchievementID int `json:"achievement_id"`
Count int `json:"count"`
IsAccomplished bool `json:"is_accomplished"`
InsertDate string `json:"insert_date"`
EndDate *string `json:"end_date"`
RemainingTime string `json:"remaining_time"`
IsNew bool `json:"is_new"`
ForDisplay bool `json:"for_display"`
RewardList []AchievementRewardItem `json:"reward_list"`
}
type UnaccomplishListData struct {
FilterCategoryID int `json:"filter_category_id"`
AchievementList []AchievementListItem `json:"achievement_list"`
Count int `json:"count"`
IsLast bool `json:"is_last"`
}
type UnaccomplishListResp struct {
Result []UnaccomplishListData `json:"result"`
Status int `json:"status"`
CommandNum bool `json:"commandNum"`
TimeStamp int64 `json:"timeStamp"`
}