Skip to content

Releases: rainforcetime/RecordLife

RecordLife v3.0.96

Choose a tag to compare

@github-actions github-actions released this 05 Sep 09:13
9029dd6

📦 PR: 3.0.85~3.0.96 关于页升级 · 包名变更 · 签名工程化 · 首页性能/对比度(13 commits)

Base masterHead develop | 13 commits(792d609..039f406)| 应用版本 3.0.96(30096)


1. Summary — 摘要

本次 PR 合并 3.0.85~3.0.96 十二个版本,覆盖功能增强、破坏性变更与工程化稳定:

  1. 关于页升级:由应用内弹窗改为独立完整页面(应用头部 / 使用统计卡 / 外链 / 隐私说明与开源许可)
  2. 应用包名变更com.rainforcetime.recordlifecom.mumudlin.recordlife⚠️ breaking)
  3. 备份导入完整性修复:恢复备份丢失的追加想法 / 最后修改时间 / 心情 / 云端图片 key
  4. 首页性能与功耗:秒级刷新最小化(其余分钟级整刷)、定时器随可见性启停、累计模式秒卡回归 bug 修复
  5. UX 色彩对比度达标:Tab 文字与全局 textTertiary(浅/深双主题 ≥4.5:1)
  6. 签名与发布工程化:Debug/Release 签名解耦(release 证书/密码彻底移出工程)、一键签名脚本、release/ 输出目录、公开文档敏感信息清理
  7. 文档补记:CHANGELOG 补记 3.0.85~3.0.96 系列(本 PR 合并后版本记录完整)

2. Type of Change — 变更类型

  • ✨ feat:关于页完整页面(弹窗 → 路由页)
  • 🔧 breaking:应用包名变更(com.mumudlin.recordlife
  • 🐛 fix:备份导入丢字段、累计模式秒卡(3.0.89 优化引入的回归)、功耗可见性停表
  • ⚡ perf:首页秒级刷新最小化(6 张时间卡 + 生命环形由每秒降为分钟级整刷)
  • 🛠 build/refactor:Debug/Release 签名解耦、一键签名脚本、release/ 输出目录
  • 📝 docs:README 用户向改写、公开文档清除签名/发版说明与本地证书路径、CHANGELOG 机制
  • ✅ 验证:各版本本地 hvigor 构建通过(BUILD SUCCESSFUL);3.0.92 实测签出 release 包

3. What's Changed — 变更明细

3.1 关于页升级(弹窗 → 完整页面)

文件 说明
entry/src/main/ets/pages/AboutPage.ets 新增 @entry 完整页:应用头部(图标/名称/标语/版本+Build 日期)、使用统计卡(已使用天数+记录总数)、链接卡(更新日志 Releases / 查看源码 / 意见反馈 Issues / 隐私说明 / 开源许可)、版权尾
entry/src/main/ets/components/dialog/AboutAppDialog.ets 删除(死代码,被完整页面取代)
entry/src/main/ets/pages/AccountPage.ets 「关于」入口由弹窗改为 router.pushUrl(AboutPage)
entry/src/main/resources/base/profile/main_pages.json 注册 AboutPage 路由
entry/src/main/resources/{base,en_US}/element/string.json 双语补齐:链接文案 / 版权 / 隐私正文 / 开源许可正文 / 记录标签

隐私说明与开源许可采用站内文本弹层(单 bindSheet 双内容,规避同节点覆盖);外链走 context.openLink

3.2 应用包名变更(breaking)

文件 说明
AppScope/app.json5 bundleNamecom.rainforcetime.recordlifecom.mumudlin.recordlife
entry/.../handlers/MorePageBackupHandler.ets 备份/配置导入校验的 bundleName 元数据同步(必须与新包名一致)
entry/.../handlers/MorePageConfigHandler.ets 同上

⚠️ 安装过旧包名的设备升级需按新包名安装(同签名证书可覆盖安装);本机 SignHap 需在 DevEco Signing Configs 重新生成签名(profile 绑定新 bundleName);CI unsigned 构建不受影响。

3.3 备份导入完整性修复

文件 说明
entry/src/main/ets/service/BackupManager.ets restoreBackup 重建记录时透传 updatedAt/comments(此前按白名单重建丢失)
entry/.../handlers/MorePageBackupHandler.ets 另一导入路径补齐 imageCloudKeys/mood/updatedAt/comments(此前连心情与云端 key 也丢)

3.4 首页性能 · 功耗 · 秒卡修复

文件 说明
entry/src/main/ets/pages/Index.ets 广播 homeVisible(首页 Tab 0 + 应用前台:onPageShow/Hide、onChange、aboutToAppear 维护)
entry/src/main/ets/pages/HomePage.ets @StorageLink('homeVisible')+@Watch 启停定时器(切 Tab/退后台立即停表);秒拆独立 @State seconds 每秒仅刷秒卡,跨分钟才整表重算 timeData/lifePercent;新增 secondCardValue 独立字段修复累计模式秒卡(累计态显示 0-59 的回归 bug)
  • 3.0.88:定时器随可见性启停 → 云测「前台不可见动效不用资源、空跑无效绘制」消除
  • 3.0.89:秒独立刷新 → 6 张时间卡与生命进度环形由每秒重估降为分钟级
  • 3.0.95:修复 3.0.89 引入的累计模式秒卡 bug(累计总秒 vs 0-59 秒位语义回归)

3.5 UX 色彩对比度达标(双主题 ≥4.5:1)

文件 说明
entry/src/main/ets/pages/Index.ets 未激活 Tab 文字/图标 textTertiary(#999)textSecondary(#666)(浅 5.7:1 / 深 8.5:1)
entry/src/main/ets/config/ThemeConfig.ets 全局 textTertiary 达标:浅色 #999999→#707070(≈5.2:1)、深色 #808080→#9E9E9E(≈5.1:1);保持弱于 textSecondary 的三级弱化语义

3.6 签名与发布工程化

文件 说明
build-profile.json5 仅保留 debug 自动签名(default);release 证书三件套与密码彻底移出工程(原含明文密码,若提交即泄露——该改动未入历史,安全清除)
scripts/sign-hap.ps1 新增一键签名助手:unsigned → signed(release/debug 通用),支持 -Config release-config.local.json(gitignore,含证书路径/密码,绝不入库),密码亦可 HOS_STORE_PWD/HOS_KEY_PWD 环境变量传入
.gitignore 忽略 /release-config.local.json(含证书路径与密码)与 /release/(正式签名包输出目录,发布包不进仓库)
AppScope/app.json5 每版本同步 versionName/versionCode

本地签名材料(证书/密码)只存于签名机本地的 gitignore 文件,仓库零敏感信息。

3.7 公开文档清理(README / 脚本注释)

文件 说明
README.md 「安装与发版」改用户向「安装」(仅 GitHub Releases / Artifacts 下载);移除发版流程、Debug/Release 证书分工、AGC 上架签名流程与本地 release 证书路径
scripts/sign-hap.ps1 注释去本地证书路径,改用占位 + 指向 gitignore 的 release-config.local.json
docs/CHANGELOG.md 补记 3.0.85~3.0.96 系列章节(本 PR 范围,versionCode 30096)

(3.0.92 修复 sign-hap.ps1 UTF-8 BOM,Windows PowerShell 5.1 中文注释乱码 → 实测签名成功)

4. Scope / Affected Areas — 影响范围

  • 页面:AboutPage(新)、AccountPage(入口)、HomePage(刷新/秒卡/可见性)、Index(Tab 对比度/可见性广播)
  • 数据:备份导入字段透传(BackupManager / MorePageBackupHandler);包名变更影响备份/配置导入校验
  • 配置/主题:ThemeConfig 全局 textTertiary;build-profile.json5 签名配置
  • 构建链:sign-hap.ps1、.gitignore、release/ 输出目录;CI unsigned 构建不受包名影响
  • 文档:README、双语资源(string.json)

5. Testing — 测试与验证

  • 本地 hvigor 构建通过:每个版本提交均含 BUILD SUCCESSFUL(含 SignHap)
  • 3.0.92 实测用 sign-hap.ps1 + release-config.local.json 签出 release 包(sign-app success)
  • 真机回归项:
    • 关于页:路由进入/返回、统计卡数值、外链跳转、隐私/开源弹层
    • 首页累计/非累计 × 存活/剩余四模式秒卡语义
    • 切 Tab / 退后台再回前台:秒表启停与整表刷新
    • 新包名覆盖安装升级、桌面卡片可用性
    • 旧备份 → 新包导入(追加想法/最后修改时间/心情/云端 key 完整)

6. Breaking Changes — 破坏性变更

  • 应用包名变更(3.0.86):com.rainforcetime.recordlifecom.mumudlin.recordlife
    • 已装旧包名设备需按新包名重新安装(同证书可覆盖)
    • 桌面卡片 / 快捷方式与旧包名绑定,需重新添加
    • 备份与配置导入校验的 bundleName 已在代码内同步
    • 本机签名需在 DevEco Signing Configs 重新生成(profile 绑定新 bundleName)

7. Migration / Compatibility — 兼容性说明

场景 结论
旧备份(无新字段)导入新版 ✅ 缺失字段走默认
新备份(含 comments/updatedAt 等)导入旧版 ✅ 多余字段忽略
旧包名备份 → 新包名导入 ✅ bundleName 校验已同步
数据模型 ✅ 可选字段演进,无迁移脚本
versionCode/versionName 30096 / 3.0.96(与提交号同步)

8. Checklist — 合并前检查

  • 版本号与 git 提交号一致(3.0.96)
  • 双语资源补齐
  • 无构建产物残留(BuildInfo.ets 占位恢复)
  • CHANGELOG 已增量更新(补记 3.0.85~3.0.96)
  • 真机回归(见 Testing)

9. After Merge — 合并后动作

  1. master 自动构建(CI)→ 产物 RecordLife_V3.0.96.hap(unsigned,Artifacts)
  2. 打 tag v3.0.96 → 自动构建并发布 GitHub Release
  3. gitee master 同步(仅代码,不参与打包)

RecordLife v3.0.84

Choose a tag to compare

@github-actions github-actions released this 05 Sep 00:58
9f54cd9

📦 PR: 3.0.84 记录体验增强 + 工程化稳定化(17 commits)

Base masterHead develop | 17 commits(f2f04e1..792d609)| 应用版本 3.0.84(30084)


1. Summary — 摘要

为记录体验补齐三项功能并完成多轮稳定性/工程化改进:

  1. 构建日期真实化:修复「关于页 Build 日期显示为查看日期」(构建时注入真实日期)
  2. 隐私保护增强:隐私模式开启时记录页亚克力模糊
  3. 记录可追溯性:每条记录增加「最后修改时间」(编辑过才显示)
  4. 记录评论(追加想法):每条记录可追加多条想法,支持增删、计数角标
  5. 稳定性与工程化:代码复查修复、6 项真机 UI 反馈、bindSheet 覆盖 bug、漏洞修复、编译警告 11→1、文档体系规范化、PR 模板机制

2. Type of Change — 变更类型

  • ✨ feat:隐私亚克力 / 最后修改时间 / 追加想法评论
  • 🐛 fix:Build 日期、编辑弹框不弹、评论不刷新、卡片布局挤压、键盘顶起、placeholder、漏洞(评论防重入/失败反馈)
  • 🛠 build/refactor:hvigor 构建任务、编译警告清理(11→1)
  • 📝 docs:README 业界标准重写、CHANGELOG 增量、docs 归档、PR 模板
  • ✅ 验证:全部改动本地 hvigor 构建通过

3. What's Changed — 变更明细

3.1 构建日期真实化(hvigor 自定义任务)

  • entry/hvigorfile.ts 新增 WriteBuildInfoPlugin:挂 default@PreBuild 前,每次构建写真实日期到 config/BuildInfo.ets(IDE/CLI/CI 三种构建一致)
  • AppInfoConfig.generateBuildNumber() 读构建注入的日期,不再运行时取当天

3.2 隐私模式 → 记录页亚克力模糊

  • privacyMode 同步 AppStorage(init / set / reset),冷热切换实时
  • NowPage 记录区 backdropBlur(24) 亚克力遮罩(深浅自适应、提示居中、FAB 可用)

3.3 最后修改时间

  • LifeRecord.updatedAt?(可选字段,旧数据兼容)
  • updateRecord 仅实际内容变化时写(归一化 diff,无改动保存不误标)
  • 卡片编辑过显示「编辑于 X」(同日时分/跨日 M/D,弹性布局不挤按钮)

3.4 追加想法(评论区)

  • LifeRecord.comments?(CommentItem{id,content,timestamp}),并入记录整体存储,备份兼容
  • 卡片消息图标+条数 → bindSheet 面板:多行 TextArea(占位叠层居中)、删除二次确认、防连点重入、失败 toast
  • 评论 bindSheet 独立绑定 Scroll(修复与编辑 bindSheet 同节点覆盖)

3.5 稳定性修复

  • 评论面板同引用不刷新 → 显式拷贝新引用
  • 卡片底部「编辑于」挤出按钮 → 时间区弹性列
  • 输入框 placeholder 垂直居中(TextArea + 自定义叠层)

3.6 工程化

  • 编译警告 11→1(accessSync/showToast 安全包装;权限项按 SaveButton 设计放弃)
  • 文档:README 业界标准重写、CHANGELOG 补齐 3.0.68~3.0.81、docs 归档历史规划、docs/README.md 维护规范、.github/PULL_REQUEST_TEMPLATE.md PR 模板 + 本地草稿 gitignore

4. Scope / Affected Areas — 影响范围

  • 此刻页(NowPage / TimelineSection / RecordCard):展示与记录操作
  • 数据模型与存储:LifeRecord +2 可选字段
  • 配置管理:privacyMode 全局状态
  • 构建链:hvigorfile 自定义任务(影响全部构建)
  • 备份/导入导出:JSON 透传新字段,双向兼容
  • 桌面卡片 / COS:不受影响

5. Testing — 测试与验证

  • 每个改动(17 commits)本地 hvigor 构建通过(BUILD SUCCESSFUL)
  • review(逐提交核查):无必现崩溃/数据损坏级缺陷
  • 功能影响面核查:旧功能无回归
  • 编译警告清理至 1 条(权限设计项)
  • 真机回归:隐私遮罩即时性、评论面板键盘/滚动、保存图片(警告放弃项对应功能)

6. Breaking Changes — 破坏性变更

无。

7. Migration / Compatibility — 兼容性说明

场景 兼容
旧备份(无新字段)导入新版 ✅ 缺失字段走默认
新备份(含评论/updatedAt)导入旧版 ✅ 多余字段忽略
旧版本升级 ✅ 无需迁移脚本
versionCode/versionName 30084 / 3.0.84(与提交号同步)

8. Checklist — 合并前检查

  • 版本号与 git 提交号一致(3.0.84)
  • 双语资源补齐
  • 无构建产物残留(BuildInfo.ets 占位恢复)
  • CHANGELOG 已增量更新
  • PR 模板与本地草稿机制已配置(本次起仓库零变化)
  • 真机回归(见 Testing)

9. After Merge — 合并后动作

  1. master 自动构建 → 产物 RecordLife_V3.0.84.hap
  2. 打 tag v3.0.84 → 自动发布 GitHub Release
  3. gitee master 同步

RecordLife v3.0.68

Choose a tag to compare

@github-actions github-actions released this 30 Aug 06:15
809aa69

概要

develop → master,9 个提交(3.0.60 ~ 3.0.68),13 个文件变更(+300 / -4)。

✨ 功能:桌面卡片「快速记录」

• 新增 ArkTS 桌面卡片(FormExtensionAbility + form_config.json + 卡片 UI)
• 桌面长按应用图标 → 服务卡片 → 添加「快速记录」卡片(2×2)
• 点击卡片直接拉起应用,自动切到「此刻」Tab 并弹出新建记录弹窗
• 卡片样式:渐变背景 + 装饰圆 + 白底加号 + 应用名/日期 + 操作提示
• 修复两轮渲染问题:四角露白(渐变铺满 Stack 自身)、四角白边(内容层不设圆角,由宿主统一裁切)

⚙️ CI:GitHub Actions

• 自动打包:push master 构建 unsigned HAP(容器镜像 6.0.2.650,与工程 modelVersion 匹配)
• 产物重命名:RecordLife_V.hap(版本号从 AppScope/app.json5 自动读取)
• 自动发布:推送 v* tag 时构建并发布 GitHub Release(名 RecordLife v,资产即 HAP)
• 修复:CI 构建 SignHap 报错(本机 Windows 证书路径在 Linux 不存在)→ 构建前移除签名配置

🔢 版本号同步机制

• 应用版本号(AppScope/app.json5)与 git 提交前缀统一为 3.0.x 递增,每次提交对应唯一版本
• 本次合并后应用版本为 3.0.68(versionCode 30068)

📄 文档

• docs/CHANGELOG.md 补 3.0.50~3.0.67 章节

✅ 验证

• 本地 hvigor 命令行构建通过(BUILD SUCCESSFUL,多轮:卡片/CI/样式改动后均验证)
• workflow YAML 结构校验通过(js-yaml)
• 版本提取命令实测输出正确(sed 读取 versionName)

🚀 合并后

  1. master 自动触发构建 → 产物 RecordLife_V3.0.68.hap
  2. 打 tag 并推送 v3.0.68 → 自动发布 GitHub Release(含该 HAP)

RecordLife_v2.3.0_20260823

Choose a tag to compare

@rainforcetime rainforcetime released this 22 Aug 17:47

RecordLife 更新日志(Changelog)

2.3.0(versionCode 23000)— 2026-08-23

从 2.0.0 起累计改动(中间 2.1.x/2.2.x 为开发版本,未单独发布,直接以 2.3.0 发布)

✨ 新功能

记录体验

  • 心情标记:新增/编辑记录可添加心情(😊😌🤩😢😴 5 档预置 + 自定义心情),记录卡片展示心情 emoji,支持按心情筛选
  • 撤销删除:删除记录后 3 秒内可一键撤销(含图片完整恢复),带倒计时进度条提示
  • 记录模板:预设常用记录模板,新增记录时一键填充内容;模板可自定义增删改(并入个性化管理)

首页("活着")

  • 生命进度环形:首页顶部实时显示已度过生命进程百分比(与目标年龄对比)
  • 签名/座右铭:可在我的页设置,首页标题区展示
  • 字体大小设置:小/中/大三档,实时作用于记录内容

数据与统计

  • 数据看板(我的页入口):记录总数 / 活跃天数 / 日均 / 最长连续天数 / 累计字数 / 记录区间
  • 生命进度 + 里程碑:环形进度 + 已活年月日明细 + 11 个生命里程碑(1000 天 / 1 万天 / 2 万天 / 3 万天 / 18 岁 / 30 岁 / 50 岁 / 目标年龄 1/4、1/2、3/4、满程),已达成/倒计时一目了然

效率与隐私

  • 缓存清理:一键清理临时分享图片与无引用图片
  • 隐私模式:开启后隐藏首页出生日期、生命里程碑与我的页生日(🔒 遮罩)
  • 引导页:首次安装展示 4 页功能引导(重置后重新展示)

其他

  • 自定义标签/心情/模板统一在「个性化管理」分页管理
  • 全局中英文双语(新增功能全部国际化)

🎨 体验优化

  • 筛选交互重构:筛选栏从横向滑动改为「此刻」旁的筛选按钮 + 弹出气泡,心情/标签分组选择,带筛选摘要与计数
  • 我的页改版:顶部用户区主题色渐变;设置项分组卡片化(常规/数据/个性化/更多)+ 图标
  • 标签管理弹窗:改 Tab 分页(标签 / 心情 / 模板),不再堆叠
  • 首页布局协调(生命进度环形归位标题行)

🐛 修复

  • 修复多次筛选后记录消失(重新筛选恢复)的问题
  • 修复重置应用与首次安装示例数据行为不一致
  • 修复字体大小设置保存失败
  • 修复编辑/删除记录等场景的编译与运行错误
  • 清理资源冲突、废弃 API、异常处理等全部编译警告

🛠 技术演进(开发者视角)

  • 架构分层重构model / repository / service / viewmodel / components 清晰分层,ConfigManager 瘦身、IO 职责下沉
  • 依赖注入:单例支持显式 context 注入(A5),消除全局状态依赖
  • 可测试性:新增 69 个单元测试(时间计算 / 统计 / 农历转换 / 配置校验等纯函数)
  • 日志统一:console 全部收敛到 hilog 封装(Logger)

RecordLife_v2.0.0_20260524

Choose a tag to compare

@rainforcetime rainforcetime released this 24 May 09:37
  • 首页:支持以图片形式分享卡片内容
  • 此刻:记录支持图片形式分享
  • 此刻:日历视图卡片展示支持跳转时间线视图
  • 此刻:添加安装后示例
  • 我的:存储空间支持头像切换时自动更新
  • 其他UI调整

Full Changelog: v1.0.0...v2.0.0

v1.0.0

Choose a tag to compare

@rainforcetime rainforcetime released this 23 May 16:51
2ad9588

可使用小白调试助手等调试工具安装

Full Changelog: https://github.com/rainforcetime/RecordLife/commits/rain