feat(fasting): 新增轻断食功能模块
新增完整的轻断食功能,包括: - 断食计划列表和详情页面,支持12-12、14-10、16-8、18-6四种计划 - 断食状态实时追踪和倒计时显示 - 自定义开始时间选择器 - 断食通知提醒功能 - Redux状态管理和数据持久化 - 新增tab导航入口和路由配置
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import { ROUTES } from '@/constants/Routes';
|
||||
import { getNotificationEnabled } from '@/utils/userPreferences';
|
||||
import * as Notifications from 'expo-notifications';
|
||||
import { router } from 'expo-router';
|
||||
@@ -5,7 +6,6 @@ import { router } from 'expo-router';
|
||||
// 配置通知处理方式
|
||||
Notifications.setNotificationHandler({
|
||||
handleNotification: async () => ({
|
||||
shouldShowAlert: true,
|
||||
shouldPlaySound: true,
|
||||
shouldSetBadge: true,
|
||||
shouldShowBanner: true,
|
||||
@@ -179,6 +179,8 @@ export class NotificationService {
|
||||
if (data?.url) {
|
||||
router.push(data.url as any);
|
||||
}
|
||||
} else if (data?.type === NotificationTypes.FASTING_START || data?.type === NotificationTypes.FASTING_END) {
|
||||
router.push(ROUTES.TAB_FASTING as any);
|
||||
} else if (data?.type === NotificationTypes.WORKOUT_COMPLETION) {
|
||||
// 处理锻炼完成通知
|
||||
console.log('用户点击了锻炼完成通知', data);
|
||||
@@ -517,6 +519,8 @@ export const NotificationTypes = {
|
||||
REGULAR_WATER_REMINDER: 'regular_water_reminder',
|
||||
CHALLENGE_ENCOURAGEMENT: 'challenge_encouragement',
|
||||
WORKOUT_COMPLETION: 'workout_completion',
|
||||
FASTING_START: 'fasting_start',
|
||||
FASTING_END: 'fasting_end',
|
||||
} as const;
|
||||
|
||||
// 便捷方法
|
||||
|
||||
Reference in New Issue
Block a user