diff --git a/apps/web-antd/package.json b/apps/web-antd/package.json index fac8415..2d457f3 100644 --- a/apps/web-antd/package.json +++ b/apps/web-antd/package.json @@ -44,7 +44,9 @@ "ant-design-vue": "catalog:", "cal-heatmap": "^4.2.4", "dayjs": "catalog:", + "dompurify": "^3.4.2", "json-editor-vue": "^0.18.1", + "marked": "^18.0.3", "pinia": "catalog:", "pixi.js": "8.11.0-main.efa7feb", "prettier-eslint": "^16.4.2", diff --git a/apps/web-antd/src/locales/langs/en-US/page.json b/apps/web-antd/src/locales/langs/en-US/page.json index cf7c980..dd69004 100644 --- a/apps/web-antd/src/locales/langs/en-US/page.json +++ b/apps/web-antd/src/locales/langs/en-US/page.json @@ -66,6 +66,10 @@ "noChangesToSave": "No changes to save", "deleteSuccess": "Delete Success" }, + "knowledge": { + "title": "Knowledge Base", + "chat": "Knowledge Q&A" + }, "operation": { "title": "Operation", "apk": "Client APK", diff --git a/apps/web-antd/src/locales/langs/zh-CN/page.json b/apps/web-antd/src/locales/langs/zh-CN/page.json index e57b9e1..9a4b72b 100644 --- a/apps/web-antd/src/locales/langs/zh-CN/page.json +++ b/apps/web-antd/src/locales/langs/zh-CN/page.json @@ -66,6 +66,10 @@ "noChangesToSave": "没有需要保存的更改", "deleteSuccess": "删除成功" }, + "knowledge": { + "title": "知识库", + "chat": "知识问答" + }, "operation": { "title": "运营管理", "apk": "客户端 APK 下载", diff --git a/apps/web-antd/src/router/routes/modules/knowledge.ts b/apps/web-antd/src/router/routes/modules/knowledge.ts new file mode 100644 index 0000000..9a7e8e9 --- /dev/null +++ b/apps/web-antd/src/router/routes/modules/knowledge.ts @@ -0,0 +1,33 @@ +import type { RouteRecordRaw } from 'vue-router'; + +import { BasicLayout } from '#/layouts'; +import { $t } from '#/locales'; + +const routes: RouteRecordRaw[] = [ + { + component: BasicLayout, + meta: { + icon: 'lucide:book-open', + order: 1100, + title: $t('page.knowledge.title'), + authority: ['super'], + }, + name: 'Knowledge', + path: '/knowledge', + children: [ + { + name: 'KnowledgeChat', + path: '/knowledge/chat', + component: () => import('#/views/knowledge/chat.vue'), + meta: { + affixTab: false, + icon: 'lucide:message-square-text', + title: $t('page.knowledge.chat'), + authority: ['super'], + }, + }, + ], + }, +]; + +export default routes; diff --git a/apps/web-antd/src/views/knowledge/chat.vue b/apps/web-antd/src/views/knowledge/chat.vue new file mode 100644 index 0000000..372b25e --- /dev/null +++ b/apps/web-antd/src/views/knowledge/chat.vue @@ -0,0 +1,913 @@ + + +