# 一款云盘资料分享小程序 **Repository Path**: l062017/yunpanxiaocx ## Basic Information - **Project Name**: 一款云盘资料分享小程序 - **Description**: 一款开源的云盘资料小程序 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-08 - **Last Updated**: 2025-10-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, Vue, uni-app ## README # 云盘资料分享小程序 ## 项目背景 本项目因合作终止而开源,使用若依框架开发,基于若依SpringBoot + Vue + Uniapp + WebMagic技术栈,实现了云盘资料分享的核心功能。 项目可接入AdCloud,但功能不是很完善,代码不是很优雅 :joy: 。 成小丑了 :sweat: 。 雇主不结尾款 ## 技术栈 ### 后端 - **框架**: 若依SpringBoot(集成RBAC权限控制、快速开发脚手架) - **爬虫**: WebMagic(分布式数据采集引擎,支持多来源数据清洗) - **数据库**: MySQL(结构化数据存储) + Redis(高频数据缓存与并发支持) ### 前端 - **框架**: 微信小程序 Uniapp(轻量级多端适配) - **部署**: Docker容器化(可快速搭建运行环境) ## 功能展示 以下是项目功能的截图展示: ![首页](doc/Snipaste_2025-10-08_21-28-32.png) ![登录页面](doc/Snipaste_2025-10-08_21-28-16.png) ![资料列表](doc/Snipaste_2025-10-08_21-27-38.png) ![个人中心](doc/Snipaste_2025-10-08_21-28-54.png) ## 项目结构 项目由多个模块组成,主要模块如下: ### ruoyi-admin - **功能**: 后台管理模块,包含权限控制、菜单管理、日志记录等功能。 - **核心类**: - `RuoYiApplication`: SpringBoot启动类。 - `CaptchaController`: 验证码生成控制器。 - `CommonController`: 文件上传下载控制器。 - `SysUserController`: 用户管理控制器。 - `SysRoleController`: 角色管理控制器。 - `SysMenuController`: 菜单管理控制器。 - `SysDictDataController`: 字典数据管理控制器。 - `SysDeptController`: 部门管理控制器。 - `SysLoginController`: 登录控制器。 - `SysRegisterController`: 注册控制器。 - `SysOperlogController`: 操作日志控制器。 - `SysLogininforController`: 登录日志控制器。 - `ServerController`: 服务器信息控制器。 - `CacheController`: 缓存管理控制器。 ### ruoyi-app - **功能**: 提供小程序端接口,包括轮播图、分类、项目管理、微信绑定等功能。 - **核心类**: - `BannerController`: 轮播图接口。 - `CategoryController`: 分类管理接口。 - `ProjectController`: 项目管理接口。 - `ProjectItemController`: 项目子项管理接口。 - `WechatLoginController`: 微信登录接口。 - `WechatController`: 微信绑定/解绑接口。 - `UWechatQrcodeController`: 微信二维码接口。 - `NoticeTextController`: 通知信息接口。 - `UserWechatServiceImpl`: 微信用户绑定实现类。 - `WechatServiceImpl`: 微信服务实现类。 ### ruoyi-common - **功能**: 公共模块,包含工具类、异常处理、通用实体类等。 - **核心类**: - `R`: 通用返回结果封装类。 - `AjaxResult`: Ajax请求结果封装类。 - `TableDataInfo`: 表格数据封装类。 - `RedisCache`: Redis缓存操作类。 - `FileUploadUtils`: 文件上传工具类。 - `SecurityUtils`: 安全工具类。 - `DictUtils`: 字典工具类。 - `DesensitizedUtil`: 数据脱敏工具类。 - `CardCodeServiceImpl`: 卡密生成与验证服务。 - `CarouselServiceImpl`: 轮播图服务。 - `CategoryServiceImpl`: 分类服务。 - `ProjectServiceImpl`: 项目服务。 - `ProjectItemServiceImpl`: 项目子项服务。 - `StorageConfigServiceImpl`: 存储配置服务。 - `AliyunOssUploadUtils`: 阿里云OSS上传工具。 - `QiNiuUploadUtils`: 七牛云上传工具。 - `TencentOssUploadUtils`: 腾讯云上传工具。 - `LocalUploadUtils`: 本地上传工具。 ### ruoyi-framework - **功能**: 框架核心模块,包含权限控制、日志记录、缓存管理、定时任务等功能。 - **核心类**: - `SecurityConfig`: Spring Security安全配置。 - `ApplicationConfig`: 应用配置。 - `MybatisPlusConfig`: MyBatis Plus配置。 - `RedisConfig`: Redis缓存配置。 - `DataSourceAspect`: 多数据源切面。 - `DataScopeAspect`: 数据权限切面。 - `LogAspect`: 日志记录切面。 - `RateLimiterAspect`: 限流切面。 - `TokenService`: JWT令牌服务。 - `SysLoginService`: 登录服务。 - `UserDetailsServiceImpl`: 用户详情服务。 - `PermissionService`: 权限服务。 - `AsyncManager`: 异步任务管理。 - `AsyncFactory`: 异步任务工厂。 - `AuthenticationContextHolder`: 认证上下文持有者。 - `PermissionContextHolder`: 权限上下文持有者。 - `JwtAuthenticationTokenFilter`: JWT认证过滤器。 - `AuthenticationEntryPointImpl`: 认证失败处理。 - `LogoutSuccessHandlerImpl`: 登出成功处理。 - `GlobalExceptionHandler`: 全局异常处理器。 ### ruoyi-system - **功能**: 系统模块,包含用户、角色、菜单、部门等系统管理功能。 - **核心类**: - `SysUser`: 用户实体类。 - `SysRole`: 角色实体类。 - `SysMenu`: 菜单实体类。 - `SysDept`: 部门实体类。 - `SysDictData`: 字典数据实体类。 - `SysDictType`: 字典类型实体类。 - `SysConfig`: 系统参数配置实体类。 - `SysOperLog`: 操作日志实体类。 - `SysLogininfor`: 登录日志实体类。 - `SysNotice`: 通知公告实体类。 - `SysPost`: 岗位实体类。 - `SysUserOnline`: 在线用户实体类。 - `SysUserRole`: 用户角色关联实体类。 - `SysRoleMenu`: 角色菜单关联实体类。 - `SysRoleDept`: 角色部门关联实体类。 - `SysUserPost`: 用户岗位关联实体类。 - `ISysUserService`: 用户服务接口。 - `ISysRoleService`: 角色服务接口。 - `ISysMenuService`: 菜单服务接口。 - `ISysDeptService`: 部门服务接口。 - `ISysDictDataService`: 字典数据服务接口。 - `ISysDictTypeService`: 字典类型服务接口。 - `ISysConfigService`: 系统参数配置服务接口。 - `ISysOperLogService`: 操作日志服务接口。 - `ISysLogininforService`: 登录日志服务接口。 - `ISysNoticeService`: 通知公告服务接口。 - `ISysPostService`: 岗位服务接口。 - `ISysUserOnlineService`: 在线用户服务接口。 - `SysUserServiceImpl`: 用户服务实现类。 - `SysRoleServiceImpl`: 角色服务实现类。 - `SysMenuServiceImpl`: 菜单服务实现类。 - `SysDeptServiceImpl`: 部门服务实现类。 - `SysDictDataServiceImpl`: 字典数据服务实现类。 - `SysDictTypeServiceImpl`: 字典类型服务实现类。 - `SysConfigServiceImpl`: 系统参数配置服务实现类。 - `SysOperLogServiceImpl`: 操作日志服务实现类。 - `SysLogininforServiceImpl`: 登录日志服务实现类。 - `SysNoticeServiceImpl`: 通知公告服务实现类。 - `SysPostServiceImpl`: 岗位服务实现类。 - `SysUserOnlineServiceImpl`: 在线用户服务实现类。 ### ruoyi-generator - **功能**: 代码生成模块,支持根据数据库表结构生成CRUD代码。 - **核心类**: - `GenController`: 代码生成控制器。 - `GenTable`: 代码生成表实体类。 - `GenTableColumn`: 代码生成字段实体类。 - `GenTableServiceImpl`: 代码生成服务实现类。 - `GenTableColumnServiceImpl`: 代码生成字段服务实现类。 - `GenUtils`: 代码生成工具类。 - `VelocityUtils`: 模板引擎工具类。 ### ruoyi-quartz - **功能**: 定时任务模块,支持任务调度与日志记录。 - **核心类**: - `SysJobController`: 定时任务控制器。 - `SysJobLogController`: 定时任务日志控制器。 - `SysJob`: 定时任务实体类。 - `SysJobLog`: 定时任务日志实体类。 - `ISysJobService`: 定时任务服务接口。 - `ISysJobLogService`: 定时任务日志服务接口。 - `SysJobServiceImpl`: 定时任务服务实现类。 - `SysJobLogServiceImpl`: 定时任务日志服务实现类。 - `ScheduleUtils`: 任务调度工具类。 - `RyTask`: 示例任务类。 ### ruoyi-web - **功能**: Web模块,包含前端页面、爬虫任务、卡密管理等功能。 - **核心类**: - `CardCodeController`: 卡密管理控制器。 - `CarouselController`: 轮播图管理控制器。 - `ProjectController`: 项目管理控制器。 - `ProjectItemsController`: 项目子项管理控制器。 - `StorageConfigController`: 存储配置管理控制器。 - `WebCateController`: 分类管理控制器。 - `WechatQrcodeController`: 微信二维码管理控制器。 - `ProjectPageProcessor`: 爬虫页面处理器。 - `ProjectPipeline`: 爬虫数据持久化管道。 - `SpiderTask`: 爬虫任务调度类。 - `HttpClientDownloader`: HTTP客户端下载器。 - `HttpClientGenerator`: HTTP客户端生成器。 - `DecryptUtil`: 解密工具类。 ### ui/RuoYi-App - **功能**: 微信小程序前端模块,基于Uniapp开发,支持多端适配。 - **核心文件**: - `App.vue`: 小程序入口组件。 - `main.js`: Vue入口文件。 - `pages.json`: 页面配置文件。 - `manifest.json`: 小程序配置文件。 - `pages/index.vue`: 首页。 - `pages/login.vue`: 登录页面。 - `pages/register.vue`: 注册页面。 - `pages/project/project.vue`: 项目页面。 - `pages/mine/index.vue`: 个人中心。 - `pages/mine/info/index.vue`: 用户信息页面。 - `pages/mine/pwd/index.vue`: 修改密码页面。 - `pages/mine/setting/index.vue`: 设置页面。 - `pages/mine/help/index.vue`: 帮助页面。 - `pages/mine/about/index.vue`: 关于页面。 - `pages/mine/avatar/index.vue`: 头像上传页面。 - `pages/work/index.vue`: 工作页面。 - `pages/activation/activation.vue`: 激活页面。 - `pages/AllResources/AllResources.vue`: 所有资源页面。 - `components/uni-section/uni-section.vue`: 自定义组件。 - `static/images`: 图片资源。 - `static/font`: 字体图标资源。 - `static/scss`: 样式资源。 - `api/`: 接口调用封装。 - `permission.js`: 路由权限控制。 - `plugins/`: 插件封装。 ## 安装与部署 ### 后端部署 1. **环境准备**: - JDK 1.8+ - Maven 3.6+ - MySQL 5.7+ - Redis 6.0+ - Docker(可选) 2. **数据库初始化**: - 导入`sql/Dump20251008.sql`数据库脚本。 3. **配置修改**: - 修改`ruoyi-admin/src/main/resources/application.yml`中的数据库连接信息。 - 修改`ruoyi-framework/src/main/resources/application.yml`中的Redis连接信息。 - 修改`ruoyi-web/src/main/resources/application.yml`中的存储配置(如OSS、七牛云等)。 4. **启动项目**: - 使用Maven构建并启动: ```bash cd ruoyi-admin mvn clean package java -jar target/ruoyi-admin.jar ``` - 或使用Docker部署: ```bash docker-compose up -d ``` ### 前端部署 1. **环境准备**: - Node.js 14+ - HBuilderX 或 微信开发者工具 2. **安装依赖**: ```bash cd ui/RuoYi-App npm install ``` 3. **配置修改**: - 修改`config.js`中的API地址为后端服务地址。 4. **运行项目**: - 使用HBuilderX打开项目并运行到微信小程序。 - 或使用微信开发者工具导入项目并运行。 ## 使用说明 ### 后台管理 - **登录地址**: `/login` - **默认账号**: admin / admin123 - **功能**: - 用户管理:支持用户注册、登录、权限分配。 - 角色管理:支持角色创建、权限分配。 - 菜单管理:支持菜单创建、权限绑定。 - 字典管理:支持字典数据维护。 - 参数配置:支持系统参数配置。 - 操作日志:记录用户操作行为。 - 登录日志:记录用户登录信息。 - 在线用户:查看当前在线用户。 - 定时任务:支持任务调度与日志查看。 - 文件上传:支持本地、OSS、七牛云、腾讯云等多种存储方式。 - 卡密管理:支持卡密生成与验证。 - 微信绑定:支持微信用户绑定与解绑。 - 爬虫任务:支持自动采集网络资源。 ### 小程序端 - **首页**: 展示轮播图、分类、项目列表。 - **登录/注册**: 支持手机号注册、微信绑定。 - **项目详情**: 查看项目信息、资源链接。 - **个人中心**: 查看用户信息、修改密码、绑定微信、查看历史记录。 - **资源下载**: 支持资源下载与分享。 - **卡密激活**: 支持卡密激活资源。 - **搜索功能**: 支持按分类、关键词搜索资源。 - **微信二维码**: 支持生成微信二维码。 ## 开发与扩展 - **代码生成**: 使用`ruoyi-generator`模块,支持根据数据库表生成CRUD代码。 - **权限控制**: 使用RBAC权限模型,支持细粒度权限分配。 - **爬虫扩展**: 使用WebMagic,支持自定义爬虫任务。 - **存储扩展**: 支持本地、OSS、七牛云、腾讯云等多种存储方式。 - **接口文档**: 使用Swagger生成API文档,访问`/swagger-ui.html`查看。 ## 贡献与反馈 - **贡献代码**: 欢迎提交PR,完善功能与代码质量。 - **问题反馈**: 在Gitee项目页面提交Issue。 - **开源协议**: 本项目采用MIT协议,详情请查看`LICENSE`文件。 ## 致谢 感谢若依框架提供基础架构支持,感谢WebMagic提供爬虫能力,感谢Uniapp提供跨平台开发能力。