## 项目介绍
`file-manage`是一个基于`electron-vue`开发的文件管理客户端,主要功能如下:
- 支持文件上传、断点续传、急速秒传
- 支持文件下载、断点下载
- 文件数据的列表筛选、排序、分页展示
- 可为上传的文件设置自定义标签
- 支持已上传文件视频的预览
- 支持已对上传视频文件进行剪裁后导出(修改分辨率、帧率、剪裁起止时间)
- 支持已上传图片文件的预览
## 项目截图
![alt text](imgs/login.png)
![alt text](imgs/homepage.png)
![alt text](imgs/task.png)
![alt text](imgs/syssetting.png)
## 技术选型
| 技术 | 说明 | 官网 |
| ----------------- | --------------------- | ------------------------------------------------------------ |
| Electron | 客户端框架 | [https://www.electronjs.org/zh/](https://www.electronjs.org/zh/) |
| Electron-vue | 客户端框架 | [https://simulatedgreg.gitbooks.io/electron-vue/content/cn/](https://simulatedgreg.gitbooks.io/electron-vue/content/cn/) |
| Postgresql | 数据库 | [https://www.postgresql.org/](https://www.postgresql.org/) |
| Minio | 对象存储 | [https://min.io/](https://min.io/) |
| Vue | 前端框架 | [https://vuejs.org/](https://vuejs.org/) |
| Vue-router | 路由框架 | [https://router.vuejs.org/](https://router.vuejs.org/) |
| Vuex | 全局状态管理框架 | [https://vuex.vuejs.org/](https://vuex.vuejs.org/) |
| Element | 前端UI框架 | [https://element.eleme.io/](https://element.eleme.io/) |
| PyQT5 | 客户端框架 | [https://doc.qt.io/qtforpython-6/](https://doc.qt.io/qtforpython-6/) |
| ffmpeg | 多媒体处理工具 | [https://ffmpeg.org/](https://ffmpeg.org/) |
## 项目布局
``` lua
src
├── main -- electron入口文件
├── renderer -- vue主目录
├── components -- 通用组件封装
├── assets -- 图片文件
├── components -- 各vue页面
├── common -- 通用组件
├── fileList -- 文件管理页面
├── login -- 登录页
├── syssetting -- 系统设置页
├── transfer -- 传输任务页
└── index.vue -- 主路由页
├── config -- 全局配置
├── db -- postgressql、minio模块
├── http -- http通信模块
├── router -- vue-router路由配置
├── store -- vuex的状态管理
└── util -- 工具类
static -- 静态资源
pyScript -- 视频编辑模块
```
## 部署
##### 1.部署postgresql和minio
- 方式一:安装Docker后根目录运行docker-compose up -d命令使用docker-compose.yml文件部署postgresql和minio
- 方式二:直接部署postgresql和minio,具体安装步骤参考postgresql和minio官网
- 方式三:修改static/config.json文件中postgresql和minio的配置连接外部数据库
##### 2.设置依赖下载地址
- 安装nodejs 14.19.0
- npm config set metrics-registry=https://mirrors.huaweicloud.com/repository/npm/
- npm config set chromedriver_cdnurl=https://mirrors.huaweicloud.com/chromedriver
- npm config set electron_mirror=https://mirrors.huaweicloud.com/electron/
- npm config set registry=https://mirrors.huaweicloud.com/repository/npm/
##### 3.修改配置
修改static/config.json文件中的配置
##### 4.下载ffmpeg库文件
- 由于github上传文件大小的限制,需要自己下载ffmpeg.exe和ffprobe.exe到static目录
- 下载地址:[https://github.com/BtbN/FFmpeg-Builds/releases](https://github.com/BtbN/FFmpeg-Builds/releases)
##### 5.本地运行
```
npm install
npm run dev
```
##### 6.打包
```
npm run build:dir
运行build/win-unpacked文件夹内的file-manage.exe
```
## 其他
1. 最大上传的文件大小取决于minio的MINIO_API_REQUESTS_MAX,合并文件时并发请求数接近chunk数量,文件越大chunk数量越大,对并发请求数量要求越高
2. minio的bucket的Access Policy必须设置为public,否则会出现无法读取视频duration的情况
3. 视频编辑器的源代码位于/pyScript目录(基于pyQT5)
4. 第一次运行软件会自动创建postgresql的database和schema,同时创建minio的bucket
5. 当static/config.json文件中的migrate_db设置为true时,软件会从static/migrate文件夹中寻找最新版本的sql文件进行执行,当软件执行完migrate动作后会自动将migrate_db修改为false并保存
6. ctrl+P可唤出控制台
7. 如何更换icon
- 修改package.json
```
"win": {
"icon": "build/icons/icon.ico"
}
为
"win": {
"icon": "build/icons/icon.png"
}
```
- 将下载好的icon.png放置build/icons文件夹,大小最低要求256*256
- 执行npm run build:dir
- 将生成的build/icon/.icon-ico/文件夹内的icon.ico拷贝置build/icons文件夹
- 将package.json中的
```
"win": {
"icon": "build/icons/icon.png"
}修改回去
```
普通网友
- 粉丝: 1126
- 资源: 5294
最新资源
- 基于Matlab与Simulink的六自由度水下机器人滑模控制运动模型:S-function与Matlab function互换应用,实现无差度轨迹跟踪效果,注释与文档详尽解析,基于Matlab与si
- C#与Halcon运动控制视觉框架源码分享:可连线式操作,自由添加运动控制,开源二次开发无界限,C#联合Halcon运动控制源代码,视觉框架源码, 连线式,halcon程序,运动控制可以自己随意添加
- COMSOL MXene超材料吸收器的性能研究:高效能量转换与吸收机制探索,comsol MXene超材料吸收器 ,核心关键词:comsol; MXene超材料; 吸收器; 电磁波吸收 ,"Coms
- 2024工业场景人形机器人应用前景研报 1. 人形机器人产业发展概况; 2. 工业场景人形机器人应用情况分析; 3. 工业市场人形机器人竞争格局分析; 4. 工业市场人形机器人发展趋势分析
- IBMHeapAnalyzer
- 基于Simulink的船用四缸柴油机动态模型研究,包括PID控制及部件建模说明,【船用柴油机Simulink动态模型】 CI发动机 1、四缸,额定功率550kw,转速1000rpm 2、带PID控制
- 基于COMSOL的三相变压器仿真:振动噪声、温度场及多物理场耦合分析,COMSOL三相变压器仿真振动噪声温度 变压器磁致伸缩振动噪声 温度 应力 形变 温度多场耦合计算 ,船用柴油机; Simulin
- 2024创新药及供应链年度创新白皮书 2024 的中国生物医药行业已经进入触底反弹的恢复期 尽管资本仍然审慎、IPO 依然收紧, 但暖阳已经穿越寒冬,播洒暖意!
- COMSOL模拟土石混合体孔隙渗流中的细颗粒迁移运动:多场多相介质耦合分析,COMSOL孔隙渗流下的细颗粒迁移运动 对土石混合体进行了数值仿真,考虑了土石混合体孔隙变化,细颗粒侵蚀,骨架结构变形,此
- Matlab Simulink下的风储调频系统:四机两区联合仿真,快速响应与频率优化控制,附虚拟惯性与下垂控制特性,伯德图与根轨迹分析支持下的风电渗透率研究,matlab simulink 风储调频
- 递归最小二乘法在车辆前后轮胎侧偏刚度估算中的应用:实车实验验证与算法参数需求分析,基于递归最小二乘法估计的车辆前后轮胎的侧偏刚度,如仿真结果图可知,在恒定转角变化速度下,能够很好的估算出前后轮胎的平均
- Html5 Canvas绘制圆形仪表盘动画特效源码.zip
- 基于TSMC28工艺库的10bit 100MSAR ADC高性能转换技术,10bit 100M sar adc 采用的是tsmc28工艺库 ,核心关键词:10bit; 100M sar adc; t
- 四轮转向汽车Carsim-Simulink联合仿真滑模控制模型详解:包含驾驶员与车辆模型、相关文献及技术文档指南,四轮转向汽车Carsim-simulink联合仿真滑模控制模型(.cpar文件 .s
- 基于Fracman离散裂隙网络建模的水力压裂油气藏数值模拟研究,fracman离散裂隙网络建模 水力压裂 油气藏数值模拟 ,核心关键词:fracman; 离散裂隙网络建模; 水力压裂; 油气藏数值模拟
- 2024算法与AI大模型的用户认知调研报告 2024 年 8 月,我们在全国范围内发放了面向消费者的调查问卷,试图了解目前我国消费者关于 AI 大模型以及算法的认知情况
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈