fix(poll): GetPackages 接口新增分页 POLL-03

- 新增 AssetPackagesResult DTO(含 total/page/page_size/items 字段)
- GetPackages 签名新增 page/pageSize 参数,默认 page=1、pageSize=50、最大 100
- admin/asset.go:Packages 从 Query 参数读取 page/page_size 传入 Service
- client_asset.go 调用处同步更新,使用默认分页参数
This commit is contained in:
2026-03-28 10:41:20 +08:00
parent 4be473c248
commit 8553a46143
4 changed files with 50 additions and 11 deletions

View File

@@ -90,7 +90,7 @@ func (h *AssetHandler) Refresh(c *fiber.Ctx) error {
return response.Success(c, result)
}
// Packages 获取资产所有套餐列表
// Packages 获取资产所有套餐列表(支持分页,默认 page=1 pageSize=50
// GET /api/admin/assets/:asset_type/:id/packages
func (h *AssetHandler) Packages(c *fiber.Ctx) error {
assetType := c.Params("asset_type")
@@ -99,7 +99,10 @@ func (h *AssetHandler) Packages(c *fiber.Ctx) error {
return errors.New(errors.CodeInvalidParam, "无效的资产ID")
}
result, err := h.assetService.GetPackages(c.UserContext(), assetType, uint(id))
page := c.QueryInt("page", 1)
pageSize := c.QueryInt("page_size", 50)
result, err := h.assetService.GetPackages(c.UserContext(), assetType, uint(id), page, pageSize)
if err != nil {
return err
}