# SN码管理器 **Repository Path**: xkx1029/SNcodemanger ## Basic Information - **Project Name**: SN码管理器 - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-03-24 - **Last Updated**: 2026-03-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SN码管理器 一个功能完整的SN码(序列号)管理系统,用于跟踪、管理和操作各种产品的序列号。 ## 功能特性 - **SN码管理**:支持添加、编辑、删除SN码 - **二维码/条形码功能**:为每个SN码生成二维码和条形码,支持下载 - **扫描功能**:通过摄像头扫描二维码/条形码自动填充SN码 - **标签管理**:为SN码添加标签,支持按标签筛选 - **搜索功能**:按SN码、描述或标签搜索 - **数据导入导出**:支持CSV格式的导入导出 - **响应式设计**:适配不同屏幕尺寸 ## 技术栈 ### 前端 - 纯HTML5 + CSS3 + JavaScript - 第三方库: - ZXing库:用于扫描二维码/条形码 - QRCode库:用于生成二维码 - JsBarcode库:用于生成条形码 ### 后端 - Node.js + Express框架 - 数据存储:本地JSON文件 - 依赖: - express:Web框架 - cors:处理跨域请求 - body-parser:解析请求体 ### 部署 - Docker:容器化部署 - docker-compose:多容器管理 ## 安装和运行 ### 方法一:直接运行 1. 安装Node.js(版本14+) 2. 克隆项目 3. 安装后端依赖 ```bash cd backend npm install ``` 4. 启动后端服务 ```bash npm start ``` 5. 在浏览器中打开 `frontend/index.html` 文件 ## 项目结构 ``` SNcodemanger/ ├── backend/ # 后端代码 │ ├── data.json # 数据存储文件 │ ├── package-lock.json # 依赖锁定文件 │ ├── package.json # 后端依赖配置 │ └── server.js # 后端服务器主文件 ├── frontend/ # 前端代码 │ └── index.html # 主页面(包含内联CSS和JavaScript) ├── Dockerfile # Docker构建文件 └── docker-compose.yml # Docker Compose配置 ``` ## API文档 | 方法 | 路径 | 功能 | 请求体 (JSON) | 响应 | |------|------|------|--------------|------| | GET | /api/sn-codes | 获取所有SN码(支持搜索) | N/A | SN码列表 | | GET | /api/sn-codes/:id | 获取单个SN码 | N/A | SN码详情 | | POST | /api/sn-codes | 添加新SN码 | `{"snCode": "SN123", "description": "产品描述", "tags": ["标签1", "标签2"]}` | 新SN码信息 | | PUT | /api/sn-codes/:id | 更新SN码 | `{"snCode": "SN123", "description": "更新描述", "tags": ["标签1", "标签3"]}` | 更新后的SN码信息 | | DELETE | /api/sn-codes/:id | 删除SN码 | N/A | 删除成功消息 | ## 使用说明 ### 添加SN码 1. 在"添加SN码"表单中输入SN码、描述和标签 2. 点击"添加"按钮提交 3. 可以使用"扫描"按钮通过摄像头扫描二维码/条形码自动填充SN码 ### 管理SN码 1. 在"SN码列表"中查看所有SN码 2. 使用搜索框按SN码、描述或标签搜索 3. 使用标签筛选下拉框按标签筛选 4. 点击"编辑"按钮修改SN码信息 5. 点击"删除"按钮删除SN码 6. 点击"生成码"按钮为SN码生成二维码和条形码 ### 导入导出数据 1. 点击"导出表格"按钮将所有SN码导出为CSV文件 2. 点击"导入表格"按钮从CSV文件批量导入SN码 ## 注意事项 - 扫描功能需要浏览器支持摄像头访问 - 在HTTP环境下,现代浏览器可能会限制摄像头访问,建议在HTTPS环境或localhost下使用 - 数据存储在本地JSON文件中,重启服务后数据会保留 - 导入CSV文件时,系统会自动检查SN码是否已存在,避免重复添加 ## 贡献指南 1. Fork本项目 2. 创建功能分支 (`git checkout -b feature/amazing-feature`) 3. 提交更改 (`git commit -m 'Add some amazing feature'`) 4. 推送到分支 (`git push origin feature/amazing-feature`) 5. 打开Pull Request ## 许可证 本项目采用MIT许可证 - 详见LICENSE文件 ## 联系方式 如有问题或建议,请通过GitHub Issues提出。