This commit is contained in:
2026-09-10 21:40:31 +08:00
parent eda9909ec8
commit 99263f89e5
5 changed files with 13 additions and 33 deletions
+3 -1
View File
@@ -72,7 +72,9 @@ GPU delegate 默认允许 FP16 计算(YOLO 类精度损失可忽略);如
(s/n);服务器未发布模型时不返回 `models` 字段,App 无模型可用,
相机页仅预览不识别。
- **下载入口**:相机页设置弹层「模型清单」按需下载/使用(封面缩略图 2 列网格,
**同一物种合并一张卡**,卡上双档行标注各自版本与状态(使用中绿色高亮);点
**同一物种合并一张卡**,卡上**不显示版本号、也不设档位状态行**
2026-09-10 删除「高精度/高性能 + 版本」灰字行,版本仅作内部记账,
档位状态看主按钮);点
「下载」一次性补下该动物高精度+高性能两个已训练文件——各档独立进度逐条展示、
可取消(已下过的档不重复下),**目标档落地即自动启用、伴档备好**;目标档已
启用显示「使用中」点击取消使用。弹层高度上限 70% 屏高(防盖满全屏无法关闭)。
@@ -18,7 +18,8 @@ String _variantLabel(String v) => v == kVariantN ? '高性能' : '高精度';
/// - 目标档已下载未激活 →「使用」直接启用(同数据集另一档在运行会自动停用);
/// - 目标档未下载 →「下载」只取回目标档(双档分别下载,伴档不随下;另一档
/// 正在运行而缺目标档时,下载完自动切换过去)。
/// 另一档的版本/状态以灰字行展示,供对照。新版本由用户在卡片上手动重新
/// 卡片不展示版本号与档位状态行(2026-09-10 删「高精度/高性能 + 版本」灰字行,
/// 版本仅作内部记账),档位状态看主按钮。新版本由用户在卡片上手动重新
/// 下载(使用中重下会原地生效,2026-09-09 自动更新/待办横幅已退场)。
class ModelCatalogSection extends StatelessWidget {
final ModelManager manager;
@@ -278,32 +279,6 @@ class _SpeciesCard extends StatelessWidget {
),
],
),
const SizedBox(height: 2),
// 双档灰字状态行:高精度 / 高性能各自版本号;使用中绿色高亮、
// 已下载次之、缺失置灰(纯信息,非按钮)
Text.rich(
TextSpan(
children: [
for (final i in items) ...[
if (i != items.first) const TextSpan(text: ' · '),
TextSpan(
text: '${_variantLabel(i.variant)} ${i.version}',
style: TextStyle(
fontSize: 9,
color: manager.isActive(i.datasetId, i.variant)
? Colors.greenAccent
: manager.isDownloaded(i.datasetId, i.variant)
? Colors.white70
: Colors.white38,
fontWeight: manager.isActive(i.datasetId, i.variant)
? FontWeight.bold
: FontWeight.normal,
),
),
],
],
),
),
const SizedBox(height: 6),
_actionArea(
items: items,
+6 -3
View File
@@ -1,5 +1,7 @@
# 视野后端构建:多阶段编译 → 精简运行镜像(纯 Go + SQLite,无 CGO 依赖)
FROM golang:1.26 AS builder
# 基础镜像仓库:国内直连 docker.io 不通,默认走 DaoCloud 镜像站;构建时可用 --build-arg REGISTRY=docker.io/library 覆盖
ARG REGISTRY=docker.m.daocloud.io/library
FROM ${REGISTRY}/golang:1.26 AS builder
# 国内网络 proxy.golang.org 不通,默认走 goproxy.cn;构建时可用 --build-arg 覆盖
ARG GOPROXY=https://goproxy.cn,direct
@@ -15,7 +17,8 @@ RUN http_proxy= https_proxy= HTTP_PROXY= HTTPS_PROXY= go mod download
COPY . .
RUN CGO_ENABLED=0 go build -o /out/observer-server .
FROM alpine:3.20
ARG REGISTRY=docker.m.daocloud.io/library
FROM ${REGISTRY}/alpine:3.20
# 国内网络 dl-cdn.alpinelinux.org 不通,默认走阿里云镜像;构建时可用 --build-arg 覆盖
ARG APK_MIRROR=https://mirrors.aliyun.com
# 时区对齐宿主(自然日授权语义依赖本地时区)
@@ -33,5 +36,5 @@ COPY --from=builder /build/admin_dist /app/admin_dist
COPY --from=builder /build/h5 /app/h5
# 运行时数据目录(SQLite 库),由 docker-compose 挂载持久化
RUN mkdir -p /app/data
EXPOSE 18080
EXPOSE 8080
ENTRYPOINT ["/app/observer-server"]
+1 -1
View File
@@ -1,6 +1,6 @@
# 视野后端配置
server:
address: ":18080"
address: ":8080"
openapiPath: "/api.json"
# 请求体上限(默认 8MB):APK 上传(管理端下发新版本)可能数百 MB,必须放大
clientMaxBodySize: "512mb"
+1 -1
View File
@@ -14,7 +14,7 @@ services:
container_name: observer-server
restart: unless-stopped
ports:
- "18080:18080"
- "8080:8080"
volumes:
- /data:/app/data
- /workspace:/app/workspace