From 58fce7ec2ad057c25927adbfbd379399714e1e7f Mon Sep 17 00:00:00 2001 From: kevin Date: Wed, 12 Nov 2025 16:05:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E6=8D=AE=E8=BD=AC=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/models/log.go | 17 ++++++++ backend/routers/api.go | 43 ++++++++++--------- backend/routers/apiUsers.go | 5 ++- backend/routers/return.go | 2 +- frontent/ops_vue_js/src/i18n/en.json | 3 +- frontent/ops_vue_js/src/i18n/zh-CN.json | 3 +- .../ops_vue_js/src/views/registerView.vue | 3 ++ 7 files changed, 50 insertions(+), 26 deletions(-) create mode 100644 backend/models/log.go diff --git a/backend/models/log.go b/backend/models/log.go new file mode 100644 index 0000000..8a07644 --- /dev/null +++ b/backend/models/log.go @@ -0,0 +1,17 @@ +package models + +import "time" + +type APIRequestLog struct { + ID int64 `gorm:"primaryKey;column:id" json:"id"` + IPAddress string `gorm:"column:ip_address;size:45;not null" json:"ip_address"` + Path string `gorm:"column:path;size:500;not null" json:"path"` + Method string `gorm:"column:method;size:10;not null" json:"method"` + StatusCode int `gorm:"column:status_code;index" json:"status_code"` + Message string `gorm:"column:error_message;type:text" json:"error_message"` + CreatedAt time.Time `gorm:"column:created_at;default:CURRENT_TIMESTAMP" json:"created_at"` +} + +func LogAdd() { + +} diff --git a/backend/routers/api.go b/backend/routers/api.go index a50a6ef..b5f62b2 100644 --- a/backend/routers/api.go +++ b/backend/routers/api.go @@ -6,7 +6,6 @@ import ( "os" "github.com/gin-gonic/gin" - "github.com/mitchellh/mapstructure" ) var ErrorCode map[string]interface{} @@ -26,28 +25,30 @@ func init() { } -func ApiRoot(r *gin.RouterGroup) { - - r.Use(func(ctx *gin.Context) { - //转换传进来的数据 - var jsonData map[string]interface{} - if err := ctx.ShouldBindJSON(&jsonData); err == nil { - //分离数据 - - if jsonData["cookie"] != "" && jsonData["cookie"] != nil { - ctx.Set("cookie_value", jsonData["cookie"]) - } - - if jsonData["data"] != nil { - //fmt.Println(jsonData["data"]) - var data_t map[string]interface{} - if err = mapstructure.Decode(jsonData["data"], &data_t); err == nil { - ctx.Set("data", &data_t) - } - } +// 把数据分离成cookie和json +func SeparateData(ctx *gin.Context) (map[string]interface{}, string) { + var jsonData map[string]interface{} + if err := ctx.ShouldBindJSON(&jsonData); err == nil { + //分离数据 + cookie, ok := jsonData["cookie"].(string) + if !ok { + cookie = "" } - }) + + data, ok := jsonData["data"].(map[string]interface{}) + if !ok { + data = nil + } + + return data, cookie + } + + return nil, "" + +} + +func ApiRoot(r *gin.RouterGroup) { ApiUser(r.Group("/users")) diff --git a/backend/routers/apiUsers.go b/backend/routers/apiUsers.go index 27c4b91..06ac0d7 100644 --- a/backend/routers/apiUsers.go +++ b/backend/routers/apiUsers.go @@ -65,9 +65,10 @@ func ApiUser(r *gin.RouterGroup) { r.POST("/register", func(ctx *gin.Context) { //转换传进来的数据 var jsonData From_user_add - data, isHaveData := ctx.Get("data") - if isHaveData { + data, _ := SeparateData(ctx) + + if data != nil { if err := mapstructure.Decode(data, &jsonData); err == nil { //转换字段 newUser := models.TabUser_{ diff --git a/backend/routers/return.go b/backend/routers/return.go index 672dcbb..09091d3 100644 --- a/backend/routers/return.go +++ b/backend/routers/return.go @@ -19,6 +19,6 @@ func ReturnJson(ctx *gin.Context, errMsg string, data map[string]interface{}) { ctx.JSON(200, &returnData) - ctx.Abort() + //ctx.Abort() } diff --git a/frontent/ops_vue_js/src/i18n/en.json b/frontent/ops_vue_js/src/i18n/en.json index b466af0..b17d199 100644 --- a/frontent/ops_vue_js/src/i18n/en.json +++ b/frontent/ops_vue_js/src/i18n/en.json @@ -36,7 +36,8 @@ "already_have_an_account": "Already have an account?", "network_err":"Network error", "username_dup":"Duplicate username", - "registration_successful":"Registration successful!" + "registration_successful":"Registration successful!", + "server_error":"Server Error" }, "button": { "submit": "Submit", diff --git a/frontent/ops_vue_js/src/i18n/zh-CN.json b/frontent/ops_vue_js/src/i18n/zh-CN.json index c7232a0..421069e 100644 --- a/frontent/ops_vue_js/src/i18n/zh-CN.json +++ b/frontent/ops_vue_js/src/i18n/zh-CN.json @@ -36,7 +36,8 @@ "already_have_an_account":"已经有账户了?", "network_err":"网络错误", "username_dup":"用户名重复", - "registration_successful":"注册成功!" + "registration_successful":"注册成功!", + "server_error":"服务端错误" }, "button": { "submit": "提交", diff --git a/frontent/ops_vue_js/src/views/registerView.vue b/frontent/ops_vue_js/src/views/registerView.vue index f75b1b2..14947bf 100644 --- a/frontent/ops_vue_js/src/views/registerView.vue +++ b/frontent/ops_vue_js/src/views/registerView.vue @@ -93,6 +93,9 @@ function createAccount() { } ); break; + default: + mos.value?.showAlert("danger", t("message.server_error"), 5000); + break; } break; default: