go-common/app/interface/main/app-view/http/report.go
2019-04-22 18:49:16 +08:00

79 lines
1.7 KiB
Go

package http
import (
"io/ioutil"
"mime/multipart"
"net/http"
"strconv"
"go-common/app/interface/main/app-view/model"
"go-common/library/ecode"
"go-common/library/log"
bm "go-common/library/net/http/blademaster"
)
func copyWriter(c *bm.Context) {
params := c.Request.Form
mobiApp := params.Get("mobi_app")
device := params.Get("device")
lang := params.Get("lang")
aid, err := strconv.ParseInt(params.Get("aid"), 10, 64)
if err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
plat := model.Plat(mobiApp, device)
c.JSON(reportSvr.CopyWriter(c, aid, plat, lang))
}
func addReport(c *bm.Context) {
var mid int64
if midInter, ok := c.Get("mid"); ok {
mid = midInter.(int64)
}
params := c.Request.Form
ak := params.Get("access_key")
reason := params.Get("reason")
pics := params.Get("pics")
aid, err := strconv.ParseInt(params.Get("aid"), 10, 64)
if err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
tp, err := strconv.Atoi(params.Get("type"))
if err != nil {
c.JSON(nil, ecode.RequestErr)
return
}
if tp < 0 || tp > 10 {
c.JSON(nil, ecode.RequestErr)
return
}
c.JSON(nil, reportSvr.AddReport(c, mid, aid, tp, ak, reason, pics))
}
func upload(c *bm.Context) {
var (
fileType string
body []byte
file multipart.File
err error
)
if file, _, err = c.Request.FormFile("file"); err != nil {
c.JSON(nil, ecode.RequestErr)
log.Error("c.Request.FormFile(\"file\") error(%v)", err)
return
}
defer file.Close()
if body, err = ioutil.ReadAll(file); err != nil {
c.JSON(nil, ecode.RequestErr)
log.Error("ioutil.ReadAll(c.Request.Body) error(%v)", err)
return
}
fileType = http.DetectContentType(body)
url, err := reportSvr.Upload(c, fileType, body)
c.JSON(struct {
URL string `json:"url"`
}{url}, err)
}