# 泰豪电源 AI 数智化平台

城市生命线智能管理系统 - Urban Lifeline

## 项目简介

基于 **"一个底座、多种智能体"** 架构的企业级 AI 数智化平台，包含四大核心业务模块：

1. **资料管理智能化** - 智能文档管理与检索
2. **招投标自动化** - 招投标全流程智能化
3. **售后客服智能化** - AI 驱动的智能客服系统
4. **企业内部知识协同** - 知识库管理与协作

## 技术架构

### 后端技术栈

- **Java 21** + **Spring Boot 3.5**
- **Spring Cloud Gateway** - API 网关
- **Nacos** - 服务注册与配置中心
- **PostgreSQL 16** - 主数据库
- **Redis 7** - 缓存
- **Dubbo 3.3** - RPC 框架

### 前端技术栈

- **Vue 3.5** (`<script setup>`)
- **TypeScript 5.7**
- **Vite 6.0** - 构建工具
- **Pinia 2.2** - 状态管理
- **Element Plus 2.9** - UI 组件库
- **pnpm 9.0 + Turborepo 2.0** - Monorepo 管理

### 核心特性：共享组件 HTTP 导入

采用 **Import Maps + ES Module** 方案，实现真正的运行时组件共享：

```vue
<script setup lang="ts">
// 直接从 HTTP URL 导入共享组件
import { UlTable } from '@shared/components'  // → http://localhost/shared/components.js
import { http } from '@shared/utils'          // → http://localhost/shared/utils.js
import { authApi } from '@shared/api'         // → http://localhost/shared/api.js
</script>
```

**工作原理**：
1. 共享包构建为 ES Module (`components.js`)
2. 部署到独立 HTTP 服务 (`http://localhost:5000`)
3. 通过 Nginx 统一代理 (`http://localhost/shared/`)
4. 浏览器通过 Import Maps 直接加载

## 快速开始

### 方式一：Docker Compose（推荐）

```bash
# 1. 启动所有服务（自动构建）
make up

# 2. 等待服务启动（约1-2分钟）
make ps

# 3. 访问应用
open http://localhost
```

### 方式二：本地开发

```bash
# 1. 安装依赖
pnpm install

# 2. 启动后端服务（需要 Java 21）
cd urbanLifelineServ
mvn spring-boot:run

# 3. 启动前端服务
cd urbanLifelineWeb
pnpm dev

# 4. 访问
open http://localhost:3000
```

## 项目结构

```
urbanLifeline/
├── urbanLifelineServ/              # 后端服务（Spring Boot）
│   ├── gateway/                    # API 网关
│   ├── auth/                       # 认证服务
│   ├── system/                     # 系统服务
│   ├── file/                       # 文件服务
│   └── common/                     # 公共模块
│
├── urbanLifelineWeb/               # 前端应用（Vue 3 Monorepo）
│   ├── packages/
│   │   ├── shared/                 # 共享组件库 
│   │   │   ├── components/         # 公共组件
│   │   │   ├── utils/              # 工具函数
│   │   │   ├── api/                # API 封装
│   │   │   └── composables/        # 组合式函数
│   │   ├── portal/                 # 主应用
│   │   ├── app-bidding/            # 招投标应用
│   │   └── app-knowledge/          # 知识协同应用
│   ├── pnpm-workspace.yaml
│   └── turbo.json
│
├── docker-compose.dev.yml          # Docker 开发环境
├── Makefile                        # 快捷命令
└── docs/                           # 文档
    ├── 前端完整指南.md              # ⭐ 前端全流程文档
    └── 数据库设计文档.md            # ⭐ 数据库全流程文档
```

## 访问地址

| 应用 | 地址 | 说明 |
|------|------|------|
| **主应用** | http://localhost/ | Portal 统一入口 |
| **招投标** | http://localhost/bidding | 招投标智能体 |
| **智能客服** | http://localhost/customer-service | 客服系统 |
| **共享组件** | http://localhost/shared/components.js | ES Module |
| **API 网关** | http://localhost/api | Gateway |
| **Nacos** | http://localhost/nacos | 注册中心 |

## 常用命令

```bash
# Docker 环境
make up          # 启动所有服务
make down        # 停止所有服务
make logs        # 查看日志
make ps          # 查看服务状态
make restart     # 重启服务
make clean       # 清理所有数据

# 单独服务
make logs-portal       # 查看主应用日志
make logs-gateway      # 查看网关日志
make restart-portal    # 重启主应用
make shell-portal      # 进入容器
make db                # 连接数据库

# 前端开发
pnpm dev               # 启动所有应用
pnpm build             # 构建所有应用
pnpm --filter portal dev    # 启动单个应用
pnpm --filter portal build  # 构建单个应用
```

## 文档索引

- **[前端完整指南](./docs/前端完整指南.md)** - ⭐ 架构、开发、部署全流程
- **[数据库完整指南](./docs/数据库完整指南.md)** - ⭐ Schema、表结构、优化方案

## 核心亮点

### 1. 共享组件运行时加载

```html
<!-- index.html -->
<script type="importmap">
{
  "imports": {
    "@shared/components": "http://localhost/shared/components.js",
    "@shared/utils": "http://localhost/shared/utils.js"
  }
}
</script>
```

```vue
<script setup lang="ts">
// 浏览器自动从 URL 加载，无需打包！
import { UlTable } from '@shared/components'
</script>
```

### 2. Monorepo + Turborepo

- 统一依赖管理
- 增量构建加速
- 任务并行执行
- 远程缓存

### 3. Docker 一键启动

- 所有服务容器化
- Nginx 统一网关
- 支持热更新（HMR）
- 数据持久化

### 4. TypeScript 全栈

- 类型安全
- 智能提示
- 重构友好

## 环境要求

### Docker 环境（推荐）
- Docker 20.10+
- Docker Compose 2.0+

### 本地开发
- Node.js 20+
- pnpm 9+
- Java 21+
- Maven 3.9+
- PostgreSQL 16+

## 开发规范

- **前端**：ESLint + Prettier + Husky
- **提交规范**：Conventional Commits
- **分支策略**：Git Flow
- **代码审查**：必须 Code Review

## License

MIT

---

**Built with ❤️ by Taihao Team**