V4.1 单体应用只需 MySQL 8 与 Redis 7 两个中间件。
| 组件 | 版本 | 用途 |
|---|---|---|
| Java | 17 | 后端运行环境(Docker 部署可免装) |
| MySQL | 8.x | 业务数据库 |
| Redis | 7.x | 缓存与 Token 存储 |
| Node.js | v20.20.0+ | 前端 Vue3 构建环境(仅构建机需要) |
| Maven | 3.9 | 后端打包构建 |
创建数据库并导入项目自带的 SQL 脚本(含演示数据),字符集使用 utf8mb4。
脚本中包含演示数据,正式使用前请清空演示数据。
# 创建数据库CREATE DATABASE qihang-erp DEFAULT CHARACTER SET utf8mb4;
# 导入脚本(项目 docs/qihang-erp.sql)
mysql -u root -p qihang-erp < docs/qihang-erp.sql
修改数据源与 Redis 连接,一条命令打包,默认端口 8088。
# erp-api/src/main/resources/application.ymlspring:
data:
redis:
host: 127.0.0.1
port: 6379
datasource:
url: jdbc:mysql://127.0.0.1:3306/qihang-erp?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: 你的数据库密码
# 编译打包并运行# 编译打包
mvn clean install
# 运行后端(默认端口 8088)
java -jar erp-api/target/erp-api-4.1.0.jar
erp-api 目录内置 Dockerfile:docker build -t erp-api erp-api/ && docker run -d --name erp-api -p 8088:8088 -e DEEPSEEK_API_KEY=你的Key erp-api
前端为 Vue3 + TypeScript + Vite 工程(vue3/ 目录),由 Nginx 托管并通过 /prod-api/ 反代后端。
# 构建前端生产包# 进入前端目录(新版 vue3/,旧版 vue2/ 仍可用)
cd vue3
# 安装依赖
npm install
# 构建(产物在 dist/)
npm run build
系统支持新订单、新消息浏览器实时弹窗,生产环境务必配置 proxy_http_version 1.1 与 proxy_buffering off,否则实时通知无法生效。
# Nginx 配置(含 SSE 关键参数)server {
listen 80;
server_name your-domain.com;
# 前端静态文件
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
# 后端 API 代理
location /prod-api/ {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1; # 必须 HTTP/1.1
proxy_buffering off; # 关闭缓冲,SSE 实时推送
proxy_read_timeout 1800s;
proxy_send_timeout 1800s;
proxy_connect_timeout 60s;
proxy_pass http://127.0.0.1:8088/;
}
}
| 前端地址 | http://你的服务器IP 或域名 |
| 默认账号 | admin |
| 默认密码 | QHerp@23 |
上线生产后请第一时间修改默认密码。
在 application.yml 配置 spring.ai.deepseek.api-key(或注入环境变量 DEEPSEEK_API_KEY),重启后在「AI 智能」菜单即可自然语言查询业务数据。不配置不影响其他功能。