syntax = "v1" info ( title: "Base 统一服务" desc: "Base 项目统一 API 接口" author: "author@example.com" version: "v1.0" ) import "api/user.api" import "api/profile.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"` // 用户名 Email string `json:"email" validate:"required,email"` // 邮箱 Password string `json:"password" validate:"required,min=6,max=32"` // 密码 Phone string `json:"phone,optional"` // 手机号 } // 登录请求 LoginRequest { Email string `json:"email" validate:"required,email"` // 邮箱 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 ) 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 ) 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) }