关注公众号并完成验证后即可使用
关注后在公众号发送验证码完成登录
等待验证...
本文依据 v4.1 最新源码编写:环境准备 → 初始化数据库 → 后端打包启动 → 前端构建 → Nginx 上线,
另附 AI 智能功能与常见问题排查。不想折腾?文末有官方部署服务。
v4.1 技术栈对应的环境版本要求如下。
| 组件 | 版本要求 | 说明 |
|---|---|---|
| JDK | 17 | Spring Boot 4.1 基于 Spring Framework 7.x,必须 JDK 17+ |
| Maven | 3.9+ | 多模块工程编译打包 |
| MySQL | 8.x | 业务库 qihang-erp,utf8mb4 |
| Redis | 7.x | 缓存与登录态,默认 127.0.0.1:6379 |
| Node.js | 20 LTS+(推荐 22) | Vite 8 构建前端(仅构建机需要) |
| Nginx | 任意稳定版 | 静态资源托管 + 反向代理(需支持 SSE) |
| pgvector(可选) | — | 仅 RAG 知识库需要,不装不影响主流程 |
获取源码后(GitHub / Gitee 任一),导入项目自带的初始化脚本即可,内置菜单、字典等基础数据。
# 克隆源码 & 导入数据库# GitHub
git clone https://github.com/zeasin/qihang-erp-open.git
# 或 Gitee(国内更快)
git clone https://gitee.com/qiliping/qihang-erp-open.git
mysql -uroot -p -e "CREATE DATABASE qihang-erp DEFAULT CHARACTER SET utf8mb4"
mysql -uroot -p qihang-erp < docs/qihang-erp.sql
后端默认连接 jdbc:mysql://127.0.0.1:3306/qihang-erp。如需改名或换主机,同步修改 erp-api/src/main/resources/application.yml 中的 datasource 配置。
admin / QHerp@23(登录后请立即修改密码)。
Maven 多模块工程(common / mapper / model / security / service / open-sdk / erp-api),一条命令完成打包;产物为可执行 Jar,默认端口 8088。
# 编译打包(首次会下载依赖,耐心等待)mvn clean install
# 启动(生产建议配合 systemd / supervisor 守护)
java -jar erp-api/target/erp-api-4.1.0.jar
# 指定配置覆盖示例(数据库密码等也可用启动参数注入)
java -jar erp-api/target/erp-api-4.1.0.jar \
--spring.datasource.password=YourPass123
看到 Spring 启动日志且无报错、8088 端口监听成功即启动完成。
| 配置项 | 默认值 | 位置 |
|---|---|---|
| 服务端口 | 8088 | application.yml → server.port |
| 数据库 | 127.0.0.1:3306/qihang-erp | spring.datasource.url |
| Redis | 127.0.0.1:6379 | spring.data.redis |
| DeepSeek Key | 环境变量 DEEPSEEK_API_KEY | spring.ai.deepseek.api-key |
8088 仅建议对内网/本机开放,对外统一走 Nginx 443;平台消息回调地址也请配置为 HTTPS 域名。
使用 vue3 目录的新版前端(Vue 3.5 + Element Plus + TypeScript)。生产环境 API 前缀已预置为 /prod-api,无需额外配置。
# 构建产物在 vue3/distcd vue3
npm install
npm run build
# 本地调试才需要 dev 模式(自动代理到 localhost:8088)
npm run dev
旧版 vue2 目录仍保留可供切换,但新功能均在 vue3 上迭代,推荐使用 vue3。
Vite 8 要求 Node ≥ 20.19(推荐 22 LTS)。执行 node -v 确认版本后再构建。
静态托管 + /prod-api/ 反向代理。SSE 相关三行务必保留,否则实时通知会被缓冲无法到达浏览器。
server {
listen 443 ssl;
server_name your-domain.com;
# ssl_certificate / ssl_certificate_key 按需配置
location / {
root /opt/qihangerp/erp-dist; # vue3/dist 上传目录
index index.html;
try_files $uri $uri/ /index.html;
}
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;
# --- SSE 关键配置(勿删)---
proxy_http_version 1.1;
proxy_buffering off;
proxy_read_timeout 1800s;
proxy_send_timeout 1800s;
proxy_pass http://127.0.0.1:8088/;
}
}
配置 DeepSeek API Key 并重启,即可在「AI 智能」菜单体验自然语言查数、流式对话与 AI 定时巡检。不配置不影响其他功能。
spring.ai.deepseek.api-key,或启动时注入环境变量# 方式一:环境变量注入export DEEPSEEK_API_KEY=sk-xxxxxxxx
java -jar erp-api/target/erp-api-4.1.0.jar
# 方式二:application.yml 直接配置
# spring:
# ai:
# deepseek:
# api-key: sk-xxxxxxxx
# model: deepseek-chat
qihang-erp 库已创建并导入 SQL,核对 application.yml 的 datasource 四项;也可用 --spring.datasource.* 启动参数临时覆盖验证。location /prod-api/ 指向 8088 且路径末尾带 /;F12 看 Network 中请求前缀是否为 /prod-api/。