79 lines
1.7 KiB
Go
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)
|
|
}
|