-
InstantNote 灵感便签是一个基于 HarmonyOS / ArkTS / DevEco Studio 的轻量便签应用。本项目作为开源软件课程结课作业,在社区已有 InstantNote 项目的基础上进行二次开发,并参考 floral-notepaper 的轻量便签风格,使用 Agent 辅助完成 UI 重构、置顶功能、响应式适配和局域网投送流程设计。
本项目希望实现一个轻量、清晰、适合手机 / 平板 / 2in1 使用的便签工具:打开即记、快速整理、重点置顶,并探索只依赖本软件完成局域网面对面投送的能力。
亮点 说明 🎨 产品化 UI 重构 将原始便签界面改造成更轻量、更统一的花笺风格界面 📌 高频便签能力 支持搜索、置顶、快速记录、自动保存等核心便签流程 📱 多设备适配 面向 HarmonyOS phone / tablet / 2in1 做响应式布局适配 🚀 投送中心 设计发送 / 接收双页签、确认码、摘要、倒计时和导入预览流程 🔄 本机回环验证 在单模拟器环境下验证文本 payload、解码和导入预览链路 🤖 Agent 辅助开发 使用 Codex 辅助完成需求拆解、代码迭代、错误修复和文档整理
Demo 展示主题 主要内容 🎬 Demo 1 基础便签功能与 UI 重构 首页、搜索、置顶、快速记录、编辑与自动保存 🎬 Demo 2 响应式布局与多设备适配 手机、平板、2in1 布局与投送弹窗适配 🎬 Demo 3 投送中心与本机回环验证 确认码、接收演示、本机传输层测试、导入预览 说明:当前开发环境只有单个 DevEco 模拟器,因此 Demo 3 使用本机回环方式验证传输层,不代表已经完成两台真实设备之间的跨设备投送。
功能 说明 📝 快速记录 点击底部按钮即可创建新便签,适合随手记录灵感 🗂️ 便签列表 首页以卡片形式展示便签,包含标题、摘要、标签和更新时间 🔍 搜索 顶部搜索栏支持按标题、正文内容和标签进行关键词搜索 📌 置顶 支持置顶 / 取消置顶,重要便签始终显示在列表前方 ✏️ 编辑 支持编辑标题、标签和多段正文内容,返回后自动保存 🖼️ 图片块 支持图片块展示入口,投送时提示图片跨设备传输待接入 💾 本地保存 使用本地存储保存便签内容,应用重启后仍可恢复 📱 响应式布局 适配 HarmonyOS phone、tablet 和 2in1,多尺寸下保持可读 🚀 投送中心 提供发送 / 接收双页签、确认码、摘要和倒计时流程 🔐 确认码校验 面对面投送会话生成 6 位确认码,用于接收端核对 🔄 本机回环验证 在单模拟器环境下验证文本 payload 传输、解码和预览链路 📥 导入预览 接收内容后先预览新增 / 更新情况,用户确认后才合并 🧪 高级调试 保留 JSON 调试导入入口,便于验证投送协议和异常场景
类别 技术 运行环境 HarmonyOS 开发工具 DevEco Studio 开发语言 ArkTS / ETS UI 框架 ArkUI 构建系统 Hvigor / ohpm 本地存储 Preferences / AppStorage 响应式布局 自定义断点与内容宽度工具 投送协议 自定义 MemoTransfer JSON 协议 局域网探索 mDNS / socket 方向能力探索 开发方式 Agent 辅助开发 + 手动验证
模块 路径 职责 首页与投送中心 entry/src/main/ets/pages/Index.ets首页列表、搜索、置顶、投送中心弹窗 编辑页 entry/src/main/ets/pages/EditMemo.ets便签标题、标签、文本块和图片块编辑 数据模型 entry/src/main/ets/common/MemoModel.ets定义便签、文本块、图片块等数据结构 本地存储 entry/src/main/ets/common/MemoStorage.ets负责便签的本地保存与读取 投送协议 entry/src/main/ets/common/MemoTransfer.ets投送包编码、解码、预览和合并 会话管理 entry/src/main/ets/common/TransferLanSession.ets生成确认码、会话 ID、摘要和过期时间 局域网发现 entry/src/main/ets/common/TransferLanDiscovery.etsmDNS 服务发布与搜索入口 传输层 entry/src/main/ets/common/TransferLanTransport.ets文本 payload 传输和本机回环验证 响应式布局 entry/src/main/ets/common/ResponsiveLayout.etsphone / tablet / 2in1 断点与宽度控制 主题样式 entry/src/main/ets/common/AppTheme.ets应用色彩、圆角、间距和文字风格
用户输入 / 编辑便签 ↓ MemoModel 数据结构 ↓ MemoStorage 本地保存 ↓ 首页列表 / 搜索 / 置顶排序 ↓ 投送中心选择范围 ↓ MemoTransfer 编码为文本 payload ↓ TransferLanSession 创建确认码和会话 ↓ TransferLanDiscovery 发布 / 搜索服务 ↓ TransferLanTransport 本机回环或后续真实传输 ↓ decodeTransferPackage ↓ previewTransferImport ↓ 用户确认 ↓ mergeReceivedMemos核心设计原则:
- UI 与协议分离:投送中心只负责交互,投送包处理集中在
MemoTransfer.ets。 - 发现与传输分离:mDNS 只负责发现服务,payload 获取由传输层负责。
- 导入必须预览:接收内容后不能直接合并,必须先进入导入预览。
- 不伪装真实双机能力:单模拟器环境下只做本机回环验证,不声称已完成真实跨设备投送。
状态 能力 说明 ✅ 已完成 投送中心 UI 发送 / 接收双页签、确认码、摘要、倒计时 ✅ 已完成 文本 payload 可生成文本投送包,图片块暂不做二进制传输 ✅ 已完成 导入预览 接收后先预览新增 / 更新情况,确认后合并 ✅ 已完成 本机回环验证 单模拟器下验证传输层、解码和预览链路 🟡 待真机验证 mDNS 双机发现 需要两台 HarmonyOS 设备连接同一 Wi-Fi 🟡 待真机验证 TCP 双机传输 真实设备间文本 payload 传输仍需验证 🔜 后续计划 图片二进制传输 当前只提示图片跨设备传输待接入 由于当前开发环境只有单个 DevEco 模拟器,无法完成两台真实 HarmonyOS 设备在同一 Wi-Fi 下的真实互传验证。因此,本项目当前投送能力应表述为:
已完成局域网投送的 UI、协议层、传输层和单机回环验证;真实双机投送待两台 HarmonyOS 设备进一步验证。
- 使用 DevEco Studio 打开项目根目录。
- 等待 ohpm / hvigor 同步完成。
- 选择
entry模块。 - 选择 HarmonyOS phone、tablet 或 2in1 模拟器。
- 点击 Run 运行项目。
命令行构建可执行:
D:\DevEcoStudio\tools\hvigor\bin\hvigorw.bat assembleApp权限说明:
权限 用途 ohos.permission.INTERNET局域网发现与后续文本 payload 传输能力探索 当前项目不会申请相机权限,不使用扫码作为主流程,也不依赖微信、QQ、邮件等外部软件完成投送。
阶段 时间 内容 第一阶段 2026/5/22 阅读原项目结构,完成首页中文化、便签卡片重构和轻量纸张风格 第二阶段 2026/6/23 接入搜索、置顶、快速记录、本地保存和响应式布局 第三阶段 2026/7/9 重构投送中心,新增确认码、摘要、倒计时、发现层和传输层 第四阶段 2026/7/9 完成本机回环传输验证,整理 README 与课程展示材料 Agent 辅助开发记录:
analysis/change_log.mdanalysis/solve_logs.mdanalysis/transfer_lan_design.mdREADME_DEVLOG.md
问题 说明 单模拟器限制 当前只有单个 DevEco 模拟器,无法完成真实双机跨设备验证 mDNS 环境限制 模拟器环境下可能无法发现第二设备 图片传输未完成 图片块暂不支持真实跨设备二进制传输 真机网络待测 网络隔离、权限、端口占用等问题仍需真机测试 SDK 差异 部分 DevEco / ArkTS API 存在版本差异,需要结合实际 SDK 验证
- 使用两台 HarmonyOS 真机验证 mDNS 发现。
- 完成真实双机 TCP 文本 payload 传输验证。
- 支持图片二进制跨设备传输。
- 增加传输失败、超时、取消等异常测试。
- 增加更多本地单元测试。
- 优化平板与 2in1 宽屏交互。
- 完善 LICENSE 和第三方声明。
本项目为开源软件课程作业,基于社区项目学习与改造。若后续作为正式开源项目发布,待进一步确认原始项目许可证,补充 LICENSE、第三方声明和贡献说明。
- UI 与协议分离:投送中心只负责交互,投送包处理集中在
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|