feat: vue-mobile => 完成会话聊天页面功能,增加主题切换功能

This commit is contained in:
RockYang
2023-06-26 16:39:00 +08:00
parent 5f3a5871f1
commit c099e843d5
11 changed files with 417 additions and 258 deletions

View File

@@ -8,6 +8,7 @@ import (
"chatplus/store/model"
"chatplus/utils"
"chatplus/utils/resp"
"strings"
"github.com/gin-contrib/sessions"
@@ -88,7 +89,7 @@ func (h *ManagerHandler) Migrate(c *gin.Context) {
continue
}
for k, _ := range m {
for k := range m {
roleKeys = append(roleKeys, k)
}
u.ChatRoles = utils.JsonEncode(roleKeys)
@@ -101,8 +102,10 @@ func (h *ManagerHandler) Migrate(c *gin.Context) {
var roles []model.ChatRole
h.db.Find(&roles)
for _, r := range roles {
r.Icon = "/" + r.Icon
h.db.Updates(&r)
if !strings.HasPrefix(r.Icon, "/") {
r.Icon = "/" + r.Icon
h.db.Updates(&r)
}
}
break
case "history":
@@ -114,6 +117,18 @@ func (h *ManagerHandler) Migrate(c *gin.Context) {
h.db.Updates(&r)
}
break
case "avatar":
// 更新用户的头像地址
var users []model.User
h.db.Find(&users)
for _, u := range users {
if !strings.HasPrefix(u.Avatar, "/") {
u.Avatar = "/" + u.Avatar
h.db.Updates(&u)
}
}
break
}
resp.SUCCESS(c, "SUCCESS")

View File

@@ -52,9 +52,19 @@ func (h *ChatHandler) ChatHandle(c *gin.Context) {
session := h.App.ChatSession.Get(sessionId)
if session.SessionId == "" {
logger.Info("用户未登录")
c.Abort()
return
user, err := utils.GetLoginUser(c, h.db)
if err != nil {
logger.Info("用户未登录")
c.Abort()
return
}
session = types.ChatSession{
SessionId: sessionId,
ClientIP: c.ClientIP(),
Username: user.Username,
UserId: user.Id,
}
h.App.ChatSession.Put(sessionId, session)
}
// use old chat data override the chat model and role ID

View File

@@ -220,7 +220,13 @@ func (h *UserHandler) Logout(c *gin.Context) {
func (h *UserHandler) Session(c *gin.Context) {
user, err := utils.GetLoginUser(c, h.db)
if err == nil {
resp.SUCCESS(c, user)
var userVo vo.User
err := utils.CopyObject(user, &userVo)
if err != nil {
resp.ERROR(c)
}
userVo.Id = user.Id
resp.SUCCESS(c, userVo)
} else {
resp.NotAuth(c)
}