鸿蒙 ArkTS 实战:Kids Story Generator 从轻量生成到草稿管理完整解析
鸿蒙 ArkTS 实战Kids Story Generator 从轻量生成到草稿管理完整解析前言Kids Story Generator 是一个面向儿童故事生成器的鸿蒙 ArkTS 单页工具。它把主题输入、数量统计、提示备注和状态保存放在同一屏适合快速生成、筛选和沉淀内容草稿。项目服务于 家长或老师按角色设定生成睡前故事支持朗读准备和书架保存。对家长、幼教老师、儿童内容创作者来说真正重要的是把灵感或草稿从临时想法变成可追踪的列表而不是停留在一次性输入框里。业务痛点儿童故事需要角色、情节和朗读节奏匹配临时编写容易缺少连续性。图示说明本文围绕 Kids Story Generator 的页面状态、草稿记录、统计卡片和保存闭环进行拆解。一、业务定位与产品目标1.1 面向的使用场景项目用故事草稿列表保存主题和备注方便家长连续生成、朗读和收藏。 这类应用的核心不是替代完整平台而是在移动端提供一个短路径、低干扰、可持续整理的工作面板。1.2 页面能力概览当前页面可以拆成四个区域顶部标题明确工具用途。统计卡片展示Stories与Saved。功能标签说明生成、调整、保存等能力边界。输入表单和草稿列表完成新增、展示与状态切换。页面区域实现元素业务意义标题区Text标识儿童故事生成器统计区totalAmount / savedCount统计故事草稿和保存进度标签区四个 Text 标签提示工具覆盖范围列表区ForEach管理草稿和结果二、工程结构与入口文件2.1 标准 Stage 结构项目采用标准鸿蒙 Stage 工程业务页面集中在entry/src/main/ets/pages/Index.ets。单页工具把模型、状态和布局集中呈现便于快速理解实现路径。entry/ src/ main/ ets/ entryability/ EntryAbility.ets pages/ Index.ets module.json52.2 模块入口理解页面代码负责业务交互模块配置负责应用加载。理解入口配置有助于排查页面未加载、Ability 路径错误等问题。{module:{name:entry,type:entry,abilities:[{name:EntryAbility,srcEntry:./ets/entryability/EntryAbility.ets,exported:true}]},topic:儿童故事生成器}三、数据模型草稿记录的最小闭环3.1 记录字段设计AiRecord用四个字段描述一条记录title表示主题amount表示数量口径note保存提示或结果状态saved表示是否已处理。interfaceAiRecord{title:string;amount:number;note:string;saved:boolean;}Staterecords:AiRecord[][{title:Brave cloud bunny,amount:1,note:Read aloud ready,saved:false},{title:Tiny train hero,amount:1,note:Saved to shelf,saved:false}];3.2 默认数据的业务含义默认数据用于说明应用的真实使用方向也让首次打开页面时可以直接看到统计和列表效果。默认标题数量备注SavedBrave cloud bunny1Read aloud readyfalseTiny train hero1Saved to shelffalse这些默认记录覆盖角色设定、故事生成、朗读准备和书架保存能体现项目不是泛化空壳而是围绕具体内容流程设计。四、状态管理输入、模式与反馈4.1 页面状态字段页面使用State管理输入草稿、智能模式开关和状态文案。smartMode控制顶部开关status负责反馈新增是否成功。StatetitleText:string;StateamountText:string;StatenoteText:string;StatesmartMode:booleantrue;Statestatus:stringAI lightweight tool ready;4.2 草稿与正式记录分离输入框内容先进入titleText、amountText和noteText点击按钮且校验通过后才会写入 records。这个设计能避免半成品输入污染正式草稿列表。关键点生成类工具也需要记录闭环否则用户会得到一堆瞬时结果却无法持续比较和复用。五、统计逻辑数量与保存进度5.1 总量统计totalAmount()遍历 records把 amount 累加为Stories。这个数字表示当前页面已经沉淀了多少故事草稿。5.2 状态统计savedCount()根据saved字段统计已处理记录并以已处理/总记录数的形式显示。privatetotalAmount():number{lettotal0;this.records.forEach((item:AiRecord){totalitem.amount;});returntotal;}privatesavedCount():number{letcount0;this.records.forEach((item:AiRecord){if(item.saved){count;}});returncount;}函数统计字段显示位置业务价值totalAmountamountStories掌握故事草稿规模savedCountsavedSaved掌握可复用结果比例toggleSavedindex列表勾选快速更新状态六、新增草稿流程6.1 输入校验新增时先把数量字符串转换为数字再检查标题是否为空、数量是否有效。校验失败时只更新状态文案不写入列表。6.2 顶部插入策略新草稿插入到列表顶部便于用户优先查看刚生成或刚整理的内容。privateaddRecord():void{constamountNumber(this.amountText);if(this.titleText.trim().length0||!Number.isFinite(amount)){this.statusEnter title and valid number;return;}this.records[{title:this.titleText,amount:Math.round(amount),note:this.noteText.length0?this.noteText:Draft note,saved:false},...this.records];this.titleText;this.amountText;this.noteText;this.statusDraft added;}七、保存状态与刷新机制7.1 状态切换列表勾选会切换saved字段。随后通过数组展开生成新引用让界面稳定刷新。privatetoggleSaved(index:number):void{this.records[index].saved!this.records[index].saved;this.records[...this.records];}7.2 视觉反馈被勾选的记录会使用浅绿色背景未勾选记录保持白色。这种反馈能帮助用户快速区分待处理草稿和已保存结果。状态背景用户感知未处理#FFFFFF仍需比较或修改已处理#DCFCE7可以复用或归档输入异常状态文案需要修正输入八、统计卡片与功能标签8.1 顶部统计卡片顶部统计区左侧展示Stories右侧展示Saved。紫色强调生成数量绿色强调已处理状态。Row({space:10}){Column({space:4}){Text(Stories).fontSize(13).fontColor(#475569)Text(String(this.totalAmount())).fontSize(24).fontWeight(FontWeight.Bold).fontColor(#7C3AED)}.layoutWeight(1).padding(14).backgroundColor(#EDE9FE).borderRadius(8)Column({space:4}){Text(Saved).fontSize(13).fontColor(#475569)Text(this.savedCount()/this.records.length).fontSize(24).fontWeight(FontWeight.Bold).fontColor(#047857)}.layoutWeight(1).padding(14).backgroundColor(#D1FAE5).borderRadius(8)}8.2 功能标签解读页面标签分别是Role setting、Story generate、Read aloud、Saved shelf对应内容生成工具的四个基本环节。角色设定确定输入对象。故事生成形成初始结果。朗读准备进行调整或判断。书架保存沉淀可复用结果。九、输入表单与列表渲染9.1 表单区域表单采用主题、数量、提示备注三个输入框配合一个新增按钮完成草稿创建。Column({space:10}){TextInput({placeholder:Input topic,text:this.titleText}).onChange((value:string)this.titleTextvalue)TextInput({placeholder:Count,text:this.amountText}).type(InputType.Number).onChange((value:string)this.amountTextvalue)TextInput({placeholder:Prompt note,text:this.noteText}).onChange((value:string)this.noteTextvalue)Button(Add draft).height(42).width(100%).onClick(()this.addRecord())}9.2 列表区域列表使用ForEach渲染 records。每一行都包含勾选框、标题、备注和数量适合快速浏览草稿质量和处理状态。ForEach(this.records,(item:AiRecord,index:number){Row(){Toggle({type:ToggleType.Checkbox,isOn:item.saved}).onChange(()this.toggleSaved(index))Column({space:6}){Text(item.title).fontSize(18).fontWeight(FontWeight.Bold).fontColor(#111827)Text(item.note).fontSize(14).fontColor(#475569)}.layoutWeight(1).margin({left:8})Text(String(item.amount)).fontSize(18).fontWeight(FontWeight.Bold).fontColor(#7C3AED)}.padding(14).backgroundColor(item.saved?#DCFCE7:#FFFFFF).borderRadius(8).width(100%)})十、业务流程复盘10.1 标准路径Kids Story Generator 的一次使用可以拆成四步输入角色或主题。填写故事数量。备注朗读需求。满意后保存到书架。10.2 异常路径当标题为空或数量无效时新增动作会被拦截。这能保证列表中的草稿至少具备主题和数量两个核心信息。constamountNumber(this.amountText);constinvalidthis.titleText.trim().length0||!Number.isFinite(amount);if(invalid){this.statusEnter title and valid number;}十一、扩展设计11.1 持久化记录如果要从演示工具走向正式应用可以为记录增加 id、创建时间和更新时间并写入本地存储。interfacePersistedDraft{id:string;title:string;amount:number;note:string;saved:boolean;updatedAt:number;}11.2 行业能力扩展后续可以加入年龄分级、朗读音频、插画提示和系列故事书架。推荐按以下顺序扩展先做本地保存避免草稿丢失。再增加模板、分类和搜索能力。最后接入导出、分享或云端同步。十二、调试与验证12.1 核心验证点验证时重点检查新增草稿、数量统计、状态勾选、背景变化和错误提示。12.2 运行检查可以在 DevEco Studio 中启动预览或真机运行按输入、生成、保存的路径逐项验证。# 常规验证动作# 1. 输入主题、数量和提示备注# 2. 点击 Add draft 或 Add record# 3. 检查新记录是否位于顶部# 4. 勾选记录并观察统计变化验证项预期结果业务意义有效新增列表顶部出现草稿快速沉淀内容结果空标题显示错误状态避免无主题记录勾选状态统计和背景同步变化区分可复用结果空备注自动写入默认备注保证列表可读十三、可复用的生成工具模式13.1 通用公式这类页面可以抽象成一个生成类工具公式输入主题、生成数量、提示备注、保存状态。输入主题 生成数量 提示备注 保存状态 可复用的轻量生成工具13.2 复用边界复用时不能只替换应用标题还要同步调整默认数据、统计名称、功能标签和业务说明否则生成工具会失去真实场景感。总结Kids Story Generator 用简洁的 ArkTS 单页结构把儿童故事生成器场景中的生成、整理、保存动作串成闭环。它的重点不是复杂模型调用而是用清晰的状态和列表管理结果。对于 家长、幼教老师、儿童内容创作者 来说这种工具能减少临时记录和反复复制让草稿持续沉淀。后续补充持久化、模板和导出能力后它可以进一步扩展为更完整的内容生产助手。如果这篇文章对你有帮助可以点赞、收藏并关注后续会继续拆解更多鸿蒙 ArkTS 实战项目。相关资源HarmonyOS 应用开发ArkTS 语言基础ArkUI 声明式开发DevEco StudioStage 模型应用结构Ability Kit

相关新闻

2026 WAIC商汤展区直击:“未来实验室”火爆亮相,四大主题“感知未来”

2026 WAIC商汤展区直击:“未来实验室”火爆亮相,四大主题“感知未来”

人工智能会如何改变未来?是说一句话就能生成一整份带有精致图表的数据报告?还是一键就能把脑海里的想象变成影视级的画面?本届WAIC 2026,商汤科技以“SenseTime——感知未来”为主题,打造了一座可触摸、可体验、可互动…

2026/9/24 7:55:27 阅读更多 →
鸿蒙 ArkTS 实战:Copy Polish Folder 从轻量生成到草稿管理完整解析

鸿蒙 ArkTS 实战:Copy Polish Folder 从轻量生成到草稿管理完整解析

鸿蒙 ArkTS 实战:Copy Polish Folder 从轻量生成到草稿管理完整解析 前言 Copy Polish Folder 是一个面向 文案润色文件夹 的鸿蒙 ArkTS 单页工具。它把主题输入、数量统计、提示备注和状态保存放在同一屏,适合快速生成、筛选和沉淀内容草稿。 项目服…

2026/9/23 9:47:38 阅读更多 →
部署态元年!智元WAIC 2026全方位展现具身智能产业化硬核实力

部署态元年!智元WAIC 2026全方位展现具身智能产业化硬核实力

7月17-20日,智元携全系列产品、多个部署态场景亮相世界人工智能大会(WAIC 2026)。作为全球领先的具身智能科技企业,智元围绕“三智一体”产品技术架构,集中展示了具身基座模型、整机及核心零部件新品、真实部署态案例与…

2026/9/13 16:54:33 阅读更多 →

最新新闻

plannotator 架构决策记录(ADR)实践指南:从 ADR-0001 到 007 的决策治理体系

plannotator 架构决策记录(ADR)实践指南:从 ADR-0001 到 007 的决策治理体系

【免费下载链接】plannotator Annotate and review coding agent plans and code diffs visually, share with your team, send feedback to agents with one click. 项目地址: https://gitcode.com/gh_mirrors/pl/plannotator 点击查看 免费下载 导读 本文围绕 p…

2026/9/25 7:22:45 阅读更多 →
Origin主成分分析(PCA)完全指南:从数据标准化到得分图绘制

Origin主成分分析(PCA)完全指南:从数据标准化到得分图绘制

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 7:22:45 阅读更多 →
低功耗遥测终端机RTU选型指南:从功耗核算到Modbus RTU对接实战

低功耗遥测终端机RTU选型指南:从功耗核算到Modbus RTU对接实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 7:22:45 阅读更多 →
IIS日志中的布尔盲注分析实战:从闽盾杯到真实攻防

IIS日志中的布尔盲注分析实战:从闽盾杯到真实攻防

1. 这不是一道CTF题,而是一次真实攻防现场的复盘“网络安全日志分析-题集1-[闽盾杯 2021]日志分析”——光看标题,很多人会下意识划走:又一道CTF模拟题,无非是给点Apache日志、写个Python脚本、跑出flag完事。但我在福建某市网信办…

2026/9/25 7:22:45 阅读更多 →
Apache DataFusion 下载与发布物验证指南:Cargo 依赖引入、官方源码发布包与 GPG/SHA-512 校验

Apache DataFusion 下载与发布物验证指南:Cargo 依赖引入、官方源码发布包与 GPG/SHA-512 校验

大数据数据分析后端 【免费下载链接】datafusion Apache DataFusion SQL Query Engine 项目地址: https://gitcode.com/gh_mirrors/datafu/datafusion 点击查看 免费下载 Apache DataFusion 是使用 Rust 编写、以 Apache Arrow 为内存格式的可扩展查询引擎。无论是…

2026/9/25 7:22:45 阅读更多 →
Havoc Framework 实战指南:现代可塑化后渗透 C2 框架的架构、部署与配置全解析

Havoc Framework 实战指南:现代可塑化后渗透 C2 框架的架构、部署与配置全解析

网络安全 【免费下载链接】Havoc The Havoc Framework 项目地址: https://gitcode.com/gh_mirrors/ha/Havoc 点击查看 免费下载 导读:Havoc 是一个由 C5pider 创建的现代可塑(malleable)后渗透 C2(Command and Contro…

2026/9/25 7:21:45 阅读更多 →

日新闻

AI元人文:从工具使用到思维重构的深度探索

AI元人文:从工具使用到思维重构的深度探索

最近半年我一直在琢磨一件事:AI元人文到底是什么?说白了,就是“用元视角重新审视人与AI的关系”,也在“探索AI如何反向逼着我们发现自己的思考边界”。标题里的“元探索”,在我看就是一层套一层的追问——当你用AI解决…

2026/9/25 0:00:41 阅读更多 →
Python+CNN车牌识别实战:从数据预处理到模型训练与部署

Python+CNN车牌识别实战:从数据预处理到模型训练与部署

简介:基于Python与卷积神经网络的车牌识别项目,面向计算机视觉初学者及智能交通开发者,目标是帮助用户掌握从数据预处理、模型构建到实际部署的完整流程。压缩包共25个文件,包含jpg/png图像样本、py训练脚本、md说明文档、dat数据…

2026/9/25 0:00:41 阅读更多 →
Vim基础操作全攻略:保存退出、模式切换与高频命令实战

Vim基础操作全攻略:保存退出、模式切换与高频命令实战

1. 项目概述1.1 核心需求解析今天聊聊Vim。写这个题目的原因是:几乎每个后端开发者、运维人员、数据工程师某天都会遇到一个场景——深夜加班,服务器登录界面只有黑底白字,编辑器只有vi/vim,你必须在五分钟内完成一次配置修改并保…

2026/9/25 0:00:41 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/24 14:34:13 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/24 9:10:42 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/24 14:33:56 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/24 12:50:34 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/24 14:33:48 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/24 12:49:17 阅读更多 →