feat: 新增产线看板功能并优化多端系统体验
1. 新增SSE看板广播机制,业务操作后主动推送刷新事件 2. 新增产线工序横道图与工位状态展示面板 3. 移除dashboard无用的three.js依赖 4. 重构WMS客户端布局与WMS前端资源哈希 5. 新增工位终端时钟图标与大屏自适应布局 6. 新增系统截图脚本与说明书生成工具 7. 修复多处代码细节与空值处理逻辑
This commit is contained in:
@@ -17,6 +17,15 @@ func New(s *svc.ServiceContext) *Service {
|
||||
return &Service{ctx: s}
|
||||
}
|
||||
|
||||
// notifyDashboard 生产业务数据落库成功后广播看板刷新事件。
|
||||
// SSE 事件只做"数据变了"的通知(空载荷),大屏收到后自行拉取最新快照,
|
||||
// 避免把整份快照塞进事件流。无订阅客户端时 Publish 为空操作,零开销。
|
||||
func (s *Service) notifyDashboard() {
|
||||
if s.ctx.SSE != nil {
|
||||
s.ctx.SSE.Publish("dashboard.updated", "{}")
|
||||
}
|
||||
}
|
||||
|
||||
// cachedTyped 泛型版缓存:与 cached 同为 TTL + SETNX 防击穿,
|
||||
// 区别是返回强类型,调用方不必再做类型断言(看板快照等结构化数据用这个)。
|
||||
func cachedTyped[T any](ctx context.Context, s *Service, key string, ttl int, build func() (T, error)) (T, error) {
|
||||
|
||||
Reference in New Issue
Block a user