xyxie 1 tydzień temu
rodzic
commit
e5d27da534
2 zmienionych plików z 43 dodań i 21 usunięć
  1. 29 0
      controllers/base_auth.go
  2. 14 21
      controllers/report.go

+ 29 - 0
controllers/base_auth.go

@@ -444,3 +444,32 @@ func (c *BaseAuthController) logUri(respContent []byte, requestBody, ip string)
 	utils.ApiLog.Info("uri:%s, authorization:%s, requestBody:%s, responseBody:%s, ip:%s", c.Ctx.Input.URI(), authorization, requestBody, respContent, ip)
 	return
 }
+
+func (c *BaseAuthController) ServeJSONOther(encoding ...bool) {
+	urlPath := c.Ctx.Request.URL.Path
+	// 方法处理完后,需要后置处理的业务逻辑
+	if handlerList, ok := AfterHandlerUrlMap[urlPath]; ok {
+		for _, handler := range handlerList {
+			handler(c.Ctx.Input.RequestBody)
+		}
+	}
+
+	var (
+		hasIndent   = false
+		hasEncoding = false
+	)
+	if web.BConfig.RunMode == web.PROD {
+		hasIndent = false
+	}
+	if len(encoding) > 0 && encoding[0] == true {
+		hasEncoding = true
+	}
+	if c.Data["json"] == nil {
+		//go utils.SendEmail("异常提醒:", "接口:"+"URI:"+c.Ctx.Input.URI()+";无返回值", utils.EmailSendToUsers)
+		body := "接口:" + "URI:" + c.Ctx.Input.URI() + ";无返回值"
+		go alarm_msg.SendAlarmMsg(body, 1)
+		return
+	}
+	
+	c.JSON(c.Data["json"], hasIndent, hasEncoding)
+}

+ 14 - 21
controllers/report.go

@@ -4,6 +4,7 @@ import (
 	"eta/eta_forum_admin/models"
 	"eta/eta_forum_admin/services"
 	"eta/eta_forum_admin/utils"
+	"fmt"
 	"os"
 	"path"
 	"time"
@@ -19,19 +20,17 @@ type ReportController struct {
 // @Success 200 上传成功
 // @router /uploadImg [post]
 func (this *ReportController) UploadImg() {
-	br := new(models.BaseResponse).Init()
+	//br := new(models.BaseResponse).Init()
+	var err error
 	defer func() {
-		if br.ErrMsg == "" {
-			br.IsSendEmail = false
+		if err != nil {
+			utils.FileLog.Info("UploadImg", "err", err)
 		}
-		this.Data["json"] = br
-		this.ServeJSON()
 	}()
 
 	f, h, err := this.GetFile("file")
 	if err != nil {
-		br.Msg = "获取资源信息失败"
-		br.ErrMsg = "获取资源信息失败,Err:" + err.Error()
+		err = fmt.Errorf("获取文件失败,Err:%v", err)
 		return
 	}
 	defer f.Close() //关闭上传文件
@@ -40,8 +39,7 @@ func (this *ReportController) UploadImg() {
 	uploadDir := utils.STATIC_DIR + "hongze/" + dateDir
 	err = os.MkdirAll(uploadDir, utils.DIR_MOD)
 	if err != nil {
-		br.Msg = "创建文件夹失败"
-		br.ErrMsg = "创建文件夹失败,Err:" + err.Error()
+		err = fmt.Errorf("创建文件夹失败,Err:%v", err)
 		return
 	}
 	randStr := utils.GetRandStringNoSpecialChar(28)
@@ -50,8 +48,7 @@ func (this *ReportController) UploadImg() {
 
 	err = this.SaveToFile("file", fpath)
 	if err != nil {
-		br.Msg = "保存文件失败"
-		br.ErrMsg = "保存文件失败,Err:" + err.Error()
+		err = fmt.Errorf("保存文件失败,Err:%v", err)
 		return
 	}
 
@@ -63,8 +60,7 @@ func (this *ReportController) UploadImg() {
 	resourceUrl := ``
 	ossClient := services.NewOssClient()
 	if ossClient == nil {
-		br.Msg = "上传失败"
-		br.ErrMsg = "初始化OSS服务失败"
+		err = fmt.Errorf("初始化OSS服务失败")
 		return
 	}
 	// 上传到阿里云
@@ -72,8 +68,7 @@ func (this *ReportController) UploadImg() {
 	savePath := ossDir + time.Now().Format("200601/20060102/") + fileName
 	resourceUrl, err = ossClient.UploadFile(fileName, fpath, savePath)
 	if err != nil {
-		br.Msg = "文件上传失败"
-		br.ErrMsg = "文件上传失败,Err:" + err.Error()
+		err = fmt.Errorf("文件上传失败,Err:%v", err)
 		return
 	}
 
@@ -83,15 +78,13 @@ func (this *ReportController) UploadImg() {
 	item.CreateTime = time.Now()
 	newId, err := models.AddResource(item)
 	if err != nil {
-		br.Msg = "保存资源失败"
-		br.ErrMsg = "保存资源失败,Err:" + err.Error()
+		err = fmt.Errorf("保存资源失败,Err:%v", err)
 		return
 	}
 	resp := new(models.ResourceResp)
 	resp.Id = newId
 	resp.ResourceUrl = resourceUrl
-	br.Msg = "上传成功"
-	br.Ret = 200
-	br.Success = true
-	br.Data = resp
+
+	this.Data["json"] = map[string]string{"link": resourceUrl}
+	this.ServeJSONOther()
 }