You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
1.7 KiB
78 lines
1.7 KiB
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) |
|
}
|
|
|