This commit is contained in:
张成
2025-10-28 16:11:23 +08:00
parent 0a723c4dfe
commit 970edeb759
6 changed files with 101 additions and 15 deletions

View File

@@ -24,10 +24,10 @@
- **错误页面** (`Page401`, `Page404`, `Page500`)
### 🛠️ 内置工具
- **HTTP 工具** (`http`) - 封装了 axios支持拦截器
- **UI 工具** (`uiTool`) - 删除确认、树形转换、响应式设置
- **功能工具** (`funTool`) - 文件下载
- **通用工具** (`tools`) - 日期格式化、UUID 生成、Cookie 操作
- **HTTP 工具** (`http`) - 封装了 axios支持拦截器、文件上传下载
- **UI 工具** (`uiTool`) - 删除确认、树形转换、响应式设置、文件下载
- **通用工具** (`tools`) - 日期格式化、UUID 生成、Cookie 操作、深拷贝
- **文件下载** - 支持 CSV 等格式的文件下载,自动处理换行符
## 🚀 快速开始
@@ -259,7 +259,7 @@ export default {
methods: {
downloadFile() {
// 文件下载
this.$funTool.downloadFile(response, 'filename.csv')
this.$uiTool.downloadFile(response, 'filename.csv')
}
}
}
@@ -406,12 +406,50 @@ export default {
const res = await this.$http.get('/api/users')
this.$uiTool.delConfirm(() => {})
this.$tools.formatDate(new Date())
this.$funTool.downloadFile(response, 'file.csv')
this.$uiTool.downloadFile(response, 'file.csv')
}
}
}
```
## 📁 文件下载功能
### 使用 downloadFile 方法
框架提供了便捷的文件下载功能,支持 CSV 等格式:
```javascript
// 在 Vue 组件中使用
export default {
methods: {
// 导出数据
exportData() {
// 调用 API 获取数据
this.$http.fileExport('/api/export', params).then(res => {
// 使用 downloadFile 下载
this.$uiTool.downloadFile(res, '数据导出.csv')
this.$Message.success('导出成功!')
}).catch(error => {
this.$Message.error('导出失败:' + error.message)
})
}
}
}
```
### 支持的数据格式
- **CSV 格式**:自动处理换行符,保持表格格式
- **Blob 对象**:支持二进制文件下载
- **文本数据**:支持纯文本文件下载
### 自动处理特性
-**换行符保持**CSV 文件的换行符会被正确保持
-**文件名处理**:自动清理文件名中的特殊字符
-**浏览器兼容**:支持所有现代浏览器
-**内存管理**:自动清理临时 URL 对象
## 📝 业务开发示例
### 创建业务页面