用一句话需求生成鸿蒙签到App:Agent驱动的端云一体开发初体验

举报
132807 发表于 2026/11/09 09:29:38 2026/11/09
【摘要】 今天在鸿蒙开发实践中心浏览了一个案例:用 CodeArts Agent 从一句话需求出发,自动生成端云一体的员工签到鸿蒙应用。把学习和实践中的要点记录下来。一、从一句话到完整应用需求只有一句话:实现一个端云协同的员工签到鸿蒙应用——员工注册(邮箱+密码不少于6位)、admin 配置签到位置和班次、员工 GPS 签到、管理员查看签到列表。Agent 用 5 轮对话完成:需求、PRD、HLD、代...

今天在鸿蒙开发实践中心浏览了一个案例:用 CodeArts Agent 从一句话需求出发,自动生成端云一体的员工签到鸿蒙应用。把学习和实践中的要点记录下来。


一、从一句话到完整应用

需求只有一句话:实现一个端云协同的员工签到鸿蒙应用——员工注册(邮箱+密码不少于6位)、admin 配置签到位置和班次、员工 GPS 签到、管理员查看签到列表。Agent 用 5 轮对话完成:需求、PRD、HLD、代码、部署、联调,自动产出 PRD、HLD 文档、端侧与云侧代码并完成部署。人工主要做的是提需求和做验收。


二、端云一体架构怎么分工

端侧是 HarmonyOS ArkTS + ArkUI,6 个页面 + 4 个 Service + 配置中心 + 全局状态管理,负责界面渲染、GPS 采集和登录态管理。云侧是 Node.js + Express,3 个路由组(pjm-auth、pjm-admin、pjm-emp)+ Services 业务层 + DAO 数据层,Nginx 反代 80 端口到 3000 端口,PM2 守护进程。数据层是 MySQL 8.0,三张表分别是用户表、配置表和签到记录表,启动时自动建表,连接池复用。


三、签到判定的关键逻辑

端侧通过位置服务获取 GPS 坐标,用 HTTP POST 发给云侧;云侧用 Haversine 公式计算与签到点的距离,判定是否在签到范围内,再结合班次时间判定迟到;签到记录支持最早加最晚的双记录策略,周末禁止签到。接口统一使用 pjm- 前缀,便于 Nginx 反代路由隔离;JWT 做鉴权,角色拦截区分员工与管理员。


四、值得借鉴的经验

第一,在 PRD 阶段就明确端云接口契约,避免后期接口不一致导致返工。第二,配置中心默认 API 地址为空字符串,防止凭据泄露,.env 文件不要进版本管理。第三,部署细节决定成败:.env 缺失或密钥过短会直接退出;Ubuntu apt 默认的 Node 版本太旧,要用 NodeSource 安装 Node 20;API 24 的 Kit 已改名;构建插件不在公共 npm registry,需要先用 DevEco Studio 打开项目一次初始化依赖。


五、小结

Agent 驱动开发并没有让开发者不动手,而是把精力从样板代码转移到了需求定义、架构评审和验收上。对端云一体项目来说,先定契约、再生成代码、最后逐项联调验收,是比较稳妥的路线。接下来我打算把这套流程用在待办清单类的小应用上,验证它在不同场景下的适用性。欢迎交流指正。

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

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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