Files
digital-pilates/utils/devTools.ts
richarjiang 8a7599f630 feat: 新增目标页面引导功能及相关组件
- 在目标页面中集成用户引导功能,帮助用户了解页面各项功能
- 创建 GoalsPageGuide 组件,支持多步骤引导和动态高亮功能区域
- 实现引导状态的检查、标记和重置功能,确保用户体验
- 添加开发测试按钮,方便开发者重置引导状态
- 更新相关文档,详细描述引导功能的实现和使用方法
2025-08-23 13:53:18 +08:00

61 lines
1.7 KiB
TypeScript

import { STORAGE_KEYS } from '@/services/api';
import AsyncStorage from '@react-native-async-storage/async-storage';
import { resetAllGuides } from './guideHelpers';
/**
* 开发工具函数 - 清除隐私同意状态
* 用于测试隐私同意弹窗功能
*/
export const clearPrivacyAgreement = async (): Promise<void> => {
try {
await AsyncStorage.removeItem(STORAGE_KEYS.privacyAgreed);
console.log('隐私同意状态已清除');
} catch (error) {
console.error('清除隐私同意状态失败:', error);
}
};
/**
* 开发工具函数 - 检查隐私同意状态
*/
export const checkPrivacyAgreement = async (): Promise<boolean> => {
try {
const privacyAgreed = await AsyncStorage.getItem(STORAGE_KEYS.privacyAgreed);
const isAgreed = privacyAgreed === 'true';
console.log('隐私同意状态:', isAgreed);
return isAgreed;
} catch (error) {
console.error('检查隐私同意状态失败:', error);
return false;
}
};
/**
* 开发工具函数 - 清除所有用户数据
* 用于完全重置应用状态
*/
export const clearAllUserData = async (): Promise<void> => {
try {
await Promise.all([
AsyncStorage.removeItem(STORAGE_KEYS.authToken),
AsyncStorage.removeItem(STORAGE_KEYS.userProfile),
AsyncStorage.removeItem(STORAGE_KEYS.privacyAgreed),
]);
console.log('所有用户数据已清除');
} catch (error) {
console.error('清除用户数据失败:', error);
}
};
/**
* 重置所有用户引导状态(仅用于开发测试)
*/
export const resetGuideStates = async () => {
try {
await resetAllGuides();
console.log('✅ 所有用户引导状态已重置');
} catch (error) {
console.error('❌ 重置用户引导状态失败:', error);
}
};