# test **Repository Path**: zds_212/test ## Basic Information - **Project Name**: test - **Description**: refgerfrwfwerfwfwerfwrefwerf - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-19 - **Last Updated**: 2025-05-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 健康证管理系统 这是一个使用Node.js、Express和MySQL开发的健康证管理系统,包括健康证信息的录入、编辑、查询和打印功能。 ## 系统功能 - 健康证信息录入与编辑 - 照片上传与显示 - 二维码自动生成 - 健康证打印与预览 - 批量管理健康证记录 - 数据持久化存储(MySQL) ## 技术栈 - 前端:HTML、CSS、JavaScript - 后端:Node.js、Express - 数据库:MySQL ## 安装与设置 ### 前提条件 - Node.js (v14+) - MySQL (v5.7+) - npm 或 yarn ### 安装步骤 1. **克隆项目** ```bash git clone <项目仓库地址> cd health-card-system ``` 2. **安装后端依赖** ```bash cd server npm install ``` 3. **创建并配置MySQL数据库** 在MySQL中执行: ```sql CREATE DATABASE health_card_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` 4. **配置数据库连接** 修改 `server/config/database.js` 文件中的数据库连接参数: ```javascript const db = mysql.createPool({ host: 'localhost', // 数据库主机 user: 'root', // 数据库用户名 password: 'password', // 数据库密码 database: 'health_card_db', // 数据库名称 waitForConnections: true, connectionLimit: 10, queueLimit: 0 }); ``` 5. **启动服务器** ```bash cd server npm start ``` 或者使用开发模式(自动重启): ```bash npm run dev ``` 6. **访问系统** 打开浏览器,访问 `http://localhost:3000` ## 系统架构 ### 目录结构 ``` / # 项目根目录 ├── index.js # 项目入口文件 ├── public/ # 前端静态资源目录 │ ├── index.html # 健康证编辑页面 │ ├── preview.html # 健康证预览页面 │ ├── query.html # 健康证查询管理页面 │ ├── css/ # 样式表目录 │ │ └── styles.css # 主样式表 │ ├── js/ # JavaScript目录 │ │ ├── api.js # 前端API服务 │ │ ├── edit.js # 编辑页面脚本 │ │ ├── preview.js # 预览页面脚本 │ │ └── query.js # 查询管理页面脚本 │ └── img/ # 图片资源目录 │ └── zhang.png # 默认盖章图片 └── server/ # 服务器端代码 ├── server.js # 服务器入口 ├── config/ # 配置文件 │ └── database.js # 数据库配置 ├── routes/ # 路由处理 │ ├── healthCard.js # 健康证路由 │ └── upload.js # 文件上传路由 └── uploads/ # 上传文件存储目录 ``` ## 接口说明 ### 健康证API - `GET /api/health-cards` - 获取所有健康证 - `GET /api/health-cards/index` - 获取健康证索引列表 - `GET /api/health-cards/:id` - 获取单个健康证 - `POST /api/health-cards` - 创建健康证 - `PUT /api/health-cards/:id` - 更新健康证 - `DELETE /api/health-cards/:id` - 删除健康证 - `POST /api/health-cards/batch-delete` - 批量删除健康证 ### 文件上传API - `POST /api/upload/photo` - 上传照片 - `POST /api/upload/stamp` - 上传盖章图片 - `POST /api/upload/base64` - 上传Base64编码的图片 ## 部署说明 ### 开发环境 按照安装步骤在本地部署和运行。 ### 生产环境 1. 将项目文件部署到服务器 2. 安装生产环境依赖 ```bash cd server npm install --production ``` 3. 使用PM2等工具管理Node.js进程 ```bash npm install -g pm2 pm2 start server.js --name health-card-system ``` 4. 配置Nginx或其他Web服务器作为反向代理 ```nginx server { listen 80; server_name your-domain.com; location / { proxy_pass http://localhost:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } } ``` ## 数据库结构 MySQL数据库包含以下表结构: **health_cards 表**:存储健康证信息 - id: 自增主键 - unique_id: 唯一标识符 - name: 姓名 - gender: 性别 - id_number: 编号 - age: 年龄 - type: 类型 - job_title: 工种 - issue_date: 发证日期 - expiry_date: 有效期至 - result: 体检结果 - work_unit: 单位 - hospital: 检查机构 - photo_url: 照片URL - stamp_url: 盖章图片URL - created_at: 创建时间 - updated_at: 更新时间