Преглед изворни кода

Unifies the output of the routing layer and the isolated response structure

Granty1 пре 5 година
родитељ
комит
bc7d89ccbe

+ 14 - 12
server/api/v1/exa_breakpoint_continue.go

@@ -3,6 +3,8 @@ package v1
 import (
 	"fmt"
 	"gin-vue-admin/global/response"
+	_ "gin-vue-admin/model/response"
+	resp "gin-vue-admin/model/response"
 	"gin-vue-admin/service"
 	"gin-vue-admin/utils"
 	"github.com/gin-gonic/gin"
@@ -26,28 +28,28 @@ func BreakpointContinue(c *gin.Context) {
 	chunkTotal, _ := strconv.Atoi(c.Request.FormValue("chunkTotal"))
 	_, FileHeader, err := c.Request.FormFile("file")
 	if err != nil {
-		response.Result(response.SUCCESS, nil, fmt.Sprintf("%v", err), c)
+		response.FailWithMessage(err.Error(), c)
 	} else {
 		f, err := FileHeader.Open()
 		if err != nil {
-			response.Result(response.ERROR, nil, fmt.Sprintf("%v", err), c)
+			response.FailWithMessage(err.Error(), c)
 		} else {
 			cen, _ := ioutil.ReadAll(f)
 			defer f.Close()
 			if flag := utils.CheckMd5(cen, chunkMd5); flag {
 				err, file := service.FindOrCreateFile(fileMd5, fileName, chunkTotal)
 				if err != nil {
-					response.Result(response.ERROR, nil, fmt.Sprintf("%v", err), c)
+					response.FailWithMessage(err.Error(), c)
 				} else {
 					err, pathc := utils.BreakPointContinue(cen, fileName, chunkNumber, chunkTotal, fileMd5)
 					if err != nil {
-						response.Result(response.ERROR, nil, fmt.Sprintf("%v", err), c)
+						response.FailWithMessage(err.Error(), c)
 					} else {
 						err = service.CreateFileChunk(file.ID, pathc, chunkNumber)
 						if err != nil {
-							response.Result(response.ERROR, nil, fmt.Sprintf("%v", err), c)
+							response.FailWithMessage(err.Error(), c)
 						} else {
-							response.Result(response.SUCCESS, nil, "切片创建成功", c)
+							response.OkWithMessage("切片创建成功", c)
 						}
 					}
 				}
@@ -71,9 +73,9 @@ func FindFile(c *gin.Context) {
 	chunkTotal, _ := strconv.Atoi(c.Query("chunkTotal"))
 	err, file := service.FindOrCreateFile(fileMd5, fileName, chunkTotal)
 	if err != nil {
-		response.Result(response.ERROR, nil, fmt.Sprintf("查找失败:%v", err), c)
+		response.FailWithMessage("查找失败", c)
 	} else {
-		response.Result(response.SUCCESS, gin.H{"file": file}, "查找成功", c)
+		response.OkWithData(resp.FileResponse{File: file}, c)
 	}
 }
 
@@ -90,9 +92,9 @@ func BreakpointContinueFinish(c *gin.Context) {
 	fileName := c.Query("fileName")
 	err, filePath := utils.MakeFile(fileName, fileMd5)
 	if err != nil {
-		response.Result(response.ERROR, gin.H{"filePath": filePath}, fmt.Sprintf("文件创建失败:%v", err), c)
+		response.FailWithDetailed(response.ERROR, resp.FilePathResponse{FilePath: filePath}, fmt.Sprintf("文件创建失败:%v", err), c)
 	} else {
-		response.Result(response.SUCCESS, gin.H{"filePath": filePath}, "文件创建成功", c)
+		response.OkDetailed(resp.FilePathResponse{FilePath: filePath}, "文件创建成功", c)
 	}
 }
 
@@ -111,8 +113,8 @@ func RemoveChunk(c *gin.Context) {
 	err := utils.RemoveChunk(fileMd5)
 	err = service.DeleteFileChunk(fileMd5, fileName, filePath)
 	if err != nil {
-		response.Result(response.ERROR, gin.H{"filePath": filePath}, fmt.Sprintf("缓存切片删除失败:%v", err), c)
+		response.FailWithDetailed(response.ERROR, resp.FilePathResponse{FilePath: filePath}, fmt.Sprintf("缓存切片删除失败:%v", err), c)
 	} else {
-		response.Result(response.SUCCESS, gin.H{"filePath": filePath}, "缓存切片删除成功", c)
+		response.OkDetailed(resp.FilePathResponse{FilePath: filePath}, "缓存切片删除成功", c)
 	}
 }

+ 10 - 11
server/api/v1/exa_customer.go

@@ -5,6 +5,7 @@ import (
 	"gin-vue-admin/global/response"
 	"gin-vue-admin/model"
 	"gin-vue-admin/model/request"
+	resp "gin-vue-admin/model/response"
 	"gin-vue-admin/service"
 	"github.com/gin-gonic/gin"
 )
@@ -26,9 +27,9 @@ func CreateExaCustomer(c *gin.Context) {
 	cu.SysUserAuthorityID = waitUse.AuthorityId
 	err := service.CreateExaCustomer(cu)
 	if err != nil {
-		response.Result(response.ERROR, gin.H{}, fmt.Sprintf("创建失败:%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("删除失败:%v", err), c)
 	} else {
-		response.Result(response.SUCCESS, gin.H{}, "创建成功", c)
+		response.OkWithMessage("创建成功", c)
 	}
 }
 
@@ -45,9 +46,9 @@ func DeleteExaCustomer(c *gin.Context) {
 	_ = c.ShouldBindJSON(&cu)
 	err := service.DeleteExaCustomer(cu)
 	if err != nil {
-		response.Result(response.ERROR, gin.H{}, fmt.Sprintf("删除失败:%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("删除失败:%v", err), c)
 	} else {
-		response.Result(response.SUCCESS, gin.H{}, "删除成功", c)
+		response.OkWithMessage("删除成功", c)
 	}
 }
 
@@ -64,9 +65,9 @@ func UpdateExaCustomer(c *gin.Context) {
 	_ = c.ShouldBindJSON(&cu)
 	err := service.UpdateExaCustomer(&cu)
 	if err != nil {
-		response.Result(response.ERROR, gin.H{}, fmt.Sprintf("更新失败:%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("更新失败:%v", err), c)
 	} else {
-		response.Result(response.SUCCESS, gin.H{}, "更新成功", c)
+		response.OkWithMessage("更新成功", c)
 	}
 }
 
@@ -83,11 +84,9 @@ func GetExaCustomer(c *gin.Context) {
 	_ = c.ShouldBindJSON(&cu)
 	err, customer := service.GetExaCustomer(cu.ID)
 	if err != nil {
-		response.Result(response.ERROR, gin.H{}, fmt.Sprintf("获取失败:%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("获取失败:%v", err), c)
 	} else {
-		response.Result(response.SUCCESS, gin.H{
-			"customer": customer,
-		}, "创建", c)
+		response.OkWithData( resp.ExaCustomerResponse{Customer: customer}, c)
 	}
 }
 
@@ -106,7 +105,7 @@ func GetExaCustomerList(c *gin.Context) {
 	_ = c.ShouldBindJSON(&pageInfo)
 	err, customerList, total := service.GetCustomerInfoList(waitUse.AuthorityId, pageInfo)
 	if err != nil {
-		response.Result(response.ERROR, gin.H{}, fmt.Sprintf("创建失败:%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("创建失败:%v", err), c)
 	} else {
 		response.Result(response.SUCCESS, gin.H{
 			"customer": customerList,

+ 11 - 10
server/api/v1/exa_file_upload_download.go

@@ -5,6 +5,7 @@ import (
 	"gin-vue-admin/global/response"
 	"gin-vue-admin/model"
 	"gin-vue-admin/model/request"
+	resp "gin-vue-admin/model/response"
 	"gin-vue-admin/service"
 	"gin-vue-admin/utils"
 	"github.com/gin-gonic/gin"
@@ -23,12 +24,12 @@ func UploadFile(c *gin.Context) {
 	noSave := c.DefaultQuery("noSave", "0")
 	_, header, err := c.Request.FormFile("file")
 	if err != nil {
-		response.Result(response.ERROR, gin.H{}, fmt.Sprintf("上传文件失败,%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("上传文件失败,%v", err), c)
 	} else {
 		//文件上传后拿到文件路径
 		err, filePath, key := utils.Upload(header, USER_HEADER_BUCKET, USER_HEADER_IMG_PATH)
 		if err != nil {
-			response.Result(response.ERROR, gin.H{}, fmt.Sprintf("接收返回值失败,%v", err), c)
+			response.FailWithMessage(fmt.Sprintf("接收返回值失败,%v", err), c)
 		} else {
 			//修改数据库后得到修改后的user并且返回供前端使用
 			var file model.ExaFileUploadAndDownload
@@ -41,9 +42,9 @@ func UploadFile(c *gin.Context) {
 				err = service.Upload(file)
 			}
 			if err != nil {
-				response.Result(response.ERROR, gin.H{}, fmt.Sprintf("修改数据库链接失败,%v", err), c)
+				response.FailWithMessage(fmt.Sprintf("修改数据库链接失败,%v", err), c)
 			} else {
-				response.Result(response.SUCCESS, gin.H{"file": file}, "上传成功", c)
+				response.OkDetailed(resp.ExaFileResponse{File: file}, "上传成功", c)
 
 			}
 		}
@@ -62,18 +63,18 @@ func DeleteFile(c *gin.Context) {
 	_ = c.ShouldBindJSON(&file)
 	err, f := service.FindFile(file.ID)
 	if err != nil {
-		response.Result(response.ERROR, gin.H{}, fmt.Sprintf("删除失败,%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("删除失败,%v", err), c)
 	} else {
 		err = utils.DeleteFile(USER_HEADER_BUCKET, f.Key)
 		if err != nil {
-			response.Result(response.ERROR, gin.H{}, fmt.Sprintf("删除失败,%v", err), c)
+			response.FailWithMessage(fmt.Sprintf("删除失败,%v", err), c)
 
 		} else {
 			err = service.DeleteFile(f)
 			if err != nil {
-				response.Result(response.ERROR, gin.H{}, fmt.Sprintf("删除失败,%v", err), c)
+				response.FailWithMessage(fmt.Sprintf("删除失败,%v", err), c)
 			} else {
-				response.Result(response.SUCCESS, gin.H{}, "删除成功", c)
+				response.OkWithMessage("删除成功", c)
 			}
 		}
 	}
@@ -92,9 +93,9 @@ func GetFileList(c *gin.Context) {
 	_ = c.ShouldBindJSON(&pageInfo)
 	err, list, total := service.GetFileRecordInfoList(pageInfo)
 	if err != nil {
-		response.Result(response.ERROR, gin.H{}, fmt.Sprintf("获取数据失败,%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("获取数据失败,%v", err), c)
 	} else {
-		response.Result(response.SUCCESS, gin.H{
+		response.OkDetailed(gin.H{
 			"list":     list,
 			"total":    total,
 			"page":     pageInfo.Page,

+ 13 - 17
server/api/v1/sys_api.go

@@ -5,6 +5,7 @@ import (
 	"gin-vue-admin/global/response"
 	"gin-vue-admin/model"
 	"gin-vue-admin/model/request"
+	resp "gin-vue-admin/model/response"
 	"gin-vue-admin/service"
 	"github.com/gin-gonic/gin"
 )
@@ -22,9 +23,9 @@ func CreateApi(c *gin.Context) {
 	_ = c.ShouldBindJSON(&api)
 	err := service.CreateApi(api)
 	if err != nil {
-		response.Result(response.ERROR, gin.H{}, fmt.Sprintf("创建失败,%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("创建失败,%v", err), c)
 	} else {
-		response.Result(response.SUCCESS, gin.H{}, "创建成功", c)
+		response.OkWithMessage("创建成功", c)
 	}
 }
 
@@ -41,9 +42,9 @@ func DeleteApi(c *gin.Context) {
 	_ = c.ShouldBindJSON(&a)
 	err := service.DeleteApi(a)
 	if err != nil {
-		response.Result(response.ERROR, gin.H{}, fmt.Sprintf("删除失败,%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("删除失败,%v", err), c)
 	} else {
-		response.Result(response.SUCCESS, gin.H{}, "删除成功", c)
+		response.OkWithMessage("删除成功", c)
 	}
 }
 
@@ -63,9 +64,9 @@ func GetApiList(c *gin.Context) {
 	_ = c.ShouldBindJSON(&sp)
 	err, list, total := service.GetAPIInfoList(sp.SysApi, sp.PageInfo, sp.OrderKey, sp.Desc)
 	if err != nil {
-		response.Result(response.ERROR, gin.H{}, fmt.Sprintf("获取数据失败,%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("获取数据失败,%v", err), c)
 	} else {
-		response.Result(response.SUCCESS, gin.H{
+		response.OkDetailed(gin.H{
 			"list":     list,
 			"total":    total,
 			"page":     sp.PageInfo.Page,
@@ -87,12 +88,9 @@ func GetApiById(c *gin.Context) {
 	_ = c.ShouldBindJSON(&idInfo)
 	err, api := service.GetApiById(idInfo.Id)
 	if err != nil {
-		response.Result(response.ERROR, gin.H{}, fmt.Sprintf("获取数据失败,%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("获取数据失败,%v", err), c)
 	} else {
-		response.Result(response.SUCCESS, gin.H{
-			"api": api,
-		}, "获取数据成功", c)
-
+		response.OkWithData(resp.SysAPIResponse{Api: api}, c)
 	}
 }
 
@@ -109,9 +107,9 @@ func UpdateApi(c *gin.Context) {
 	_ = c.ShouldBindJSON(&api)
 	err := service.UpdateApi(api)
 	if err != nil {
-		response.Result(response.ERROR, gin.H{}, fmt.Sprintf("修改数据失败,%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("修改数据失败,%v", err), c)
 	} else {
-		response.Result(response.SUCCESS, gin.H{}, "修改数据成功", c)
+		response.OkWithMessage("修改数据成功", c)
 	}
 }
 
@@ -125,10 +123,8 @@ func UpdateApi(c *gin.Context) {
 func GetAllApis(c *gin.Context) {
 	err, apis := service.GetAllApis()
 	if err != nil {
-		response.Result(response.ERROR, gin.H{}, fmt.Sprintf("获取数据失败,%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("获取数据失败,%v", err), c)
 	} else {
-		response.Result(response.SUCCESS, gin.H{
-			"apis": apis,
-		}, "获取数据成功", c)
+		response.OkWithData(resp.SysAPIListResponse{Apis: apis}, c)
 	}
 }

+ 9 - 10
server/api/v1/sys_authority.go

@@ -5,6 +5,7 @@ import (
 	"gin-vue-admin/global/response"
 	"gin-vue-admin/model"
 	"gin-vue-admin/model/request"
+	resp "gin-vue-admin/model/response"
 	"gin-vue-admin/service"
 	"github.com/gin-gonic/gin"
 )
@@ -22,11 +23,9 @@ func CreateAuthority(c *gin.Context) {
 	_ = c.ShouldBindJSON(&auth)
 	err, authBack := service.CreateAuthority(&auth)
 	if err != nil {
-		response.Result(response.ERROR, gin.H{}, fmt.Sprintf("创建失败,%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("创建失败,%v", err), c)
 	} else {
-		response.Result(response.SUCCESS, gin.H{
-			"authority": authBack,
-		}, fmt.Sprintf("创建成功,%v", err), c)
+		response.OkWithData(resp.SysAuthorityResponse{Authority: *authBack}, c)
 	}
 }
 
@@ -44,9 +43,9 @@ func DeleteAuthority(c *gin.Context) {
 	//删除角色之前需要判断是否有用户正在使用此角色
 	err := service.DeleteAuthority(a)
 	if err != nil {
-		response.Result(response.ERROR, gin.H{}, fmt.Sprintf("删除失败,%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("删除失败,%v", err), c)
 	} else {
-		response.Result(response.SUCCESS, gin.H{}, "删除失败", c)
+		response.OkWithMessage("删除成功", c)
 	}
 }
 
@@ -63,9 +62,9 @@ func GetAuthorityList(c *gin.Context) {
 	_ = c.ShouldBindJSON(&pageInfo)
 	err, list, total := service.GetAuthorityInfoList(pageInfo)
 	if err != nil {
-		response.Result(response.ERROR, gin.H{}, fmt.Sprintf("获取数据失败,%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("获取数据失败,%v", err), c)
 	} else {
-		response.Result(response.SUCCESS, gin.H{
+		response.OkDetailed(gin.H{
 			"list":     list,
 			"total":    total,
 			"page":     pageInfo.Page,
@@ -87,8 +86,8 @@ func SetDataAuthority(c *gin.Context) {
 	_ = c.ShouldBindJSON(&auth)
 	err := service.SetDataAuthority(auth)
 	if err != nil {
-		response.Result(response.ERROR, gin.H{}, fmt.Sprintf("设置关联失败,%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("设置关联失败,%v", err), c)
 	} else {
-		response.Result(response.SUCCESS, gin.H{}, "获取数据成功", c)
+		response.Ok(c)
 	}
 }

+ 1 - 1
server/api/v1/sys_auto_code.go

@@ -22,7 +22,7 @@ func CreateTemp(c *gin.Context) {
 	_ = c.ShouldBindJSON(&a)
 	err := service.CreateTemp(a)
 	if err != nil {
-		response.Result(response.ERROR, gin.H{}, fmt.Sprintf("创建失败,%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("创建失败,%v", err), c)
 		os.Remove("./ginvueadmin.zip")
 	} else {
 		c.Writer.Header().Add("Content-Disposition", fmt.Sprintf("attachment; filename=%s", "ginvueadmin.zip")) //fmt.Sprintf("attachment; filename=%s", filename)对下载的文件重命名

+ 4 - 3
server/api/v1/sys_captcha.go

@@ -3,6 +3,7 @@ package v1
 import (
 	"gin-vue-admin/global"
 	"gin-vue-admin/global/response"
+	resp "gin-vue-admin/model/response"
 	"gin-vue-admin/utils"
 	"github.com/dchest/captcha"
 	"github.com/gin-gonic/gin"
@@ -17,9 +18,9 @@ import (
 // @Router /base/captcha [post]
 func Captcha(c *gin.Context) {
 	captchaId := captcha.NewLen(global.GVA_CONFIG.Captcha.KeyLong)
-	response.Result(response.SUCCESS, gin.H{
-		"captchaId": captchaId,
-		"picPath":   "/base/captcha/" + captchaId + ".png",
+	response.OkDetailed(resp.SysCaptchaResponse{
+		CaptchaId: captchaId,
+		PicPath:   "/base/captcha/" + captchaId + ".png",
 	}, "验证码获取成功", c)
 }
 

+ 5 - 4
server/api/v1/sys_casbin.go

@@ -4,6 +4,7 @@ import (
 	"fmt"
 	"gin-vue-admin/global/response"
 	"gin-vue-admin/model/request"
+	resp "gin-vue-admin/model/response"
 	"gin-vue-admin/service"
 	"github.com/gin-gonic/gin"
 )
@@ -21,9 +22,9 @@ func UpdateCasbin(c *gin.Context) {
 	_ = c.ShouldBindJSON(&cmr)
 	err := service.UpdateCasbin(cmr.AuthorityId, cmr.CasbinInfos)
 	if err != nil {
-		response.Result(response.ERROR, gin.H{}, fmt.Sprintf("添加规则失败,%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("添加规则失败,%v", err), c)
 	} else {
-		response.Result(response.SUCCESS, gin.H{}, "添加规则成功", c)
+		response.OkWithMessage("添加规则成功", c)
 	}
 }
 
@@ -39,7 +40,7 @@ func GetPolicyPathByAuthorityId(c *gin.Context) {
 	var cmr request.CasbinInReceive
 	_ = c.ShouldBindJSON(&cmr)
 	paths := service.GetPolicyPathByAuthorityId(cmr.AuthorityId)
-	response.Result(response.SUCCESS, gin.H{"paths": paths}, "获取规则成功", c)
+	response.OkWithData(resp.PolicyPathResponse{Paths: paths}, c)
 }
 
 // @Tags casbin
@@ -54,5 +55,5 @@ func CasbinTest(c *gin.Context) {
 	// 测试restful以及占位符代码  随意书写
 	pathParam := c.Param("pathParam")
 	query := c.Query("query")
-	response.Result(response.SUCCESS, gin.H{"pathParam": pathParam, "query": query}, "获取规则成功", c)
+	response.OkDetailed(gin.H{"pathParam": pathParam, "query": query}, "获取规则成功", c)
 }

+ 2 - 2
server/api/v1/sys_jwt_blacklist.go

@@ -22,8 +22,8 @@ func JsonInBlacklist(c *gin.Context) {
 	}
 	err := service.JsonInBlacklist(modelJwt)
 	if err != nil {
-		response.Result(response.ERROR, gin.H{}, fmt.Sprintf("jwt作废失败,%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("jwt作废失败,%v", err), c)
 	} else {
-		response.Result(response.SUCCESS, gin.H{}, "jwt作废成功", c)
+		response.OkWithMessage("jwt作废成功", c)
 	}
 }

+ 18 - 17
server/api/v1/sys_menu.go

@@ -5,6 +5,7 @@ import (
 	"gin-vue-admin/global/response"
 	"gin-vue-admin/model"
 	"gin-vue-admin/model/request"
+	resp "gin-vue-admin/model/response"
 	"gin-vue-admin/service"
 	"github.com/gin-gonic/gin"
 )
@@ -21,9 +22,9 @@ func GetMenu(c *gin.Context) {
 	waitUse := claims.(*request.CustomClaims)
 	err, menus := service.GetMenuTree(waitUse.AuthorityId)
 	if err != nil {
-		response.Result(response.ERROR, gin.H{}, fmt.Sprintf("获取失败,%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("获取失败,%v", err), c)
 	} else {
-		response.Result(response.SUCCESS, gin.H{"menus": menus}, "获取成功", c)
+		response.OkWithData(resp.SysMenusResponse{Menus: menus}, c)
 	}
 }
 
@@ -40,9 +41,9 @@ func GetMenuList(c *gin.Context) {
 	_ = c.ShouldBindJSON(&pageInfo)
 	err, menuList, total := service.GetInfoList(pageInfo)
 	if err != nil {
-		response.Result(response.ERROR, gin.H{}, fmt.Sprintf("获取数据失败,%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("获取数据失败,%v", err), c)
 	} else {
-		response.Result(response.SUCCESS, gin.H{
+		response.OkDetailed(gin.H{
 			"list":     menuList,
 			"total":    total,
 			"page":     pageInfo.Page,
@@ -64,9 +65,9 @@ func AddBaseMenu(c *gin.Context) {
 	_ = c.ShouldBindJSON(&menu)
 	err := service.AddBaseMenu(menu)
 	if err != nil {
-		response.Result(response.ERROR, gin.H{}, fmt.Sprintf("添加失败,%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("添加失败,%v", err), c)
 	} else {
-		response.Result(response.SUCCESS, gin.H{}, "添加成功", c)
+		response.OkWithMessage("添加成功", c)
 	}
 }
 
@@ -80,9 +81,9 @@ func AddBaseMenu(c *gin.Context) {
 func GetBaseMenuTree(c *gin.Context) {
 	err, menus := service.GetBaseMenuTree()
 	if err != nil {
-		response.Result(response.ERROR, gin.H{"menus": menus}, fmt.Sprintf("获取失败,%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("获取失败,%v", err), c)
 	} else {
-		response.Result(response.SUCCESS, gin.H{"menus": menus}, "获取成功", c)
+		response.OkWithData(resp.SysBaseMenusResponse{Menus: menus}, c)
 
 	}
 }
@@ -101,9 +102,9 @@ func AddMenuAuthority(c *gin.Context) {
 
 	err := service.AddMenuAuthority(addMenuAuthorityInfo.Menus, addMenuAuthorityInfo.AuthorityId)
 	if err != nil {
-		response.Result(response.ERROR, gin.H{}, fmt.Sprintf("添加失败,%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("添加失败,%v", err), c)
 	} else {
-		response.Result(response.SUCCESS, gin.H{}, "添加成功", c)
+		response.OkWithMessage("添加成功", c)
 	}
 }
 
@@ -120,7 +121,7 @@ func GetMenuAuthority(c *gin.Context) {
 	_ = c.ShouldBindJSON(&authorityIdInfo)
 	err, menus := service.GetMenuAuthority(authorityIdInfo.AuthorityId)
 	if err != nil {
-		response.Result(response.ERROR, gin.H{"menus": menus}, fmt.Sprintf("添加失败,%v", err), c)
+		response.FailWithDetailed(response.ERROR, resp.SysMenusResponse{Menus: menus}, fmt.Sprintf("添加失败,%v", err), c)
 	} else {
 		response.Result(response.SUCCESS, gin.H{"menus": menus}, "获取成功", c)
 	}
@@ -139,9 +140,9 @@ func DeleteBaseMenu(c *gin.Context) {
 	_ = c.ShouldBindJSON(&idInfo)
 	err := service.DeleteBaseMenu(idInfo.Id)
 	if err != nil {
-		response.Result(response.ERROR, gin.H{}, fmt.Sprintf("删除失败:%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("删除失败:%v", err), c)
 	} else {
-		response.Result(response.SUCCESS, gin.H{}, "删除成功", c)
+		response.OkWithMessage("删除成功", c)
 
 	}
 }
@@ -159,9 +160,9 @@ func UpdateBaseMenu(c *gin.Context) {
 	_ = c.ShouldBindJSON(&menu)
 	err := service.UpdateBaseMenu(menu)
 	if err != nil {
-		response.Result(response.ERROR, gin.H{}, fmt.Sprintf("修改失败:%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("修改失败:%v", err), c)
 	} else {
-		response.Result(response.SUCCESS, gin.H{}, "修改成功", c)
+		response.OkWithMessage("修改成功", c)
 	}
 }
 
@@ -178,8 +179,8 @@ func GetBaseMenuById(c *gin.Context) {
 	_ = c.ShouldBindJSON(&idInfo)
 	err, menu := service.GetBaseMenuById(idInfo.Id)
 	if err != nil {
-		response.Result(response.ERROR, gin.H{}, fmt.Sprintf("查询失败:%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("查询失败:%v", err), c)
 	} else {
-		response.Result(response.SUCCESS, gin.H{"menu": menu}, "查询成功", c)
+		response.OkWithData(resp.SysBaseMenuResponse{Menu: menu}, c)
 	}
 }

+ 7 - 6
server/api/v1/sys_system.go

@@ -4,6 +4,7 @@ import (
 	"fmt"
 	"gin-vue-admin/global/response"
 	"gin-vue-admin/model"
+	resp "gin-vue-admin/model/response"
 	"gin-vue-admin/service"
 	"github.com/gin-gonic/gin"
 )
@@ -17,9 +18,9 @@ import (
 func GetSystemConfig(c *gin.Context) {
 	err, config := service.GetSystemConfig()
 	if err != nil {
-		response.Result(response.ERROR, gin.H{}, fmt.Sprintf("获取失败,%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("获取失败,%v", err), c)
 	} else {
-		response.Result(response.SUCCESS, gin.H{"config": config}, "获取成功", c)
+		response.OkWithData(resp.SysConfigResponse{Config: config}, c)
 	}
 }
 
@@ -35,9 +36,9 @@ func SetSystemConfig(c *gin.Context) {
 	_ = c.ShouldBindJSON(&sys)
 	err := service.SetSystemConfig(sys)
 	if err != nil {
-		response.Result(response.ERROR, gin.H{}, fmt.Sprintf("设置失败,%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("设置失败,%v", err), c)
 	} else {
-		response.Result(response.SUCCESS, gin.H{}, "设置成功", c)
+		response.OkWithData("设置成功", c)
 	}
 }
 
@@ -54,8 +55,8 @@ func ReloadSystem(c *gin.Context) {
 	_ = c.ShouldBindJSON(&sys)
 	err := service.SetSystemConfig(sys)
 	if err != nil {
-		response.Result(response.ERROR, gin.H{}, fmt.Sprintf("设置失败,%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("设置失败,%v", err), c)
 	} else {
-		response.Result(response.SUCCESS, gin.H{}, "设置成功", c)
+		response.OkWithMessage("设置成功", c)
 	}
 }

+ 35 - 26
server/api/v1/sys_user.go

@@ -7,6 +7,7 @@ import (
 	"gin-vue-admin/middleware"
 	"gin-vue-admin/model"
 	"gin-vue-admin/model/request"
+	resp "gin-vue-admin/model/response"
 	"gin-vue-admin/service"
 	"gin-vue-admin/utils"
 	"github.com/dchest/captcha"
@@ -34,13 +35,9 @@ func Register(c *gin.Context) {
 	user := &model.SysUser{Username: R.Username, NickName: R.NickName, Password: R.Password, HeaderImg: R.HeaderImg, AuthorityId: R.AuthorityId}
 	err, user := service.Register(user)
 	if err != nil {
-		response.Result(response.ERROR, gin.H{
-			"user": user,
-		}, fmt.Sprintf("%v", err), c)
+		response.FailWithDetailed(response.ERROR, resp.SysUserResponse{User: *user}, fmt.Sprintf("%v", err), c)
 	} else {
-		response.Result(response.SUCCESS, gin.H{
-			"user": user,
-		}, "注册成功", c)
+		response.OkDetailed(resp.SysUserResponse{User: *user}, "注册成功", c)
 	}
 }
 
@@ -56,12 +53,12 @@ func Login(c *gin.Context) {
 	if captcha.VerifyString(L.CaptchaId, L.Captcha) {
 		U := &model.SysUser{Username: L.Username, Password: L.Password}
 		if err, user := service.Login(U); err != nil {
-			response.Result(response.ERROR, gin.H{}, fmt.Sprintf("用户名密码错误或%v", err), c)
+			response.FailWithMessage(fmt.Sprintf("用户名密码错误或%v", err), c)
 		} else {
 			tokenNext(c, *user)
 		}
 	} else {
-		response.Result(response.ERROR, gin.H{}, "验证码错误", c)
+		response.FailWithMessage("验证码错误", c)
 	}
 
 }
@@ -84,7 +81,7 @@ func tokenNext(c *gin.Context, user model.SysUser) {
 	}
 	token, err := j.CreateToken(clams)
 	if err != nil {
-		response.Result(response.ERROR, gin.H{}, "获取token失败", c)
+		response.FailWithMessage("获取token失败", c)
 	} else {
 		if global.GVA_CONFIG.System.UseMultipoint {
 			var loginJwt model.JwtBlacklist
@@ -93,29 +90,41 @@ func tokenNext(c *gin.Context, user model.SysUser) {
 			if err == redis.Nil {
 				err2 := service.SetRedisJWT(loginJwt, user.Username)
 				if err2 != nil {
-					response.Result(response.ERROR, gin.H{}, "设置登录状态失败", c)
+					response.FailWithMessage("设置登录状态失败", c)
 				} else {
-					response.Result(response.SUCCESS, gin.H{"user": user, "token": token, "expiresAt": clams.StandardClaims.ExpiresAt * 1000}, "登录成功", c)
+					response.OkWithData(resp.LoginResponse{
+						User:      user,
+						Token:     token,
+						ExpiresAt: clams.StandardClaims.ExpiresAt * 1000,
+					}, c)
 				}
 			} else if err != nil {
-				response.Result(response.ERROR, gin.H{}, fmt.Sprintf("%v", err), c)
+				response.FailWithMessage(fmt.Sprintf("%v", err), c)
 			} else {
 				var blackJWT model.JwtBlacklist
 				blackJWT.Jwt = jwtStr
 				err3 := service.JsonInBlacklist(blackJWT)
 				if err3 != nil {
-					response.Result(response.ERROR, gin.H{}, "jwt作废失败", c)
+					response.FailWithMessage("jwt作废失败", c)
 				} else {
 					err2 := service.SetRedisJWT(loginJwt, user.Username)
 					if err2 != nil {
-						response.Result(response.ERROR, gin.H{}, "设置登录状态失败", c)
+						response.FailWithMessage("设置登录状态失败", c)
 					} else {
-						response.Result(response.SUCCESS, gin.H{"user": user, "token": token, "expiresAt": clams.StandardClaims.ExpiresAt * 1000}, "登录成功", c)
+						response.OkWithData(resp.LoginResponse{
+							User:      user,
+							Token:     token,
+							ExpiresAt: clams.StandardClaims.ExpiresAt * 1000,
+						}, c)
 					}
 				}
 			}
 		} else {
-			response.Result(response.SUCCESS, gin.H{"user": user, "token": token, "expiresAt": clams.StandardClaims.ExpiresAt * 1000}, "登录成功", c)
+			response.OkWithData(resp.LoginResponse{
+				User:      user,
+				Token:     token,
+				ExpiresAt: clams.StandardClaims.ExpiresAt * 1000,
+			}, c)
 		}
 	}
 }
@@ -132,9 +141,9 @@ func ChangePassword(c *gin.Context) {
 	_ = c.ShouldBindJSON(&params)
 	U := &model.SysUser{Username: params.Username, Password: params.Password}
 	if err, _ := service.ChangePassword(U, params.NewPassword); err != nil {
-		response.Result(response.ERROR, gin.H{}, "修改失败,请检查用户名密码", c)
+		response.FailWithMessage("修改失败,请检查用户名密码", c)
 	} else {
-		response.Result(response.SUCCESS, gin.H{}, "修改成功", c)
+		response.OkWithMessage("修改成功", c)
 	}
 }
 
@@ -160,19 +169,19 @@ func UploadHeaderImg(c *gin.Context) {
 	_, header, err := c.Request.FormFile("headerImg")
 	//便于找到用户 以后从jwt中取
 	if err != nil {
-		response.Result(response.ERROR, gin.H{}, fmt.Sprintf("上传文件失败,%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("上传文件失败,%v", err), c)
 	} else {
 		//文件上传后拿到文件路径
 		err, filePath, _ := utils.Upload(header, USER_HEADER_BUCKET, USER_HEADER_IMG_PATH)
 		if err != nil {
-			response.Result(response.ERROR, gin.H{}, fmt.Sprintf("接收返回值失败,%v", err), c)
+			response.FailWithMessage(fmt.Sprintf("接收返回值失败,%v", err), c)
 		} else {
 			//修改数据库后得到修改后的user并且返回供前端使用
 			err, user := service.UploadHeaderImg(uuid, filePath)
 			if err != nil {
-				response.Result(response.ERROR, gin.H{}, fmt.Sprintf("修改数据库链接失败,%v", err), c)
+				response.FailWithMessage(fmt.Sprintf("修改数据库链接失败,%v", err), c)
 			} else {
-				response.Result(response.SUCCESS, gin.H{"user": user}, "上传成功", c)
+				response.OkWithData(resp.SysUserResponse{User: *user}, c)
 			}
 		}
 	}
@@ -191,9 +200,9 @@ func GetUserList(c *gin.Context) {
 	_ = c.ShouldBindJSON(&pageInfo)
 	err, list, total := service.GetUserInfoList(pageInfo)
 	if err != nil {
-		response.Result(response.ERROR, gin.H{}, fmt.Sprintf("获取数据失败,%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("获取数据失败,%v", err), c)
 	} else {
-		response.Result(response.SUCCESS, gin.H{
+		response.OkDetailed(gin.H{
 			"userList": list,
 			"total":    total,
 			"page":     pageInfo.Page,
@@ -215,8 +224,8 @@ func SetUserAuthority(c *gin.Context) {
 	_ = c.ShouldBindJSON(&sua)
 	err := service.SetUserAuthority(sua.UUID, sua.AuthorityId)
 	if err != nil {
-		response.Result(response.ERROR, gin.H{}, fmt.Sprintf("修改失败,%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("修改失败,%v", err), c)
 	} else {
-		response.Result(response.SUCCESS, gin.H{}, "修改成功", c)
+		response.OkWithMessage("修改成功", c)
 	}
 }

+ 2 - 2
server/api/v1/sys_work_flow.go

@@ -19,8 +19,8 @@ func CreateWorkFlow(c *gin.Context) {
 	_ = c.ShouldBindJSON(&wk)
 	err := service.Create(wk)
 	if err != nil {
-		response.Result(response.ERROR, gin.H{}, fmt.Sprintf("获取失败:%v", err), c)
+		response.FailWithMessage(fmt.Sprintf("获取失败:%v", err), c)
 	} else {
-		response.Result(response.SUCCESS, gin.H{}, "获取成功", c)
+		response.OkWithMessage("获取成功", c)
 	}
 }

+ 28 - 0
server/global/response/response.go

@@ -24,3 +24,31 @@ func Result(code int, data interface{}, msg string, c *gin.Context) {
 		msg,
 	})
 }
+
+func Ok(c *gin.Context) {
+	Result(SUCCESS, map[string]interface{}{}, "操作成功", c)
+}
+
+func OkWithMessage(message string, c *gin.Context) {
+	Result(SUCCESS, map[string]interface{}{}, message, c)
+}
+
+func OkWithData(data interface{}, c *gin.Context) {
+	Result(SUCCESS, data, "操作成功", c)
+}
+
+func OkDetailed(data interface{}, message string, c *gin.Context) {
+	Result(SUCCESS, data, message, c)
+}
+
+func Fail(c *gin.Context) {
+	Result(ERROR, map[string]interface{}{}, "操作失败", c)
+}
+
+func FailWithMessage(message string, c *gin.Context) {
+	Result(ERROR, map[string]interface{}{}, message, c)
+}
+
+func FailWithDetailed(code int, data interface{}, message string, c *gin.Context) {
+	Result(code, data, message, c )
+}

+ 11 - 0
server/model/response/exa_breakpoint_continue.go

@@ -0,0 +1,11 @@
+package response
+
+import "gin-vue-admin/model"
+
+type FilePathResponse struct {
+	FilePath string `json:"filePath"`
+}
+
+type FileResponse struct {
+	File model.ExaFile `json:"file"`
+}

+ 7 - 0
server/model/response/exa_customer.go

@@ -0,0 +1,7 @@
+package response
+
+import "gin-vue-admin/model"
+
+type ExaCustomerResponse struct {
+	Customer model.ExaCustomer `json:"customer"`
+}

+ 7 - 0
server/model/response/exa_file_upload_download.go

@@ -0,0 +1,7 @@
+package response
+
+import "gin-vue-admin/model"
+
+type ExaFileResponse struct {
+	File model.ExaFileUploadAndDownload `json:"file"`
+}

+ 11 - 0
server/model/response/sys_api.go

@@ -0,0 +1,11 @@
+package response
+
+import "gin-vue-admin/model"
+
+type SysAPIResponse struct {
+	Api model.SysApi `json:"api"`
+}
+
+type SysAPIListResponse struct {
+	Apis []model.SysApi `json:"apis"`
+}

+ 7 - 0
server/model/response/sys_authority.go

@@ -0,0 +1,7 @@
+package response
+
+import "gin-vue-admin/model"
+
+type SysAuthorityResponse struct {
+	Authority model.SysAuthority `json:"authority"`
+}

+ 6 - 0
server/model/response/sys_captcha.go

@@ -0,0 +1,6 @@
+package response
+
+type SysCaptchaResponse struct {
+	CaptchaId string `json:"captchaId"`
+	PicPath   string `json:"picPath"`
+}

+ 5 - 0
server/model/response/sys_casbin.go

@@ -0,0 +1,5 @@
+package response
+
+type PolicyPathResponse struct {
+	Paths []string `json:"paths"`
+}

+ 15 - 0
server/model/response/sys_menu.go

@@ -0,0 +1,15 @@
+package response
+
+import "gin-vue-admin/model"
+
+type SysMenusResponse struct {
+	Menus []model.SysMenu `json:"menus"`
+}
+
+type SysBaseMenusResponse struct {
+	Menus []model.SysBaseMenu `json:"menus"`
+}
+
+type SysBaseMenuResponse struct {
+	Menu model.SysBaseMenu `json:"menu"`
+}

+ 7 - 0
server/model/response/sys_system.go

@@ -0,0 +1,7 @@
+package response
+
+import "gin-vue-admin/config"
+
+type SysConfigResponse struct {
+	Config config.Server `json:"config"`
+}

+ 15 - 0
server/model/response/sys_user.go

@@ -0,0 +1,15 @@
+package response
+
+import (
+	"gin-vue-admin/model"
+)
+
+type SysUserResponse struct {
+	User model.SysUser `json:"user"`
+}
+
+type LoginResponse struct {
+	User      model.SysUser `json:"user"`
+	Token     string        `json:"token"`
+	ExpiresAt int64         `json:"expiresAt"`
+}