From 27f1a7bf4ff8d401bc3e22b6fbe7356729df6405 Mon Sep 17 00:00:00 2001 From: taoshihan1991 <630892807@qq.com> Date: Fri, 15 Jan 2021 10:43:32 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=86=E7=A0=81=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E5=A4=B4=E5=83=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controller/kefu.go | 48 +++++++++++++++++++++++++++ models/users.go | 12 +++++++ router/api.go | 2 ++ static/html/chat_main.html | 1 + static/html/setting_avator.html | 45 +++++++++++++++++++++++++- static/html/setting_bottom.html | 50 +++++++++++++++++++++++++++++ static/html/setting_modifypass.html | 16 ++++++++- 7 files changed, 172 insertions(+), 2 deletions(-) diff --git a/controller/kefu.go b/controller/kefu.go index ff610ce..498db9a 100644 --- a/controller/kefu.go +++ b/controller/kefu.go @@ -10,6 +10,54 @@ import ( "strconv" ) +func PostKefuAvator(c *gin.Context) { + + avator := c.PostForm("avator") + if avator == "" { + c.JSON(200, gin.H{ + "code": 400, + "msg": "不能为空", + "result": "", + }) + return + } + kefuName, _ := c.Get("kefu_name") + models.UpdateUserAvator(kefuName.(string), avator) + c.JSON(200, gin.H{ + "code": 200, + "msg": "ok", + "result": "", + }) +} +func PostKefuPass(c *gin.Context) { + kefuName, _ := c.Get("kefu_name") + newPass := c.PostForm("new_pass") + confirmNewPass := c.PostForm("confirm_new_pass") + old_pass := c.PostForm("old_pass") + if newPass != confirmNewPass { + c.JSON(200, gin.H{ + "code": 400, + "msg": "密码不一致", + "result": "", + }) + return + } + user := models.FindUser(kefuName.(string)) + if user.Password != tools.Md5(old_pass) { + c.JSON(200, gin.H{ + "code": 400, + "msg": "旧密码不正确", + "result": "", + }) + return + } + models.UpdateUserPass(kefuName.(string), tools.Md5(newPass)) + c.JSON(200, gin.H{ + "code": 200, + "msg": "ok", + "result": "", + }) +} func GetKefuInfo(c *gin.Context) { kefuId, _ := c.Get("kefu_id") user := models.FindUserById(kefuId) diff --git a/models/users.go b/models/users.go index 8e37fe4..6284de7 100644 --- a/models/users.go +++ b/models/users.go @@ -35,6 +35,18 @@ func UpdateUser(id string, name string, password string, avator string, nickname } DB.Model(&User{}).Where("id = ?", id).Update(user) } +func UpdateUserPass(name string, pass string) { + user := &User{ + Password: pass, + } + DB.Model(user).Where("name = ?", name).Update("Password", pass) +} +func UpdateUserAvator(name string, avator string) { + user := &User{ + Avator: avator, + } + DB.Model(user).Where("name = ?", name).Update("Avator", avator) +} func FindUser(username string) User { var user User DB.Where("name = ?", username).First(&user) diff --git a/router/api.go b/router/api.go index 20c7a7b..4220c9a 100644 --- a/router/api.go +++ b/router/api.go @@ -54,6 +54,8 @@ func InitApiRouter(engine *gin.Engine) { engine.GET("/kefulist", middleware.JwtApiMiddleware, middleware.RbacAuth, controller.GetKefuList) engine.GET("/other_kefulist", middleware.JwtApiMiddleware, controller.GetOtherKefuList) engine.GET("/trans_kefu", middleware.JwtApiMiddleware, controller.PostTransKefu) + engine.POST("/modifypass", middleware.JwtApiMiddleware, middleware.RbacAuth, controller.PostKefuPass) + engine.POST("/modifyavator", middleware.JwtApiMiddleware, middleware.RbacAuth, controller.PostKefuAvator) //角色列表 engine.GET("/roles", middleware.JwtApiMiddleware, middleware.RbacAuth, controller.GetRoleList) engine.POST("/role", middleware.JwtApiMiddleware, middleware.RbacAuth, controller.PostRole) diff --git a/static/html/chat_main.html b/static/html/chat_main.html index 8ad5dbb..964d27a 100644 --- a/static/html/chat_main.html +++ b/static/html/chat_main.html @@ -93,6 +93,7 @@ + .avatar-uploader .el-upload { + border: 1px dashed #d9d9d9; + border-radius: 6px; + cursor: pointer; + position: relative; + overflow: hidden; + } + .avatar-uploader .el-upload:hover { + border-color: #409EFF; + } + .avatar-uploader-icon { + font-size: 28px; + color: #8c939d; + width: 178px; + height: 178px; + line-height: 178px; + text-align: center; + } + .avatar { + width: 178px; + height: 178px; + display: block; + } +