func ResponseError(c wine.Context, err ErrType) { msg := "" switch err { case ErrParm: msg = "parameter error" case ErrServer: msg = "server error" default: break } c.JSON(gox.M{"error": err, "msg": msg}) }
func HandlePostDailyReport(c wine.Context) { var req PostDailyReportRequest req.UserId = c.Params().GetInt64("user_id") req.Date = c.Params().GetStr("date") req.Work = c.Params().GetStr("work") req.Plan = c.Params().GetStr("plan") req.Remark = c.Params().GetStr("remark") if req.UserId < 0 || len(req.Date) == 0 { c.JSON(gox.M{"error": 1}) return } values := url.Values{} values.Set("user_id", strconv.FormatInt(req.UserId, 10)) values.Set("date", req.Date) values.Set("work", req.Work) values.Set("plan", req.Plan) values.Set("remark", req.Remark) resp, e := http.DefaultClient.PostForm("http://localhost:8001/daily-report", values) if e != nil { c.JSON(gox.M{"error": 2, "msg": "server error"}) return } data, _ := ioutil.ReadAll(resp.Body) defer resp.Body.Close() var respMap map[string]interface{} if err := json.Unmarshal(data, &respMap); err == nil { if err, ok := respMap["error"].(float64); ok && int(err) == 0 { c.JSON(gox.M{"error": 0}) } else { log.Println(respMap) c.JSON(gox.M{"error": 1, "msg": "failed to add report"}) } } else { log.Println(respMap) c.JSON(gox.M{"error": 2, "msg": "server error"}) } }
func ResponseData(c wine.Context, data interface{}) { c.JSON(gox.M{"error": ErrNone, "msg": "", "data": data}) }