Skip to content

Latest commit

 

History

History
247 lines (184 loc) · 9.1 KB

File metadata and controls

247 lines (184 loc) · 9.1 KB

本机开发环境信息与集成开发环境指南

本文档记录了当前主机的开发环境配置情况,并提供了在集成开发环境中开发与导入新闻发布与管理系统的指南。

1. 软件环境与安装路径

  • 集成开发环境:IntelliJ IDEA 2025.2.4

    • 安装路径:D:\Jetbrains\IntelliJ IDEA 2025.2.4
    • 说明:无全局环境变量。
  • JDK 环境:

    • 系统默认版本:OpenJDK 17.0.18 (已配置环境变量,可直接执行)
    • 本地安装路径:C:\Users\24831.jdks
    • 检测到的可用版本列表:
      • corretto-1.8.0_492 (JDK 8)
      • ms-17.0.18 (JDK 17)
      • ms-21.0.10 (JDK 21)
      • oracleJdk-21 (JDK 21)
      • corretto-23.0.2 (JDK 23)
      • corretto-24.0.2 (JDK 24)
      • openjdk-25.0.1 (JDK 25)
  • 前端开发环境:

    • Node.js版本:v22.21.1 (已配置环境变量,安装路径为 C:\nvm4w\nodejs\node.exe)
    • npm版本:10.9.4 (已配置环境变量)
    • Git版本:2.45.1.windows.1 (已配置环境变量,安装路径为 C:\Program Files\Git\cmd\git.exe)
    • 提示:如果在本机 PowerShell 终端执行 npm 命令时遇到禁止运行脚本的错误(关于 Execution_Policies 限制),可通过运行 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser 允许运行脚本,或者在执行命令时使用 npm.cmd 代替 npm
  • 数据库服务:MySQL 8.0

    • 服务名称:MySQL80
    • 服务状态:正在运行
    • 监听端口:3306
    • 安装路径:C:\Program Files\MySQL\MySQL Server 8.0
    • 本机开发账号:root
    • 本机开发密码:114514
    • 说明:无全局环境变量,命令行可使用完整路径执行 MySQL 客户端。
  • 项目构建工具:

    • Maven:本地命令行未配置全局 Maven 环境变量。
    • 本地已缓存的 Maven 包装器版本路径:
      • C:\Users\24831.m2\wrapper\dists\apache-maven-3.9.15\0226a00282e400185496f3b60ec5a3f029cbdc6893912937d4876d57695224e1
    • 集成开发环境内置的 Maven 路径:
      • D:\Jetbrains\IntelliJ IDEA 2025.2.4\plugins\maven\lib\maven3

2. 当前项目结构

目前项目已经完成基础开发,具体结构如下:

  • sql:存放数据库初始化脚本。
    • 脚本文件:d:\Code\IDEA\MoeNews\sql\init.sql。
    • 内容:创建 moenews 数据库、用户表、新闻分类表、新闻表、评论表,并写入默认用户、分类和示例新闻。
  • backend:后端 Spring Boot 3.x 项目工程。
    • 项目配置文件:d:\Code\IDEA\MoeNews\backend\pom.xml (已引入 Web、Validation、MyBatis-Plus、MySQL、Lombok、JWT 和加密等依赖)。
    • 主启动类:d:\Code\IDEA\MoeNews\backend\src\main\java\com\moenews\MoeNewsApplication.java。
    • 配置文件:d:\Code\IDEA\MoeNews\backend\src\main\resources\application.yml (已配置数据库连接、MyBatis-Plus 选项和本地上传路径)。
    • 主要包结构:
      • common:统一返回结果。
      • config:MyBatis-Plus、Web MVC、跨域、上传静态资源映射配置。
      • controller:认证、前台新闻、后台用户/分类/新闻/评论/上传/统计接口。
      • dto:请求参数对象。
      • entity:数据库实体。
      • exception:业务异常和全局异常处理。
      • mapper:MyBatis-Plus Mapper。
      • security:JWT 工具、登录用户上下文、自定义拦截器。
      • service:业务逻辑。
      • vo:接口响应视图对象。
  • frontend:前端 Vue 3 + Vite 项目工程。
    • 已完成前台新闻展示、登录注册、个人资料、后台统计、用户管理、分类管理、新闻管理、评论管理、Markdown 编辑和图片上传页面。
    • 主要目录:
      • src/api:Axios 请求封装。
      • src/layout:前台和后台布局。
      • src/router:Vue Router 路由与访问控制。
      • src/stores:Pinia 登录状态。
      • src/utils:状态选项、资源 URL 工具。
      • src/views:前台和后台页面。
  • uploads:本地上传文件目录。
    • 该目录由运行时生成,已在 .gitignore 中忽略,不提交到 Git。

3. 集成开发环境导入与开发指南

3.1 导入项目步骤

  1. 打开 IntelliJ IDEA,选择打开项目 (Open)。
  2. 选择 MoeNews 的根目录 D:\Code\IDEA\MoeNews 确认打开。
  3. 打开后,IDEA 会自动检测并提示加载 Maven 模块,点击确认或等待 Maven 自动同步依赖即可。

3.2 数据库连接与建表

  1. 本机 MySQL 服务(MySQL80)已在 3306 端口运行,请使用您的客户端工具(如 Navicat,或 IntelliJ IDEA 右侧的 Database 面板)连接到该服务。
  2. 连接账号为 root,密码为 114514
  3. 连接成功后,打开并运行位于 d:\Code\IDEA\MoeNews\sql\init.sql 的脚本,它将自动创建名为 moenews 的数据库以及相关的用户、分类、新闻和评论数据表,并导入初始的管理员、普通用户和新闻分类数据。

也可以在 PowerShell 中执行:

& 'C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql.exe' --default-character-set=utf8mb4 -uroot -p114514 -e "source D:/Code/IDEA/MoeNews/sql/init.sql"

注意:不要使用 PowerShell 的 < sql\init.sql 重定向方式导入,因为 PowerShell 不支持该 Bash 写法,且容易产生中文字符集问题。

3.3 修改后端配置文件

当前 application.yml 已配置:

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/moenews?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
    username: root
    password: 114514

如果迁移到其他机器,需要同步修改 spring.datasource.usernamespring.datasource.passwordmoenews.upload.path

3.4 后端启动与运行

  1. 在 IntelliJ IDEA 中定位到 MoeNewsApplication.java 文件。
  2. 右键点击并选择运行,后端服务将启动并监听 8080 端口。

也可以使用 IDEA 内置 Maven 在 PowerShell 中启动:

cd D:\Code\IDEA\MoeNews\backend
& 'D:\Jetbrains\IntelliJ IDEA 2025.2.4\plugins\maven\lib\maven3\bin\mvn.cmd' spring-boot:run

后端启动后可访问:

3.5 前端依赖安装与启动

  1. 在集成开发环境的内置终端窗口中,将工作目录切换到 frontend
  2. 执行以下命令安装前端依赖:
    npm.cmd install
  3. 安装完毕后,执行以下命令启动前端开发服务器:
    npm.cmd run dev
  4. 启动完成后,可通过浏览器访问前端开发控制台(通常为 http://localhost:5173)。

当前建议访问地址:


4. 默认账号与测试数据

数据库初始化后默认账号如下:

角色 用户名 密码 说明
管理员 admin 123456 可访问后台全部功能
普通用户 user 123456 可浏览新闻、发表评论、删除自己的评论

初始化脚本会创建 3 个分类和 1 条示例新闻,便于前台列表和详情页直接展示。


5. 常用调试命令

5.1 后端编译检查

cd D:\Code\IDEA\MoeNews\backend
& 'D:\Jetbrains\IntelliJ IDEA 2025.2.4\plugins\maven\lib\maven3\bin\mvn.cmd' -DskipTests compile

5.2 前端构建检查

cd D:\Code\IDEA\MoeNews\frontend
npm.cmd run build

5.3 后端接口冒烟测试

管理员登录:

Invoke-RestMethod -Uri http://localhost:8080/api/auth/login `
  -Method Post `
  -ContentType 'application/json; charset=utf-8' `
  -Body '{"username":"admin","password":"123456"}'

前台新闻列表:

Invoke-RestMethod -Uri http://localhost:8080/api/news -Method Get

5.4 检查端口占用

Get-NetTCPConnection -LocalPort 8080,5173 -State Listen -ErrorAction SilentlyContinue |
  Select-Object LocalPort,OwningProcess

5.5 停止本地服务

Get-NetTCPConnection -LocalPort 8080,5173 -State Listen -ErrorAction SilentlyContinue |
  ForEach-Object { Stop-Process -Id $_.OwningProcess -Force }

6. 已验证流程记录

当前项目已完成一次端到端流程测试:

  1. 管理员登录成功。
  2. 普通用户登录成功。
  3. 普通用户访问后台接口被拒绝。
  4. 管理员新增分类成功。
  5. 管理员上传 PNG 封面成功。
  6. 管理员发布新闻成功。
  7. 前台新闻列表能搜索到新新闻。
  8. 前台新闻详情能展示 Markdown 正文。
  9. 普通用户发表评论成功。
  10. 普通用户删除自己的评论成功。
  11. 管理员隐藏评论后,前台不再展示。
  12. 后台统计接口正常。
  13. 前端页面构建通过,后端编译通过。

测试过程中产生的上传文件位于 uploads/,该目录不参与 Git 提交。


7. 当前 Git 信息

远程仓库:

origin https://github.com/Dawn6666666/MoeNews.git