# 灵越智报 v2.0 后端服务(微服务架构) ## 架构概览 ``` backend/ ├── lingyue-common/ 公共模块(工具类、安全、异常、基类) ├── lingyue-graph/ 图数据核心模块(Node/Edge/Property CRUD) ├── lingyue-gateway/ API网关(路由转发、JWT校验、CORS) ├── lingyue-auth/ 认证服务(登录、用户、角色、权限、字典、配置、日志) ├── lingyue-project/ 项目服务(项目、要素、值、附件、实体、规则、导出) ├── lingyue-file/ 文件服务(上传、下载、预览、解析) ├── lingyue-ai/ AI服务(NER、LLM、AI助手) └── lingyue-task/ 任务与通知服务(异步任务、WebSocket推送) ``` ## 技术栈 - Spring Boot 3.2.x + Spring Cloud 2023.0.x - Nacos 注册中心与配置中心 - Spring Cloud Gateway 网关 - OpenFeign 服务间调用 - MyBatis-Plus + PostgreSQL 15+ - Redis 7.x - Spring Security + JWT - Knife4j (Swagger) API文档 - WebSocket (STOMP) ## 端口分配 | 服务 | 端口 | |------|------| | lingyue-gateway | 8080 | | lingyue-auth | 8001 | | lingyue-project | 8002 | | lingyue-file | 8003 | | lingyue-ai | 8004 | | lingyue-task | 8005 | ## 环境要求 - JDK 17+ - Maven 3.8+ - PostgreSQL 15+ - Redis 7+ - Nacos 2.3+ ## 快速开始 ```bash # 1. 初始化数据库 psql -U postgres -d lingyue_zhibao -f ../定稿/init_mock.sql # 2. 启动 Nacos、Redis # 3. 编译 cd backend mvn clean install -DskipTests # 4. 按顺序启动 cd lingyue-auth && mvn spring-boot:run cd lingyue-project && mvn spring-boot:run cd lingyue-file && mvn spring-boot:run cd lingyue-ai && mvn spring-boot:run cd lingyue-task && mvn spring-boot:run cd lingyue-gateway && mvn spring-boot:run ``` ## 环境变量 | 变量 | 默认值 | 说明 | |------|--------|------| | DB_HOST | 127.0.0.1 | 数据库地址 | | DB_PORT | 5432 | 数据库端口 | | DB_NAME | lingyue_zhibao | 数据库名 | | DB_USERNAME | postgres | 数据库用户 | | DB_PASSWORD | postgres | 数据库密码 | | REDIS_HOST | 127.0.0.1 | Redis地址 | | REDIS_PORT | 6379 | Redis端口 | | NACOS_SERVER_ADDR | 127.0.0.1:8848 | Nacos地址 | | JWT_SECRET | (内置默认) | JWT密钥(生产必改) | | NER_SERVICE_URL | http://127.0.0.1:5000 | NER服务地址 | | LLM_API_URL | https://api.deepseek.com/v1 | LLM API地址 | | LLM_API_KEY | (空) | LLM API密钥 | ## API文档 启动服务后访问各服务的 Knife4j 文档: - 认证服务: http://localhost:8001/doc.html - 项目服务: http://localhost:8002/doc.html - 文件服务: http://localhost:8003/doc.html - AI服务: http://localhost:8004/doc.html - 任务服务: http://localhost:8005/doc.html