- 在目标页面中集成用户引导功能,帮助用户了解页面各项功能 - 创建 GoalsPageGuide 组件,支持多步骤引导和动态高亮功能区域 - 实现引导状态的检查、标记和重置功能,确保用户体验 - 添加开发测试按钮,方便开发者重置引导状态 - 更新相关文档,详细描述引导功能的实现和使用方法
61 lines
1.7 KiB
TypeScript
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);
|
|
}
|
|
};
|