# x-netdisk
![language java](https://img.shields.io/badge/language-java-green.svg) ![GitHub followers](https://img.shields.io/github/followers/xuxiake2017?label=Follow&style=social) ![GitHub stars](https://img.shields.io/github/stars/xuxiake2017/x-netdisk?style=social) ![GitHub watchers](https://img.shields.io/github/watchers/xuxiake2017/x-netdisk?style=social)
#### 项目简介
一个分布式在线网盘系统,包含一个Web IM
#### 使用需知
- 整体框架使用springboot,父子模块,前后端分离
- 使用zookeeper做服务注册与发现中心
- 使用shiro做登录认证
- 前端需配合[netdisk-app](https://github.com/xuxiake2017/netdisk-app)、[netdisk-web(待完善)](https://github.com/xuxiake2017/x-netdisk-react-preview)、[netdisk-miniapp](https://github.com/xuxiake2017/netdisk-mp-preview)使用
- 需要nginx做代理
- 需要redis
- 储蓄文件使用了分布式文件服务器FastDFS
- 数据库mysql
- 网盘文件树实现使用了mysql的储存过程
- 确保电脑上安装了mvn,而且加进了系统path中,运行`x-netdisk-web\src\main\resources\lib\install.cmd`,安装`jave-1.0.2.jar`这个lib
- docker部署在windows上遇到`world-writable config file '/etc/mysql/my.cnf' is ignored docker`的问题,把`my.cnf`设置成只读
- 不建议在windows上使用docker,会卡死(自测是这样)
- 记得修改`x-netdisk-web\src\main\resources\application.yml`中的`fdfs-nginx-server`,根据自己的配置来
#### 使用docker部署
1. 安装依赖以及打包
```shell
$ mvn install
$ mvn package
```
2. 构建自定义docker镜像
```shell
# LibreOffice的镜像源可能会失效,请自行替换
$ cd libreoffice_ffmpeg
$ ./build.sh
```
3. 启动
```shell
$ docker-compose up
# 或者是
$ docker compose up
```
#### 框架介绍
- chat简易流程图
![chat简易流程图](https://raw.githubusercontent.com/xuxiake2017/x-netdisk/master/pic/chat%E7%AE%80%E6%98%93%E6%B5%81%E7%A8%8B%E5%9B%BE.jpg)
- 文件上传时序图
![文件上传时序图](https://raw.githubusercontent.com/xuxiake2017/x-netdisk/master/pic/%E4%B8%8A%E4%BC%A0%E6%96%87%E4%BB%B6%E6%97%B6%E5%BA%8F%E5%9B%BE.jpeg)
#### 模块介绍
##### `x-netdisk-web`
- 处理web请求,可以部署多个,内部采用redis session集群共享方案
##### `x-netdisk-route`
- 路由集中处理
- 订阅子模块
- 保存、获取用户聊天的路由
- 分发请求
- 可以部署多个(无状态)
##### `x-netdisk-chat-server`(非必须)
- web im 的服务端,可以部署多个
##### `x-netdisk-quartz`
- 使用quartz处理回收站,定时清理用户回收站
- 可以部署多个,quartz自带集群方案
##### `x-netdisk-common`
- 公用mapper、entity、utils,被其他模块所依赖
##### `x-netdisk-admin`
- admin模块,admin后台管理的代码
#### 鸣谢
- [整体框架参考 crossoverJie/cim](https://github.com/crossoverJie/cim)
- [shiro session 共享实现 alexxiyang/shiro-redis](https://github.com/alexxiyang/shiro-redis)
- [FastDFS springboot 解决方案 tobato/FastDFS_Client](https://github.com/tobato/FastDFS_Client)
- [emoji 的 java 转换储存解决方案 vdurmont/emoji-java](https://github.com/vdurmont/emoji-java)
#### 更新日志
##### 2020-03-25
- 增加将socket Ip注册到zookeeper,生产环境socket Ip需要公网
- 上传README.md文件以及数据库脚本
##### 2020-03-26
- 解决项目打包问题
##### 2020-03-31
- 加入quartz定时任务框架,处理回收站
##### 2020-04-11
- 史诗级更新,项目重构,file表拆分(总算把当年犯傻建的表改了...)
##### 2020-05-20
- 增加视频缩略图
- 文件列表增加缩略图字段
##### 2020-06-25
- 增加文档转pdf
##### 2021-03-22
- 判断上传的txt文件编码,如果不是UTF-8无BOM,转码为UTF-8无BOM(解决txt文件转pdf乱码)
##### 2021-05-02
- 增加对小程序一键登录注册的支持以及自动登录
##### 2021-05-02
- 修复上传的图片大于100KB进行缩略;对上传的音频封面图大于100KB进行缩略
##### 2021-07-04
- 增加小程序登出
- 文件列表增加排序方式查询条件
##### 2022-07-29
- 重大更新,增加docker部署
##### 2022-09-15
- 增加系统日志(登录),增加短信发送日志
##### 2023-01-05
- 增加admin模块
##### 持续更新中,如果我的项目能给您带来帮助,请star一下😁
没有合适的资源?快使用搜索试试~ 我知道了~
一个分布式在线网盘系统(后端),包含一个Web IM.zip
共338个文件
java:257个
xml:26个
jar:10个
0 下载量 30 浏览量
2024-08-28
13:03:32
上传
评论
收藏 6.35MB ZIP 举报
温馨提示
项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全栈开发),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助 【资源内容】:项目具体内容可查看/点击本页面下方的*资源详情*,包含完整源码+工程文件+说明(若有)等。【若无VIP,此资源可私信获取】 【本人专注IT领域】:有任何使用问题欢迎随时与我联系,我会及时解答,第一时间为您提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【适合场景】:相关项目设计中,皆可应用在项目开发、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面中 可借鉴此优质项目实现复刻,也可基于此项目来扩展开发出更多功能 #注 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担 2. 部分字体及插图等来自网络,若是侵权请联系删除,本人不对所涉及的版权问题或内容负法律责任。收取的费用仅用于整理和收集资料耗费时间的酬劳 3. 积分资源不提供使用问题指导/解答
资源推荐
资源详情
资源评论
收起资源包目录
一个分布式在线网盘系统(后端),包含一个Web IM.zip (338个子文件)
mvnw.cmd 7KB
mvnw.cmd 6KB
mvnw.cmd 6KB
mvnw.cmd 6KB
mvnw.cmd 6KB
install.cmd 506B
build.cmd 64B
my.cnf 1KB
redis.conf 57KB
Dockerfile 2KB
Dockerfile 593B
Dockerfile 523B
Dockerfile 508B
Dockerfile 505B
Dockerfile 265B
.gitignore 395B
.gitignore 354B
jave-1.0.2.jar 5.6MB
maven-wrapper.jar 57KB
maven-wrapper.jar 50KB
maven-wrapper.jar 50KB
maven-wrapper.jar 50KB
maven-wrapper.jar 50KB
maven-wrapper.jar 50KB
alicom-mns-receive-sdk-1.1.3.jar 15KB
aliyun-java-sdk-dybaseapi-1.0.1.jar 7KB
alicom-mns-receive-sdk-1.1.3-sources.jar 6KB
FileServiceImpl.java 29KB
Convert.java 25KB
RandomName.java 23KB
WeChatServiceImpl.java 20KB
ShareFileServiceImpl.java 19KB
UserServiceImpl.java 16KB
StringUtils.java 15KB
RedisUtils.java 14KB
NetdiskErrMsgConstant.java 11KB
ChatSocketIOHandler.java 11KB
EmailSendUtil.java 9KB
HttpUtils.java 9KB
UserFriendRequestServiceImpl.java 7KB
ShiroConfig.java 7KB
IpUtils.java 7KB
RecycleServiceImpl.java 7KB
ScheduleUtil.java 7KB
UserFriendMessageServiceImpl.java 7KB
VerifyServiceImpl.java 6KB
UserServiceImpl.java 6KB
DashBoardServiceImpl.java 6KB
TokenService.java 6KB
RouteServiceImpl.java 5KB
BeanConfig.java 5KB
FileUtil.java 5KB
SmsSendUtil.java 5KB
ConvertVideoUtil.java 5KB
ListFileServiceImpl.java 5KB
MavenWrapperDownloader.java 5KB
MavenWrapperDownloader.java 5KB
MavenWrapperDownloader.java 5KB
MavenWrapperDownloader.java 5KB
MavenWrapperDownloader.java 5KB
RSAUtil.java 5KB
SecurityConfig.java 5KB
UserController.java 5KB
ServletUtils.java 4KB
CustomConfiguration.java 4KB
BeanConfig.java 4KB
UserFileMapper.java 4KB
MapEntityConvertUtils.java 4KB
NetdiskConstant.java 3KB
FileMedia.java 3KB
BeanConfig.java 3KB
StrFormatter.java 3KB
DocConverterUtil.java 3KB
SysLogServiceImpl.java 3KB
AlicomMnsReceiveHandler.java 3KB
MnsMessageListener.java 3KB
ImageServiceImpl.java 3KB
WechatUser.java 3KB
SmsLog.java 3KB
SysPasswordService.java 3KB
UserRealm.java 3KB
GlobalExceptionResolver.java 3KB
ShareFileController.java 3KB
User.java 3KB
SecurityUtils.java 3KB
FileController.java 3KB
BeanConfig.java 3KB
VerifyUserFilter.java 3KB
ImageUtil.java 3KB
FileOrigin.java 2KB
SysLog.java 2KB
FileShare.java 2KB
LoginUser.java 2KB
FastDFSClientWrapper.java 2KB
RouteController.java 2KB
QuartzScheduleManagerImpl.java 2KB
MP3Utils.java 2KB
RouteServiceImpl.java 2KB
UserFile.java 2KB
VideoTransformHandler.java 2KB
共 338 条
- 1
- 2
- 3
- 4
资源评论
专家大圣
- 粉丝: 2124
- 资源: 7863
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 一种电动汽车空调转速控制Simulink/Stateflow模型
- 最新整理-中国省、市、县夜间灯光数据集2022年
- 基于Python的简易“小猪玩水”游戏开发指南
- 1728465432125_20240901_20240930.xls
- 数据结构入门教程学习攻略 数据结构看这个章节总结就够了
- 基于Python的小猪玩水文字游戏编写指南
- 使用Pygame实现小猪玩水游戏的设计与实现
- 蓝桥杯单片机第九届初赛试题-客观题
- 西门子S7-300博途植物萃取饮料生产线控制系统程序案例,编程软件采用博途STEP7加博途WINCC RT Pro 内有CAD
- 三电平有源电力滤波器 全套软硬-件资料 基于DSP28335,两套 可以直接用的
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功