import IP from '@/assets/icons/svg/ip.svg'; import { registerBackgroundUploadTask, triggerManualUpload } from '@/components/file-upload/backgroundUploader'; import * as MediaLibrary from 'expo-media-library'; import { useRouter } from 'expo-router'; import * as SecureStore from 'expo-secure-store'; import { useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { Platform, Text, TouchableOpacity, View } from 'react-native'; import { useSafeAreaInsets } from "react-native-safe-area-context"; import MemoList from './memo-list'; export default function HomeScreen() { const router = useRouter(); const { t } = useTranslation(); const insets = useSafeAreaInsets(); const [isLoading, setIsLoading] = useState(true); const [isLoggedIn, setIsLoggedIn] = useState(false); useEffect(() => { const checkAuthStatus = async () => { try { let token; if (Platform.OS === 'web') { token = localStorage.getItem('token') || ''; } else { token = await SecureStore.getItemAsync('token') || ''; } const loggedIn = !!token; setIsLoggedIn(loggedIn); console.log(loggedIn); if (loggedIn) { // 已登录,请求必要的权限 const { status } = await MediaLibrary.requestPermissionsAsync(); if (status === 'granted') { await registerBackgroundUploadTask(); const now = new Date(); const oneDayAgo = new Date(now.getTime() - 24 * 60 * 60 * 1000); await triggerManualUpload(oneDayAgo, now); } router.replace('/ask'); } setIsLoading(false); } catch (error) { console.error('检查登录状态出错:', error); setIsLoading(false); } finally { setIsLoading(false); } }; checkAuthStatus(); }, []); if (isLoading) { return ( 加载中... ); } return ( { isLoggedIn ? : {/* 标题区域 */} {t('auth.welcomeAwaken.awaken', { ns: 'login' })} {"\n"} {t('auth.welcomeAwaken.your', { ns: 'login' })} {"\n"} {t('auth.welcomeAwaken.pm', { ns: 'login' })} {t('auth.welcomeAwaken.slogan', { ns: 'login' })} {/* Memo 形象区域 */} {/* 介绍文本 */} {t('auth.welcomeAwaken.gallery', { ns: 'login' })} {"\n"} {t('auth.welcomeAwaken.back', { ns: 'login' })} {/* */} {/* 唤醒按钮 */} { router.push('/login') }} activeOpacity={0.8} > {t('auth.welcomeAwaken.awake', { ns: 'login' })} } ); }