收起左侧

网盘下载器

0
回复
919
查看
[ 复制链接 ]

3

主题

5

回帖

0

牛值

江湖小虾

2024-12-26 11:03:10 显示全部楼层 阅读模式


# 文件管理系统文档

## 项目概述

这是一个基于 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目录下

image.png

运行后端打包

后端部署

cd clint_nas
npm install
npm run build

后端打包后 将Dockerfile docker-componse.yml dist web 上传到你nas的一个文件夹中

image.png

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

image.png

Docker 部署

修改docker-compose 中参数

image.png

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

image.png

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

image.png

这里点击确定

image.png

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

image.png

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

image.png

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

image.png

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

image.png

配置说明

前端配置

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地址

开发指南

代码规范

  1. 命名规范

    • 组件使用 PascalCase
    • 变量和函数使用 camelCase
    • 文件使用 kebab-case
  2. 目录结构规范

    • 组件放在 components 目录
    • API 相关代码放在 api 目录
    • 工具函数放在 utils 目录

性能优化

  1. 前端优化

    • 服务器自动测速选择
    • 请求结果缓存
    • 按需加载组件
  2. 后端优化

    • 响应格式化
    • 错误统一处理
    • 并发控制

安全措施

  1. CORS 配置
  2. 请求验证
  3. 错误处理
  4. 参数校验

维护指南

  1. 日志监控
  2. 错误处理
  3. 性能监控
  4. 版本更新

常见问题

  1. 文件下载失败

    • 检查 Aria2 配置
    • 检查网络连接
    • 检查存储空间
  2. 服务器连接失败

    • 检查服务器状态
    • 检查网络配置
    • 检查防火墙设置

版本历史

v1.0.0

  • 初始版本发布
  • 基础文件管理功能
  • Aria2 下载集成
收藏
送赞 1
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则