支持访客实时输入草稿展示与联系方式自动识别

坐席输入框上方显示「对方正在输入」草稿;从草稿/消息提取手机微信邮箱QQ并追加入库,不覆盖已有联系方式。
This commit is contained in:
yml2213
2026-07-19 00:19:24 +08:00
parent fea5f4acf5
commit 6070cf47dc
11 changed files with 465 additions and 17 deletions
+5 -2
View File
@@ -5,6 +5,7 @@ import (
"kefu-cloud/server/internal/config"
"kefu-cloud/server/internal/middleware"
"kefu-cloud/server/internal/storage"
"kefu-cloud/server/internal/ws"
)
func SetupRoutes(r *gin.Engine, store storage.ObjectStorage, storageCfg config.StorageConfig) {
@@ -19,11 +20,13 @@ func SetupRoutes(r *gin.Engine, store storage.ObjectStorage, storageCfg config.S
channel := NewChannelHandler()
settings := NewSettingsHandler()
staff := NewStaffHandler()
ws := NewWsHandler()
wsHandler := NewWsHandler()
widget := NewWidgetHandler()
upload := NewUploadHandler(store, storageCfg)
SetImagePublicBase(storageCfg.PublicBase)
// 访客输入草稿 → 提取联系方式(由 ws 包回调,避免循环依赖)
ws.ProcessDraftContacts = onVisitorDraftContacts
api := r.Group("/api")
@@ -48,7 +51,7 @@ func SetupRoutes(r *gin.Engine, store storage.ObjectStorage, storageCfg config.S
authRequired.Use(middleware.AuthRequired())
{
// WebSocket
authRequired.GET("/ws", ws.Connect)
authRequired.GET("/ws", wsHandler.Connect)
// 上传
authRequired.POST("/uploads", upload.UploadImage)