Skip to content
 
 

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

  • InstantNote — 灵感便签 App

    轻量记录,随手整理,让灵感不再丢失。

    HarmonyOS DevEco Studio Course Project


    项目简介

    InstantNote 灵感便签是一个基于 HarmonyOS / ArkTS / DevEco Studio 的轻量便签应用。本项目作为开源软件课程结课作业,在社区已有 InstantNote 项目的基础上进行二次开发,并参考 floral-notepaper 的轻量便签风格,使用 Agent 辅助完成 UI 重构、置顶功能、响应式适配和局域网投送流程设计。

    本项目希望实现一个轻量、清晰、适合手机 / 平板 / 2in1 使用的便签工具:打开即记、快速整理、重点置顶,并探索只依赖本软件完成局域网面对面投送的能力


    目录


    项目亮点

    亮点 说明
    🎨 产品化 UI 重构 将原始便签界面改造成更轻量、更统一的花笺风格界面
    📌 高频便签能力 支持搜索、置顶、快速记录、自动保存等核心便签流程
    📱 多设备适配 面向 HarmonyOS phone / tablet / 2in1 做响应式布局适配
    🚀 投送中心 设计发送 / 接收双页签、确认码、摘要、倒计时和导入预览流程
    🔄 本机回环验证 在单模拟器环境下验证文本 payload、解码和导入预览链路
    🤖 Agent 辅助开发 使用 Codex 辅助完成需求拆解、代码迭代、错误修复和文档整理

    Demo 展示

    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.ets mDNS 服务发布与搜索入口
    传输层 entry/src/main/ets/common/TransferLanTransport.ets 文本 payload 传输和本机回环验证
    响应式布局 entry/src/main/ets/common/ResponsiveLayout.ets phone / 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 设备进一步验证。


    构建与运行

    1. 使用 DevEco Studio 打开项目根目录。
    2. 等待 ohpm / hvigor 同步完成。
    3. 选择 entry 模块。
    4. 选择 HarmonyOS phone、tablet 或 2in1 模拟器。
    5. 点击 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.md
    • analysis/solve_logs.md
    • analysis/transfer_lan_design.md
    • README_DEVLOG.md

    已知问题

    问题 说明
    单模拟器限制 当前只有单个 DevEco 模拟器,无法完成真实双机跨设备验证
    mDNS 环境限制 模拟器环境下可能无法发现第二设备
    图片传输未完成 图片块暂不支持真实跨设备二进制传输
    真机网络待测 网络隔离、权限、端口占用等问题仍需真机测试
    SDK 差异 部分 DevEco / ArkTS API 存在版本差异,需要结合实际 SDK 验证

    后续计划

    • 使用两台 HarmonyOS 真机验证 mDNS 发现。
    • 完成真实双机 TCP 文本 payload 传输验证。
    • 支持图片二进制跨设备传输。
    • 增加传输失败、超时、取消等异常测试。
    • 增加更多本地单元测试。
    • 优化平板与 2in1 宽屏交互。
    • 完善 LICENSE 和第三方声明。

    项目说明

    本项目为开源软件课程作业,基于社区项目学习与改造。若后续作为正式开源项目发布,待进一步确认原始项目许可证,补充 LICENSE、第三方声明和贡献说明。

About

HarmonyOS / ArkTS 轻量便签应用,基于 InstantNote 改造,支持搜索、置顶、响应式布局和局域网投送流程验证。

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages