refactor: NFC 打卡去掉弹窗,改为轻量按钮状态反馈
手表小屏上音效+震动已足够反馈结果,全屏弹窗多余。 - 成功:按钮显示"打卡成功"(绿色)1秒 → 刷新/返回 - 失败/超时:按钮恢复"开启打卡"(可重试) - 去掉 QuTipDialog 调用 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -223,22 +223,12 @@ class TaskDetailFragment : BaseFragment<FragmentTaskDetailBinding>() {
|
|||||||
|
|
||||||
nfcTaskManager.startTaskPunch(taskId) { success, message ->
|
nfcTaskManager.startTaskPunch(taskId) { success, message ->
|
||||||
if (success) {
|
if (success) {
|
||||||
tipDialog.show(
|
// 音效已由 NfcTaskManager 播放,按钮短暂显示"打卡成功"后返回
|
||||||
status = QuTipDialog.Status.SUCCESS,
|
btn.text = "打卡成功"
|
||||||
title = "打卡成功",
|
btn.setBackgroundResource(R.drawable.bg_foot_btn_green)
|
||||||
back = true, step = 1, countdown = 2,
|
btn.postDelayed({ findNavController().popBackStack() }, 1000)
|
||||||
onBack = { findNavController().popBackStack() }
|
|
||||||
)
|
|
||||||
} else {
|
} else {
|
||||||
// 失败或超时 → 恢复按钮
|
// 失败/超时 → 恢复按钮(可重试)
|
||||||
if (message != "超时") {
|
|
||||||
tipDialog.show(
|
|
||||||
status = QuTipDialog.Status.ERROR,
|
|
||||||
title = "打卡失败",
|
|
||||||
desc = message,
|
|
||||||
back = true, step = 0, countdown = 3
|
|
||||||
)
|
|
||||||
}
|
|
||||||
btn.text = "开启打卡"
|
btn.text = "开启打卡"
|
||||||
btn.isEnabled = true
|
btn.isEnabled = true
|
||||||
btn.setBackgroundResource(R.drawable.bg_foot_btn_orange)
|
btn.setBackgroundResource(R.drawable.bg_foot_btn_orange)
|
||||||
|
|||||||
@@ -452,23 +452,12 @@ class TaskListFragment : BaseFragment<FragmentTaskListBinding>() {
|
|||||||
|
|
||||||
nfcTaskManager.startTaskPunch(taskId) { success, message ->
|
nfcTaskManager.startTaskPunch(taskId) { success, message ->
|
||||||
if (success) {
|
if (success) {
|
||||||
tipDialog.show(
|
// 音效已由 NfcTaskManager 播放,按钮短暂显示"打卡成功"后刷新
|
||||||
status = QuTipDialog.Status.SUCCESS,
|
btn.text = "打卡成功"
|
||||||
title = "打卡成功",
|
btn.setBackgroundResource(R.drawable.bg_foot_btn_green)
|
||||||
back = false, step = 1, countdown = 2
|
btn.postDelayed({ fetchCurrentDetail() }, 1000)
|
||||||
)
|
|
||||||
// 刷新当前任务详情
|
|
||||||
fetchCurrentDetail()
|
|
||||||
} else {
|
} else {
|
||||||
if (message != "超时") {
|
// 失败/超时 → 恢复按钮(可重试)
|
||||||
tipDialog.show(
|
|
||||||
status = QuTipDialog.Status.ERROR,
|
|
||||||
title = "打卡失败",
|
|
||||||
desc = message,
|
|
||||||
back = true, step = 0, countdown = 3
|
|
||||||
)
|
|
||||||
}
|
|
||||||
// 恢复按钮
|
|
||||||
btn.text = "开启打卡"
|
btn.text = "开启打卡"
|
||||||
btn.isEnabled = true
|
btn.isEnabled = true
|
||||||
btn.setBackgroundResource(R.drawable.bg_foot_btn_orange)
|
btn.setBackgroundResource(R.drawable.bg_foot_btn_orange)
|
||||||
|
|||||||
Reference in New Issue
Block a user