syntax = "v1" info ( title: "认证接口" ) type ( UserLoginReq { Identifier string `json:"identifier"` Email string `json:"email" validate:"required"` Password string `json:"password" validate:"required"` IP string `header:"X-Original-Forwarded-For,optional"` UserAgent string `header:"User-Agent,optional"` LoginType string `header:"Login-Type,optional"` CfToken string `json:"cf_token,optional"` } LoginResp { Token string `json:"token"` } DeviceLoginReq { Identifier string `json:"identifier" validate:"required"` UserAgent string `json:"user_agent" validate:"required"` ShortCode string `json:"short_code,optional"` CfToken string `json:"cf_token,optional"` IP string `header:"X-Original-Forwarded-For,optional"` } UserRegisterReq { Identifier string `json:"identifier"` Email string `json:"email" validate:"required"` Password string `json:"password" validate:"required"` Invite string `json:"invite,optional"` Code string `json:"code,optional"` IP string `header:"X-Original-Forwarded-For,optional"` UserAgent string `header:"User-Agent,optional"` LoginType string `header:"Login-Type,optional"` CfToken string `json:"cf_token,optional"` } ResetPasswordReq { Identifier string `json:"identifier"` Email string `json:"email" validate:"required"` Password string `json:"password" validate:"required"` Code string `json:"code,optional"` IP string `header:"X-Original-Forwarded-For,optional"` UserAgent string `header:"User-Agent,optional"` LoginType string `header:"Login-Type,optional"` CfToken string `json:"cf_token,optional"` } ) @server ( prefix: /api/v1/auth group: auth ) service ppanel-api { @handler UserLoginHandler post /login (UserLoginReq) returns (LoginResp) @handler UserRegisterHandler post /register (UserRegisterReq) returns (LoginResp) @handler ResetPasswordHandler post /reset (ResetPasswordReq) returns (LoginResp) } @server ( prefix: /api/v1/auth group: auth middleware: DecryptMiddleware ) service ppanel-api { @doc "设备登录" @handler DeviceLoginHandler post /login/device (DeviceLoginReq) returns (LoginResp) }