Note Desk · 记事复盘台生成器
Overview
一键生成「每日记事 + 事件复盘」工具,形态可选:
1. 网页版:双击 index.html 即用,零安装,数据存浏览器 localStorage。
2. 桌面版(推荐拷贝部署):用 Electron 打包成 dist/win-unpacked/事件复盘台.exe,整文件夹拷贝到任意 PC 双击即跑,数据写 exe 同目录 data.json,跟着文件夹走。
核心模块:上部格言+日期星期农历+天气;中部事件类别/状态/优先级自定义(被引用禁止删);下部三 Tab——农历日历(未完成日期标红)、事件明细(草稿+保存+未保存切日提示)、周报/月报(按日历/周报自动生成、可保存导出 MD/TXT)。
When to use
用户说类似以下需求时触发:
- "做个记事页面 / 每日复盘台 / 日历事件记录工具"
- "能记录每天做了啥、生成周报月报"
- "打包成能直接拷到别的电脑用的 EXE"
- 需要农历日历 + 自定义分类 + 本地保存的轻量桌面应用
How to build(核心流程)
-
复制模板到目标目录
将assets/template/下全部文件拷到用户工程目录(保持 8 个文件同级)。
模板含:index.html、app.js(工具/存储/农历/格言/天气)、app2.js(定义管理/日历/事件)、app3.js(周报月报/导出/初始化)、main.js+preload.js(Electron 桌面壳)、package.json、build.bat。 -
网页版:直接交付
index.html(同目录的 app.js/app2.js/app3.js 同步加载)。用 Chrome/Edge 双击打开。无需任何额外步骤。 -
桌面版(可拷贝部署):
- 确保目标机有 Node.js LTS。
- 在该目录双击build.bat(或npm install && npm run dist)。
- 产物:dist/win-unpacked/事件复盘台.exe—— 整文件夹拷贝即用,数据存同目录data.json。
- 关键环境变量(国内网络):ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/、ELECTRON_BUILDER_BINARIES_MIRROR=https://npmmirror.com/mirrors/electron-builder-binaries/、npm install --registry=https://registry.npmmirror.com。 -
按需改造:改样式在
index.html的<style>;改业务在 app.js/app2.js/app3.js;改打包名在package.json的productName/build。
Key design points(改代码前必读)
- 存储双模式:
app.js的DB优先走window.electronAPI.saveData/loadDataSync(Electron 写文件),否则回退localStorage(网页调试)。三者方法名必须一致,见references/notes.md。 - 草稿机制:编辑只进
draft,点「保存」才写DB;切日期/关页若有未保存会confirm提示(beforeunload拦截)。 - 被引用禁止删除:
isCatUsed/isStUsed/isPrioUsed检测,删除时拦截并 toast。 - 状态→完成:某事件状态从「未完成」改为「已完成」时,自动把「未完成原因」追加进「复盘描述」并清空原字段。
- 农历:
Lunar.solar2lunar内置 1900–2100 算法(干支生肖),纯前端无依赖。
Caveats
- Electron 启动失败:若环境有
NODE_OPTIONS=--use-system-ca,Electron 会拒绝启动,启动前set NODE_OPTIONS=(清空)。 - 打包 winCodeSign 符号链接报错:仅影响 Mac 签名,Windows 的
dir产出不受影响,可忽略。 - portable 单文件数据存用户目录(解压到 Temp),做不到「拷贝跟随」;要拷贝跟随务必用
win-unpacked目录。 - 天气:
file://下浏览器不给定位权限,自动回落北京;联网拉 open-meteo(免 key)。 - 详细实现与排错清单见
references/notes.md。