From: wang.yu Date: Wed, 19 Aug 2026 03:44:39 +0000 (+0800) Subject: 设备模版:图片框改正方形 + 修复创建无响应 X-Git-Url: http://acesimba.cloud/gitweb/?a=commitdiff_plain;h=5ac984883a37f1b5f18fe67507744711194d8470;p=StationBuilder.git 设备模版:图片框改正方形 + 修复创建无响应 - app/globals.css: .device-img-field 固定 160x160 正方形,img 充满方框 - db-sidecar.mjs: 路由级 catch 在响应未结束时回 500,避免 async 处理器 首个 await 后抛错导致客户端永久挂起(表现为点创建没反应) --- diff --git a/app/globals.css b/app/globals.css index fd6cc8e..046b344 100644 --- a/app/globals.css +++ b/app/globals.css @@ -231,10 +231,10 @@ .picker-doms{margin-left:auto;color:#888;font-size:10px;max-width:42%;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} /* ===== 设备模版:图片与采集点编辑 ===== */ .device-list{display:grid;grid-template-columns:1fr;gap:14px;padding:4px 0} -.device-img-field{margin-top:6px;border:1px dashed #c4ccd2;border-radius:6px;min-height:170px;background:#f7f9fa;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;position:relative} +.device-img-field{margin-top:6px;border:1px dashed #c4ccd2;border-radius:6px;width:160px;height:160px;background:#f7f9fa;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;position:relative} .device-img-field:hover{border-color:var(--blue);background:#f0f8fc} -.device-img-field img{width:100%;height:170px;object-fit:cover;display:block} -.device-img-field .device-img-empty{color:#9aa1a5;font-size:12px} +.device-img-field img{width:100%;height:100%;object-fit:cover;display:block} +.device-img-field .device-img-empty{color:#9aa1a5;font-size:12px;text-align:center;padding:0 8px} .cp-list-head{display:flex;align-items:center;justify-content:space-between;margin:10px 0 6px} .cp-list-head span{display:flex;gap:12px} .cp-editor td{padding:4px 6px;vertical-align:middle} diff --git a/db-sidecar.mjs b/db-sidecar.mjs index 0df66c0..7ff5303 100644 --- a/db-sidecar.mjs +++ b/db-sidecar.mjs @@ -2194,7 +2194,11 @@ const server = http.createServer((req, res) => { res.setHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS"); res.setHeader("Access-Control-Allow-Headers", "Content-Type"); if (req.method === "OPTIONS") return res.writeHead(204).end(); - route(req, res).catch(e => console.error("[db-sidecar route error]", e)); + route(req, res).catch(e => { + console.error("[db-sidecar route error]", e); + try { if (!res.headersSent && !res.writableEnded) respondError(res, 500, (e && e.message) || "internal error"); } + catch (_) {} + }); }); // 兜底:任何未捕获异常 / 未处理的 Promise 拒绝都不应让旁路服务退出