43 lines
1.7 KiB
Go
43 lines
1.7 KiB
Go
package server
|
|
|
|
import (
|
|
"admin/apps/game/model/dto"
|
|
"admin/internal/consts"
|
|
"admin/internal/context"
|
|
"admin/lib/web"
|
|
)
|
|
|
|
func (srv *Server) Route(engine *web.Engine) {
|
|
apiGroup := engine.Group("/api", "")
|
|
|
|
{
|
|
// 注册项目增删改查接口
|
|
projectGroup := apiGroup.Group("/"+consts.ResourcesName_Project, "项目")
|
|
projectGroup.Get("", "查看列表", consts.WebPathPermit_Read, srv.ctl.CommonList)
|
|
projectGroup.Post("", "新增", consts.WebPathPermit_Read, srv.ctl.CommonPost)
|
|
projectGroup.Put("", "编辑", consts.WebPathPermit_Read, srv.ctl.CommonPut)
|
|
projectGroup.Delete("", "删除", consts.WebPathPermit_Read, srv.ctl.CommonDelete)
|
|
|
|
// 注册项目之下其它所有资源通用增删改查接口
|
|
{
|
|
resourceUnderProjectGroup := projectGroup.Group("/:projectId/:resource", "")
|
|
resourceUnderProjectGroup.Get("", "查看列表", consts.WebPathPermit_Read, srv.ctl.CommonList)
|
|
resourceUnderProjectGroup.Post("", "新增", consts.WebPathPermit_Read, srv.ctl.CommonPost)
|
|
resourceUnderProjectGroup.Put("", "编辑", consts.WebPathPermit_Read, srv.ctl.CommonPut)
|
|
resourceUnderProjectGroup.Delete("", "删除", consts.WebPathPermit_Read, srv.ctl.CommonDelete)
|
|
}
|
|
|
|
projectGroup.Get("/resourcelist", "获取支持的资源列表,用于客户端生成前端操作菜单", consts.WebPathPermit_Read, srv.getResourceList)
|
|
}
|
|
}
|
|
|
|
func (srv *Server) getResourceList(ctx *context.WebContext, params *dto.NilReq, rsp *dto.ResourceListRsp) error {
|
|
for _, v := range srv.ctl.svc.GetSupportResourcesList() {
|
|
if v[0] == consts.ResourcesName_Project {
|
|
continue
|
|
}
|
|
rsp.List = append(rsp.List, &dto.ResourceInfo{Resource: v[0], Desc: v[1], Methods: []string{"get", "post", "put", "delete"}})
|
|
}
|
|
return nil
|
|
}
|