## 项目介绍
`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"
}修改回去
```
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
file-manage是一个基于electron-vue开发的文件管理客户端,主要功能如下:_ (133个子文件)
.babelrc 455B
dark.css 16KB
blue.css 5KB
light.css 3KB
index.ejs 790B
videoEditor.exe 37.92MB
K-Lite_Codec_Pack_1794_Basic.exe 20.62MB
LAVFilters-0.78-Installer.exe 14.54MB
dxwebsetup.exe 288KB
.gitignore 167B
.gitignore 43B
.gitkeep 0B
.gitkeep 0B
icon.ico 13KB
pg.js 27KB
file.js 23KB
file_online.js 14KB
minio.js 6KB
index.js 6KB
index.js 5KB
webpack.renderer.config.js 5KB
common.js 5KB
dev-runner.js 5KB
webpack.web.config.js 4KB
build.js 3KB
mongo.js 3KB
index.js 2KB
webpack.main.config.js 1KB
index.js 1KB
dev-client.js 1KB
ajaxRest.js 1KB
mysql.js 795B
main.js 792B
index.dev.js 739B
log.js 667B
index.js 526B
index.js 377B
index.js 343B
user.js 314B
pubsub.js 56B
index.js 37B
package-lock.json 689KB
package.json 3KB
config.json 248B
LICENSE 1KB
README.md 5KB
README.md 1012B
homepage.png 233KB
syssetting.png 189KB
task.png 157KB
logo.png 60KB
login.png 19KB
icon.png 16KB
close.png 3KB
pause.png 3KB
play.png 3KB
resources_rc.py 29KB
videoEditor.py 26KB
resources.qrc 167B
styles.qss 499B
default.scss 6KB
videoEditor.exe.spec 747B
videoEditor.spec 673B
1.0.0.sql 3KB
icon-file-pdf.svg 6KB
icon-pic.svg 3KB
icon-video.svg 3KB
transfer.svg 2KB
transfer-hover.svg 2KB
doc.svg 2KB
doc-hover.svg 2KB
icon-system-setting.svg 2KB
logo.svg 2KB
transffer-fill.svg 1KB
icon-file-xls.svg 1KB
icon-eye-hide.svg 1KB
icon-file-default.svg 1KB
icon-file-ppt.svg 1KB
icon-edit.svg 1KB
icon-file-doc.svg 1KB
close.svg 1KB
avatar.svg 1KB
doc-fill.svg 984B
icon-eye-show.svg 971B
icon-file-txt.svg 807B
close-hover.svg 788B
close-white.svg 785B
icon-folder.svg 756B
icon-start-task-hover.svg 601B
icon-start-task.svg 601B
icon-plus-white.svg 586B
icon-pause-task-hover.svg 520B
icon-pause-task.svg 520B
icon-search.svg 515B
icon-delete-gray.svg 461B
icon-delete.svg 461B
icon-delete-white.svg 458B
dialog_close_active.svg 354B
dialog_close_hover.svg 354B
dialog_close_normal.svg 351B
共 133 条
- 1
- 2
资源评论
2401_87496566
- 粉丝: 987
- 资源: 5143
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 非常好的电子设计小软件STM ISP下载器MCUISP非常好用的软件.zip
- 非常好的电子设计小软件PCtoLCD2002完美版非常好用的软件.zip
- 大数据-matlab simulink仿真
- kljsadlkljsadjlasj lksajdlsajd saldjlsajd lsa dljasj dlsa jlasd
- MATLAB基础及其应用教程:软件介绍与语言基础知识
- 非常好的电子设计小软件Axialis IconWorkshop(图标制作软件)非常好用的软件.zip
- TFT显示屏测所用试照片
- d668976e-23c7-4e42-9ddd-2e8291.html
- python 连 OceanBase 的 Oracle 租户例子
- ESP32开发板烧录固件
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功