# 部署运行指南 ## 一、环境要求 | 软件 | 版本要求 | 下载地址 | |---|---|---| | JDK | **17**(必须) | [Oracle JDK 17](https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html) | | Maven | 3.8.x+ | [Maven Download](https://maven.apache.org/download.cgi) | | MySQL | 8.0+ | [MySQL Download](https://dev.mysql.com/downloads/) | | Redis | 7.x | [Redis Download](https://redis.io/download) | | MinIO | 最新稳定版(可选) | [MinIO Download](https://min.io/download) | | Node.js | 18.x+(前端) | [Node.js Download](https://nodejs.org/) | --- ## 二、数据库初始化 ```bash # 1. 登录 MySQL mysql -u root -p # 2. 执行建表脚本 source /路径/backend-service/docs/数据库设计.sql # 3. 确认表已创建 USE sjzj_chat; SHOW TABLES; ``` 预期输出: ``` +------------------------+ | Tables_in_sjzj_chat | +------------------------+ | cs_file_resource | | cs_message | | cs_order_card | | cs_read_record | | cs_seat_config | | cs_seat_waiter | | cs_session | | cs_ticket | +------------------------+ ``` --- ## 三、后端服务启动 ### 3.1 修改配置文件 编辑 `ruoyi-chat/src/main/resources/application-dev.yml`: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/sjzj_chat?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root # 修改为你的 MySQL 用户名 password: your_password # 修改为你的 MySQL 密码 redis: host: localhost port: 6379 password: # 若有密码则填写 database: 0 # MinIO 文件存储配置(可选,不配置则使用本地存储) minio: endpoint: http://localhost:9000 accessKey: minioadmin secretKey: minioadmin bucket: sjzj-chat # 本地文件存储路径(当不使用 MinIO 时) file: upload-path: /uploads/chat/ access-url: http://localhost:8080/uploads/ ``` ### 3.2 编译并启动 ```bash # 进入项目目录 cd e:\Item\shenjizhijia2\online-service\backend-service\ruoyi-chat # 编译项目(首次运行需要下载依赖,耗时较长) mvn clean compile # 启动项目 mvn spring-boot:run # 或打包后运行 mvn clean package -DskipTests java -jar target/ruoyi-chat-1.0.0.jar ``` ### 3.3 验证启动成功 控制台看到以下日志说明启动成功: ``` Started RuoyiChatApplication in 8.532 seconds (JVM running for 9.2) WebSocket server is ready on ws://localhost:8080/ws/chat ``` ### 3.4 访问 API 文档(Knife4j) ``` http://localhost:8080/doc.html ``` --- ## 四、前端服务启动 ### 4.1 PC 坐席端 (pc-web-preview) ```bash cd e:\Item\shenjizhijia2\online-service\pc-web-preview npm install npm run dev # 访问: http://localhost:5173 ``` ### 4.2 商家端 (merchant-chat-pc) ```bash cd e:\Item\shenjizhijia2\merchant-chat-pc npm install npm run dev # 访问: http://localhost:5174 ``` ### 4.3 微信小程序端 ```bash # 使用 HBuilderX 打开项目根目录 # 项目: e:\Item\shenjizhijia2\ # 运行 > 运行到浏览器 (H5调试) 或 运行到小程序模拟器 ``` --- ## 五、MinIO 文件服务启动(可选) ```bash # Windows 启动 MinIO .\minio.exe server C:\minio-data --console-address ":9001" # 访问控制台 # http://localhost:9001 (账号/密码: minioadmin/minioadmin) ``` 创建 Bucket: 1. 登录控制台 → Buckets → Create Bucket 2. 名称填:`sjzj-chat` 3. 设置为 Public(方便访问图片) --- ## 六、Redis 启动 ```bash # Windows 启动 Redis redis-server.exe redis.windows.conf # 验证 redis-cli ping # 返回 PONG 表示启动成功 ``` --- ## 七、跨域配置(开发环境) 后端已默认开启跨域,允许前端本地调试端口(5173、5174、8081)。 若需修改,编辑 `ruoyi-chat/src/main/java/com/ruoyi/chat/config/CorsConfig.java`: ```java config.addAllowedOrigin("http://localhost:5173"); // pc-web-preview config.addAllowedOrigin("http://localhost:5174"); // merchant-chat-pc ``` --- ## 八、常见问题 | 问题 | 原因 | 解决方案 | |---|---|---| | 端口 8080 被占用 | 其他服务占用 | 修改 `application.yml` 中的 `server.port` | | 数据库连接失败 | 密码或地址错误 | 检查 `application-dev.yml` 配置 | | WebSocket 断开 | Redis 未启动 | 先启动 Redis 再启动后端 | | 图片上传失败 | MinIO 未配置 | 切换为本地存储模式或启动 MinIO | | Maven 下载依赖慢 | 网络问题 | 配置阿里云 Maven 镜像仓库 | --- ## 九、Maven 镜像配置(加速依赖下载) 编辑 `~/.m2/settings.xml`,添加阿里云镜像: ```xml aliyunmaven * 阿里云公共仓库 https://maven.aliyun.com/repository/public ```