syntax = "v1" import "common.api" // 前端用户认证接口 - 轻量级认证 // 前端用户登录请求 type FrontendLoginRequest { Username string `json:"username" validate:"required"` Password string `json:"password" validate:"required"` } // 前端用户登录响应 type FrontendLoginResponse { BaseResponse Data FrontendLoginData `json:"data"` } type FrontendLoginData { Token string `json:"token"` User FrontendUser `json:"user"` } // 前端用户注册请求 type FrontendRegisterRequest { Username string `json:"username" validate:"required"` Email string `json:"email" validate:"required,email"` Password string `json:"password" validate:"required,min=6"` } // 前端用户注册响应 type FrontendRegisterResponse { BaseResponse Data FrontendUser `json:"data"` } // 前端用户信息响应 type FrontendProfileResponse { BaseResponse Data FrontendUser `json:"data"` } // 前端用户更新请求 type UpdateFrontendProfileRequest { Username string `json:"username,optional"` Email string `json:"email,optional"` Avatar string `json:"avatar,optional"` } // 前端用户更新响应 type UpdateFrontendProfileResponse { BaseResponse Data FrontendUser `json:"data"` } // 前端用户修改密码请求 type ChangeFrontendPasswordRequest { OldPassword string `json:"old_password" validate:"required"` NewPassword string `json:"new_password" validate:"required,min=6"` } // 前端用户修改密码响应 type ChangeFrontendPasswordResponse { BaseResponse } // 前端用户登出响应 type FrontendLogoutResponse { BaseResponse } // 前端认证接口组 @server( group: auth prefix: /api/v1/auth ) service photography-api { @doc "前端用户登录" @handler frontendLogin post /login (FrontendLoginRequest) returns (FrontendLoginResponse) @doc "前端用户注册" @handler frontendRegister post /register (FrontendRegisterRequest) returns (FrontendRegisterResponse) @doc "前端用户登出" @handler frontendLogout post /logout returns (FrontendLogoutResponse) } // 前端用户认证接口组 - 需要认证 @server( group: auth prefix: /api/v1/auth jwt: Auth ) service photography-api { @doc "获取前端用户信息" @handler getFrontendProfile get /profile returns (FrontendProfileResponse) @doc "更新前端用户信息" @handler updateFrontendProfile put /profile (UpdateFrontendProfileRequest) returns (UpdateFrontendProfileResponse) @doc "修改前端用户密码" @handler changeFrontendPassword post /change-password (ChangeFrontendPasswordRequest) returns (ChangeFrontendPasswordResponse) }