55 lines
1.6 KiB
Go
55 lines
1.6 KiB
Go
package appinfoapi
|
||
|
||
import (
|
||
"videoweb/app/api/proto"
|
||
"videoweb/app/service/appser"
|
||
"videoweb/app/service/configser"
|
||
"videoweb/app/service/translationser"
|
||
"videoweb/pub/common"
|
||
"videoweb/pub/common/srvdef"
|
||
|
||
"github.com/gin-gonic/gin"
|
||
)
|
||
|
||
// QueryAppList 查询应用列表
|
||
// @Tags 应用列表
|
||
// @Summary 查询应用列表
|
||
// @Description 返回应用分类列表,每个分类下含应用信息列表;categoryId=0 返回第一个分类
|
||
// @Accept json
|
||
// @Produce json
|
||
// @Param categoryId query int false "当前分类ID,0表示默认第一个分类"
|
||
// @Success 200 {object} proto.AppListResp "成功"
|
||
// @Failure 400 {string} string "失败"
|
||
// @Router /api/app/applist/list [get]
|
||
func QueryAppList(c *gin.Context) {
|
||
var req struct {
|
||
CategoryId int64 `form:"categoryId"`
|
||
}
|
||
if err := c.ShouldBindQuery(&req); err != nil || req.CategoryId < 0 {
|
||
req.CategoryId = 0
|
||
}
|
||
|
||
categoryList, category, serr := appser.AppCategoryData(c, req.CategoryId)
|
||
if serr != nil {
|
||
common.ServerJSON(c, serr, "")
|
||
return
|
||
}
|
||
|
||
if categoryList == nil {
|
||
categoryList = make([]proto.AppCategoryInfo, 0)
|
||
}
|
||
|
||
resp := proto.AppListResp{
|
||
Path: c.Request.URL.Path,
|
||
Translations: translationser.GetTranslationData(),
|
||
Config: configser.GetRequestConfig(c),
|
||
BottonTranslations: translationser.GetTranslationBottomList(),
|
||
Advitise: configser.GetAdvitise(),
|
||
Announcement: configser.GetAnnouncement(),
|
||
CategoryList: categoryList,
|
||
Category: category,
|
||
}
|
||
configser.RewriteImageCdn(c, &resp)
|
||
common.ServerJSON(c, srvdef.Success, resp)
|
||
}
|