##欢迎加入开源鸿蒙跨平台社区

https://openharmonycrossplatform.csdn.net


一、变更内容

1. 功能新增与调整

  1. 设置页新增账号管理模块
    • 新增游客状态展示(默认显示 “游客” 及 “当前为游客状态,登录后可同步收藏” 提示)
    • 新增「登录」「注册」按钮,点击后通过 SnackBar 反馈操作结果(登录成功提示 “登录成功,收藏已同步”,注册提示 “注册功能开发中,敬请期待”)
    • 新增「关于我们」入口,点击弹出应用介绍弹窗,包含应用定位、核心功能及版本信息
  2. 设置页原有功能优化
    • 保留原有的「主题模式」切换功能(跟随系统 / 浅色 / 深色)
    • 新增主题切换反馈:切换后通过 SnackBar 提示当前生效的主题模式
  3. 页面结构调整
    • 保持「我的收藏」页面完全不变,仅作为收藏管理入口
    • 将账号相关功能全部迁移至「设置」页面,避免功能分散

2. 代码层面核心修改

文件 修改内容
setting_page.dart 新增 _isLoggedIn_userName 状态变量;新增 _handleLogin()_handleRegister()_showAboutDialog() 方法;重构页面布局,新增账号信息卡片及「关于我们」列表项
main.dart 保持初始状态,未做修改,确保原有 Provider 初始化及底部导航逻辑不变
mine_page.dart 完全还原为初始版本,仅保留收藏列表展示、刷新及删除功能,无任何新增代码

不要忘记上传代码并标注更新内容


二、开发过程中遇到的问题及解决方案

1. 代码语法错误

  • 问题:初始修改 mine_page.dart 时,误将 Icons.person 写成 I.person,导致编译报错 Undefined name 'I'
  • 解决方案:检查代码拼写,修正为 Icons.person,同时排查其他类似拼写错误,确保所有图标引用正确

2. 页面功能冲突

  • 问题:最初计划将登录 / 注册功能放在「我的收藏」页面,导致页面职责混乱,既承载收藏管理又承担账号操作,不符合单一职责原则
  • 解决方案:调整产品逻辑,将账号相关功能全部迁移至「设置」页面,「我的收藏」仅专注于收藏管理,保持页面功能纯粹

3. 鸿蒙端构建失败

  • 问题:修改 Flutter 代码后,鸿蒙端构建报错,核心原因为签名证书过期(证书有效期至 2026-02-08)及证书格式配置错误
  • 解决方案
    1. 在 DevEco Studio 中重新生成签名证书.p12 格式)
    2. 检查 build-profile.json5 中的签名配置,确保 certpathstorePasswordaliasPassword 等参数与新证书一致
    3. 执行 hvigor clean 清理缓存后重新构建,最终成功打包

三、本次迭代重难点分析

1. 重点:功能迁移与页面解耦

  • 核心难点:如何在不影响原有收藏功能的前提下,将账号功能合理迁移至设置页,同时保证用户体验流畅
  • 突破点
    • 明确页面职责:「设置」负责账号、主题等系统配置,「我的收藏」专注于内容管理
    • 采用最小侵入式修改:仅修改 setting_page.dart,其他文件保持初始状态,降低代码风险

2. 难点:跨端构建兼容性

  • 核心难点:Flutter 代码修改后,鸿蒙端构建出现证书相关问题,与 Flutter 层逻辑无关,属于原生工程配置问题,排查难度较大
  • 突破点
    • 区分问题层级:先确认 Flutter 代码无语法错误,再定位到鸿蒙原生工程的签名配置
    • 遵循官方文档:严格按照鸿蒙签名配置流程重新生成证书,确保配置参数完全匹配

3. 难点:用户体验一致性

  • 核心难点:新增的 SnackBar 反馈需要与原有应用风格保持一致,同时避免过度打扰用户
  • 突破点
    • 统一反馈文案风格:简洁明确,如 “登录成功,收藏已同步”
    • 控制反馈时长:设置 2 秒自动消失,避免影响用户操作

四、经验总结

  1. 功能规划优先:开发前明确页面职责,避免功能堆砌导致的逻辑混乱,单一职责原则能有效降低后续维护成本
  2. 最小修改原则:在迭代过程中,尽量只修改必要文件,减少对原有代码的侵入,降低引入新问题的概率
  3. 跨端问题分层排查:遇到跨端构建问题时,先排查 Flutter 层代码,再定位原生工程配置,避免混淆问题层级
  4. 用户体验细节:新增功能需配套完善的反馈机制,让用户清晰感知操作结果,提升产品易用性
Logo

作为“人工智能6S店”的官方数字引擎,为AI开发者与企业提供一个覆盖软硬件全栈、一站式门户。

更多推荐