syntax = "v1" info ( title: "websocket"// TODO: add title desc: // TODO: add description author: "" email: "" ) import "basic.api" service websocket { //websocket数据交互 @handler DataTransferHandler get /api/websocket/data_transfer(DataTransferReq) returns (response); //云渲染完了通知接口 @handler RenderNotifyHandler post /api/websocket/render_notify(RenderNotifyReq) returns (response); //通用回调接口 @handler CommonNotifyHandler post /api/websocket/common_notify(CommonNotifyReq) returns (response); //获取ws统计信息 @handler GetStatHandler get /api/websocket/get_stat(GetStatReq) returns (response); } //websocket数据交互[ type DataTransferReq { Wid string `form:"wid,optional"` } //渲染完了通知接口 type RenderNotifyReq { TaskId string `json:"task_id"` Image string `json:"image"` Code int `json:"code,optional"` Msg string `json:"msg,optional"` CostTime string `json:"cost_time"` //unity处理时间 } //通用回调接口 type CommonNotifyReq { Wid string `json:"wid,optional"` //websocket连接标识(找ws连接优先级高于user_id和guestid) UserId int64 `json:"user_id,optional"` //用户id GuestId int64 `json:"guest_id,optional"` //游客id Data map[string]interface{} `json:"data"` //后端与前端约定好的数据 } //获取ws统计信息 type GetStatReq { Password string `form:"password"` UserKeys string `form:"user_keys,optional"` } type GetStatRsp { WsTotalCount int `json:"ws_total_count"` //ws连接总数 CurCombineCount int `json:"cur_combine_count"` //合图任务数 CombineErrorCount int `json:"combine_error_count"` //合图失败数 CurUnityHandleCount int `json:"cur_unity_handle_count"` //当前unity请求总数 UnityErrorCount int `json:"unity_error_count"` //unity错误统计 UserWsStat interface{} `json:"user_ws_stat"` //用户连接统计 }