252 lines
5.3 KiB
Markdown
252 lines
5.3 KiB
Markdown
# Admin Framework Demo
|
||
|
||
本目录包含 Admin Framework 的使用示例,提供两种使用方式:
|
||
|
||
## 📁 文件说明
|
||
|
||
### 🌐 CDN 版本(快速体验)
|
||
- **index.html** - 基础示例(CDN)
|
||
- **advanced.html** - 高级示例(CDN)
|
||
|
||
适合快速体验,所有依赖从 CDN 加载,无需安装。
|
||
|
||
### 💻 本地开发版本(推荐开发使用)
|
||
- **src/** - 源代码目录
|
||
- **main.js** - 基础示例入口
|
||
- **main-advanced.js** - 高级示例入口
|
||
- **components/** - 自定义组件
|
||
- **package.json** - 依赖配置
|
||
- **webpack.config.js** - 构建配置
|
||
|
||
所有依赖本地安装,支持热更新,适合开发调试。
|
||
|
||
---
|
||
|
||
## 🚀 使用方式
|
||
|
||
### 方式一:CDN 版本(快速体验)
|
||
|
||
#### index.html - 基础示例
|
||
最简单的使用示例,展示如何:
|
||
- 引入必要的依赖
|
||
- 初始化框架
|
||
- 创建基本应用
|
||
|
||
#### advanced.html - 高级示例
|
||
完整的使用示例,展示如何:
|
||
- 添加自定义页面组件
|
||
- 注册自定义 Vuex 模块
|
||
- 添加自定义路由
|
||
- 配置路由守卫
|
||
- 配置 Axios 拦截器
|
||
- 使用组件映射
|
||
|
||
### 方式二:本地开发版本(推荐)
|
||
|
||
查看详细文档:[README-LOCAL.md](./README-LOCAL.md)
|
||
|
||
快速开始:
|
||
```bash
|
||
# 1. 构建框架(在项目根目录)
|
||
cd ..
|
||
npm run build
|
||
|
||
# 2. 安装 demo 依赖
|
||
cd demo
|
||
npm install
|
||
|
||
# 3. 启动开发服务器
|
||
npm run dev
|
||
```
|
||
|
||
## 使用步骤
|
||
|
||
### 1. 构建框架
|
||
首先需要构建 admin-framework:
|
||
|
||
```bash
|
||
# 生产构建(压缩,无 sourcemap)
|
||
npm run build
|
||
|
||
# 开发构建(不压缩,有 sourcemap)
|
||
npm run build:dev
|
||
```
|
||
|
||
### 2. 启动示例
|
||
|
||
有以下几种方式启动示例:
|
||
|
||
#### 方式一:使用 Live Server(推荐)
|
||
1. 安装 VS Code 的 Live Server 插件
|
||
2. 右键 `index.html` 或 `advanced.html`
|
||
3. 选择 "Open with Live Server"
|
||
|
||
#### 方式二:使用 HTTP 服务器
|
||
```bash
|
||
# 安装 http-server
|
||
npm install -g http-server
|
||
|
||
# 在项目根目录运行
|
||
http-server
|
||
|
||
# 访问
|
||
# http://localhost:8080/demo/index.html
|
||
# http://localhost:8080/demo/advanced.html
|
||
```
|
||
|
||
#### 方式三:直接打开
|
||
- 双击 HTML 文件在浏览器中打开
|
||
- 注意:某些功能可能因跨域限制无法使用
|
||
|
||
## 配置说明
|
||
|
||
### 基本配置
|
||
```javascript
|
||
const config = {
|
||
title: '系统标题',
|
||
apiUrl: 'http://your-api.com/api/', // API 基础地址
|
||
uploadUrl: 'http://your-api.com/api/upload' // 上传接口地址
|
||
}
|
||
```
|
||
|
||
### 初始化框架
|
||
```javascript
|
||
framework.install(Vue, {
|
||
config: config, // 配置对象
|
||
ViewUI: iview, // iView 实例
|
||
VueRouter: VueRouter, // Vue Router
|
||
Vuex: Vuex, // Vuex
|
||
createPersistedState: null, // Vuex 持久化插件(可选)
|
||
componentMap: {} // 自定义组件映射
|
||
})
|
||
```
|
||
|
||
## 内置功能
|
||
|
||
### 1. 系统页面
|
||
- **登录页面**: `/login`
|
||
- **首页**: `/home`
|
||
- **错误页面**: `/401`, `/404`, `/500`
|
||
|
||
### 2. 系统管理
|
||
- **用户管理**: 系统用户的增删改查
|
||
- **角色管理**: 角色权限管理
|
||
- **菜单管理**: 动态菜单配置
|
||
- **日志管理**: 系统操作日志
|
||
|
||
### 3. 高级功能
|
||
- **动态表单**: 基于配置生成表单
|
||
- **动态表格**: 可配置的数据表格
|
||
- **文件上传**: 单文件/多文件上传
|
||
- **富文本编辑器**: WangEditor
|
||
- **代码编辑器**: Ace Editor
|
||
|
||
## API 使用
|
||
|
||
### HTTP 请求
|
||
```javascript
|
||
// GET 请求
|
||
framework.http.get('/api/users').then(res => {
|
||
console.log(res.data)
|
||
})
|
||
|
||
// POST 请求
|
||
framework.http.post('/api/users', {
|
||
name: '张三',
|
||
age: 25
|
||
}).then(res => {
|
||
console.log(res.data)
|
||
})
|
||
|
||
// 在组件中使用
|
||
this.$http.get('/api/users').then(res => {
|
||
console.log(res.data)
|
||
})
|
||
```
|
||
|
||
### 工具函数
|
||
```javascript
|
||
// 使用框架提供的工具函数
|
||
const tools = framework.tools
|
||
|
||
// 日期格式化
|
||
tools.formatDate(new Date(), 'yyyy-MM-dd HH:mm:ss')
|
||
|
||
// 深拷贝
|
||
tools.deepClone(obj)
|
||
|
||
// 防抖
|
||
tools.debounce(fn, 500)
|
||
|
||
// 节流
|
||
tools.throttle(fn, 500)
|
||
```
|
||
|
||
### UI 工具
|
||
```javascript
|
||
// 使用 UI 工具
|
||
const uiTool = framework.uiTool
|
||
|
||
// 成功提示
|
||
window.framework.uiTool.success('操作成功')
|
||
|
||
// 错误提示
|
||
window.framework.uiTool.error('操作失败')
|
||
|
||
// 确认对话框
|
||
window.framework.uiTool.confirm('确定删除吗?').then(() => {
|
||
// 确认后的操作
|
||
})
|
||
```
|
||
|
||
## 常见问题
|
||
|
||
### 1. 依赖库版本
|
||
确保使用以下版本的依赖库:
|
||
- Vue: 2.6.x
|
||
- Vue Router: 3.x
|
||
- Vuex: 3.x
|
||
- iView (view-design): 4.x
|
||
- Axios: 0.21.x+
|
||
|
||
### 2. 路径问题
|
||
如果无法加载 admin-framework.js,检查路径是否正确:
|
||
```html
|
||
<!-- 确保路径指向正确的文件 -->
|
||
<script src="../dist/admin-framework.js"></script>
|
||
```
|
||
|
||
### 3. API 地址
|
||
记得修改配置中的 API 地址为实际的后端地址:
|
||
```javascript
|
||
const config = {
|
||
apiUrl: 'http://your-real-api.com/api/',
|
||
uploadUrl: 'http://your-real-api.com/api/upload'
|
||
}
|
||
```
|
||
|
||
### 4. 跨域问题
|
||
如果遇到跨域问题,需要配置后端 CORS 或使用代理。
|
||
|
||
## 开发建议
|
||
|
||
1. **开发时使用 build:dev**
|
||
- 生成 sourcemap,方便调试
|
||
- 代码不压缩,易读
|
||
|
||
2. **生产时使用 build**
|
||
- 代码压缩,体积小
|
||
- 无 sourcemap,安全
|
||
|
||
3. **使用浏览器调试工具**
|
||
```javascript
|
||
// 所有实例都挂载到 window 上,方便调试
|
||
window.app // Vue 实例
|
||
window.framework // 框架实例
|
||
```
|
||
|
||
## 更多信息
|
||
|
||
查看完整文档:`../_doc/完整使用文档.md`
|
||
|