feat: 登录过期自动续登并校验同一账号

This commit is contained in:
2026-08-07 02:53:03 +08:00
parent 0f3132b08e
commit 2182b6dfc9
39 changed files with 704 additions and 74 deletions
+6 -3
View File
@@ -104,7 +104,8 @@
}
.upload-icon {
font-size: 80px;
width: 80px;
height: 80px;
margin-bottom: 24px;
}
@@ -190,7 +191,8 @@
}
.generating-icon {
font-size: 120px;
width: 120px;
height: 120px;
animation: pulse 2s infinite;
}
@@ -277,7 +279,8 @@
}
.action-icon {
font-size: 48px;
width: 48px;
height: 48px;
margin-bottom: 8px;
}
+6 -5
View File
@@ -6,6 +6,7 @@ import { useThemeContext } from '../../context/ThemeContext'
import { useSafeArea } from '../../hooks/useSafeArea'
import { useStatusBar } from '../../hooks/useStatusBar'
import ThemedPageMeta from '../../components/ThemedPageMeta'
import { assetUrl } from '../../utils/asset'
export default function WordCloudPage() {
const { theme, resolvedTheme } = useThemeContext()
@@ -92,7 +93,7 @@ export default function WordCloudPage() {
<Image className='preview-image' src={baseImage} mode='aspectFit' />
) : (
<View className='upload-placeholder'>
<Text className='upload-icon'>📷</Text>
<Image className='upload-icon' src={assetUrl('/icon/词云生成.png')} mode='aspectFit' />
<Text className='upload-title'></Text>
<Text className='upload-desc'>Logo</Text>
<Text className='upload-tip'></Text>
@@ -148,7 +149,7 @@ export default function WordCloudPage() {
<View className='step-content'>
{isGenerating ? (
<View className='generating-panel'>
<Text className='generating-icon'></Text>
<Image className='generating-icon' src={assetUrl('/icon/词云生成.png')} mode='aspectFit' />
<Text className='generating-title'>...</Text>
<Text className='generating-subtitle'>AI正在将名字融入图案</Text>
<View className='progress-bar'>
@@ -166,15 +167,15 @@ export default function WordCloudPage() {
</View>
<View className='result-actions'>
<View className='action-btn' onTap={handleExportImage}>
<Text className='action-icon'>💾</Text>
<Image className='action-icon' src={assetUrl('/icon/设置.png')} mode='aspectFit' />
<Text className='action-label'></Text>
</View>
<View className='action-btn' onTap={handleGenerate}>
<Text className='action-icon'>🔄</Text>
<Image className='action-icon' src={assetUrl('/icon/词云生成.png')} mode='aspectFit' />
<Text className='action-label'></Text>
</View>
<View className='action-btn' onTap={() => setStep(2)}>
<Text className='action-icon'></Text>
<Image className='action-icon' src={assetUrl('/icon/调色盘.png')} mode='aspectFit' />
<Text className='action-label'></Text>
</View>
</View>