xinli/项目介绍/项目改造说明.md
xiao@123.123 fdf83af45a xiao
2025-11-03 18:21:32 +08:00

8.9 KiB
Raw Blame History

项目改造说明文档

改造概述

本项目基于开源RuoYi-Vue框架v3.9.0)进行深度定制,改造为"动动脑新闻管理系统" v1.0.0。

改造时间2025年 目标:将开源框架定制为公司专有系统,便于后续持续完善和扩展。


一、改造内容清单

1. 项目基础信息改造

Maven项目配置

  • GroupId: com.ruoyicom.ddnai
  • ArtifactId: ruoyiry-news
  • Version: 3.9.01.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. 品牌标识全面更换

系统名称

  • 若依动动脑
  • RuoYiDDNAI (英文标识)

修改文件清单

  • 后端配置文件 (application.yml)
  • 启动Banner (banner.txt)
  • 前端配置 (package.json, vue.config.js, settings.js)
  • 数据库SQL脚本 (ry_20250522.sql)
  • README文档
  • 启动脚本 (ry.bat, ry.sh)

4. 配置文件调整

application.yml

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)

gen:
  author: ddnai
  packageName: com.ddnai.system
  tablePrefix: sys_,ddn_  # 支持新旧表前缀

5. 数据库改造建议

现有系统表

保持原有sys_前缀,兼容现有数据结构:

  • sys_user (用户表)
  • sys_dept (部门表)
  • sys_role (角色表)
  • sys_menu (菜单表)
  • 等...

新业务表(建议使用新前缀)

-- 新闻业务表使用 ddn_ 前缀
CREATE TABLE ddn_news (...);
CREATE TABLE ddn_category (...);
CREATE TABLE ddn_tag (...);

6. 前端改造

package.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:

spring:
  datasource:
    druid:
      master:
        url: jdbc:mysql://localhost:3306/ry_news?useUnicode=true&characterEncoding=utf8&...
        username: root
        password: 你的密码

2. Redis配置

修改 application.yml:

spring:
  redis:
    host: localhost
    port: 6379
    password: 你的密码

3. 文件上传路径

ruoyi:
  profile: D:/ddnai/uploadPath  # Windows
  # profile: /home/ddnai/uploadPath  # Linux

4. JWT密钥必须修改

token:
  secret: 请修改为你自己的32位随机字符串
  expireTime: 30

四、编译和启动

后端启动

方式一IDE启动

  1. 打开 ry-news-admin/src/main/java/com/ddnai/RyNewsApplication.java
  2. 右键运行 Run 或 Debug

方式二:命令行启动

# 编译打包
mvn clean package -Dmaven.test.skip=true

# 启动Windows
ry.bat

# 启动Linux
./ry.sh start

方式三JAR包启动

cd ry-news-admin/target
java -jar ry-news-admin.jar

前端启动

cd ruoyi-ui

# 安装依赖(首次)
npm install

# 开发环境启动
npm run dev

# 生产环境打包
npm run build:prod

访问地址:http://localhost:80

默认账号:admin/admin123


五、代码生成器使用

1. 配置数据源

generator.yml 中已配置:

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版本控制

# 建议的分支策略
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. 新增业务模块

步骤一:创建数据库表

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)

    token:
      secret: 修改为32位随机字符串
    
  2. 数据库密码 (application-druid.yml)

  3. Redis密码 (application.yml)

  4. 生产环境关闭Swagger (application.yml)

    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_modulespackage-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进行深度定制
  • 完成包名、模块名、品牌全面改造
  • 建立开发规范和文档体系
  • 为后续新闻业务开发做好准备

改造完成! 🎉

现在可以基于此框架进行业务功能开发了。建议先熟悉现有功能,再逐步添加新闻相关业务模块。