syntax = "v1" info ( title: "Base 统一服务" desc: "Base 项目统一 API 接口" author: "author@example.com" version: "v1.0" ) import "api/user.api" import "api/profile.api" import "api/dashboard.api" import "api/file.api" import "api/menu.api" import "api/role.api" import "api/organization.api" import "api/ai.api" // ========== 通用响应类型 ========== type ( Response { Code int `json:"code"` // 状态码 Message string `json:"message"` // 消息 Success bool `json:"success"` // 是否成功 Data interface{} `json:"data"` // 数据 } // 登录响应 LoginResponse { Code int `json:"code"` // 状态码 Message string `json:"message"` // 消息 Success bool `json:"success"` // 是否成功 Token string `json:"token"` // JWT Token } // 注册请求 RegisterRequest { Username string `json:"username" validate:"required,min=3,max=32"` // 用户名 Password string `json:"password" validate:"required,min=6,max=32"` // 密码 Phone string `json:"phone" validate:"required"` // 手机号(必填) Email string `json:"email,optional"` // 邮箱(可选) } // 登录请求 LoginRequest { Account string `json:"account" validate:"required"` // 手机号或用户名 Password string `json:"password" validate:"required,min=6,max=32"` // 密码 } // 刷新Token请求 RefreshTokenRequest { Token string `json:"token" validate:"required"` // Token } ) // ========== 服务定义 ========== @server ( prefix: /api/v1 group: auth middleware: Cors,Log ) service base-api { // ========== 认证接口 ========== // 注册 @doc "用户注册" @handler register post /register (RegisterRequest) returns (UserInfo) // 登录 @doc "用户登录" @handler login post /login (LoginRequest) returns (LoginResponse) // 刷新Token @doc "刷新Token" @handler refreshToken post /refresh (RefreshTokenRequest) returns (LoginResponse) } @server ( prefix: /api/v1 group: user middleware: Cors,Log,Auth,Authz ) service base-api { // ========== 用户管理接口 ========== // 创建用户 @doc "创建用户" @handler createUser post /user (CreateUserRequest) returns (UserInfo) // 获取用户列表 @doc "获取用户列表" @handler getUserList get /users (UserListRequest) returns (UserListResponse) // 获取用户详情 @doc "获取用户详情" @handler getUser get /user/:id (GetUserRequest) returns (UserInfo) // 更新用户 @doc "更新用户信息" @handler updateUser put /user/:id (UpdateUserRequest) returns (UserInfo) // 删除用户 @doc "删除用户" @handler deleteUser delete /user/:id (DeleteUserRequest) returns (Response) } @server ( prefix: /api/v1 group: profile middleware: Cors,Log,Auth,Authz ) service base-api { // ========== 个人中心接口 ========== // 获取个人信息 @doc "获取个人信息" @handler getProfile get /profile/me returns (GetProfileResponse) // 更新个人资料 @doc "更新个人资料" @handler updateProfile put /profile/me (UpdateProfileRequest) returns (GetProfileResponse) // 修改密码 @doc "修改密码" @handler changePassword post /profile/password (ChangePasswordRequest) returns (Response) @doc "获取我的机构列表" @handler getUserOrgs get /profile/orgs returns (UserOrgsResponse) @doc "切换当前机构" @handler switchOrg put /profile/current-org (SwitchOrgRequest) returns (SwitchOrgResponse) } @server ( prefix: /api/v1 group: dashboard middleware: Cors,Log,Auth,Authz ) service base-api { // ========== 仪表盘接口 ========== // 获取仪表盘统计数据 @doc "获取仪表盘统计数据" @handler getDashboardStats get /dashboard/stats returns (DashboardStatsResponse) // 获取最近活动 @doc "获取最近活动列表" @handler getRecentActivities get /dashboard/activities (RecentActivitiesRequest) returns (RecentActivitiesResponse) } @server ( prefix: /api/v1 group: file middleware: Cors,Log,Auth,Authz ) service base-api { // ========== 文件管理接口 ========== @doc "上传文件" @handler uploadFile post /file/upload returns (FileInfo) @doc "获取文件列表" @handler getFileList get /files (FileListRequest) returns (FileListResponse) @doc "获取文件详情" @handler getFile get /file/:id (GetFileRequest) returns (FileInfo) @doc "获取文件访问URL" @handler getFileUrl get /file/:id/url (GetFileRequest) returns (FileUrlResponse) @doc "更新文件信息" @handler updateFile put /file/:id (UpdateFileRequest) returns (FileInfo) @doc "删除文件" @handler deleteFile delete /file/:id (DeleteFileRequest) returns (Response) } // ========== 菜单管理(当前用户菜单,只需登录) ========== @server ( prefix: /api/v1 group: menu middleware: Cors,Log,Auth ) service base-api { @doc "获取当前用户可见菜单" @handler getCurrentMenus get /menus/current returns (MenuListResponse) } // ========== 菜单管理(管理端,需授权) ========== @server ( prefix: /api/v1 group: menu middleware: Cors,Log,Auth,Authz ) service base-api { @doc "获取全部菜单列表" @handler getMenuList get /menus returns (MenuListResponse) @doc "创建菜单" @handler createMenu post /menu (CreateMenuRequest) returns (MenuItem) @doc "更新菜单" @handler updateMenu put /menu/:id (UpdateMenuRequest) returns (MenuItem) @doc "删除菜单" @handler deleteMenu delete /menu/:id (DeleteMenuRequest) returns (Response) } // ========== 角色管理 ========== @server ( prefix: /api/v1 group: role middleware: Cors,Log,Auth,Authz ) service base-api { @doc "获取角色列表" @handler getRoleList get /roles returns (RoleListResponse) @doc "创建角色" @handler createRole post /role (CreateRoleRequest) returns (RoleInfo) @doc "更新角色" @handler updateRole put /role/:id (UpdateRoleRequest) returns (RoleInfo) @doc "删除角色" @handler deleteRole delete /role/:id (DeleteRoleRequest) returns (Response) @doc "获取角色菜单" @handler getRoleMenus get /role/:id/menus (GetRoleMenusRequest) returns (RoleMenusResponse) @doc "设置角色菜单" @handler setRoleMenus put /role/:id/menus (SetRoleMenusRequest) returns (Response) } // ========== 机构管理 ========== @server ( prefix: /api/v1 group: organization middleware: Cors,Log,Auth,Authz ) service base-api { @doc "获取机构列表" @handler getOrganizationList get /organizations returns (OrgListResponse) @doc "创建机构" @handler createOrganization post /organization (CreateOrgRequest) returns (OrgInfo) @doc "更新机构" @handler updateOrganization put /organization/:id (UpdateOrgRequest) returns (OrgInfo) @doc "删除机构" @handler deleteOrganization delete /organization/:id (DeleteOrgRequest) returns (Response) @doc "获取机构成员" @handler getOrgMembers get /organization/:id/members (GetOrgMembersRequest) returns (OrgMembersResponse) @doc "添加机构成员" @handler addOrgMember post /organization/:id/member (AddOrgMemberRequest) returns (Response) @doc "更新机构成员角色" @handler updateOrgMember put /organization/:id/member/:userId (UpdateOrgMemberRequest) returns (Response) @doc "移除机构成员" @handler removeOrgMember delete /organization/:id/member/:userId (RemoveOrgMemberRequest) returns (Response) } // ========== AI 智能对话 ========== @server ( prefix: /api/v1 group: ai middleware: Cors,Log,Auth ) service base-api { @doc "AI 对话补全" @handler AiChatCompletions post /ai/chat/completions (AIChatCompletionRequest) @doc "获取对话列表" @handler AiConversationList get /ai/conversations (AIConversationListRequest) returns (AIConversationListResponse) @doc "创建对话" @handler AiConversationCreate post /ai/conversation (AIConversationCreateRequest) returns (AIConversationInfo) @doc "获取对话详情" @handler AiConversationGet get /ai/conversation/:id (AIConversationGetRequest) returns (AIConversationDetailResponse) @doc "更新对话" @handler AiConversationUpdate put /ai/conversation/:id (AIConversationUpdateRequest) returns (AIConversationInfo) @doc "删除对话" @handler AiConversationDelete delete /ai/conversation/:id (AIConversationDeleteRequest) returns (Response) @doc "获取模型列表" @handler AiModelList get /ai/models returns (AIModelListResponse) @doc "获取我的配额" @handler AiQuotaMe get /ai/quota/me returns (AIQuotaInfo) }