refactor: NFC 打卡去掉弹窗,改为轻量按钮状态反馈

手表小屏上音效+震动已足够反馈结果,全屏弹窗多余。
- 成功:按钮显示"打卡成功"(绿色)1秒 → 刷新/返回
- 失败/超时:按钮恢复"开启打卡"(可重试)
- 去掉 QuTipDialog 调用

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
dongliang
2026-05-06 13:19:45 +09:30
parent efac23f188
commit 306af795a6
2 changed files with 10 additions and 31 deletions

View File

@@ -223,22 +223,12 @@ class TaskDetailFragment : BaseFragment<FragmentTaskDetailBinding>() {
nfcTaskManager.startTaskPunch(taskId) { success, message ->
if (success) {
tipDialog.show(
status = QuTipDialog.Status.SUCCESS,
title = "打卡成功",
back = true, step = 1, countdown = 2,
onBack = { findNavController().popBackStack() }
)
// 音效已由 NfcTaskManager 播放,按钮短暂显示"打卡成功"后返回
btn.text = "打卡成功"
btn.setBackgroundResource(R.drawable.bg_foot_btn_green)
btn.postDelayed({ findNavController().popBackStack() }, 1000)
} else {
// 失败超时 → 恢复按钮
if (message != "超时") {
tipDialog.show(
status = QuTipDialog.Status.ERROR,
title = "打卡失败",
desc = message,
back = true, step = 0, countdown = 3
)
}
// 失败/超时 → 恢复按钮(可重试)
btn.text = "开启打卡"
btn.isEnabled = true
btn.setBackgroundResource(R.drawable.bg_foot_btn_orange)

View File

@@ -452,23 +452,12 @@ class TaskListFragment : BaseFragment<FragmentTaskListBinding>() {
nfcTaskManager.startTaskPunch(taskId) { success, message ->
if (success) {
tipDialog.show(
status = QuTipDialog.Status.SUCCESS,
title = "打卡成功",
back = false, step = 1, countdown = 2
)
// 刷新当前任务详情
fetchCurrentDetail()
// 音效已由 NfcTaskManager 播放,按钮短暂显示"打卡成功"后刷新
btn.text = "打卡成功"
btn.setBackgroundResource(R.drawable.bg_foot_btn_green)
btn.postDelayed({ fetchCurrentDetail() }, 1000)
} else {
if (message != "超时") {
tipDialog.show(
status = QuTipDialog.Status.ERROR,
title = "打卡失败",
desc = message,
back = true, step = 0, countdown = 3
)
}
// 恢复按钮
// 失败/超时 → 恢复按钮(可重试)
btn.text = "开启打卡"
btn.isEnabled = true
btn.setBackgroundResource(R.drawable.bg_foot_btn_orange)