拾刻记是一款专为追求内心平静与生活仪式感的年轻人打造的生活伴侣App。它不像传统效率工具那样冷冰冰,而是用温暖轻盈的方式陪你度过每一天。
每天醒来,打开拾刻记,一句精心挑选的金句会准时出现,配以绝美的渐变背景,让你在忙碌开始前先静下心来。你可以把这句喜欢的话收藏起来,或者一键生成精美海报分享给朋友,让温暖传递。
在这里,你可以用emoji记录每天的心情,用色彩绘制属于自己的情绪曲线;可以写几行碎片随笔,不拘泥于格式,真实记录当下的想法;还能养一只虚拟小猫或小狗,用喂食、玩耍、陪伴的方式解锁亲密度成就,见证一段跨越屏幕的羁绊。
无聊的时候,摇一摇签筒看看今日运势,翻开答案之书寻找迷惘中的指引,或者用涂鸦和呐喊的方式释放积压的情绪压力。每月回头看看心情日历,你会发现原来每一天都值得被记住。
拾刻记还内置了每日笑话、账本管理、打卡成就等功能,像一个懂你的生活小助手,用恰到好处的陪伴让你的日常变得更加有趣、更加有温度。
拾刻记 — 项目实现思路
一、架构总览
项目采用 MVVM 分层架构,按职责分为四层:
视图层(pages/ components/)— UI 页面和可复用组件
数据层(data/)— 静态数据(名言库、笑话库、答案之书等)
模型层(model/)— TypeScript 类定义(Quote、Journal、Mood 等)
工具层(utils/)— 业务逻辑封装(存储、日历、签到、成就等)
二、核心设计模式
1. AppStorage 跨页面状态同步
通过 @StorageProp / @StorageLink 实现全局状态共享,避免页面间传参:
收藏数量 app_favCount → 主页收藏按钮、个人中心统计
心情天数 app_moodCount → 心情选择器、日历视图
随笔篇数 app_journalCount → 写随笔组件、个人中心
签到天数 app_checkinCount → 签到按钮、勋章展示
字体大小 app_fontSize → 设置页选完后主页文字即时变化
头像/昵称 app_avatar / app_nickname → 右上角头像同步
2. 组件化拆分
主页 Index 由多个独立组件拼装:
QuoteCard — 每日金句卡片(背景图 + 文字)
ActionButtons — 底部操作栏(复制/分享/收藏/随机)
DailyQuestion — 写随笔入口
MoodSelector — 心情打卡
WeatherWidget — 实时天气
每个组件通过 @Prop 接收数据,职责单一,可独立修改。
3. 本地持久化
所有用户数据通过 StorageUtil 统一管理,底层基于 HarmonyOS @ohos.data.preferences:
收藏列表 favorites,JSON 序列化 FavoriteQuote[]
随笔日记 journals,JSON 序列化 JournalEntry[]
心情记录 moodRecords,按日期索引
记账数据 ledger,收支流水
宠物状态 pet,状态值 + 亲密度 + 互动次数
三、关键功能实现
每日金句 — 确定性随机
用当天日期生成固定种子,seed % 总条数 = 当日句子索引。同一天所有人看到同一句,换天自动切换。内置 100+ 句,签到奖励可扩充至 300+ 句。
分享 — 剪贴板方案
不使用系统 startAbility(兼容性差),改为直接写入系统剪贴板 + toast 提示"已复制",所有设备通用。