feat(fasting): 完善断食通知系统并优化错误提示

在应用启动时添加断食通知初始化逻辑,改进错误消息提示,并新增后台任务支持断食通知同步。同时优化挑战加入后的数据刷新流程和会员卡片显示样式。

主要更改:
- 添加断食通知启动检测和初始化
- 改进断食通知错误消息,提供更详细的用户指导
- 新增断食通知后台任务处理
- 优化挑战加入后自动刷新详情和排名数据
- 调整会员价格字体大小以提升视觉效果
This commit is contained in:
richarjiang
2025-11-03 14:13:49 +08:00
parent ce382794ba
commit 635d835a50
5 changed files with 72 additions and 6 deletions

View File

@@ -52,7 +52,7 @@ export const useFastingNotifications = (
...prev,
isReady: false,
isLoading: false,
error: '通知权限未授予',
error: '通知权限未开启。请前往"个人"页面开启消息推送,或检查系统通知权限设置。',
}));
return;
}
@@ -109,7 +109,7 @@ export const useFastingNotifications = (
console.error('验证断食通知失败', error);
setState(prev => ({
...prev,
error: error instanceof Error ? error.message : '验证失败',
error: '同步断食通知失败:' + (error instanceof Error ? error.message : '未知错误') + '。请点击"重试"按钮,或检查推送权限设置。',
}));
// 验证失败时不立即强制同步,避免重复调用
@@ -151,7 +151,7 @@ export const useFastingNotifications = (
console.error('强制同步断食通知失败', error);
setState(prev => ({
...prev,
error: error instanceof Error ? error.message : '同步失败',
error: '强制同步断食通知失败:' + (error instanceof Error ? error.message : '未知错误') + '。请点击"重试"按钮,或检查推送权限设置。',
}));
} finally {
isSyncingRef.current = false;