用一句话需求生成鸿蒙签到App:Agent驱动的端云一体开发初体验
今天在鸿蒙开发实践中心浏览了一个案例:用 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 驱动开发并没有让开发者不动手,而是把精力从样板代码转移到了需求定义、架构评审和验收上。对端云一体项目来说,先定契约、再生成代码、最后逐项联调验收,是比较稳妥的路线。接下来我打算把这套流程用在待办清单类的小应用上,验证它在不同场景下的适用性。欢迎交流指正。
- 点赞
- 收藏
- 关注作者
评论(0)