# 快速开始
**本文引用的文件**
- [backend/.env.example](file://backend/.env.example)
- [backend/requirements.txt](file://backend/requirements.txt)
- [backend/app/core/config.py](file://backend/app/core/config.py)
- [backend/app/main.py](file://backend/app/main.py)
- [backend/init_db.py](file://backend/init_db.py)
- [backend/alembic.ini](file://backend/alembic.ini)
- [docs/backend.md](file://docs/backend.md)
- [docs/frontend.md](file://docs/frontend.md)
- [docs/database.md](file://docs/database.md)
- [frontend/package.json](file://frontend/package.json)
- [frontend/vite.config.js](file://frontend/vite.config.js)
- [frontend/src/router/index.js](file://frontend/src/router/index.js)
- [frontend/src/api/request.js](file://frontend/src/api/request.js)
## 目录
1. [简介](#简介)
2. [项目结构](#项目结构)
3. [核心组件](#核心组件)
4. [架构总览](#架构总览)
5. [详细组件分析](#详细组件分析)
6. [依赖关系分析](#依赖关系分析)
7. [性能注意事项](#性能注意事项)
8. [故障排除指南](#故障排除指南)
9. [结论](#结论)
10. [附录](#附录)
## 简介
本快速开始指南面向首次部署“医院绩效管理系统”的用户,帮助你在本地完成环境搭建、依赖安装、数据库初始化与配置,并顺利启动后端与前端服务,完成首次登录与基本操作。文档同时提供默认管理员账号与初始密码、常见问题排查与系统访问指引,确保你能快速体验系统核心功能。
## 项目结构
系统采用前后端分离架构:
- 后端:基于 FastAPI + SQLAlchemy 2.0 + PostgreSQL 的异步 API 服务,提供认证、基础数据、考核、统计与工资等功能模块。
- 前端:基于 Vue 3 + Element Plus + Pinia + Vue Router 的单页应用,通过 Axios 与后端交互,路由守卫保障登录态。
```mermaid
graph TB
subgraph "后端"
A["FastAPI 应用
app/main.py"]
B["配置中心
app/core/config.py"]
C["数据库引擎/会话
app/core/database.py"]
D["初始化脚本
init_db.py"]
E["数据库迁移配置
alembic.ini"]
end
subgraph "前端"
F["Vite 开发服务器
vite.config.js"]
G["路由配置
src/router/index.js"]
H["HTTP 请求封装
src/api/request.js"]
end
U["浏览器/用户"] --> F
F --> A
A --> B
A --> C
A --> D
A --> E
U --> G
G --> H
```
图表来源
- [backend/app/main.py](file://backend/app/main.py#L15-L80)
- [backend/app/core/config.py](file://backend/app/core/config.py#L9-L47)
- [backend/init_db.py](file://backend/init_db.py#L11-L83)
- [backend/alembic.ini](file://backend/alembic.ini#L1-L44)
- [frontend/vite.config.js](file://frontend/vite.config.js#L1-L22)
- [frontend/src/router/index.js](file://frontend/src/router/index.js#L1-L116)
- [frontend/src/api/request.js](file://frontend/src/api/request.js#L1-L66)
章节来源
- [docs/backend.md](file://docs/backend.md#L16-L58)
- [docs/frontend.md](file://docs/frontend.md#L17-L48)
## 核心组件
- 后端应用入口与中间件:负责创建 FastAPI 实例、注册路由前缀、CORS、健康检查与全局异常处理。
- 配置中心:集中管理应用名称、版本、API 前缀、数据库连接、JWT 密钥与跨域白名单等。
- 初始化脚本:创建数据库表并注入默认测试数据(含默认管理员账户)。
- 前端路由与请求封装:统一 API 基址、请求头携带 Token、统一错误处理与登录态校验。
章节来源
- [backend/app/main.py](file://backend/app/main.py#L15-L80)
- [backend/app/core/config.py](file://backend/app/core/config.py#L9-L47)
- [backend/init_db.py](file://backend/init_db.py#L69-L79)
- [frontend/src/router/index.js](file://frontend/src/router/index.js#L103-L113)
- [frontend/src/api/request.js](file://frontend/src/api/request.js#L14-L63)
## 架构总览
系统启动顺序概览如下:
```mermaid
sequenceDiagram
participant Dev as "开发者"
participant Backend as "后端服务"
participant Frontend as "前端服务"
participant DB as "数据库"
Dev->>Backend : 启动后端(uvicorn)
Backend->>DB : 连接数据库(配置中心)
Backend->>Backend : 注册路由/中间件
Dev->>Frontend : 启动前端(Vite)
Frontend->>Backend : 发起登录请求(/api/v1/auth/login)
Backend-->>Frontend : 返回访问令牌(Token)
Frontend->>Backend : 带Token访问受保护接口
Backend-->>Frontend : 返回业务数据
```
图表来源
- [backend/app/main.py](file://backend/app/main.py#L19-L51)
- [backend/app/core/config.py](file://backend/app/core/config.py#L13-L16)
- [frontend/src/api/request.js](file://frontend/src/api/request.js#L14-L26)
- [frontend/src/router/index.js](file://frontend/src/router/index.js#L103-L113)
## 详细组件分析
### 环境与依赖准备
- Python 环境
- 使用 Python 3.10+(推荐 3.10 或更高),确保 pip 可用。
- 在后端目录安装依赖:参考后端开发指南中的安装命令。
- Node.js 环境
- 使用 Node.js 18+,确保 npm 可用。
- 在前端目录安装依赖:参考前端开发指南中的安装命令。
章节来源
- [docs/backend.md](file://docs/backend.md#L454-L468)
- [docs/frontend.md](file://docs/frontend.md#L380-L394)
- [backend/requirements.txt](file://backend/requirements.txt#L1-L17)
- [frontend/package.json](file://frontend/package.json#L1-L27)
### 数据库安装与配置
- 数据库选择
- 默认配置使用 PostgreSQL(异步驱动),也可使用 SQLite(用于迁移工具)。
- PostgreSQL 安装与准备
- 安装 PostgreSQL 服务,创建数据库与用户,确保网络可达。
- 修改后端环境变量或配置文件中的数据库连接串,使其指向你的数据库实例。
- Alembic 迁移配置
- 迁移工具默认使用 SQLite 路径,若使用 PostgreSQL,需调整迁移配置指向相同数据库。
章节来源
- [backend/.env.example](file://backend/.env.example#L3-L4)
- [backend/alembic.ini](file://backend/alembic.ini#L7-L7)
- [docs/database.md](file://docs/database.md#L274-L285)
### 项目克隆与初始化
- 克隆仓库到本地后,进入后端目录执行依赖安装与数据库初始化。
- 初始化数据库时,系统会自动创建所有表并写入默认测试数据(含默认管理员账户)。
章节来源
- [backend/init_db.py](file://backend/init_db.py#L11-L83)
### 环境变量配置
- 复制示例环境文件并按需修改:
- 数据库连接串(PostgreSQL)
- JWT 密钥(生产环境务必替换为足够强度的密钥)
- 调试模式与跨域白名单
- 配置文件加载优先级与缓存策略由配置模块统一管理。
章节来源
- [backend/.env.example](file://backend/.env.example#L1-L11)
- [backend/app/core/config.py](file://backend/app/core/config.py#L35-L47)
### 系统启动与访问
- 启动后端服务
- 使用 uvicorn 启动 FastAPI 应用,默认监听 0.0.0.0:8000。
- 后端提供健康检查接口与 OpenAPI 文档入口。
- 启动前端服务
- 使用 Vite 启动前端开发服务器,默认监听 0.0.0.0:5173。
- 前端通过代理将 /api 前缀转发至后端 8000 端口。
- 访问系统
- 前端地址:http://localhost:5173
- 后端文档:http://localhost:8000/api/v1/docs
章节来源
- [backend/app/main.py](file://backend/app/main.py#L83-L92)
- [frontend/vite.config.js](file://frontend/vite.config.js#L12-L20)
- [docs/backend.md](file://docs/backend.md#L460-L475)
### 默认管理员账号与初始密码
- 默认管理员用户名:admin
- 默认管理员初始密码:admin123
- 首次登录后建议立即修改密码并完善角色权限。
章节来源
- [backend/init_db.py](file://backend/init_db.py#L69-L79)
### 首次登录后的基本操作
- 登录后进入工作台,可按需进行以下基础操作:
- 基础数据管理:维护科室、员工、考核指标与指标模板。
- 考核管理:创建与管理绩效考核记录。
- 工资核算:基于考核结果生成工资核算记录。
- 统计报表:查看部门与个人的绩效统计与趋势。
- 经济核算:查看财务相关数据。
- 系统管理:维护菜单与系统参数(如适用)。
章节来源
- [frontend/src/router/index.js](file://frontend/src/router/index.js#L3-L96)
## 依赖关系分析
后端与前端的关键依赖关系如下:
```mermaid
graph LR
subgraph "后端依赖"
R1["FastAPI"]
R2["SQLAlchemy 2.0"]
R3["Pydantic/Settings"]
R4["Alembic"]
R5["asyncpg/aiosqlite"]
R6["Uvicorn"]
end
subgraph "前端依赖"
F1["Vue 3"]
F2["Vue Router"]
F3["Pinia"]
F4["Element Plus/Axios"]
F5["Vite"]
end
R1 --> R2
R1 --> R3
R1 --> R6
R2 --> R5
R4 --> R2
F1 --> F2
F1 --> F3
F4 --> R1
F5 --> F1
```
图表来源
- [backend/requirements.txt](file://backend/requirements.txt#L1-L17)
- [frontend/package.json](file://frontend/package.json#L11-L25)
章节来源
- [docs/backend.md](file://docs/backend.md#L3-L15)
- [docs/frontend.md](file://docs/frontend.md#L3-L16)
## 性能注意事项
- 数据库连接池:合理设置连接池大小与溢出数量,避免并发过高导致连接争用。
- 分页与查询:列表接口支持分页与条件过滤,建议前端按需传参,避免一次性拉取大量数据。
- 异步 I/O:后端采用异步 SQLAlchemy 与异步 PostgreSQL 驱动,注意在业务逻辑中正确使用异步上下文。
- 前端渲染:大表格与图表建议开启虚拟滚动与懒加载,减少首屏压力。
[本节为通用建议,不直接分析具体文件]
## 故障排除指南
- 后端无法启动
- 检查端口占用与防火墙设置;确认 uvicorn 启动命令与主机/端口配置。
- 查看后端日志输出,定位异常堆栈。
- 前端无法访问后端接口
- 确认前端代理配置指向后端地址;检查 /api 前缀是否一致。
- 若出现跨域问题,检查后端 CORS 配置与前端代理配置。
- 登录失败或 Token 过期
- 确认用户名与密码正确;Token 过期会触发自动跳转登录页。
- 检查后端 JWT 密钥配置与前端请求头 Authorization。
- 数据库连接失败
- 检查数据库连接串、凭据与网络连通性;确认数据库已创建且用户具备权限。
- 如使用 Alembic 进行迁移,确保迁移配置与实际数据库一致。
- 健康检查失败
- 访问后端健康检查接口,确认服务状态与版本信息。
章节来源
- [backend/app/main.py](file://backend/app/main.py#L53-L76)
- [frontend/vite.config.js](file://frontend/vite.config.js#L14-L19)
- [frontend/src/api/request.js](file://frontend/src/api/request.js#L38-L63)
- [frontend/src/router/index.js](file://frontend/src/router/index.js#L103-L113)
- [backend/app/core/config.py](file://backend/app/core/config.py#L28-L30)
## 结论
通过本快速开始指南,你可以在本地完成环境准备、依赖安装、数据库初始化与配置,并成功启动后端与前端服务。首次登录后即可进行基础数据与考核流程的体验。遇到问题时,可依据故障排除指南逐项排查。建议在生产环境中进一步完善安全配置与运维监控。
[本节为总结性内容,不直接分析具体文件]
## 附录
### 常用命令速查
- 后端
- 安装依赖:pip install -r requirements.txt
- 启动开发服务器:uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
- 运行测试:pytest
- 前端
- 安装依赖:npm install
- 启动开发服务器:npm run dev
- 构建生产包:npm run build
- 预览生产包:npm run preview
章节来源
- [docs/backend.md](file://docs/backend.md#L454-L468)
- [docs/frontend.md](file://docs/frontend.md#L380-L394)