package server import ( "admin/apps/mockpro/internal/model/dto" "admin/internal/global" "admin/lib/web" ) func (srv *Server) Route(engine *web.Engine) { apiGroup := engine.Group("/api", "") { srv.whitelist(apiGroup) srv.ban(apiGroup) srv.rolemail(apiGroup) srv.globalmail(apiGroup) srv.account(apiGroup) srv.role(apiGroup) srv.order(apiGroup) srv.notice(apiGroup) srv.rewardcode(apiGroup) srv.devicepush(apiGroup) } apiGroup.Get("/commandlist", "获取项目所有gm指令描述", global.WebPathPermit_Read, srv.commandlist) } func (srv *Server) whitelist(engine *web.RoutesGroup) { resourceName := "whitelist" srv.registerResourceRouter(resourceName, engine.Group("/"+resourceName, "白名单管理")) } func (srv *Server) ban(engine *web.RoutesGroup) { resourceName := "ban" srv.registerResourceRouter(resourceName, engine.Group("/"+resourceName, "封禁管理")) } func (srv *Server) rolemail(engine *web.RoutesGroup) { resourceName := "rolemail" srv.registerResourceRouter(resourceName, engine.Group("/"+resourceName, "个人邮件")) } func (srv *Server) globalmail(engine *web.RoutesGroup) { resourceName := "globalmail" srv.registerResourceRouter(resourceName, engine.Group("/"+resourceName, "全服邮件")) } func (srv *Server) account(engine *web.RoutesGroup) { resourceName := "account" srv.registerResourceRouter(resourceName, engine.Group("/"+resourceName, "账号管理")) } func (srv *Server) role(engine *web.RoutesGroup) { resourceName := "role" srv.registerResourceRouter(resourceName, engine.Group("/"+resourceName, "角色管理")) } func (srv *Server) order(engine *web.RoutesGroup) { resourceName := "order" srv.registerResourceRouter(resourceName, engine.Group("/"+resourceName, "订单管理")) } func (srv *Server) notice(engine *web.RoutesGroup) { resourceName := "notice" srv.registerResourceRouter(resourceName, engine.Group("/"+resourceName, "公告管理")) } func (srv *Server) rewardcode(engine *web.RoutesGroup) { resourceName := "rewardcode" srv.registerResourceRouter(resourceName, engine.Group("/"+resourceName, "奖励码")) } func (srv *Server) devicepush(engine *web.RoutesGroup) { resourceName := "devicepush" srv.registerResourceRouter(resourceName, engine.Group("/"+resourceName, "设备推送")) } func (srv *Server) registerResourceRouter(resourceName string, group *web.RoutesGroup) { group.Get("", "获取列表", global.WebPathPermit_Read, commonHandlerList(srv.ctl, resourceName)) group.Post("", "新增", global.WebPathPermit_Read, commonHandlerPost(srv.ctl, resourceName)) group.Put("", "修改", global.WebPathPermit_Read, commonHandlerPut(srv.ctl, resourceName)) group.Delete("", "删除", global.WebPathPermit_Read, commonHandlerDelete(srv.ctl, resourceName)) } func commonHandlerList(ctl *controller, resourceName string) func(ctx *WebContext, params *dto.CommonListReq, rsp *dto.CommonListRsp) error { return func(ctx *WebContext, params *dto.CommonListReq, rsp *dto.CommonListRsp) error { return ctl.CommonList(ctx, resourceName, params, rsp) } } func commonHandlerPost(ctl *controller, resourceName string) func(ctx *WebContext, params *dto.CommonPostReq, rsp *dto.CommonPostRsp) error { return func(ctx *WebContext, params *dto.CommonPostReq, rsp *dto.CommonPostRsp) error { return ctl.CommonPost(ctx, resourceName, params, rsp) } } func commonHandlerPut(ctl *controller, resourceName string) func(ctx *WebContext, params *dto.CommonPutReq, rsp *dto.CommonPutRsp) error { return func(ctx *WebContext, params *dto.CommonPutReq, rsp *dto.CommonPutRsp) error { return ctl.CommonPut(ctx, resourceName, params, rsp) } } func commonHandlerDelete(ctl *controller, resourceName string) func(ctx *WebContext, params *dto.CommonDeleteReq, rsp *dto.CommonDeleteRsp) error { return func(ctx *WebContext, params *dto.CommonDeleteReq, rsp *dto.CommonDeleteRsp) error { return ctl.CommonDelete(ctx, resourceName, params, rsp) } }