Skip to content

1.2.1

Choose a tag to compare

@LucasRiver9527 LucasRiver9527 released this 22 Aug 22:33
· 15 commits to main since this release

更新日志

v1.2.1

v1.2.1 是一次综合性更新:在数据安全加固的基础上,进一步完成模块化、自动化测试、Markdown 导出与自动更新 / 签名链路的完善。

数据安全加固

  • 原子写入:数据改为「先写临时文件、再原子替换」,杜绝断电 / 崩溃导致 JSON 写一半损坏
  • 版本号机制:数据文件标注版本号 version,读取时自动迁移归一化,为未来大版本升级留好扩展点(导出 / 导入 / 备份均已标注)
  • 损坏自动回退:数据文件解析失败时自动回退到上一版备份 .bak,不再直接丢数据

备份自包含(跨设备迁移不断图)

  • 一键备份改为文件夹自包含包:data.json 自动携带 images / backgrounds / fonts / sounds 等实际引用的媒体文件
  • 导入自动还原备份里附带的媒体文件,迁移到新电脑后图片 / 字体 / 背景原样保留
  • 只打包实际引用的媒体,缺失 / 孤儿文件自动跳过,备份更干净

模块化与自动化测试

  • 抽取纯逻辑为单一来源模块 logic.js(颜色 / 转义 / 引用清理 / 排序 / Markdown 导出),主窗口与钉窗统一引用,消除重复
  • 引入 Node 内置测试框架(无框架依赖)npm test,为排序、引用清理、Markdown 导出、颜色与转义等核心逻辑建立回归保障

导出 Markdown

  • 新增 Markdown 导出:便签可导出为 # 标题、加粗、高亮、文件链接、表格、待办清单;图片以 base64 内嵌为自包含单文件,跨工具可用

自动更新与签名链路

  • 接入 electron-updater:打包应用启动自动检查更新,弹窗询问下载,下载完询问重启安装
  • 发布使用 GitHub Releases(LucasRiver9527/Note-Memo),亦可临时覆盖 / 禁用(MYNOTES_UPDATE_URL、MYNOTES_DISABLE_AUTOUPDATE=1)
  • 代码签名链路:设置 CSC_LINK / CSC_KEY_PASSWORD 后自动签名,未提供证书时自动跳过

媒体健壮性

  • 图片等媒体文件缺失时,显示「图片已丢失」友好占位提示,可一键移除,不再显示破图
  • 中英双语提示
  • 新增「清理未引用媒体」:一键删除不再被任何便签 / 回收站 / 设置引用的图片、字体、背景与音频文件(保留回收站引用,防误删可恢复数据)

其他

  • 修复若干数据读取与备份相关的边界问题