xinli/项目介绍/项目改造说明.md

441 lines
8.9 KiB
Markdown
Raw Normal View History

2025-11-03 18:21:32 +08:00
# 项目改造说明文档
## 改造概述
本项目基于开源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进行深度定制
- 完成包名、模块名、品牌全面改造
- 建立开发规范和文档体系
- 为后续新闻业务开发做好准备
---
**改造完成!** 🎉
现在可以基于此框架进行业务功能开发了。建议先熟悉现有功能,再逐步添加新闻相关业务模块。