From 29db6be66da9800305513859eb6eb9fd5b028813 Mon Sep 17 00:00:00 2001 From: tian <11429339@qq.com> Date: Mon, 20 Jul 2026 16:34:31 +0800 Subject: [PATCH] feat: device detail page shows real model/resource status with SHA256 comparison; filter unavailable features on console --- internal/web/ui.go | 24 ++++++++++++++++ internal/web/ui/templates/device.html | 27 +++++++++++++++++- .../face_gallery/face_gallery.db | Bin 0 -> 81920 bytes .../__pycache__/__init__.cpython-311.pyc | Bin 627 -> 638 bytes .../__pycache__/aggregate.cpython-311.pyc | Bin 1465 -> 1476 bytes .../__pycache__/align.cpython-311.pyc | Bin 2332 -> 2343 bytes .../__pycache__/dataset.cpython-311.pyc | Bin 3986 -> 3997 bytes .../__pycache__/db.cpython-311.pyc | Bin 7182 -> 7193 bytes .../__pycache__/detector.cpython-311.pyc | Bin 36320 -> 36331 bytes .../__pycache__/recognizer.cpython-311.pyc | Bin 3730 -> 3741 bytes .../__pycache__/report.cpython-311.pyc | Bin 4142 -> 4153 bytes .../__pycache__/types.cpython-311.pyc | Bin 4243 -> 4254 bytes 12 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 resources/standard_resources/face_gallery/face_gallery.db diff --git a/internal/web/ui.go b/internal/web/ui.go index b508adb..7d9a3b1 100644 --- a/internal/web/ui.go +++ b/internal/web/ui.go @@ -119,6 +119,8 @@ type PageData struct { ConsoleUnassignedUnits []service.RecognitionUnitAsset FaceGalleryPersons []storage.PersonRecord FaceGalleryQuality map[string]string + DeviceModelStatuses []service.InstalledModelStatus + DeviceResourceStatuses []service.InstalledResourceStatus Templates []service.Template Template *service.Template AssetTab string @@ -1721,6 +1723,28 @@ func (u *UI) deviceDetailPageData(dev *models.Device) PageData { data.SelectedProfile = assignment.ProfileName } } + // Load device model and resource status vs management standards. + if dev.Online && u.agent != nil { + if items, err := service.FetchInstalledModelStatuses(u.agent, dev); err == nil { + data.DeviceModelStatuses = items + } + if items, err := service.FetchInstalledResourceStatuses(u.agent, dev); err == nil { + data.DeviceResourceStatuses = items + } + } + if strings.TrimSpace(u.dbPath) != "" { + if store, err := storage.OpenSQLite(u.dbPath); err == nil { + modelsRepo := storage.NewModelsRepo(store.DB()) + if items, err := modelsRepo.List(); err == nil { + data.StandardModels = items + } + resourcesRepo := storage.NewResourcesRepo(store.DB()) + if items, err := resourcesRepo.List(); err == nil { + data.StandardResources = items + } + store.Close() + } + } return data } diff --git a/internal/web/ui/templates/device.html b/internal/web/ui/templates/device.html index e873573..01c3bff 100644 --- a/internal/web/ui/templates/device.html +++ b/internal/web/ui/templates/device.html @@ -166,12 +166,37 @@