Files
laser-data-hub/README.md
T
broccoliandClaude Fable 5 edfb216561 激光材料数据平台 1.3.0
公开数据看板、四位 Key 录入面板、管理后台与三级权限、动态字段配置、
PostgreSQL/SQLite 双支持、数据库备份,以及本版新增的成品图上传与预览。

图片相关:
- 录入表单支持相册选图与手机端直接拍照,每条记录最多 6 张
- 浏览器内压缩到最长边 1600 并剥离 EXIF,入库统一为 JPG/PNG
- 二进制直接入库,现有备份自动覆盖图片,部署无需新增卷
- 详情页缩略图宫格与全屏 lightbox,公开看板同样可见

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-26 22:06:02 +08:00

2.6 KiB

激光材料数据平台

用于手动录入和管理激光雕刻参数、材料物理特性及实验结果的响应式网站。电脑和手机共用一套页面,包含登录、三级权限、数据校验、审计日志、备份与恢复。

录入时可上传成品图,手机上支持直接调起相机拍照,图片在浏览器内压缩后入库;查看数据详情时可以放大预览。

管理员可在运行期间添加扩展数据字段,配置必填/可选、公开性、排序、单位和输入形式。字段配置修改或停用不会删除历史数据。

系统入口:

  • /:公开数据看板,无需登录。
  • /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。端口可通过 .envAPP_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 只读用户