220 lines
5.5 KiB
Plaintext
220 lines
5.5 KiB
Plaintext
syntax = "v1"
|
||
|
||
info (
|
||
title: "用户中心服务"
|
||
desc: "用户中心服务"
|
||
author: "Liangzai"
|
||
email: "2440983361@qq.com"
|
||
version: "v1"
|
||
)
|
||
|
||
//============================> user v1 <============================
|
||
// 用户基本类型定义
|
||
type User {
|
||
Id int64 `json:"id"`
|
||
Mobile string `json:"mobile"`
|
||
NickName string `json:"nickName"`
|
||
UserType int64 `json:"userType"`
|
||
}
|
||
|
||
//no need login
|
||
@server (
|
||
prefix: api/v1
|
||
group: user
|
||
)
|
||
service main {
|
||
@doc "mobile code login"
|
||
@handler mobileCodeLogin
|
||
post /user/mobileCodeLogin (MobileCodeLoginReq) returns (MobileCodeLoginResp)
|
||
|
||
@doc "wechat mini auth"
|
||
@handler wxMiniAuth
|
||
post /user/wxMiniAuth (WXMiniAuthReq) returns (WXMiniAuthResp)
|
||
|
||
@doc "wechat h5 auth"
|
||
@handler wxH5Auth
|
||
post /user/wxh5Auth (WXH5AuthReq) returns (WXH5AuthResp)
|
||
}
|
||
|
||
type (
|
||
MobileCodeLoginReq {
|
||
Mobile string `json:"mobile"`
|
||
Code string `json:"code" validate:"required"`
|
||
}
|
||
MobileCodeLoginResp {
|
||
AccessToken string `json:"accessToken"`
|
||
AccessExpire int64 `json:"accessExpire"`
|
||
RefreshAfter int64 `json:"refreshAfter"`
|
||
}
|
||
)
|
||
|
||
type (
|
||
WXMiniAuthReq {
|
||
Code string `json:"code"`
|
||
}
|
||
WXMiniAuthResp {
|
||
AccessToken string `json:"accessToken"`
|
||
AccessExpire int64 `json:"accessExpire"`
|
||
RefreshAfter int64 `json:"refreshAfter"`
|
||
}
|
||
)
|
||
|
||
type (
|
||
WXH5AuthReq {
|
||
Code string `json:"code"`
|
||
}
|
||
WXH5AuthResp {
|
||
AccessToken string `json:"accessToken"`
|
||
AccessExpire int64 `json:"accessExpire"`
|
||
RefreshAfter int64 `json:"refreshAfter"`
|
||
}
|
||
)
|
||
//need login
|
||
@server (
|
||
prefix: api/v1
|
||
group: user
|
||
middleware: AuthInterceptor
|
||
)
|
||
service main {
|
||
@doc "绑定手机号"
|
||
@handler bindMobile
|
||
post /user/bindMobile (BindMobileReq) returns (BindMobileResp)
|
||
}
|
||
|
||
//need login
|
||
@server (
|
||
prefix: api/v1
|
||
group: user
|
||
jwt: JwtAuth
|
||
)
|
||
service main {
|
||
@doc "get user info"
|
||
@handler detail
|
||
get /user/detail returns (UserInfoResp)
|
||
|
||
@doc "get new token"
|
||
@handler getToken
|
||
post /user/getToken returns (MobileCodeLoginResp)
|
||
|
||
@handler cancelOut
|
||
post /user/cancelOut
|
||
|
||
}
|
||
|
||
type (
|
||
UserInfoResp {
|
||
UserInfo User `json:"userInfo"`
|
||
}
|
||
|
||
BindMobileReq {
|
||
Mobile string `json:"mobile" validate:"required,mobile"`
|
||
Code string `json:"code" validate:"required"`
|
||
}
|
||
BindMobileResp {
|
||
AccessToken string `json:"accessToken"`
|
||
AccessExpire int64 `json:"accessExpire"`
|
||
RefreshAfter int64 `json:"refreshAfter"`
|
||
}
|
||
)
|
||
|
||
//============================> auth v1 <============================
|
||
@server (
|
||
prefix: api/v1/auth
|
||
group: auth
|
||
)
|
||
service main {
|
||
@doc "get mobile verify code"
|
||
@handler sendSms
|
||
post /sendSms (sendSmsReq)
|
||
|
||
@doc "发起人脸认证"
|
||
@handler initFaceVerify
|
||
post /face/init (InitFaceVerifyReq) returns (InitFaceVerifyResp)
|
||
|
||
@doc "查询人脸认证结果"
|
||
@handler getFaceVerifyResult
|
||
post /face/result (GetFaceVerifyResultReq) returns (GetFaceVerifyResultResp)
|
||
|
||
@doc "第三方拒绝授权"
|
||
@handler rejectAuthorization
|
||
post /rejectAuthorization (RejectAuthorizationReq) returns (RejectAuthorizationResp)
|
||
|
||
@doc "短信授权"
|
||
@handler smsAuthorization
|
||
post /smsAuthorization (SmsAuthorizationReq) returns (SmsAuthorizationResp)
|
||
}
|
||
|
||
type (
|
||
sendSmsReq {
|
||
Mobile string `json:"mobile" validate:"required,mobile"`
|
||
ActionType string `json:"actionType" validate:"required,oneof=login register query agentApply bindMobile realName authorization"`
|
||
}
|
||
|
||
// 发起人脸认证请求
|
||
InitFaceVerifyReq {
|
||
MetaInfo string `json:"meta_info" validate:"required"` // H5端获取的MetaInfo,JSON格式
|
||
OrderNo string `json:"order_no" validate:"required"` // 订单号
|
||
AuthType int64 `json:"auth_type" validate:"required"` // 认证类型
|
||
}
|
||
|
||
// 发起人脸认证响应
|
||
InitFaceVerifyResp {
|
||
CertifyId string `json:"certify_id"` // 认证ID
|
||
CertifyUrl string `json:"certify_url"` // 跳转认证页面URL
|
||
}
|
||
|
||
// 查询人脸认证结果请求
|
||
GetFaceVerifyResultReq {
|
||
CertifyId string `json:"certify_id" validate:"required"` // 认证ID
|
||
}
|
||
|
||
// 查询人脸认证结果响应
|
||
GetFaceVerifyResultResp {
|
||
Passed bool `json:"passed"` // 是否通过
|
||
OrderID int64 `json:"order_id"`
|
||
AuthType int64 `json:"auth_type"`
|
||
}
|
||
RejectAuthorizationReq {
|
||
OrderNo string `json:"order_no" validate:"required"` // 订单号
|
||
}
|
||
RejectAuthorizationResp {
|
||
}
|
||
|
||
SmsAuthorizationReq {
|
||
OrderNo string `json:"order_no" validate:"required"` // 订单号
|
||
Mobile string `json:"mobile" validate:"required,mobile"`
|
||
Code string `json:"code" validate:"required"`
|
||
}
|
||
SmsAuthorizationResp {
|
||
Passed bool `json:"passed"` // 是否通过
|
||
OrderID int64 `json:"order_id"`
|
||
}
|
||
)
|
||
//============================> notification v1 <============================
|
||
@server (
|
||
prefix: api/v1
|
||
group: notification
|
||
)
|
||
service main {
|
||
@doc "get notifications"
|
||
@handler getNotifications
|
||
get /notification/list returns (GetNotificationsResp)
|
||
}
|
||
|
||
type Notification {
|
||
Title string `json:"title"` // 通知标题
|
||
Content string `json:"content"` // 通知内容 (富文本)
|
||
NotificationPage string `json:"notificationPage"` // 通知页面
|
||
StartDate string `json:"startDate"` // 通知开始日期,格式 "YYYY-MM-DD"
|
||
EndDate string `json:"endDate"` // 通知结束日期,格式 "YYYY-MM-DD"
|
||
StartTime string `json:"startTime"` // 每天通知开始时间,格式 "HH:MM:SS"
|
||
EndTime string `json:"endTime"` // 每天通知结束时间,格式 "HH:MM:SS"
|
||
}
|
||
|
||
type (
|
||
// 获取通知响应体(分页)
|
||
GetNotificationsResp {
|
||
Notifications []Notification `json:"notifications"` // 通知列表
|
||
Total int64 `json:"total"` // 总记录数
|
||
}
|
||
) |