用 AI 开发者空间做鸿蒙云同步待办清单:从一句话需求到端云数据同步

举报
yd_215301972 发表于 2026/11/09 01:34:10 2026/11/09
【摘要】 今天用 AI 开发者空间做鸿蒙云同步待办清单:梳理端云分工、APIG 网关的作用与数据同步要点,记录真实体验与两个小坑。

昨天我用 AI 开发者空间做了一个鸿蒙端云一体的签到 App,今天换一个更贴近日常的场景继续练手:云同步待办清单。案例来自鸿蒙开发实践中心,目标是验证三件事:端云数据能不能实时同步、断网后本地操作会不会丢、多设备登录同一账号数据是否一致。本文记录的是今天真实的操作过程和梳理出来的思路。

一、案例结构:端侧与云侧的分工

这个案例的端云分工很清晰:

  • 端侧:ArkTS + ArkUI 实现待办列表、新增、勾选、删除,以及本地缓存,离线也能正常操作。
  • 云侧:云数据库(AppGallery Connect)存放待办数据,云函数处理同步与清理逻辑,APIG 做统一流量入口。
  • 同步机制:端侧改动先写本地,再同步上云;云端变化再推回端侧,多设备保持一致。

今天我在 DevSpace 里向 AI 提的第一个问题就是 APIG 网关的作用,得到的回答是:APIG 是端侧与云侧之间的统一流量入口,负责请求路由、认证鉴权、限流熔断和协议转换,让鸿蒙终端以一致的方式安全调用后端云函数和微服务,开发者不用在每个服务上重复处理这些横切关注点。这句话基本就是这个案例云侧设计的缩影。

二、今天的动手过程

  1. 在开发者成长中心点开“每日浏览一个鸿蒙案例”,打开云同步待办清单案例,停留浏览 60 秒以上,通读了案例结构、同步流程和关键代码位置。
  2. 从成长中心进入 AI Agent 实践中心,再进 AI 开发者空间体验版(免费试用,剩余约 3 小时),新建会话,工作目录默认 /root/workspace。
  3. 在 AI Shell 里向 AI 提问 APIG 网关的作用,拿到上面那段回答,确认了网关在端云链路里的位置。
  4. 对照案例,把待办清单的同步链路按“本地写、云端存、多端对齐”三步重新梳理了一遍。

三、同步链路里最值得注意的三点

1. 以云端为准绳,本地只做缓存

待办数据最终以云数据库为准,端侧数据库是缓存和离线兜底。这样即使换手机,登录同一账号后清单也能完整恢复,不用再手动迁移。

2. 冲突用更新时间裁决

同一条待办在两台设备上同时改动时,靠最后更新时间戳裁决,后写的覆盖先写的。规则简单,但前提是每条记录都要带可靠的更新时间,并且删除要用软删除标记,否则一条已删的数据可能被另一台设备的旧数据“复活”。

3. 认证与网关不要自己造轮子

登录态、鉴权、限流这些事交给 APIG 和云函数,端侧只关心业务。自己在每个接口里手写鉴权,迟早会漏掉某一处。

四、一个最小的数据模型(示意)

下面是我按案例思路整理的示意模型,不是直接复制案例源码:

interface TodoItem {
  id: string;        // 云端唯一标识
  title: string;     // 待办内容
  done: boolean;     // 是否完成
  updatedAt: number; // 最后更新时间戳,用于冲突裁决
  deleted: boolean;  // 软删除标记,避免删除操作被旧数据复活
}

五个字段就能把清单的同步讲清楚:能认出是哪条、知道内容和状态、能裁决冲突、删了也不会复活。

五、踩过的两个小坑

  1. 体验版环境准备需要等一会儿。刚进 DevSpace 时中央还是空白的“环境准备中”,等十几秒才会出现首页和会话入口,不要反复刷新,刷新只会重新排队。
  2. 社区写博客要用已登录的标签页进编辑器。我今天从成长中心点“去完成”新开的标签页一度显示未登录,而登录助手操作过的那一页是正常登录的。直接在已登录的那一页点“写博客”,不要在未登录的标签页里反复点登录。

六、小结

待办清单看起来小,但把登录、网关、云数据库、云函数、离线缓存串起来,就是一套完整的端云一体最小闭环。签到 App 练的是“端云联调能不能跑通”,待办清单练的是“数据在多端之间能不能长期保持一致”,两个场景练的不是同一个能力。下一步我想给清单加上提醒时间,用云函数做定时提醒,再看看端云之间怎么分工最省事。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。