# hejh-web-wp **Repository Path**: happy-zz/hejh-web-wp ## Basic Information - **Project Name**: hejh-web-wp - **Description**: 毕业设计-网盘项目 网盘 毕设 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-02-19 - **Last Updated**: 2025-02-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: 网盘 ## README # hejh-web-wp # 1. 毕业设计题目 > 基于Vue+NodeJs企业网盘的设计与实现 # 2. 毕业设计目标 - 需要将这个系统设计成什么样子 - 首先对标企业版,不仅存在个人空间,还存在机构空间 - 机构空间和个人空间相互隔离,机构空间的资源不同用户有不同的权限 - 场景更具体 - 教学评估 - 文件收集 - ... - 偏向运维 - 用户登录日志(汇总、图表) - 文件操作日志(汇总、图表) - 资源用量(汇总、图表) - 为了就业 - 项目有一定的亮点和难点 # 3. 基于Vue+NodeJs企业网盘的设计与实现 ## 选题意义 我们面临的问题是,我们有大量的资源存储在本地,这样容易丢失,并且占据了大量的磁盘空间。为了解决这个问题,我们希望引入一个额外的服务器来存储这些资源,并且使得使用远程服务器上的内容就像在本地一样轻松。与市面上的网盘不同,我们希望能够实现一些常规操作,如快速下载文件、文件预览和解压,而无需支付额外的费用。相比传统的FTP站点,我们希望能够轻松地预览存储在远程服务器上的内容。 此外,我们还希望这个项目支持组织机构的文件共享。对于同一机构的不同成员,他们对机构空间文件的操作权限应有所不同。这样,在管理员收集各个成员的资料时,我们既能保证成员资料的相互隔离,又能方便地收集各成员的文件资料。 我们的目标是开发一个完善的系统,让用户能够将自己的数据存储到远程服务器,并且能够轻松地获取和使用远程服务器上的资源。同时,我们希望用户能够与机构成员进行协同数据管理。 ## 技术选型 ### 前端 浏览器端:Vue3+TS+Pinia(状态管理)+Vue-Router(路由)+Axios(网络请求)+NaiveUI(组件库) H5端+小程序端+APP端(时间允许):UniApp+Vue3+TS+Pinia(状态管理)+Axios(网络请求)+VantUI(组件库) PC端(桌面应用,时间允许):Electron ### 服务端 统一的数据库:Mysql、Redis(缓存)、Mongodb(半结构数据,例如日志) 服务端框架:Node.js+Koa2+Sequlize+Mogoose ## 功能模块 ### 用户模块 - 注册、登录、第三方登录 - 个人信息修改 - 用户自定义配置修改 - 验证码(图片验证码,滑块验证) - 密码找回 - 退出登录 - 注销账号 ### 权限模块(RBAC角色权限控制) #### 部门 - 部门的CRUD - 支持子部门 - 用户可加入多个部门 #### 角色 - 角色的CRUD(部分角色预设) - 分配角色给部门成员 #### 权限 - 权限的CRUD(一般将权限预设好) - 分配权限给角色 ### 文件模块 - 单文件上传 - 后端使用OSS吗?还是直接存储到本地上(时间允许情况下,融合存储) - 同一目录下文件名冲突的处理 - 创建副本、跳过、覆盖(用户可自定义配置) - 文件后缀名,mime类型的存储,不同后缀名的略缩图 - 文件秒传(文件指纹) - 一个文件存储到数据库,除了存储一个相对路径,还要存储一个hash值 - 分片上传(断点续传) - 分片大小(用户可配置) - 上传形式 - 对于图片(是否裁剪) - 支持拖拽上传 - 支持文件夹上传 - 对于文件夹,后端需要生成对应的文件夹 - 文件下载 - 断点下载(需要桌面应用才行,时间允许开发桌面端) - 文件分类 - 图片 - 视频 - 压缩包 - 代码 - 文档 - 其他 - 文件预览 - 图片 - 视频 - 代码 - 代码高亮,使用ACE编辑器 - 解压缩 - office文档预览 - onlyOffice插件 - 其他(时间允许再考虑) - 文件(夹)复制、移动、重命名 - 文件(夹)新建 - txt文件 - html - md - office文档格式 - 文件回收站 - 文件彻底删除 - 文件外链分享 #### 企业空间内文件 - 文件的上述基本操作 - 文件的内部协作 - 文件(夹)权限设置 ```js 系统角色 > 文件夹设定的文档权限 > 部门给用户的文档权限 ``` ### 分享模块 #### 外部分享 - 分享链接的生成 - 分享链接有效期 #### 内部分享 - 同一部门成员分享 - 外部部门成员分享 ## Project Setup ```sh npm install ``` ### Compile and Hot-Reload for Development ```sh npm run dev ``` ### Type-Check, Compile and Minify for Production ```sh npm run build ``` ### Lint with [ESLint](https://eslint.org/) ```sh npm run lint ```