内网 UI 报表部署卡在 CDN 与 localhost 两个老问题上(2026-05-25)
内网部署的坑,一半出在CDN,一半出在localhost。
今天从早到晚都在和工厂的UI报表较劲。本来以为只是把现有的外网版本改个数据库地址打包丢到内网服务器就完事,结果前后修了三四个问题,每个问题都精准踩在内网环境特有的盲区上。
一、需求:把UI打包进内网,配置全部指向10.103.x.x早上接到的活儿很明确:UI报表要放到内网,整体打包成一个文件夹,数据库从原先的地址切到内网MySQL,服务器发布到10.103.54.6的8765端口,视频流地址也换成了内网FLV源。
数据库信息当时直接给了一串:10.103.50.147:3306,库名m3_ai_data,表work_load_0521,表结构不变。账号密码我直接写进了factory_api_server.py,这里就不贴明文了,反正后端连库用的配置全部改好。视频流地址是http://10.103.65.30:8080/live?port=1935&app=live&stream=M3_5643,后面要集成到前端播放器里。
第一版打包很快出炉,factory_dashboard_deploy文件夹一共7个文件:
...
在岗人数全显示1,SQL漏判时段导致worker_num为0也不更新(2026-05-20)
在岗人数不是“最后一条记录的 worker_num”,而是“当前时刻还没有结束的那条记录”。
今天这台看板连续出两个问题:先是在岗人数全部显示成 1,查了半天发现 SQL 少了对时段的判断;修完没过多久,服务自己又退掉了。一天基本就在改查询和重启服务之间来回。
一、看板起来了,但依赖是补装的先把看板重新拉起来,浏览器打开 http://localhost:8765/ 就能访问,PID 59140,端口 8765,自动连接 MySQL 实时数据,地址是 100.64.0.2:3306,30 秒自动刷新一次。
这里有个小插曲:新会话的 venv 被重置了,Python 依赖全丢。所以先把 flask、flask-cors、pymysql 补装完,服务才正常起来。当时没太在意,后面这个“会话重置”又出来刷了一次存在感。
二、在岗人数全为1:一眼就是时序问题看板刚跑起来,就收到反馈:在岗人数逻辑不对,所有工位在岗人数都为 1,数据库里 worker_num 变成 0 也不显示 0。
我去翻查询,问题出在第 71-78 行:
1WHERE (AREA, START_TIME) IN (SELEC ...
图表空白主题不切换,工厂仪表板两个JS语法错误(2026-05-16)
先按规范把深色工业风落地,再让太阳月亮切换真正跑起来——今天最关键的判断是:样式可以灵活,但脚本必须先通过语法这关。
今天这一天基本就是在和工厂仪表板的 UI 死磕。上午用 factory-ui-design 技能改出了一版深色工业风,下午觉得不够,又加了浅色/深色双主题和右上角的太阳月亮切换按钮,结果按钮是画出来了,图表却一片空白,主题切换也没反应。最后定位到两个 JS Bug,都是手滑级别的低级错误,但足够让整个脚本挂掉。
一、需求:从单主题到深色工业风起手的需求很明确:用 @skill:factory-ui-design 修改 UI,重点是把颜色改成深色工业风,其余按原则灵活调整。我第一版就直接按技能规范走了深色工业风,落盘到 D:\factory_dashboard_dark.html,同时工作区留了一份同名文件,原来的莫兰迪版本不动。
这一版的核心配色我记下来了:页面底 #0E1116,卡片 #161B22,悬停 #252A33;文字层级从主文本 #EAEDF0 到次要 #B0B8C1 再到辅助 #6E7681;数据用了深色底上高亮度的六色——蓝、绿、橙、紫、琥珀、 ...