Skip to content

Element Plus X 二次封装

Element Plus X 模块使用 Ai* 命名空间,适合 Element/Element Plus 视觉体系的 Vue2.6 后台系统。组件能力来自 vue-element-plus-x,本项目提供统一封装、类型导出、按需入口和 Vue2.6 SDK 挂载边界。

Vue2.6 推荐接入

Vue2.6 业务页面通过 mountAiChat 挂载聊天面板。Vue2 负责数据、接口、权限和页面生命周期;Lingxi UI 负责 Vue3 组件渲染。

工程化 Vue2 用法

js
import { mountAiChat } from '@zhiyongui/lingxi-ui/sdk'
import '@zhiyongui/lingxi-ui/style.css'

export default {
  mounted() {
    this.instance = mountAiChat({
      container: this.$refs.chatContainer,
      props: {
        title: '智能助手',
        messages: this.messages,
        prompts: ['生成周报', '总结报告'],
        onSend: this.handleSend
      }
    })
  },
  beforeDestroy() {
    this.instance && this.instance.unmount()
  }
}

Vue3 直接引入

ts
import { AiBubble, AiSender, useSend, ElementXRequest } from '@zhiyongui/lingxi-ui/element-x'
import '@zhiyongui/lingxi-ui/element-x/style.css'

按需引入

ts
import { AiBubble } from '@zhiyongui/lingxi-ui/ai-bubble'
import '@zhiyongui/lingxi-ui/ai-bubble/style.css'

组件映射

本项目导出上游能力说明
AiAttachmentsAttachments附件上传和文件列表
AiBubbleBubble单条消息气泡
AiBubbleListBubbleList消息列表
AiConfigProviderConfigProvider主题变量配置
AiConversationsConversations会话列表
AiFilesCardFilesCard文件卡片
AiPromptsPrompts提示词列表
AiRichContent-AI 富内容文档渲染与编辑
AiSenderSender / MentionSender / EditorSender输入框;封装层根据用法适配上游 SenderMentionSenderEditorSender
AiThinkingThinking思考过程展示
AiThoughtChainThoughtChain思维链步骤
AiWelcomeWelcome欢迎页
AiXMarkdownXMarkdownMarkdown 渲染
useRecorduseRecord录音 Hook
useSenduseSend请求发送 Hook
useXStreamuseXStream流式解析 Hook
ElementXRequestXRequest为避免和 Ant X XRequest 冲突增加别名

源码功能示例

下面的示例来自 Element Plus X 源码文档,用于对照完整上游 API 和视觉效果。Vue2.6 项目实际接入仍建议使用上面的 SDK 边界。