syntax = "v1" info( title: // TODO: add title desc: // TODO: add description author: "double.huang" email: "2637309949@qq.com" ) type WXLoginResponse { OpenID string `json:"openid"` SessionKey string `json:"session_key"` UnionID string `json:"unionid"` ErrCode int `json:"errcode"` ErrMsg string `json:"errmsg"` } type Watermark { AppID string `json:"appid"` TimeStamp int64 `json:"timestamp"` } type WXUserInfo { OpenID string `json:"openId,omitempty"` NickName string `json:"nickName"` AvatarUrl string `json:"avatarUrl"` Gender int64 `json:"gender"` Country string `json:"country"` Province string `json:"province"` City string `json:"city"` UnionID string `json:"unionId,omitempty"` Language string `json:"language"` Watermark Watermark `json:"watermark,omitempty"` } type ResUserInfo { UserInfo WXUserInfo `json:"userInfo"` RawData string `json:"rawData"` Signature string `json:"signature"` EncryptedData string `json:"encryptedData"` IV string `json:"iv"` } type authLoginBody { Code string `json:"code"` // UserInfo ResUserInfo `json:"userInfo"` } type AuthUserInfo { ID int64 `json:"id"` Mobile string `json:"mobile"` ErpRoles string `json:"erpRoles"` UserName string `json:"username"` NickName string `json:"nickname"` Gender int64 `json:"gender"` Avatar string `json:"avatar"` Birthday int64 `json:"birthday"` } type authResponse { Token string `json:"token"` UserInfo AuthUserInfo `json:"userInfo"` } type request { // TODO: add members here and delete this comment Id int64 `form:"id"` } type response { // TODO: add members here and delete this comment Id int64 `json:"id"` } type partTimeUserAddRequest { Name string `json:"name"` IponeNumber string `json:"ipone_number"` Sex int64 `json:"sex"` MkId string `json:"mk_id"` CityId int64 `json:"city_id"` // 城市 } service i2bill-api { @handler Hello // TODO get /api/hello @handler LoginByWeixin // TODO post /api/auth/loginByWeixin(authLoginBody) returns(authResponse) } @server( jwt: JwtAuth ) service i2bill-api { @handler GetUser // TODO: set handler name and delete this comment get /api/users/id/:userId(request) returns(response) @handler PartTimeUserAd post /api/v1/part_time_user/add (partTimeUserAddRequest) returns(response) }