发动态
图文
列表
统计每天工作时间,此工具兼容V2/V3,对V3兼容性更好 8696328498975764480 一、后端技术要点 1. 时间回溯算法与并发控制 使用循环分配机制处理累积的工作/摸鱼时间 边界保护:防止后台挂机苏醒后填充历史数据超过脚本启动时间 简单的互斥锁防止同窗口并发写入冲突 2. 存储数据结构设计 分层存储:按日期分Key存储(STATS_YYYY_MM_DD) 时间片分割:15分钟为最小单位(0-95个槽位) 3. 多窗口同步机制 去中心化统计:每个窗口独立检测活动并累计到本地buffer 冲突处理:读取-计算-写入模式处理多窗口并发 4. 活动状态检测 PCB/SCH双编辑器鼠标位置监控 闲置阈值判定 增量时间累加到workBuffer/fishBuffer 5. 数据完整性保证 槽位容量上限900秒(15分钟) 工作时间优先原则:槽位满时摸鱼时间让位 边界校验:确保 工作≤900且 工作+摸鱼≤900 6. 提醒系统 基于分钟数触发的提醒规则 防重复触发机制(lastTriggeredMin) 二、前端技术要点 1. 数据加载与处理 批量异步加载:一次性加载最多365天的统计数据 数据清洗:sanitizeSlotData()确保单个槽位不超15分钟 2. ECharts可视化 响应式图表:4个ECharts实例分别对应不同视图 动态Y轴:根据数据范围自动调整坐标轴刻度 堆叠面积图:展示工作/摸鱼的日趋势 交互事件:图表点击选中日期、工程 3. 多视图切换架构 标签页导航:总趋势、当前工程、排行榜、消息提醒 状态管理:state对象维护当前视图参数 条件渲染:CSS hidden类控制视图显示 4. 数据聚合算法 总趋势计算:跨工程聚合,尊重槽位上限 排行榜生成:按总耗时排序,支持点击查看详情 工程历史:展示单个工程的时间分布 5. 时间格式化工具 中文格式:1时6分 24小时制:01:06 时间段:08:00~08:15 6. 响应式UI设计 暗色主题:符合EDA软件风格 自适应布局:固定尺寸容器内flex布局 滚动优化:自定义滚动条样式 7. 提醒管理界面 CRUD操作:增删改查提醒规则 实时预览:测试提醒效果 本地存储:规则保存到扩展配置 三、前后端协作要点 1. 数据一致性 前端从存储直接读取原始数据 后端写入时遵循相同的数据结构 双方使用相同的数据清洗逻辑 2. 存储接口统一 使用 eda.sys_Storage.getExtensionUserConfig/setExtensionUserConfig 键名规范:STATS_*用于统计数据,USER_CONFIG_REMINDERS用于配置 3. 时间同步 前端展示时基于原始秒数计算 后端记录时使用精确的时间增量 双方都基于15分钟槽位进行聚合 4. 工程信息获取 后端:eda.dmt_Project.getCurrentProjectInfo()获取当前工程 前端:相同API用于初始化工信息 5. 错误处理 后端:try-catch包装存储操作 前端:加载遮罩和错误提示 双方都有数据缺失的降级处理 #嘉立创EDA# #扩展API# #工作时间统计#
嘉立创EDA扩展工具 - 工作时间统计
嘉立创EDA
社区数据
今日帖子
-
今日互动量
-
在线人数
-
帖子总量
-
用户总量
-
推荐话题 换一批
#DIY设计#
#嘉立创PCB#
#嘉立创3D打印#
#嘉立创免费3D打印#
#2025年度项目秀#
#ESP8266/32#
#技术干货#
#2025年度踩坑日记#
查看更多热门话题
功能讨论
()
主题
打赏记录
服务时间:周一至周六 9::00-18:00 · 联系地址:中国·深圳(福田区商报路奥林匹克大厦27楼) · 媒体沟通:pr@jlc.com · 集团介绍
移动社区