Commit Graph

78 Commits

Author SHA1 Message Date
62d73f36e2 refactor: 合并第三方服务类型,去重字段
1. token_service 合并到 alarm_service
   - 去掉重复的 username/password/tenant_code
   - alarm_service 保留 get_token_url、put_message_url、tenant_code 三个有效字段
   - token_service_main 槽位绑定类型改为接受 alarm_service

2. 第三方服务页支持按类型动态显示字段(JS控制)
   - 添加自定义(custom)类型,使用 JSON 文本域
   - custom 类型支持槽位解析(resolvedServiceBinding)

3. 后端代码清理
   - 移除 token_service 类型相关逻辑
   - integration_type_label 去掉认证服务
2026-05-09 12:31:09 +08:00
ce18c85eba feat: 标准调试参数 & 克隆不立即保存
1. 新增标准调试参数
   - templates/standard_overlays/ 目录下导入 std_face_debug、
     std_test_sensitive、std_production_quiet 三个标准调试参数
   - 启动时通过 ImportStandardOverlaysFromDir 自动导入 SQLite
   - 支持 std_ 前缀只读保护,不可直接编辑/删除

2. 复制后不立即保存
   - 调试参数克隆:重定向到新建页预填数据,点击保存才入库
   - 识别模板克隆:重定向到模板编辑页预填,点击创建/进入可视化编辑才入库
   - 可视化编辑也支持 clone_source 参数,编辑保存时创建新模板

3. 简化调试参数 JSON 结构
   - 去掉 instance_overrides 层级,改为顶层 override 键
   - 运行时渲染兼容新旧两种格式
   - UI 去掉目标/目标数量字段

4. 清理死代码
   - 移除从零新建空白调试参数/模板的代码路径
2026-05-09 11:39:02 +08:00
b7268212e3 chore: convert all tabs to spaces 2026-05-08 20:05:40 +08:00
1bcd9ae3a5 fix: add json tags to inner struct fields for metrics parsing 2026-05-08 20:04:15 +08:00
08712814d9 fix: add json tags for memory fields in metrics struct 2026-05-08 19:50:22 +08:00
c2588e7785 refactor: server-side device metrics, no JS 2026-05-08 19:45:26 +08:00
0dede50f9e fix: proxy device metrics through backend to avoid CORS 2026-05-08 19:41:42 +08:00
ecb5a08d2d feat: today alarm count on dashboard 2026-05-08 19:32:14 +08:00
c7da7c2290 feat: dashboard with real-time alarm feed 2026-05-08 12:59:44 +08:00
8a335b6f73 refactor: single loop for import, skip duplicate files and DB records 2026-05-08 12:55:04 +08:00
f32fc41be3 fix: fetch-based photo delete with JSON response 2026-05-08 12:47:55 +08:00
f14ce9b255 fix: skip duplicate photos during import 2026-05-08 12:40:37 +08:00
cb1ce4deaa feat: real photo delete from DB and disk, pass photo IDs to edit modal 2026-05-08 12:29:10 +08:00
96e94a1519 feat: edit modal with photo management for face gallery 2026-05-08 11:16:55 +08:00
b52db0b434 feat: portrait cards, photo storage, edit button for face gallery 2026-05-08 11:10:58 +08:00
f3ae1ba6f4 feat: card layout with photo carousel for face gallery 2026-05-08 11:04:12 +08:00
1f6d64ce0b refactor: use fullFilename helper in both places 2026-05-08 10:57:43 +08:00
003d50bcc6 refactor: reusable fullFilename and personNameFromPath helpers 2026-05-08 10:56:25 +08:00
f10ec45590 fix: use Content-Disposition for DB registration too 2026-05-08 10:53:46 +08:00
71d789e69a fix: register persons in app.db, async rebuild face gallery 2026-05-08 10:49:24 +08:00
d4fe5c8459 feat: manage persons in app.db, auto-rebuild face_gallery.db 2026-05-08 10:45:35 +08:00
c0fa9d0700 feat: auto-rebuild face gallery after import/add/delete 2026-05-08 10:35:38 +08:00
fe2c219db1 fix: simplify face gallery build success message 2026-05-08 10:29:38 +08:00
8d30192f02 feat: bundle face gallery tools and models locally 2026-05-08 10:23:14 +08:00
4cbc629a17 fix: register face-gallery build route 2026-05-08 10:20:42 +08:00
bfb8334379 fix: read filename from Content-Disposition header bypassing Go sanitization 2026-05-08 10:17:50 +08:00
ca6edafbce fix: handle webkitdirectory paths with variable depth 2026-05-08 10:15:12 +08:00
981731e2ce feat: bulk import photos into face gallery 2026-05-08 09:58:22 +08:00
c65da1299e feat: face gallery with photo upload and rebuild support 2026-05-08 09:50:56 +08:00
c77391e5c5 feat: face gallery management page with person CRUD 2026-05-08 09:42:32 +08:00
0c89dced36 chore: final cleanup for video monitoring 2026-05-07 15:34:25 +08:00
d730413cba feat: proxy HLS through backend to eliminate CORS issues 2026-05-07 15:03:52 +08:00
d40b977e90 fix: proxy preview channels through backend to avoid CORS 2026-05-07 14:20:51 +08:00
a289882a1c feat: video monitor page with HLS preview 2026-05-07 14:16:21 +08:00
4c90ef88c9 feat: alarm center page with recent alarm records 2026-05-07 10:31:03 +08:00
a7bd5e1309 feat: alarm collector service - poll devices for alarm records 2026-05-07 10:27:35 +08:00
698586efac fix: call ensureDevicesLoaded in diagnostics page 2026-05-06 16:47:42 +08:00
697505fdf2 feat: merge audit records into diagnostics page, remove redundant sections 2026-05-06 16:45:01 +08:00
8f1d6cfbe7 fix: trigger discovery when all registered devices are offline 2026-05-06 15:13:50 +08:00
40dead215e fix: retry UDP discovery once if first attempt finds no devices 2026-05-06 14:29:19 +08:00
038b5b2cfe feat: concurrent device status fetch for resources page, matching models pattern 2026-05-06 14:05:05 +08:00
2289802dac feat: lazy-load device resource status via AJAX 2026-05-06 14:00:16 +08:00
4df7af7f05 feat: add resource management page handler and sync action; rewrite resources template 2026-05-06 12:40:16 +08:00
1ff391f055 feat: add resource_sync_all and resource_sync_one task types 2026-05-06 12:34:50 +08:00
2304516dbc 合并模型管理分支,修改启动脚本,增加了managerd.bat和managerd.ps1,删除了restart.bat 2026-05-06 11:45:26 +08:00
28764a1a6d Refine model management status and optional slot rendering 2026-05-05 12:57:45 +08:00
7ae66b2569 Add model management workflow to admin backend 2026-05-05 11:14:57 +08:00
03e0c2f2cc Refactor admin IA around scene templates and assignments 2026-05-03 09:50:46 +08:00
328705ebc6 Refactor config management flow and admin IA 2026-04-29 18:59:57 +08:00
12e2aac6f6 Add third-party service config flow 2026-04-29 10:51:13 +08:00