
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
本篇学习 ArkTS 的核心语法,并为「古今职鉴」项目创建第一个数据模型

模块详情页面开发摘要 本文介绍了模块详情页面的开发过程,主要包括三个核心部分: 页面路由与参数传递:通过router实现页面跳转并传递moduleId参数,在目标页面接收参数并获取对应模块数据 模块信息展示:设计动态渐变背景的头部区域,展示模块图标、标题、描述、课时数等信息,背景色根据模块主题色动态变化 课程列表组件:开发LessonItem组件,包含左侧状态指示条、课程序号、标题、收藏按钮等信息

本文介绍了React学习教程项目的分层架构设计,包含五层架构:表现层(Pages)、组件层(Components)、服务层(Services)、数据层(Data)和模型层(Models)。详细规划了项目目录结构,包括common、components、data、models、pages和services等模块,并制定了命名规范。最后展示了如何通过Constants.ets文件集中管理应用常量,包括

第 58 篇收束第 12 天内容:AI 能力必须把失败态讲清楚。Key 缺失、登录未完成、网络失败、响应为空、模型未开通,它们都不应该只变成一句“失败了”。 项目把前置检查放在页面层,请求异常放在服务层,模型不可用时再尝试候选模型。这样用户看到的是明确提示,开发者排查时也能顺着层级定位。 这一篇继续围绕 21 天「智能相机开发实战」训练营展开。阅读时可以先看界面效果,再顺着函数

第 10 天开始,我们从拍摄链路进入相册数据层。很多相机 Demo 只保存一张图片 Uri,但双镜记忆相机要承载地点、时间、前后摄、智能摘要、备注、隐私和云同步。这个承载结构就是 GalleryMoment。 如果模型设计太薄,后面每个功能都要临时拼字段;如果模型过度复杂,页面又会难以维护。训练营项目采用一个中等厚度的记录模型,让照片从“文件”升级成“记忆条目”。 这一篇继续围

第 56 篇专门讲解析。在线模型再强,也可能返回多余解释、代码块、字段缺失或技术响应。产品不能因为一次格式不稳定就把页面卡住,所以 parseInsight 必须有兜底。 项目的策略很清楚:先找 JSON 块,字段完整就用结构化结果;解析失败后净化文本,能用就截取成摘要;如果是技术响应或空响应,就生成本地兜底文案。 这一篇继续围绕 21 天「智能相机开发实战」训练营展开。阅读时

导入解决的是“把系统相册照片纳入项目”,导出解决的是“把项目沙箱照片交还给系统相册”。第 51 篇看导出链路,重点是沙箱文件、保存授权、图片资产配置和用户反馈。 很多相机项目导出失败的原因不是保存接口本身,而是源文件路径、Uri 转换、重复前后摄图片和用户取消保存没有处理清楚。项目把这些边界拆成几个小函数,读起来比较容易定位。 这一篇继续围绕 21 天「智能相机开发实战」训练营

第 50 篇接着导入流程往下走。普通相册和保险箱都需要导入系统照片,但它们的数据域不同:普通照片参与相册、地图和分享,私密照片进入保险箱,必须受解锁状态和隐私边界控制。 项目没有为保险箱复制一套导入逻辑,而是在 importSystemAlbumPhotos(scope) 里用 scope 决定记录可见性、选中项、状态文案和同步提示。这是训练营里非常值得保留的工程习惯:入口复用

相册卡片解决的是浏览入口,详情页解决的是沉浸查看。双镜照片不只有一张图:可能有后摄主图、前摄图,也可能同组里还有多张记录。详情页要把这些内容转成可滑动帧。 这一篇看详情页的大图结构。重点是 MediaPreviewFrame 如何生成,Swiper 如何驱动索引变化,控制层如何在不遮挡图片的情况下展示标题、地点、备注、保存和分享动作。 这一篇继续围绕 21 天「智能相机开发实战

第 12 天开始进入在线智能能力。第 54 篇先不急着发请求,而是讲配置边界:API Key 从哪里来,保存在哪里,页面如何读取,清除以后如何恢复到本地能力。 训练营文章不会展示真实 Key,项目源码也不应该把用户 Key 写死在公开逻辑里。当前项目把用户输入的 Key 保存在本地 Preferences,页面根据配置决定显示“本地短片”还是“在线介绍片”。 这一篇继续围绕 2








