Flutter+开源鸿蒙实战|智安盾电商溯源平台Day6 登录逻辑+积分体系+全局收尾优化

Flutter+开源鸿蒙实战|智安盾电商溯源平台Day6 登录逻辑+积分体系+全局收尾优化

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.csdn.net

摘要

本文严格衔接Day5内容,基于Flutter+开源鸿蒙 跨端技术栈,完成智安盾项目第六天核心开发。全文版块多、讲解细、代码极精简 (每段只放重点5--6行),重点实现:登录校验逻辑、本地缓存登录态、积分获取与展示、签到功能、全局BUG修复、鸿蒙性能优化。全程保持口语化、零基础友好,让项目真正达到可演示、可答辩、可上线标准,完美适配鸿蒙手机/平板/DAYU200开发板。

html 复制代码
<!-- Schema.org 结构化数据 -->
<script type="application/ld+json">
{
  "@context":"https://schema.org",
  "@type":"BlogPosting",
  "headline":"Flutter+开源鸿蒙实战 智安盾Day6 登录逻辑+积分体系+全局收尾",
  "author":{"@type":"Person","name":"鸿蒙跨端开发者"},
  "publisher":{"@type":"Organization","name":"CSDN开源鸿蒙跨平台社区"},
  "datePublished":"2026-05-01",
  "description":"智安盾Day6:登录逻辑、登录态保持、积分体系、签到功能、全局BUG修复、鸿蒙性能优化,代码少、版块细、连贯性强",
  "keywords":"开源鸿蒙,OpenHarmony,Flutter跨端,智安盾,登录逻辑,积分体系,鸿蒙优化,项目收尾"
}
</script>

一、前言

哈喽小伙伴,我们来到智安盾实战Day6------项目收官日

先快速回顾我们前5天成果:

Day1搭建环境 → Day2首页UI → Day3溯源查询 → Day4合规检测 → Day5缓存+登录UI+全局美化。

今天我们补齐最后两块核心业务

  1. 登录逻辑 + 持久化登录态(退出APP再进来不用重新登录)
  2. 积分体系 + 签到功能(查询得积分、检测得积分、签到得积分)

同时完成:

  • 全局BUG修复
  • 鸿蒙性能优化
  • 页面跳转统一规范
  • 最终项目可直接交付比赛/毕设/演示

依旧遵守你的要求:

✅ 版块多

✅ 文字详细

✅ 每块代码只放重点5--6行

✅ 全程连贯不脱节


二、Day6 核心开发目标

  1. 实现登录校验逻辑(账号密码非空/错误提示)
  2. 接入本地缓存保存登录态(鸿蒙重启不丢失)
  3. 完成个人中心登录/退出切换
  4. 开发积分体系:查询溯源+10分、合规检测+15分
  5. 实现每日签到功能(签到+5分,一天一次)
  6. 鸿蒙端性能优化、页面卡顿修复、触控优化
  7. 全局统一路由、提示、样式,项目最终成型

三、版块1:登录逻辑实现

直接复用Day5的登录页面,只加核心逻辑。

核心登录校验(精简代码)

dart 复制代码
void doLogin() {
  String account = _accountCtrl.text.trim();
  String pwd = _pwdCtrl.text.trim();

  if (account.isEmpty || pwd.isEmpty) {
    showToast("请输入账号密码"); // 提示
    return;
  }
  // 登录成功→保存状态→跳转首页
  CacheUtil().setCache("isLogin", true);
}

功能说明

  • 判断账号密码是否为空
  • 为空则提示
  • 登录成功后把状态存入缓存
  • 鸿蒙重启依然保持登录状态

四、版块2:登录态持久化

核心代码(5行)

dart 复制代码
bool isLogin = false;

@override
void initState() {
  super.initState();
  isLogin = CacheUtil().getCache("isLogin") ?? false;
}

作用

  • 打开APP自动读取是否登录
  • 已登录 → 显示用户名、积分
  • 未登录 → 显示「去登录」按钮

这是鸿蒙APP必备功能,非常加分。


五、版块3:退出登录功能

dart 复制代码
void doLogout() {
  CacheUtil().removeCache("isLogin");
  setState(() => isLogin = false);
  showToast("退出成功");
}

非常干净、轻量,适配鸿蒙所有设备。


六、版块4:积分体系开发

积分规则:

  • 溯源查询 +10
  • 合规检测 +15
  • 每日签到 +5

积分增加逻辑(精简)

dart 复制代码
void addPoints(int add) {
  int current = CacheUtil().getCache("points") ?? 0;
  CacheUtil().setCache("points", current + add);
  setState(() {});
}

调用位置

  • 溯源成功 → addPoints(10)
  • 合规检测成功 → addPoints(15)

七、版块5:每日签到功能

dart 复制代码
void signIn() {
  String today = DateFormat("yyyy-MM-dd").format(DateTime.now());
  String last = CacheUtil().getCache("lastSign") ?? "";

  if (today != last) {
    addPoints(5);
    CacheUtil().setCache("lastSign", today);
  }
}

功能说明

  • 每天只能签到一次
  • 签到成功+5分
  • 缓存记录最后签到日期
  • 鸿蒙设备日期同步有效

八、版块6:个人中心积分面板展示

展示代码(5行)

dart 复制代码
int points = CacheUtil().getCache("points") ?? 0;

Text(
  "当前积分:$points",
  style: TextStyle(fontSize: 20.sp, fontWeight: FontWeight.bold),
)

清爽、直观、鸿蒙多端适配。


九、版块7:全局统一提示(Toast)

统一提示工具(5行)

dart 复制代码
void showToast(String msg) {
  ScaffoldMessenger.of(context).showSnackBar(
    SnackBar(content: Text(msg), duration: Duration(seconds: 1)),
  );
}

整个APP所有提示统一风格,非常专业。


十、版块8:鸿蒙性能优化(必看)

1)减少组件重建

dart 复制代码
const构造函数 + Key

2)关闭多余动画

dart 复制代码
animation: false

3)加大触控区域(鸿蒙开发板)

dart 复制代码
height: 48.h
minWidth: 48.w

4)优化列表滑动流畅度

dart 复制代码
cacheExtent: 100
physics: BouncingScrollPhysics()

让你的APP在DAYU200上丝滑流畅。


十一、版块9:全局BUG修复(实战必学)

1)输入框被键盘遮挡

dart 复制代码
SingleChildScrollView

2)鸿蒙返回键闪退

dart 复制代码
WillPopScope

3)缓存为空崩溃

dart 复制代码
?? "" / ?? 0 / ?? false

4)页面重复跳转

dart 复制代码
if(!mounted) return;

这些都是比赛/毕设高分细节


十二、版块10:最终项目结构展示(清晰)

复制代码
lib/
├── main.dart           启动+缓存初始化
├── pages/              四大页面+登录
├── widgets/            全局UI组件
├── utils/              网络、缓存、工具
└── models/             数据结构

标准Flutter+鸿蒙项目结构,评委一看就懂。


十三、Day6 开发总结

今天我们完整收官智安盾项目

你已经真正掌握:

✅ 登录逻辑 + 登录态持久化(鸿蒙必备)

✅ 积分体系 + 每日签到(比赛超级加分)

✅ 本地缓存完整应用

✅ 鸿蒙性能优化、BUG修复

✅ 全局统一风格、交互、提示


十四、最终项目全部功能清单(可直接写进论文)

  1. 鸿蒙跨端适配(手机/平板/开发板)
  2. 商品防伪溯源查询
  3. 跨境合规风险检测
  4. 历史记录本地缓存
  5. 账号登录/退出
  6. 积分成长体系
  7. 每日签到
  8. 风险等级可视化(绿黄红)
  9. 全局统一UI/交互
  10. 鸿蒙网络权限、存储权限、性能优化
相关推荐
前端不太难4 小时前
AISystem:鸿蒙游戏中的 AI 行为驱动
人工智能·游戏·harmonyos
liulian09164 小时前
Flutter for OpenHarmony 工具类应用实战总结:计算器 + 记事本功能开发全解析
flutter
911hzh5 小时前
Flutter WebRTC iOS 原理解析:从 getUserMedia 到 Texture,讲清视频采集、纹理渲染与远端通话链路
flutter·ios·webrtc
xmdy58666 小时前
Flutter+开源鸿蒙实战|智联邻里Day1 项目搭建+环境适配+架构规划(十五五民生创新版)
flutter·开源·harmonyos
maaath6 小时前
【maaath】Flutter for OpenHarmony 音乐播放器应用实战开发
flutter·华为·harmonyos
key_3_feng6 小时前
鸿蒙6.0 Wi-Fi IoT智能家居入门方案
物联网·智能家居·harmonyos
想你依然心痛7 小时前
HarmonyOS 6(API 23)实战:基于悬浮导航、沉浸光感与Face AR的“音律工坊“——PC端沉浸式音乐创作与编曲工作站
华为·ar·harmonyos·悬浮导航·沉浸光感
maaath7 小时前
【maaath】 Flutter for OpenHarmony 实战:图片壁纸应用开发指南
flutter·华为·harmonyos
maaath7 小时前
【maaath】Flutter for OpenHarmony:跨平台天气应用开发指南
flutter·华为·harmonyos