You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
144 lines
3.5 KiB
144 lines
3.5 KiB
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"
|
|
|
|
// ========== 通用响应类型 ==========
|
|
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)
|
|
}
|
|
|
|
@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)
|
|
}
|
|
|
|
|