syntax = "v1" info( title: "用户相关API" desc: "用户相关" author: "NorthLan" email: "6995syu@163.com" version: "v1" ) type ( User { Id int64 `json:"id"` // ID Username string `json:"username"` // 用户名 PhoneNumber string `json:"phoneNumber"` // 手机号码 Email string `json:"email"` // 邮箱 Password string `json:"password"` // 密码 Status uint8 `json:"status"` // 用户状态 Name string `json:"name"` // 姓名 Nickname string `json:"nickname"` // 昵称 Gender uint8 `json:"gender"` // 性别 Birthdate string `json:"birthdate"` // 生日 Address string `json:"address"` // 地址 Age uint8 `json:"age"` // 年龄 Country string `json:"country"` // 国家 Picture string `json:"picture"` // 头像地址 SocialProfile map[string]interface{} `json:"social_profile"` // 用户社交属性 CreateTime string `json:"createTime"` // 创建时间 UpdateTime string `json:"updateTime"` // 更新时间 } JwtToken struct { AccessToken string `json:"access_token"` Expire string `json:"expire"` RefreshToken string `json:"refresh_token"` } ) type ( // RegisterReq 用户注册请求 RegisterReq { Username *string `json:"username,optional"` // 用户名 PhoneNumber *string `json:"phoneNumber,optional"` // 手机号码 Email *string `json:"email,optional"` // 邮箱 Platform *string `json:"platform,optional"` // 社交平台 Password *string `json:"password,optional"` // 密码 ValidationType string `json:"validationType,default=phone"` // 验证码方式 ValidationCode *string `json:"validationCode,optional"` // 验证码 Code *string `json:"code,optional"` // 第三方平台code } // LoginReq 登录请求,登录主体/验证方式 后期将由专门服务进行管理,不再传递 LoginReq { SubjectType string `json:"subjectType"` // 登录主体 ValidationType string `json:"validationType,default=password"` // 验证方式 Username *string `json:"username,optional"` // 用户名 PhoneNumber *string `json:"phoneNumber,optional"` // 手机号码 Email *string `json:"email,optional"` // 邮箱 Platform *string `json:"platform,optional"` // 社交平台 Password *string `json:"password,optional"` // 密码 ValidationCode *string `json:"validationCode,optional"` // 验证码 Code *string `json:"code,optional"` // 第三方平台code } // BindSocialReq 普通用户绑定社交账号请求 BindSocialReq { Platform string `path:"platform"` // 平台类型 wechat | qq | weibo Code string `form:"code"` // 第三方平台code } ) type ( RegisterResp { *User } LoginResp { *JwtToken Id string `json:"id"` } ) @server( group: user prefix: api/user ) service user_center-api { @doc "用户注册" @handler register post /register (RegisterReq) returns (RegisterResp) @doc "登录" @handler login post /login (LoginReq) returns (LoginResp) } @server( jwt: Auth group: user/admin prefix: api/user ) service user_center-api { @doc "绑定社交账号" @handler bindSocial post /bind/:platform (BindSocialReq) }