qnc-server-tob/app/main/api/desc/admin/menu.api
2025-06-09 12:34:52 +08:00

149 lines
5.4 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

syntax = "v1"
info (
title: "菜单中心服务"
desc: "菜单中心服务"
author: "Liangzai"
email: "2440983361@qq.com"
version: "v1"
)
@server (
prefix: api/v1/admin/menu
group: admin_menu
jwt: JwtAuth
)
service main {
@doc "获取菜单列表"
@handler GetMenuList
get /list (GetMenuListReq) returns ([]MenuListItem)
@doc "获取菜单详情"
@handler GetMenuDetail
get /detail/:id (GetMenuDetailReq) returns (GetMenuDetailResp)
@doc "创建菜单"
@handler CreateMenu
post /create (CreateMenuReq) returns (CreateMenuResp)
@doc "更新菜单"
@handler UpdateMenu
put /update/:id (UpdateMenuReq) returns (UpdateMenuResp)
@doc "删除菜单"
@handler DeleteMenu
delete /delete/:id (DeleteMenuReq) returns (DeleteMenuResp)
@doc "获取所有菜单(树形结构)"
@handler GetMenuAll
get /all (GetMenuAllReq) returns ([]GetMenuAllResp)
}
type (
// 列表请求
GetMenuListReq {
Name string `form:"name,optional"` // 菜单名称
Path string `form:"path,optional"` // 路由路径
Status int64 `form:"status,optional,default=-1"` // 状态0-禁用1-启用
Type string `form:"type,optional"` // 类型
}
// 列表项
MenuListItem {
Id int64 `json:"id"` // 菜单ID
Pid int64 `json:"pid"` // 父菜单ID
Name string `json:"name"` // 路由名称
Path string `json:"path"` // 路由路径
Component string `json:"component"` // 组件路径
Redirect string `json:"redirect"` // 重定向路径
Meta map[string]interface{} `json:"meta"` // 路由元数据
Status int64 `json:"status"` // 状态0-禁用1-启用
Type string `json:"type"` // 类型
Sort int64 `json:"sort"` // 排序
CreateTime string `json:"createTime"` // 创建时间
Children []MenuListItem `json:"children"` // 子菜单
}
// 详情请求
GetMenuDetailReq {
Id int64 `path:"id"` // 菜单ID
}
// 详情响应
GetMenuDetailResp {
Id int64 `json:"id"` // 菜单ID
Pid int64 `json:"pid"` // 父菜单ID
Name string `json:"name"` // 路由名称
Path string `json:"path"` // 路由路径
Component string `json:"component"` // 组件路径
Redirect string `json:"redirect"` // 重定向路径
Meta map[string]interface{} `json:"meta"` // 路由元数据
Status int64 `json:"status"` // 状态0-禁用1-启用
Type string `json:"type"` // 类型
Sort int64 `json:"sort"` // 排序
CreateTime string `json:"createTime"` // 创建时间
UpdateTime string `json:"updateTime"` // 更新时间
}
// 创建请求
CreateMenuReq {
Pid int64 `json:"pid,optional"` // 父菜单ID
Name string `json:"name"` // 路由名称
Path string `json:"path,optional"` // 路由路径
Component string `json:"component,optional"` // 组件路径
Redirect string `json:"redirect,optional"` // 重定向路径
Meta map[string]interface{} `json:"meta"` // 路由元数据
Status int64 `json:"status,optional,default=1"` // 状态0-禁用1-启用
Type string `json:"type"` // 类型
Sort int64 `json:"sort,optional"` // 排序
}
// 创建响应
CreateMenuResp {
Id int64 `json:"id"` // 菜单ID
}
// 更新请求
UpdateMenuReq {
Id int64 `path:"id"` // 菜单ID
Pid int64 `json:"pid,optional"` // 父菜单ID
Name string `json:"name"` // 路由名称
Path string `json:"path,optional"` // 路由路径
Component string `json:"component,optional"` // 组件路径
Redirect string `json:"redirect,optional"` // 重定向路径
Meta map[string]interface{} `json:"meta"` // 路由元数据
Status int64 `json:"status,optional"` // 状态0-禁用1-启用
Type string `json:"type"` // 类型
Sort int64 `json:"sort,optional"` // 排序
}
// 更新响应
UpdateMenuResp {
Success bool `json:"success"` // 是否成功
}
// 删除请求
DeleteMenuReq {
Id int64 `path:"id"` // 菜单ID
}
// 删除响应
DeleteMenuResp {
Success bool `json:"success"` // 是否成功
}
// 获取所有菜单请求
GetMenuAllReq {
}
// 获取所有菜单响应
GetMenuAllResp {
Name string `json:"name"`
Path string `json:"path"`
Redirect string `json:"redirect,omitempty"`
Component string `json:"component,omitempty"`
Sort int64 `json:"sort"`
Meta map[string]interface{} `json:"meta"`
Children []GetMenuAllResp `json:"children"`
}
)