# Exploria UI Document **Repository Path**: exploria-team/exploria-ui-document ## Basic Information - **Project Name**: Exploria UI Document - **Description**: Exploria UI Document 项目不仅展示了 Exploria UI 的所有能力,还包含前端的一些常用的或高级的功能。 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: http://exploria-ui.zzrkyd.cn/ - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-09-14 - **Last Updated**: 2026-10-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
# Exploria UI **《探索UI》— 基于 Vue 3 的 UI 组件库 Monorepo** [![Vue](https://img.shields.io/badge/Vue-3.5%2B-42b883)](https://vuejs.org/) [![TypeScript](https://img.shields.io/badge/TypeScript-5.9-3178c6)](https://www.typescriptlang.org/) [![Vite](https://img.shields.io/badge/Vite-8-646cff)](https://vitejs.dev/) [![License](https://img.shields.io/badge/License-MIT-blue)](LICENSE) [组件总览](#组件总览) · [快速开始](#快速开始) · [本地开发](#本地开发) · [发布组件库](#发布组件库) · [在线文档](http://exploria-ui.zzrkyd.cn/)
--- ## 技术栈 - **框架**:Vue 3.5+ - **构建工具**:Vite 8 - **开发语言**:TypeScript 5.9 - **样式方案**:SCSS + Animate.css - **工具链**:OXC(Rust) ## 特性 - 组件、指令、插件、工具四大模块 - 全量 TypeScript 类型,API 命名参考 Element Plus - ESM 具名导出,按需引入,支持 tree-shaking - 内置 MCP Server,AI IDE 可直接读取组件源码 --- ## 组件总览 > 完整属性、事件、插槽与示例见在线文档: ### 基础组件 | 组件 | 说明 | | ------------ | -------- | | `EAvatar` | 头像 | | `EBadge` | 徽标 | | `EButton` | 按钮 | | `ECard` | 卡片 | | `ESvgIcon` | SVG 图标 | | `ETypeUnit` | 排版单元 | | `EUnderLine` | 下划线 | ### 数据展示 | 组件 | 说明 | | -------------------- | ---------- | | `ECalendar` | 日历 | | `ECarousel` | 轮播 | | `EClipWindow` | 裁剪窗口 | | `ECodeCollapse` | 代码折叠 | | `ECollapse` | 折叠面板 | | `EImage` | 图片 | | `EList` | 列表 | | `EMediaViewer` | 媒体查看器 | | `EProgress` | 进度条 | | `ERollingPagination` | 滚动分页 | | `ESkeleton` | 骨架屏 | | `ESlidingWindow` | 滑动窗口 | | `ESteps` | 步骤条 | | `ETable` | 表格 | | `ETimeline` | 时间线 | ### 表单组件 | 组件 | 说明 | | --------------------- | ------------- | | `ECheckbox` | 复选框 | | `EColorPicker` | 颜色选择器 | | `EConditionGroup` | 条件组 | | `EFileSelector` | 文件选择器 | | `EForm` / `EFormItem` | 表单 / 表单项 | | `EInput` | 输入框 | | `ERadio` | 单选框 | | `ESelect` | 选择器 | | `ESlider` | 滑块 | | `ETimePicker` | 时间选择 | | `EUploadAvatar` | 头像上传 | ### 反馈组件 | 组件 | 说明 | | --------------- | -------- | | `EDialog` | 对话框 | | `EDrawer` | 抽屉 | | `EMessage` | 消息提示 | | `EMessageBox` | 消息弹框 | | `ENotification` | 通知 | | `EPopover` | 弹出层 | | `ETooltip` | 工具提示 | ### 布局 · 导航 · 高级 | 分类 | 组件 | | -------- | ----------------------------------------------------------------------- | | **布局** | `EContainerWithScrollbar` · `EDivider` · `EScrollbar` · `EScrollX` | | **导航** | `EDropdown` · `ETabs` | | **高级** | `EParallaxScrolling` · `ERollingFollow` · `EVirtualList` · `EWatermark` | | **几何** | `ECube` | | **钩子** | `useLiquidGlass` · `usePosition` | --- ## 插件 · 工具 · 指令 ### 插件 | 插件 | 说明 | | ---------------------- | ----------------------------- | | `ESvgSpriteBuilder` | 自动构建 SVG 精灵图 | | `EPreloadImageBuilder` | 图片资源预加载 | | `ESvgPolyfill` | SVG 跨浏览器兼容修复 | ### 工具集 | 工具 | 说明 | | ------------------- | ---------------------- | | `EDomUtil` | DOM 操作封装 | | `EAnimateCSSUtil` | Animate.css 动画封装 | | `EEchartsUtil` | ECharts 图表封装 | | `EEventBus` | 全局事件管理 | | `ELocalStorageUtil` | 增强 localStorage 操作 | | `ETimeUtil` | 日期时间格式化与计算 | | `EUUIDUtil` | 唯一标识符生成 | | `EImageUtil` | 图片处理与优化 | | `EThreeUtil` | 3D 渲染工具 | | `EClipboardUtil` | 剪贴板操作 | | `EJSONUtil` | JSON 处理 | | `EMediaQueryUtil` | 媒体查询响应式 | | `EStringUtil` | 字符串处理 | ### 指令 | 指令 | 说明 | | ------------- | ------------ | | `v-edrag` | 元素拖拽 | | `v-esize-ob` | 元素尺寸观察 | | `v-eslide-in` | 视口滑入动画 | --- ## 快速开始 ### 安装 ```bash pnpm add exploria-ui # 如使用几何 / 3D 组件 pnpm add three ``` ### 使用 ```ts // main.ts import { createApp } from 'vue'; import App from './App.vue'; import { EButton } from 'exploria-ui'; import 'exploria-ui/dist/index.css'; const app = createApp(App); app.component('EButton', EButton); // 全局注册;也可在组件内局部注册 app.mount('#app'); ``` ```vue ``` ### 按需引入 ```ts import { EButton, EInput, ETable } from 'exploria-ui'; import { EDrag, ESizeOb } from 'exploria-ui/directives'; import { ESvgSpriteBuilder } from 'exploria-ui/plugins'; import { ETimeUtil, EJSONUtil } from 'exploria-ui/utils'; ``` --- ## 本地开发 ### 前置要求 - Node.js >= 20.x - pnpm >= 10.x ### 常用命令 ```bash pnpm install # 安装依赖 pnpm run dev # 开发模式 → http://localhost:5173 pnpm run build # 生产构建 pnpm run lint # OXC 代码检查 pnpm run format # OXC 代码格式化 pnpm test # 运行测试 ``` ### 组件库开发 ```bash cd packages/exploria-ui pnpm run build:watch # 监听模式构建 pnpm run type-check # 类型检查 ``` --- ## 发布组件库 本项目采用 **Git Tag 触发 CI/CD 自动发布**,无需手动登录 NPM 或执行 publish 命令。 ### 版本号规则 采用 CalVer(日历版本)格式:`YYYY.M.PATCH` - `YYYY`:年份(如 `2026`) - `M`:月份(如 `8`,不补零) - `PATCH`:当月第几次发布(从 `1` 开始递增) 示例:`2026.8.1`、`2026.8.2`、`2026.9.1` ### 日常开发(不发布) 正常提交代码即可,Jenkins 自动构建并部署文档站和 MCP Server,**不会发布到 NPM**: ```bash git add . git commit -m "描述" git push origin master ``` ### 发布新版本到 NPM 确认代码已 push 且 Jenkins 构建通过后,打 tag 并推送: ```bash # 格式:v + 版本号 git tag v2026.8.2 git push origin v2026.8.2 ``` Jenkins 检测到 tag push 后,在正常构建部署之外,**自动执行 NPM 发布**: 1. 从 tag 名提取版本号(去掉 `v` 前缀) 2. 自动更新 `packages/exploria-ui/package.json` 的 version 3. 注入 NPM Access Token,执行 `pnpm publish --access public` 4. 发送构建结果邮件通知 > 发布前确认版本号未在 NPM 上存在,否则 `pnpm publish` 会报 403 导致构建失败。 > CI/CD 配置详见 [`cicd/README.md`](cicd/README.md),NPM 令牌申请见该文档「凭据管理」章节。 --- ## MCP 源码读取 本库内置 MCP Server(`exploria-ui-mcp-server`),AI IDE 可通过 HTTP 直接读取组件源码与 API 信息,实现智能补全与代码生成。配置、端点与运行方式见在线文档(搜索 "MCP")。 --- ## 浏览器支持 | Chrome | Firefox | Safari | Edge | | :----: | :-----: | :----: | :--: | | 90+ | 88+ | 15+ | 90+ | --- ## 许可证 [MIT License](LICENSE) ---
**Exploria UI** · 源码: