v1.3.0 release - Docker-deployable production build
This commit is contained in:
118
README.md
Normal file
118
README.md
Normal file
@@ -0,0 +1,118 @@
|
||||
# 手术图文病历报告系统
|
||||
|
||||
基于 **React 19 + TypeScript + Vite + Tailwind CSS** 开发的医疗图文报告管理前端应用。
|
||||
|
||||
> 适用于医院场景,支持手术记录图文报告的撰写、视频关键帧抽取、模板管理以及基于角色的用户权限控制。
|
||||
|
||||
---
|
||||
|
||||
## 功能特性
|
||||
|
||||
- **图文报告生成**:富文本编辑器撰写手术记录,支持本地上传图片或从手术视频中截取关键帧插入报告。
|
||||
- **报告管理**:搜索、筛选、查看、编辑、打印和删除报告。
|
||||
- **模板管理**:创建和维护报告标准模板,新建报告时可自动加载默认模板。
|
||||
- **用户管理**:超级管理员可创建/编辑/删除用户,分配角色和可视模板权限。
|
||||
- **系统设置**:配置视频抽帧百分比位置、AI API 接口地址、默认模板等全局参数。
|
||||
- **数据持久化**:所有数据存储在浏览器 `localStorage` 中,无需后端服务即可独立运行。
|
||||
|
||||
---
|
||||
|
||||
## 技术栈
|
||||
|
||||
- React 19
|
||||
- React Router DOM 7
|
||||
- TypeScript 5.8
|
||||
- Vite 6
|
||||
- Tailwind CSS 4
|
||||
- Lucide React(图标)
|
||||
|
||||
---
|
||||
|
||||
## 快速开始
|
||||
|
||||
### 本地开发
|
||||
|
||||
```bash
|
||||
# 安装依赖
|
||||
npm install
|
||||
|
||||
# 启动开发服务器(端口 3000)
|
||||
npm run dev
|
||||
```
|
||||
|
||||
### 环境变量
|
||||
|
||||
复制 `.env.example` 为 `.env.local` 并填入实际值:
|
||||
|
||||
```bash
|
||||
cp .env.example .env.local
|
||||
```
|
||||
|
||||
- `GEMINI_API_KEY`:Google Gemini API 密钥(预留 AI 功能)
|
||||
- `APP_URL`:应用部署后的访问地址
|
||||
|
||||
---
|
||||
|
||||
## Docker 部署
|
||||
|
||||
项目已内置 `Dockerfile`、`nginx.conf` 和 `docker-compose.yaml`,可直接构建并运行:
|
||||
|
||||
```bash
|
||||
# 构建镜像并启动容器
|
||||
docker-compose up -d --build
|
||||
|
||||
# 访问应用
|
||||
# http://localhost:8080
|
||||
```
|
||||
|
||||
### 停止服务
|
||||
|
||||
```bash
|
||||
docker-compose down
|
||||
```
|
||||
|
||||
### 构建说明
|
||||
|
||||
- **构建阶段**:使用 `node:20-alpine` 执行 `npm ci` 和 `npm run build`
|
||||
- **运行阶段**:使用 `nginx:alpine` 托管 `dist/` 静态文件
|
||||
- **SPA 支持**:`nginx.conf` 已配置 `try_files` 路由回退,刷新页面不 404
|
||||
|
||||
---
|
||||
|
||||
## 默认测试账号
|
||||
|
||||
| 账号 | 密码 | 角色 |
|
||||
|----------|--------|------------|
|
||||
| admin | 123456 | 超级管理员 |
|
||||
| manager | 123456 | 管理员 |
|
||||
| doctor | 123456 | 医生 |
|
||||
|
||||
---
|
||||
|
||||
## 项目结构
|
||||
|
||||
```
|
||||
.
|
||||
├── docker-compose.yaml # Docker Compose 配置
|
||||
├── Dockerfile # 多阶段构建镜像
|
||||
├── nginx.conf # Nginx SPA 路由配置
|
||||
├── package.json # 项目依赖与脚本
|
||||
├── public/ # 静态资源(logo、favicon)
|
||||
├── src/
|
||||
│ ├── components/ # 公共组件
|
||||
│ ├── pages/ # 页面组件
|
||||
│ ├── utils/ # 工具函数(storage、print、defaultContent)
|
||||
│ ├── App.tsx # 根组件与路由
|
||||
│ ├── main.tsx # 应用入口
|
||||
│ ├── index.css # 全局样式与 Tailwind 主题
|
||||
│ └── types.ts # TypeScript 类型定义
|
||||
└── index.html # Vite 入口 HTML
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 安全提示
|
||||
|
||||
- 本应用为纯前端应用,所有认证和授权逻辑在客户端执行。
|
||||
- 用户密码以明文形式保存在浏览器 `localStorage` 中(无后端哈希处理)。
|
||||
- 若用于生产环境,请确保部署在内网或受信任环境中。
|
||||
Reference in New Issue
Block a user