rag-frontend/vben-admin.code-workspace
向宁 dfa70b7ef4 feat: 集成 IM 即时通讯模块(SignalR + 聊天 UI)
新增 IM 功能模块,对接独立 IM 后端服务:
- API 层:独立 request client 直连 IM 后端(5212),与 rag-backend 代理隔离
- SignalR:实时消息收发、已读回执、在线状态、输入提示
- Pinia Store:会话列表、消息历史、未读计数、在线用户状态管理
- 聊天页面:会话列表 + 消息区域 + 群聊创建,支持文本/图片/表情消息
- 路由:/chat 页面接入主导航
2026-05-17 17:06:52 +08:00

157 lines
3.3 KiB
Plaintext

{
"folders": [
{
"name": "@vben/web-antd",
"path": "apps/web-antd"
},
{
"name": "@vben/commitlint-config",
"path": "internal/lint-configs/commitlint-config"
},
{
"name": "@vben/eslint-config",
"path": "internal/lint-configs/eslint-config"
},
{
"name": "@vben/oxfmt-config",
"path": "internal/lint-configs/oxfmt-config"
},
{
"name": "@vben/oxlint-config",
"path": "internal/lint-configs/oxlint-config"
},
{
"name": "@vben/stylelint-config",
"path": "internal/lint-configs/stylelint-config"
},
{
"name": "@vben/node-utils",
"path": "internal/node-utils"
},
{
"name": "@vben/tailwind-config",
"path": "internal/tailwind-config"
},
{
"name": "@vben/tsconfig",
"path": "internal/tsconfig"
},
{
"name": "@vben/vite-config",
"path": "internal/vite-config"
},
{
"name": "@vben-core/design",
"path": "packages/@core/base/design"
},
{
"name": "@vben-core/icons",
"path": "packages/@core/base/icons"
},
{
"name": "@vben-core/shared",
"path": "packages/@core/base/shared"
},
{
"name": "@vben-core/typings",
"path": "packages/@core/base/typings"
},
{
"name": "@vben-core/composables",
"path": "packages/@core/composables"
},
{
"name": "@vben-core/preferences",
"path": "packages/@core/preferences"
},
{
"name": "@vben-core/form-ui",
"path": "packages/@core/ui-kit/form-ui"
},
{
"name": "@vben-core/layout-ui",
"path": "packages/@core/ui-kit/layout-ui"
},
{
"name": "@vben-core/menu-ui",
"path": "packages/@core/ui-kit/menu-ui"
},
{
"name": "@vben-core/popup-ui",
"path": "packages/@core/ui-kit/popup-ui"
},
{
"name": "@vben-core/shadcn-ui",
"path": "packages/@core/ui-kit/shadcn-ui"
},
{
"name": "@vben-core/tabs-ui",
"path": "packages/@core/ui-kit/tabs-ui"
},
{
"name": "@vben/constants",
"path": "packages/constants"
},
{
"name": "@vben/access",
"path": "packages/effects/access"
},
{
"name": "@vben/common-ui",
"path": "packages/effects/common-ui"
},
{
"name": "@vben/hooks",
"path": "packages/effects/hooks"
},
{
"name": "@vben/layouts",
"path": "packages/effects/layouts"
},
{
"name": "@vben/plugins",
"path": "packages/effects/plugins"
},
{
"name": "@vben/request",
"path": "packages/effects/request"
},
{
"name": "@vben/icons",
"path": "packages/icons"
},
{
"name": "@vben/locales",
"path": "packages/locales"
},
{
"name": "@vben/preferences",
"path": "packages/preferences"
},
{
"name": "@vben/stores",
"path": "packages/stores"
},
{
"name": "@vben/styles",
"path": "packages/styles"
},
{
"name": "@vben/types",
"path": "packages/types"
},
{
"name": "@vben/utils",
"path": "packages/utils"
},
{
"name": "@vben/turbo-run",
"path": "scripts/turbo-run"
},
{
"name": "@vben/vsh",
"path": "scripts/vsh"
}
]
}