1、项目介绍
1.1 简介
在线文件收取助手,帮助用户快速的完成一对多的文件收取
1.2 诞生背景
校园学习或者工作场景中会有以下几个场景:
- 电子文件: 班委向同学收取各种实验电子报告
- 图片: 收取各种截图证明/活动照片
- …
目前最广泛的收取方式为,通过邮箱,QQ,微信等通讯工具传递
弊端显而易见,不方便整理统计。还占用电脑/手机内存
为了解决这个问题,此项目应运而生
当然市面上也有几款类似的办公工具 ,功能及使用方式都差不多
1.3 现有功能
1.3.1 收集任务
- 分类管理: 收集任务支持分类管理
- 设置DDL(截止日期): 任务截止后不可再提交文件
- 限制提交人员: 非指定的人员(姓名),无法提交文件
- 设置模板文件: 提交者可直接在提交页面下载此文件
- 自动重命名: 提交的文件按填写表单信息进行自动重名(如:姓名-工号.后缀)
1.3.2 文件相关
- 上传(提交): 单个/多个
- 下载: 单个/多个/按收集任务
- 撤回: 用户可以撤回自己提交的文件
- 分享: 用户可以将文件下载链接分享给朋友
- 模板下载: 下载任务发布者设置的模板文件
- 导出: 导出提交记录
1.4 官方体验地址和私有化教程
2、项目搭建
2.1 将宝塔面板升级到最新的版本,最新的版本支持PHP项目
、Java项目
、Node项目
2.2 分别下载server端
、client端
文件
client端:
https://github.com/ATQQ/easypicker2-client/archive/refs/heads/main.zip
server端:
https://github.com/ATQQ/easypicker2-server/archive/refs/heads/master.zip
2.3 宝塔面板里建立文件夹和上传并解压相对应的文件,如下图所示
2.4 宝塔面板添加Node项目
2.4.1 添加项目名称为server
的项目
2.5 宝塔面板添加PHP项目
2.5.1 进入如图所示文件夹
2.5.2 保留dist
前端所需要的静态文件,其余的删除即可
2.6 开放项目所需要的端口
server端
3000
client端
5000
2.7 进入宝塔应用商店安装docker管理器
2.8 数据库创建
数据库名称 | 作用 |
---|---|
mysql | 用于存放用户数据 |
mongodb | 用于存放登入状态 |
redis | 用于存放日志 |
2.8.1 mysql
导入相关数据
2.8.2 mongodb
为了方便统一采用docker搭建
docker pull mongo:latest
拉取官方的最新版本的镜像
docker images
使用以下命令来查看是否已安装了 mongo
docker run -itd --name mongo -p 27017:27017 mongo --auth
安装完成后,我们可以使用以下命令来运行 mongo 容器
docker ps
命令查看容器的运行信息
记住这边的NAMES
就是mongo
,到时候配置该数据库会用到!
docker exec -it mongo mongo admin
# 创建一个名为 admin,密码为 123456 的用户。
> db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]});
> # 尝试使用上面创建的用户信息进行连接。
> db.auth('admin', '123456')
总结:需要记住names,username,password,这三个参数,后面会用到
2.8.3 redis
依旧docker
部署,这也是为啥我们前面需要安装docker管理器的原因,方便容器内镜像的管理。
这里我们拉取官方的最新版本的镜像:
docker pull redis:latest
使用以下命令来查看是否已安装了 redis:
docker images
安装完成后,我们可以使用以下命令来运行 redis 容器:
$ docker run -itd --name redis-test -p 6379:6379 redis
最后我们可以通过命令查看容器的运行信息:
docker ps
设置redis密码
docker exec -it redis-test /bin/bash
redis-cli
config set requirepass 123456
# 如此,便将密码设置成了123456
设置之后,可通过以下指令查看密码
config get requirepass
总结:这里只需要记住设置的密码即可!
2.9 开放数据库端口
数据库名称 | 端口 |
---|---|
mysql | 3306 |
mongodb | 27017 |
redis | 6379 |
2.10 数据库设置
2.10.1 进入server端文件中,找到如图所示的文件,并且进入
2.10.2 数据库配置参考(mongodb和redis),mysql请自行设置
2.11 七牛云配置
收集的文档会上传到七牛云空间里,方便管理
2.11.1 官网地址
2.11.2 找到存储服务
2.11.3 创建空间
2.11.4 绑定自己的域名
因为空间送的配套域名,只能使用一个月
这里就不过多阐述了,不会的自行百度吧
2.11.5 去个人中心,找到密钥管理,复制AK和SK
2.11.6 打开如图所示文件,配置七牛云服务的AK和SK
2.11.7 其次配置域名和bucket
找到如图所示文件夹
框一为前面自己绑定存储桶的域名
框二位之前的空间名称,替换成自己的即可
2.12 搭建完成
浏览器输入:
http://localhost:5000/
即可运行本项目了
2.13 可选配置
2.13.1 域名访问
宝塔新建网站,利用反向代理即可实现,如下图
2.13.2 手动给用户加管理员身份,有两个额外的tab
数据库里 手动改一下目标用户的字段就行咯
权限字段
注册默认是 6
改成 0 就能看到 那两个tab啦
3、声明
本章教程的内容得到了这个开源项目作者的大力帮助,这里表示再次感谢,如果你喜欢这个项目,请多多支持作者!
3.1项目作者主页
:
3.2项目端主页
:
server端
: https://github.com/ATQQ/easypicker2-serverclient端
:https://github.com/ATQQ/easypicker2-client
3.3 本篇教程还有参考的资料如下
:
3.4 特殊说明
- 本篇教程适用于有宝塔面板使用基础的同学来部署项目,如果你是小白,不会的请自行百度
- 部署成功的同学,请尊重开源作者的成果,不要删除版权,谢谢大家!