# JLCEDA_healhty mode **Repository Path**: hexagonal1/jlceda_healhty-mode ## Basic Information - **Project Name**: JLCEDA_healhty mode - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-03 - **Last Updated**: 2026-06-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 养生模式 - 嘉立创EDA专业版插件 为 PCB 设计工程师打造的护眼与健康管理插件,提供一键配色和时间健康管理两大核心功能。 ## 功能特性 ### 🎨 一键配色 - **网络颜色**:批量设置 PCB 网络(如 GND、VCC 等)的显示颜色 - **图层颜色**:批量调整 PCB 图层的颜色(如顶层、底层等) - **自定义方案**:自由添加、编辑、保存颜色配置方案,支持导入导出 - **快速换色**:菜单栏「养生模式 → 快速换色」一键应用默认方案(GND `#CCCCCC`、顶层 `#3399FF`) ### ⏱️ 时间健康管理 - **待办事项**:简易 TODO 清单,支持添加、完成、删除 - **番茄钟**:可自定义的番茄工作法计时器 - 工作时长(默认 25 分钟)、短休息(默认 5 分钟)、长休息(默认 15 分钟) - 长休息间隔(默认每 4 个番茄钟) - 自动进入下一时段 - **喝水提醒**:定时弹窗提醒(默认间隔 45 分钟,可开关自定义) - **久坐提醒**:定时弹窗提醒起身活动(默认间隔 30 分钟,可开关自定义) ### 界面预览 | 颜色配置 | 待办事项 | |:---:|:---:| | ![颜色配置](https://gitee.com/hexagonal1/jlceda_healhty-mode/raw/master/images/screenshot-colors.png) | ![待办事项](https://gitee.com/hexagonal1/jlceda_healhty-mode/raw/master/images/screenshot-todo.png) | | 番茄钟 | 提醒设置 | |:---:|:---:| | ![番茄钟](https://gitee.com/hexagonal1/jlceda_healhty-mode/raw/master/images/screenshot-pomodoro.png) | ![提醒设置](https://gitee.com/hexagonal1/jlceda_healhty-mode/raw/master/images/screenshot-reminder.png) | ## 安装 ### 从扩展商店安装(推荐) 1. 打开嘉立创EDA专业版 2. 顶部菜单栏 → 高级 → 扩展管理器 3. 搜索「养生模式」并安装 ### 手动安装 ```bash cd health-mode-extension npm install npm run build ``` 构建后在 `build/dist/` 目录下获得 `.eext` 文件,通过扩展管理器的「导入扩展」安装。 ## 使用 | 入口 | 路径 | |------|------| | 打开主界面 | 菜单栏 → 养生模式 → 打开主界面(820×620 窗口) | | 快速换色 | 菜单栏 → 养生模式 → 快速换色 | 主界面分为两个标签页: - **颜色配置**:管理配色方案,点击「应用配置」将颜色写入当前 PCB - **时间管理**:待办 / 番茄钟 / 提醒设置三个子标签页 > 颜色值使用标准 HEX 格式(如 `#CCCCCC`),插件内部自动转换为 EDA API 所需的 `{ r, g, b, alpha }`(0~1 浮点数)。 ## 项目结构 ``` health-mode-extension/ ├── src/index.ts # 扩展入口:激活、RPC 服务、配色应用逻辑 ├── iframe/ │ ├── index.html # 主界面(含内联样式与交互) │ ├── css/style.css # 样式文件 │ └── js/ │ ├── app.js # 主逻辑 & 标签页切换 │ ├── color-config.js # 颜色配置(增删改、导入导出) │ ├── todo.js # 待办事项 │ ├── pomodoro.js # 番茄钟 │ ├── reminder.js # 喝水 & 久坐提醒 │ └── common.js # 公共工具函数 ├── extension.json # 插件清单(菜单、入口、UUID 等) ├── package.json # 依赖 & 构建脚本 ├── CHANGELOG.md # 版本更新日志 └── LICENSE # Apache-2.0 ``` ## 技术栈 - **运行时**:Node.js ≥ 20.5.0 - **SDK**:`@jlceda/pro-api-types`(嘉立创EDA专业版扩展 API) - **语言**:TypeScript(后台) + 原生 JS/HTML/CSS(iframe 前端) - **构建**:ESBuild → `.eext` 扩展包 ## 开发 ```bash # 1. 克隆 SDK 模板 git clone --depth=1 https://gitee.com/jlceda/pro-api-sdk.git # 2. 安装依赖 cd health-mode-extension npm install # 3. 修改 extension.json / package.json 后开始写代码 # 4. 构建 .eext 扩展包 npm run build # 5. 在 EDA 专业版中导入 build/dist/*.eext 进行测试 ``` ### 通信方式 插件后台(`src/index.ts`)与 iframe 前端通过两种方式通信: 1. **RPC**:iframe 通过 `eda.sys_MessageBus.rpcCall()` 调用后台 `rpcService` 2. **PostMessage**(备用):`window.postMessage` + `window.addEventListener('message')` ### 主要 EDA API | API | 用途 | |-----|------| | `eda.pcb_Net.setNetColor(net, { r, g, b, alpha })` | 设置网络颜色(r/g/b/α 均为 0~1) | | `eda.pcb_Layer.getAllLayers()` | 获取全部图层 | | `eda.pcb_Layer.modifyLayer(id, { color })` | 修改图层颜色 | | `eda.pcb_Document.save()` | 保存文档 | | `eda.dmt_EditorControl.zoomToAllPrimitives()` | 刷新画布视图 | | `eda.sys_IFrame.openIFrame(html, w, h)` | 打开 iframe 窗口 | | `eda.sys_MessageBus.rpcService(name, handler)` | 注册 RPC 服务 | ## API 文档 - 扩展开发指南:https://prodocs.lceda.cn/cn/api/guide/ - 扩展广场:https://jlc-ext.com/ - SDK 仓库:https://github.com/easyeda/pro-api-sdk ## 许可证 [Apache License 2.0](LICENSE)