feat: 添加员工门户项目及相关后端改造

- 新增 hzhub-portal-employee 员工门户前端项目(基于 Vue3 + Element Plus)
- 后端登录接口增加返回 nickName 字段
- 移除 KnowledgeInfoController 的 @SaCheckPermission 注解
- 删除 hzhub-portal-company 旧门户项目
- 更新项目文档和架构说明
- 添加后台运行管理脚本(start-all.sh / status-all.sh / stop-all.sh)
- 更新 docker-compose 配置

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
大壮
2026-04-13 03:47:33 +00:00
parent 4e82f8e1e2
commit 278e507e8a
1310 changed files with 7243 additions and 1248 deletions

286
SERVICE_MANAGEMENT.md Executable file
View File

@@ -0,0 +1,286 @@
# 服务管理脚本使用说明
本项目为 `hzhub-admin``hzhub-ai``hzhub-portal-employee` 三个项目提供了后台运行管理脚本,方便开发调试。
## 📋 脚本列表
每个项目根目录下都包含以下脚本:
| 脚本 | 功能 | 说明 |
|------|------|------|
| `start.sh` | 启动服务 | 后台启动开发服务器 |
| `stop.sh` | 停止服务 | 停止后台运行的服务 |
| `restart.sh` | 重启服务 | 先停止后启动 |
| `status.sh` | 查看状态 | 查看服务运行状态和最新日志 |
| `logs.sh` | 查看日志 | 实时查看服务日志 |
## 🚀 快速开始
### 1. 启动后端服务 (hzhub-ai)
```bash
cd /data/hzhub/hzhub-ai
./start.sh
```
**输出示例:**
```
=========================================
启动 hzhub-ai 后端服务
=========================================
🚀 启动 Spring Boot 服务...
⏳ 等待服务启动中...
✅ 服务启动成功
PID: 12345
日志: /data/hzhub/hzhub-ai/logs/backend.log
API: http://localhost:6039
```
**访问地址:** http://localhost:6039
### 2. 启动管理后台 (hzhub-admin)
```bash
cd /data/hzhub/hzhub-admin
./start.sh
```
**访问地址:** http://localhost:5666
### 3. 启动员工门户 (hzhub-portal-employee)
```bash
cd /data/hzhub/hzhub-portal-employee
./start.sh
```
**访问地址:** http://localhost:5137
## 📊 查看服务状态
```bash
# 查看后端服务状态
cd /data/hzhub/hzhub-ai
./status.sh
# 查看管理后台状态
cd /data/hzhub/hzhub-admin
./status.sh
# 查看员工门户状态
cd /data/hzhub/hzhub-portal-employee
./status.sh
```
**输出示例:**
```
=========================================
hzhub-ai 服务状态
=========================================
状态: 🟢 运行中
PID: 12345
PID PPID CMD ELAPSED
12345 1 mvn spring-boot:run -Dspring- 00:15:32
日志文件: /data/hzhub/hzhub-ai/logs/backend.log
API地址: http://localhost:6039
端口状态: ✅ 6039 端口正在监听
```
## 📝 查看实时日志
```bash
# 查看后端日志
cd /data/hzhub/hzhub-ai
./logs.sh
# 或直接使用tail命令
tail -f /data/hzhub/hzhub-ai/logs/backend.log
```
`Ctrl+C` 退出日志查看。
## 🔄 重启服务
```bash
# 重启后端服务
cd /data/hzhub/hzhub-ai
./restart.sh
# 重启管理后台
cd /data/hzhub/hzhub-admin
./restart.sh
# 重启员工门户
cd /data/hzhub/hzhub-portal-employee
./restart.sh
```
## 🛑 停止服务
```bash
# 停止后端服务
cd /data/hzhub/hzhub-ai
./stop.sh
# 停止管理后台
cd /data/hzhub/hzhub-admin
./stop.sh
# 停止员工门户
cd /data/hzhub/hzhub-portal-employee
./stop.sh
```
## 💡 使用技巧
### 启动顺序建议
1. **先启动后端服务** (hzhub-ai)
```bash
cd /data/hzhub/hzhub-ai && ./start.sh
```
2. **等待后端完全启动** (约30-60秒)
```bash
./status.sh # 查看端口6039是否监听
```
3. **启动前端应用**
```bash
cd /data/hzhub/hzhub-admin && ./start.sh
cd /data/hzhub/hzhub-portal-employee && ./start.sh
```
### 一键启动所有服务
创建一个启动脚本 `/data/hzhub/start-all.sh`
```bash
#!/bin/bash
echo "启动所有 HZHub 服务..."
cd /data/hzhub/hzhub-ai
./start.sh
sleep 10
cd /data/hzhub/hzhub-admin
./start.sh
cd /data/hzhub/hzhub-portal-employee
./start.sh
echo "所有服务启动完成!"
```
### 一键停止所有服务
创建一个停止脚本 `/data/hzhub/stop-all.sh`
```bash
#!/bin/bash
echo "停止所有 HZHub 服务..."
cd /data/hzhub/hzhub-portal-employee
./stop.sh
cd /data/hzhub/hzhub-admin
./stop.sh
cd /data/hzhub/hzhub-ai
./stop.sh
echo "所有服务已停止!"
```
## ⚙️ 服务信息
| 项目 | 端口 | 日志文件 | PID文件 |
|------|------|----------|---------|
| hzhub-ai | 6039 | logs/backend.log | .pid |
| hzhub-admin | 5666 | logs/dev.log | .pid |
| hzhub-portal-employee | 5137 | logs/dev.log | .pid |
## 🔍 常见问题
### Q: 服务启动失败怎么办?
**A:** 检查以下几点:
1. 查看日志文件:`./logs.sh` 或 `tail -f logs/*.log`
2. 检查端口是否被占用:`netstat -tuln | grep 端口号`
3. 确认依赖是否安装:前端项目执行 `pnpm install`
4. 后端项目检查 Maven 是否可用:`mvn -v`
### Q: 如何确认服务是否完全启动?
**A:**
- **后端服务**:执行 `./status.sh` 查看6039端口是否监听
- **前端服务**:访问对应端口查看页面是否正常显示
### Q: PID文件损坏怎么办
**A:** 手动删除PID文件
```bash
rm .pid
./start.sh
```
### Q: 进程僵死无法停止?
**A:** 查找并强制终止进程:
```bash
# 查找进程
ps aux | grep "spring-boot\|vite\|pnpm"
# 强制终止
kill -9 <PID>
# 清理PID文件
rm .pid
```
## 📁 日志管理
### 日志位置
所有日志都保存在各项目的 `logs/` 目录下:
```
hzhub-ai/
├── logs/
│ └── backend.log
hzhub-admin/
├── logs/
│ └── dev.log
hzhub-portal-employee/
├── logs/
│ └── dev.log
```
### 日志轮转
建议定期清理日志文件:
```bash
# 清空日志文件
> logs/backend.log
# 或删除旧日志
rm logs/*.log
```
## ⚠️ 注意事项
1. **端口冲突**:确保端口 6039、5666、5137 未被其他服务占用
2. **资源占用**后端服务启动较慢30-60秒请耐心等待
3. **开发模式**:这些脚本仅用于开发调试,生产环境请使用 Docker 部署
4. **数据持久化**:前端开发服务器会自动热重载,后端服务需要手动重启
## 🔗 相关文档
- [项目主文档](../CLAUDE.md)
- [部署文档](../hzhub-deploy/README.md)
- [开发环境配置](../docs/project/plan/phase-1.md)