公开数据看板、四位 Key 录入面板、管理后台与三级权限、动态字段配置、 PostgreSQL/SQLite 双支持、数据库备份,以及本版新增的成品图上传与预览。 图片相关: - 录入表单支持相册选图与手机端直接拍照,每条记录最多 6 张 - 浏览器内压缩到最长边 1600 并剥离 EXIF,入库统一为 JPG/PNG - 二进制直接入库,现有备份自动覆盖图片,部署无需新增卷 - 详情页缩略图宫格与全屏 lightbox,公开看板同样可见 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
激光材料数据平台
用于手动录入和管理激光雕刻参数、材料物理特性及实验结果的响应式网站。电脑和手机共用一套页面,包含登录、三级权限、数据校验、审计日志、备份与恢复。
录入时可上传成品图,手机上支持直接调起相机拍照,图片在浏览器内压缩后入库;查看数据详情时可以放大预览。
管理员可在运行期间添加扩展数据字段,配置必填/可选、公开性、排序、单位和输入形式。字段配置修改或停用不会删除历史数据。
系统入口:
/:公开数据看板,无需登录。/entry:四位 Key 验证后的专用数据录入面板。/admin:登录后的管理后台。
一键部署(推荐)
要求:Docker Desktop 或 Docker Engine + Compose。
macOS / Linux 可直接执行:
./start.sh
脚本会自动生成安全配置、启动 Docker Desktop、构建服务、等待健康检查并打开浏览器。已有 .env 和数据库不会被覆盖。
也可以手动部署:
cp .env.example .env
# 编辑 .env,务必修改 APP_SECRET、ADMIN_PASSWORD,并增加 POSTGRES_PASSWORD
docker compose up -d --build
浏览器打开 http://服务器地址:5980 查看公开数据;管理登录地址为 /login。端口可通过 .env 的 APP_PORT 修改。首次登录使用 .env 中的 ADMIN_USERNAME / ADMIN_PASSWORD,系统会提示修改初始密码。
如果服务器无法访问官方 PyPI,可在 .env 设置可访问的内部镜像,例如 PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simple,然后重新执行 docker compose up -d --build。
停止服务:docker compose down。查看日志:docker compose logs -f web。数据存放在 Docker 的 postgres_data 卷,备份文件在项目的 backups/ 目录。
本地开发
python3 -m venv .venv
.venv/bin/pip install -r requirements-dev.txt
cp .env.example .env
.venv/bin/python run.py
默认使用 data/laser_data.db(SQLite),适合单机开发;正式部署使用 Compose 中的 PostgreSQL 17。
文档
角色
| 角色 | 查看 | 新增/编辑 | 删除 | 用户/备份/审计 |
|---|---|---|---|---|
admin 管理员 |
✓ | ✓ | ✓ | ✓ |
uploader 录入员 |
✓ | ✓ | — | — |
viewer 只读用户 |
✓ | — | — | — |