# 文件管理系统文档
## 项目概述
这是一个基于 Vue.js + Node.js 构建的文件管理系统,支持文件浏览、下载和管理功能。系统分为前端(clint_nas_view)和后端(clint_nas)两个部分。
项目地址
https://gitee.com/xiaoyuab/clint-nas-down.git
### 技术栈
前端:
- Vue 3
- Vite
- Element Plus
- JavaScript
后端:
- Node.js
- Express
- Axios
- Swagger UI (API文档)
## 系统架构
### 前端架构 (clint_nas_view)
clint_nas_view/
── src/
── api/ # API 接口封装
── apiConfig.js # API 配置
── dataService.js# 数据服务
── components/ # 组件
── utils/ # 工具函数
── format.js # 格式化工具
── App.vue # 主组件
── main.js # 入口文件
### 后端架构 (clint_nas)
clint_nas/
── src/
── controllers/ # 控制器
── routes/ # 路由
── services/ # 服务层
── utils/ # 工具函数
**── app.js # 应用入口
## 核心功能
### 1. 文件管理
- 文件列表展示
- 文件夹导航
- 文件排序(按名称、修改时间、大小)
- 文件选择(单选/多选)
### 2. 下载功能
- 单文件下载
- 多文件下载
- 文件夹下载
- 使用 Aria2 进行下载管理
### 3. 智能服务器选择
- 多服务器支持
- 自动测速选择最快服务器
- 失败自动切换
## API 接口
### 主要接口
1. 获取文件列表
GET /api/get_list
参数:path (可选,默认为根目录)
2. 下载文件
GET /api/dlow
参数:
- url: 文件URL
- dir: 下载目录
- out: 输出文件名
3. 获取配置
GET /api/get_config
返回:下载路径等配置信息
## 部署指南
### 前端部署
```bash
cd clint_nas_view
在 `clint_nas_view/src/api/apiConfig.js` 中配置自己nas的访问域名:
export const API = {
BASE_URLS: [
'http://your-url:10003',
'http://your-url:10003'
],
// ... 其他配置
}
npm install
npm run build
前端打包好会生成一个dest目录
将dest目录复制到后端根目录下的web目录下

运行后端打包
后端部署
cd clint_nas
npm install
npm run build
后端打包后 将Dockerfile docker-componse.yml dist web 上传到你nas的一个文件夹中

目录结构为这样 dist为后端打包文件 web 为前端打包文件

Docker 部署
修改docker-compose 中参数

修改完成在docker compose 选择新增项目

输入项目名称 选择你刚才上传文件的路径

这里点击确定

勾选创建项目后立即启动 ,点击完成,会自动生成镜像并启动项目

当你看到的时候,就可以在docker容器中看到正在运行的项目

项目日志是这样的就是启动成功了

这时你就可以通过 设备的IP地址+ 端口号10003 来访问

配置说明
前端配置
在 clint_nas_view/src/api/apiConfig.js 中配置:
export const API = {
BASE_URLS: [
'http://your-url:10003',
'http://your-url:10003'
],
// ... 其他配置
}
后端配置
通过命令行参数配置:
node bundle.js --lp=5244 --ap=6800 --a=username --p=password --dp=/download/path --ip=192.168.1.1
参数说明:
- lp: alist监听端口
- ap: aria2端口
- a: alist账户名称
- p: alist密码
- dp: 下载根路径
- ip: 设备ip地址
开发指南
代码规范
-
命名规范
- 组件使用 PascalCase
- 变量和函数使用 camelCase
- 文件使用 kebab-case
-
目录结构规范
- 组件放在 components 目录
- API 相关代码放在 api 目录
- 工具函数放在 utils 目录
性能优化
-
前端优化
-
后端优化
安全措施
- CORS 配置
- 请求验证
- 错误处理
- 参数校验
维护指南
- 日志监控
- 错误处理
- 性能监控
- 版本更新
常见问题
-
文件下载失败
- 检查 Aria2 配置
- 检查网络连接
- 检查存储空间
-
服务器连接失败
版本历史
v1.0.0
- 初始版本发布
- 基础文件管理功能
- Aria2 下载集成
|