logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

ArkUI + HarmonyOS 光境控制台:失败重试与无障碍反馈闭环(第六篇)【共创稿事节】

客厅主灯已经切换到专注预设,书桌台灯离线,背景灯带没有参与操作。此时控制台如果只在页面顶端写一个绿色“已完成”,用户会误以为三盏灯都成功改变;若只把页面锁死并不断重试,离线台灯又可能在重新连接后执行用户已经取消的旧场景。LumaRoom 前五篇已经建立亮度与色温调节、专注/观影/夜灯预设、desired 与 confirmed 分离、逐设备回执序号、分组失败以及离线最新意图重放。连载最后一篇不再

#harmonyos
ArkData + HarmonyOS 购物车收尾:订单结果归档与中断恢复【购物车系列 06】【共创稿事节】

订单接口返回“接纳”,屏幕刚好退出;下一次打开应用,用户看到的却仍是三件商品和一个可以再次提交的按钮。与重复点击相比,这种故障更难发现:页面只是展示一次成功,并没有为恢复提供可靠证据。另一种相反的问题是,网络请求事实上已经完成,客户端在回执到来之前被系统终止,重新打开时又自动把同一批商品提交一次。对于前五篇已经具有草稿、版本迁移、撤销与结算快照的 BasketFlow 来说,真正的收尾工作不是再

#harmonyos
ArkUI + HarmonyOS 影厅锁座:有效期回收与页面恢复 -04【共创稿事节】

“已选中”不等于“已锁座”,而“已锁座”也不等于“已付款”。当用户选好 A1、A2 后离开应用接听电话,几分钟再返回,屏幕上可能还保留漂亮的紫色座位;若应用只根据上次的倒计时数字决定能否继续付款,就会把已经失效的预留当作有效。SeatFlow 的最后一篇不再扩充网格动画,而是收束一次选座操作的生命周期:用明确的预留结果、绝对到期时刻和页面恢复时的重新核验,防止过期座位继续被当成可支付资源。 此前

#harmonyos
Search + HarmonyOS 展览检索:输入防抖与过期响应隔离【共创稿事节】

搜索框的输入变化看起来微不足道,真正棘手的问题却常常发生在结果列表:用户先输入“城”,马上补成“城市摄影”,第一个查询因为缓存或网络波动晚返回,竟然把第二个查询的正确结果覆盖。屏幕上的输入框仍显示“城市摄影”,下方却是“城市艺术节”一类不匹配结果;如果还接入热门推荐与空状态提示,用户会误以为搜索规则不稳定。 这次用独立的 ExhibitFinder 展览发现页面研究一条工程原则:输入值、正在执行

#harmonyos
ArkTS + HarmonyOS 光境控制台:离线重连重放与过期意图淘汰(第五篇)【共创稿事节】

书桌台灯断网时,用户依次点击“观影”和“专注”。过了一会儿台灯重新上线,应用究竟应该把两条命令原样补发,还是只发最新的“专注”?如果照搬普通消息队列“失败就排队、恢复就全部重试”的习惯,灯可能先调暗,再突然变亮;更糟的是,如果“观影”旧回执在重连后才到,页面可能重新显示成上一轮状态。对灯光交互而言,最后一次有效意图通常比所有历史操作都更重要。 LumaRoom 连载已实现亮度/色温双滑杆、专注7

#harmonyos
ArkUI + HarmonyOS 购物车结算预检:金额快照与重复提交防护【购物车系列 05】【共创稿事节】

在购物车里把三件商品勾选好,点击“去结算”,并不代表已经形成了一笔可以支付的订单。常见的缺陷是把商品勾选结果、金额显示、按钮加载状态和订单提交写在同一个点击回调中:用户双击按钮,产生两个请求;请求刚发出时又调整数量,回执却照样把新画面标成“提交成功”;甚至页面仅保存了一个合计金额,却说不清金额来自哪几行商品。工程里真正需要保护的,是一次提交对应哪份不可变的购物车快照。 BasketFlow 前四

#harmonyos
ArkUI + HarmonyOS 影厅选座:库存版本刷新与过期回执隔离 -03【共创稿事节】

座位 C1 明明已经被另一位观众买走,页面却可能在下一次刷新后重新把它显示成紫色。这不是颜色组件的故障,而是两次异步响应到达顺序颠倒:较新的库存先返回,较旧的库存随后抵达,又把界面覆盖成了过期状态。一个看似普通的“刷新座位”按钮,只要接入真实网络,就不能再被理解成简单地替换整个数组。 SeatFlow 在前两篇已经建立统一的基础模型:3号厅19:30场次以 hall3-1930 标识,座位为 A

#harmonyos
TextInput + HarmonyOS 包裹核销:扫码录入去重与状态幂等【共创稿事节】

一个包裹的条码被连续扫描两次,界面上的“已核销数量”是否应该增加两次?答案显然是否定的。但在实际终端上,同一段文本既可能来自人工粘贴,也可能来自外接扫描枪构造的键盘输入;如果把 TextInput.onChange() 直接等同于一次“核销”,输入 PKG-2402 的每个字符都有机会触发业务处理,计数和错误消息很快就会混乱。 这篇文章独立构建一个小型 ParcelDesk 包裹核销页,不接摄像

#harmonyos
ArkTS + HarmonyOS 光境控制台:多灯分组指令与部分失败反馈(第四篇)【共创稿事节】

客厅主灯亮了,书桌台灯却没有反应。控制界面上到底应该显示“已完成”,还是“下发失败”?如果只在页面顶部放一个全局成功标记,两种回答都不准确:第一种掩盖了失败设备,第二种又否认已经成功的主灯。这就是 LumaRoom 进入多灯控制时遇到的第一道工程边界。多设备交互与单台设备不是“把请求循环三遍”那么简单,真正需要建模的是每个目标独立的序号、等待状态和最终结果。 这个连载先用 Slider 实现亮度与

#harmonyos
ArkUI + HarmonyOS 购物车批量编辑:可撤销快照与草稿提交边界【购物车系列 04】【共创稿事节】

购物车的“全选”按钮很容易写成一行数组映射,真正让维护成本上升的却是按钮后面那段时间:用户先批量勾选三件商品,发现误操作后撤销;接着点击“保存草稿”,保存接口尚未返回时又修改了数量。界面此刻代表的是最新编辑结果,磁盘里记录的可能还是上一次快照。如果把“保存成功”的文案直接挂在 putSync 后面,用户会误以为所有刚才看到的变化都已经持久化。对 BasketFlow 而言,这比一次计算错误更难解释

#harmonyos
    共 20 条
  • 1
  • 2
  • 请选择