syntax = "v1" @server ( prefix: /api/task/v1 group: task jwt: Auth ) service novatask { @doc "获取任务列表" @handler GetTaskList get /tasks (GetTaskListReq) returns (GetTaskListResp) @doc "校验任务结果" @handler VerifyTaskResult get /task/:id (TaskIdPath) returns (VerifyTaskResultResp) @doc "领取任务奖励" @handler GetTaskReward get /reward/:id (TaskIdPath) returns (GetTaskRewardResp) } type GetTaskListReq { CommunityId uint `form:"community_id"` } type Task { Id uint `json:"id"` CommunityId uint `json:"community_id"` Title string `json:"title"` SubTitle string `json:"sub_title"` Description string `json:"description"` Points int `json:"points"` ButtonText string `json:"button_text"` Type int8 `json:"type"` Url string `json:"url"` Status int8 `json:"status"` StartAt string `json:"start_at"` EndAt string `json:"end_at"` FinishState int8 `json:"finish_state"` // 0:未完成 1:待校验 2:已完成未领取 3:已领取 } type GetTaskListResp { Tasks []Task `json:"tasks"` } type TaskIdPath { ID uint `path:"id"` } type VerifyTaskResultResp { Finish bool `json:"finish"` } type GetTaskRewardResp { Points int `json:"points"` }