# workbench **Repository Path**: eleven--11/workbench ## Basic Information - **Project Name**: workbench - **Description**: 南自--工作台 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-16 - **Last Updated**: 2026-04-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Vue3 Admin Demo 基于 Vue 3 + Vite + Element Plus 的后台管理系统组件封装演示项目。 ## 技术栈 - **Vue 3** - 渐进式JavaScript框架,使用 Composition API - **Vite** - 新一代前端构建工具 - **Vue Router** - Vue.js 官方路由管理器 - **Pinia** - Vue.js 轻量级状态管理库 - **Element Plus** - 基于 Vue 3 的组件库 - **Axios** - Promise HTTP 客户端 - **Sass** - CSS 预处理器 ## 项目结构 ``` vueDemo/ ├── src/ │ ├── api/ # API 接口封装 │ │ └── user.js # 用户相关接口 │ ├── components/ # 组件 │ │ └── common/ # 通用组件 │ │ ├── MyDialog.vue # 弹窗封装 │ │ ├── MyForm.vue # 表单封装 │ │ ├── MySearch.vue # 搜索封装 │ │ └── MyTable.vue # 表格封装 │ ├── router/ # 路由配置 │ │ └── index.js │ ├── utils/ # 工具函数 │ │ ├── message.js # 消息提示封装 │ │ └── request.js # 网络请求封装 │ ├── views/ # 页面视图 │ │ └── DemoIndex.vue # 组件演示页面 │ ├── App.vue # 根组件 │ └── main.js # 入口文件 ├── index.html # HTML 模板 ├── vite.config.js # Vite 配置 └── package.json # 项目配置 ``` ## 组件说明 ### 1. MySearch 搜索组件 用于快速构建搜索表单区域。 **主要功能:** - 支持多种表单项类型:输入框、下拉选择、日期选择、日期范围、时间选择等 - 支持自动展开/收起功能 - 支持回车搜索 - 支持自定义插槽 - 支持远程数据加载 **使用示例:** ```vue ``` ### 2. MyForm 表单组件 用于快速构建数据表单。 **支持的表单项类型:** - `input` - 输入框 - `number` - 数字输入框 - `select` - 下拉选择 - `date` - 日期选择 - `time` - 时间选择 - `datetime` - 日期时间选择 - `switch` - 开关 - `radio` - 单选框 - `checkbox` - 多选框 - `textarea` - 文本域 - `upload` - 文件上传 - `editor` - 富文本编辑器 - `slot` - 自定义插槽 **使用示例:** ```vue ``` ### 3. MyTable 表格组件 基于 Element Plus Table 的封装,支持分页、排序、筛选等功能。 **主要功能:** - 支持自定义列类型:文本、图片、标签、进度条、开关、操作按钮等 - 支持选择框和序号列 - 支持分页组件 - 支持自定义插槽 - 支持行单击、双击事件 - 支持排序、筛选 **使用示例:** ```vue ``` ### 4. MyDialog 弹窗组件 基于 Element Plus Dialog 的封装。 **主要功能:** - 支持自定义标题、宽度 - 支持 loading 状态 - 支持销毁时清空内容 - 支持自定义底部插槽 - 暴露打开/关闭方法 **使用示例:** ```vue
弹窗内容
``` ## 网络请求封装 ### request.js 对 Axios 进行二次封装,提供统一请求处理。 **主要特性:** - 请求拦截:自动添加 Token、请求时间戳 - 响应拦截:统一错误处理、状态码判断 - 封装方法:`get`、`post`、`put`、`delete`、`patch` - 自动提示错误信息 **使用示例:** ```javascript import request from '@/utils/request' // GET 请求 const res = await request.get('/users', { page: 1, limit: 10 }) // POST 请求 const res = await request.post('/users', { username: 'test' }) // PUT 请求 const res = await request.put('/users/1', { username: 'test2' }) // DELETE 请求 const res = await request.delete('/users/1') ``` ### 响应数据格式 接口需要统一返回以下格式: ```json { "code": 200, "message": "操作成功", "data": {} } ``` ## 安装与运行 ```bash # 安装依赖 npm install # 启动开发服务器 npm run dev # 构建生产版本 npm run build # 预览生产版本 npm run preview ``` ## 注意事项 1. **组件使用**:所有组件均基于 Composition API 和 `