# 项目改造说明文档 ## 改造概述 本项目基于开源RuoYi-Vue框架(v3.9.0)进行深度定制,改造为"动动脑新闻管理系统" v1.0.0。 改造时间:2025年 目标:将开源框架定制为公司专有系统,便于后续持续完善和扩展。 --- ## 一、改造内容清单 ### 1. 项目基础信息改造 #### Maven项目配置 - **GroupId**: `com.ruoyi` → `com.ddnai` - **ArtifactId**: `ruoyi` → `ry-news` - **Version**: `3.9.0` → `1.0.0` - **项目名称**: `若依管理系统` → `动动脑新闻系统` #### 模块重命名 | 原模块名 | 新模块名 | 说明 | |---------|---------|------| | ruoyi-admin | ry-news-admin | Web服务入口模块 | | ruoyi-framework | ry-news-framework | 框架核心模块 | | ruoyi-system | ry-news-system | 系统管理模块 | | ruoyi-common | ry-news-common | 通用工具模块 | | ruoyi-generator | ry-news-generator | 代码生成器模块 | | ruoyi-quartz | ry-news-quartz | 定时任务模块 | ### 2. Java包名重构 **完整重构路径:** ``` com.ruoyi.* → com.ddnai.* ``` **涉及范围:** - 所有Java源文件的package声明 - 所有import语句 - MyBatis XML映射文件的namespace - Spring配置文件的扫描路径 - 代码生成器模板 **文件修改数量:** 260+ Java文件 ### 3. 品牌标识全面更换 #### 系统名称 - `若依` → `动动脑` - `RuoYi` → `DDNAI` (英文标识) #### 修改文件清单 - ✅ 后端配置文件 (`application.yml`) - ✅ 启动Banner (`banner.txt`) - ✅ 前端配置 (`package.json`, `vue.config.js`, `settings.js`) - ✅ 数据库SQL脚本 (`ry_20250522.sql`) - ✅ README文档 - ✅ 启动脚本 (`ry.bat`, `ry.sh`) ### 4. 配置文件调整 #### application.yml ```yaml ruoyi: name: 动动脑新闻系统 version: 1.0.0 profile: D:/ddnai/uploadPath # 文件上传路径 referer: allowed-domains: localhost,127.0.0.1,ddnai.com,www.ddnai.com logging: level: com.ddnai: debug # 日志包路径 ``` #### 代码生成器配置 (generator.yml) ```yaml gen: author: ddnai packageName: com.ddnai.system tablePrefix: sys_,ddn_ # 支持新旧表前缀 ``` ### 5. 数据库改造建议 #### 现有系统表 保持原有`sys_`前缀,兼容现有数据结构: - sys_user (用户表) - sys_dept (部门表) - sys_role (角色表) - sys_menu (菜单表) - 等... #### 新业务表(建议使用新前缀) ```sql -- 新闻业务表使用 ddn_ 前缀 CREATE TABLE ddn_news (...); CREATE TABLE ddn_category (...); CREATE TABLE ddn_tag (...); ``` ### 6. 前端改造 #### package.json ```json { "name": "ry-news", "version": "1.0.0", "description": "DDNAI新闻管理系统", "author": "DDNAI", "repository": { "type": "git", "url": "https://github.com/ddnai/ry-news.git" } } ``` #### 页面标题 - 浏览器标题:`动动脑新闻管理系统` - 版权信息:`Copyright © 2025 动动脑(DDNAI). All Rights Reserved.` --- ## 二、目录结构(改造后) ``` ry-news/ ├── ry-news-admin/ # 启动模块 ├── ry-news-framework/ # 框架核心 ├── ry-news-system/ # 系统管理 ├── ry-news-common/ # 通用工具 ├── ry-news-generator/ # 代码生成器 ├── ry-news-quartz/ # 定时任务 ├── ruoyi-ui/ # 前端项目(目录名未改,内部已全部定制) ├── sql/ # 数据库脚本 ├── pom.xml # 主POM配置 ├── ry.bat # Windows启动脚本 ├── ry.sh # Linux启动脚本 └── README.md # 项目说明 ``` --- ## 三、启动配置 ### 1. 数据库配置 修改 `application-druid.yml`: ```yaml spring: datasource: druid: master: url: jdbc:mysql://localhost:3306/ry_news?useUnicode=true&characterEncoding=utf8&... username: root password: 你的密码 ``` ### 2. Redis配置 修改 `application.yml`: ```yaml spring: redis: host: localhost port: 6379 password: 你的密码 ``` ### 3. 文件上传路径 ```yaml ruoyi: profile: D:/ddnai/uploadPath # Windows # profile: /home/ddnai/uploadPath # Linux ``` ### 4. JWT密钥(必须修改!) ```yaml token: secret: 请修改为你自己的32位随机字符串 expireTime: 30 ``` --- ## 四、编译和启动 ### 后端启动 #### 方式一:IDE启动 1. 打开 `ry-news-admin/src/main/java/com/ddnai/RyNewsApplication.java` 2. 右键运行 Run 或 Debug #### 方式二:命令行启动 ```bash # 编译打包 mvn clean package -Dmaven.test.skip=true # 启动(Windows) ry.bat # 启动(Linux) ./ry.sh start ``` #### 方式三:JAR包启动 ```bash cd ry-news-admin/target java -jar ry-news-admin.jar ``` ### 前端启动 ```bash cd ruoyi-ui # 安装依赖(首次) npm install # 开发环境启动 npm run dev # 生产环境打包 npm run build:prod ``` 访问地址:`http://localhost:80` 默认账号:`admin/admin123` --- ## 五、代码生成器使用 ### 1. 配置数据源 在 `generator.yml` 中已配置: ```yaml gen: author: ddnai packageName: com.ddnai.system tablePrefix: sys_,ddn_ ``` ### 2. 使用步骤 1. 登录系统 2. 进入【系统工具】→【代码生成】 3. 点击【导入】选择数据表 4. 点击【生成】下载代码 5. 解压到对应模块目录 ### 3. 生成的代码包含 - Java实体类 (Domain) - Mapper接口和XML - Service接口和实现 - Controller控制器 - Vue前端页面 - SQL菜单脚本 --- ## 六、后续开发建议 ### 1. Git版本控制 ```bash # 建议的分支策略 git remote add origin [你的仓库地址] git branch -M master git push -u origin master # 创建开发分支 git checkout -b develop # 功能分支 git checkout -b feature/news-module ``` ### 2. 开发规范 #### 包命名规范 ``` com.ddnai.{module}.{layer} 示例: com.ddnai.news.domain # 新闻实体 com.ddnai.news.mapper # 数据访问 com.ddnai.news.service # 业务逻辑 com.ddnai.news.controller # 控制器 ``` #### 数据库表命名 ``` ddn_{module}_{table} 示例: ddn_news_article # 新闻文章表 ddn_news_category # 新闻分类表 ddn_news_tag # 新闻标签表 ``` #### 接口规范 ``` GET /news/article/list # 查询列表 GET /news/article/{id} # 查询详情 POST /news/article # 新增 PUT /news/article # 修改 DELETE /news/article/{id} # 删除 ``` ### 3. 新增业务模块 #### 步骤一:创建数据库表 ```sql CREATE TABLE ddn_news_article ( article_id BIGINT PRIMARY KEY AUTO_INCREMENT, title VARCHAR(200) NOT NULL COMMENT '标题', content TEXT COMMENT '内容', ... create_time DATETIME COMMENT '创建时间', update_time DATETIME COMMENT '更新时间' ) COMMENT='新闻文章表'; ``` #### 步骤二:使用代码生成器 1. 系统工具 → 代码生成 → 导入 2. 配置生成信息 3. 生成代码并下载 #### 步骤三:添加菜单权限 1. 系统管理 → 菜单管理 → 新增 2. 配置菜单URL和权限标识 3. 分配给相应角色 ### 4. 性能优化建议 - 使用Redis缓存热点数据 - 数据库表添加适当索引 - 大数据量查询使用分页 - 图片视频使用OSS存储 - 开启Druid监控分析SQL --- ## 七、注意事项 ### ⚠️ 安全配置(必须修改) 1. **JWT密钥** (`application.yml`) ```yaml token: secret: 修改为32位随机字符串 ``` 2. **数据库密码** (`application-druid.yml`) 3. **Redis密码** (`application.yml`) 4. **生产环境关闭Swagger** (`application.yml`) ```yaml swagger: enabled: false ``` ### 📋 清理checklist - [ ] 删除target编译目录 - [ ] 删除node_modules前端依赖 - [ ] 修改所有默认密码 - [ ] 检查敏感配置信息 - [ ] 更新README联系方式 --- ## 八、技术支持 ### 开发环境要求 - JDK 1.8+ - MySQL 5.7+ - Redis 3.0+ - Maven 3.6+ - Node.js 14+ ### 常见问题 **Q1: 编译报错找不到包?** A: 执行 `mvn clean install` 重新安装依赖 **Q2: 前端启动报错?** A: 删除 `node_modules` 和 `package-lock.json` 重新 `npm install` **Q3: 数据库连接失败?** A: 检查 `application-druid.yml` 配置和MySQL服务状态 --- ## 九、改造总结 ### 完成度 ✅ 项目基础信息改造 (100%) ✅ Java包名重构 (100%) ✅ 品牌标识更换 (100%) ✅ 配置文件调整 (100%) ✅ 前端定制化 (100%) ✅ 代码生成器配置 (100%) ✅ 文档更新 (100%) ### 改造文件统计 - Maven配置文件:7个 - Java源文件:260+ - 配置文件:15+ - 前端文件:200+ - 启动脚本:6个 - 文档文件:2个 **总计修改:480+ 文件** --- ## 十、版本历史 ### v1.0.0 (2025-10-30) - 基于RuoYi-Vue v3.9.0进行深度定制 - 完成包名、模块名、品牌全面改造 - 建立开发规范和文档体系 - 为后续新闻业务开发做好准备 --- **改造完成!** 🎉 现在可以基于此框架进行业务功能开发了。建议先熟悉现有功能,再逐步添加新闻相关业务模块。