From add140dbdadf71c4ea18854c858196639174b151 Mon Sep 17 00:00:00 2001 From: imeepos Date: Fri, 31 Oct 2025 11:04:15 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat:=20=E7=BE=8E=E5=8C=96=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E7=95=8C=E9=9D=A2=E5=B9=B6=E9=9B=86=E6=88=90=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E6=A8=A1=E6=80=81=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 重设计未登录状态UI,添加动画效果和渐变按钮 - 集成LoginModal组件,提供完整的登录体验 - 新增游客浏览功能,提升用户体验 - 切换至测试环境API (api-test.mixvideo.bowong.cc) - 添加@expo/vector-icons图标库依赖 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- app/(tabs)/index.tsx | 147 ++++++++++-- components/auth/login-modal.tsx | 412 ++++++++++++++++++++++++++++++++ design/login.png | Bin 0 -> 57423 bytes lib/api/client.ts | 2 +- package.json | 3 +- 5 files changed, 540 insertions(+), 24 deletions(-) create mode 100644 components/auth/login-modal.tsx create mode 100644 design/login.png diff --git a/app/(tabs)/index.tsx b/app/(tabs)/index.tsx index eb6ac28..a6d5472 100644 --- a/app/(tabs)/index.tsx +++ b/app/(tabs)/index.tsx @@ -5,8 +5,10 @@ import { useAuth } from '@/hooks/use-auth'; import { getTemplates } from '@/lib/api/templates'; import { Template } from '@/lib/types/template'; import { LinearGradient } from 'expo-linear-gradient'; +import { Ionicons } from '@expo/vector-icons'; import { useCallback, useEffect, useRef, useState } from 'react'; -import { Alert, Animated, StyleSheet, Text } from 'react-native'; +import { Alert, Animated, StyleSheet, Text, TouchableOpacity, View } from 'react-native'; +import { LoginModal } from '@/components/auth/login-modal'; export default function HomeScreen() { const { isAuthenticated } = useAuth(); @@ -17,6 +19,7 @@ export default function HomeScreen() { const [currentPage, setCurrentPage] = useState(1); const [hasMore, setHasMore] = useState(true); const [error, setError] = useState(null); + const [showLoginModal, setShowLoginModal] = useState(false); const pulseAnim = useRef(new Animated.Value(0)).current; const bounceAnim = useRef(new Animated.Value(0)).current; @@ -40,16 +43,13 @@ export default function HomeScreen() { }); if (isRefreshing || page === 1) { - // 刷新或首次加载,替换数据 setTemplates(response.data); setCurrentPage(1); } else { - // 加载更多,追加数据 setTemplates(prev => [...prev, ...response.data]); setCurrentPage(page); } - // 检查是否还有更多数据 setHasMore(response.pagination.page < response.pagination.totalPages); } catch (err: any) { console.error('获取模板列表失败:', err); @@ -70,6 +70,7 @@ export default function HomeScreen() { useEffect(() => { if (isAuthenticated) { fetchTemplates(); + setShowLoginModal(false); } Animated.loop( @@ -126,12 +127,55 @@ export default function HomeScreen() { }; if (!isAuthenticated) { + const scaleAnim = pulseAnim.interpolate({ + inputRange: [0, 1], + outputRange: [0.95, 1.05], + }); + return ( - - 欢迎使用 - 请先登录以查看模板列表 - + + + + + + + 欢迎使用模板中心 + + + 登录后即可浏览和使用海量精美模板 + + + setShowLoginModal(true)} + activeOpacity={0.8} + > + + + 立即登录 + + + + + 游客浏览 + + + + setShowLoginModal(false)} + /> ); } @@ -176,6 +220,11 @@ export default function HomeScreen() { onVideoChange={handleVideoChange} error={error} /> + + setShowLoginModal(false)} + /> ); } @@ -184,6 +233,74 @@ const styles = StyleSheet.create({ container: { flex: 1, }, + welcomeContainer: { + flex: 1, + justifyContent: 'center', + alignItems: 'center', + paddingHorizontal: 40, + }, + iconContainer: { + width: 120, + height: 120, + borderRadius: 60, + backgroundColor: 'rgba(0, 122, 255, 0.1)', + justifyContent: 'center', + alignItems: 'center', + marginBottom: 24, + }, + welcomeTitle: { + fontSize: 28, + fontWeight: '700', + marginBottom: 12, + textAlign: 'center', + }, + welcomeSubtitle: { + fontSize: 16, + textAlign: 'center', + opacity: 0.7, + marginBottom: 48, + lineHeight: 24, + }, + loginButton: { + width: '100%', + height: 56, + borderRadius: 16, + overflow: 'hidden', + elevation: 8, + shadowColor: '#007AFF', + shadowOffset: { width: 0, height: 4 }, + shadowRadius: 12, + shadowOpacity: 0.3, + }, + loginButtonGradient: { + flexDirection: 'row', + alignItems: 'center', + justifyContent: 'center', + height: '100%', + }, + loginButtonIcon: { + marginRight: 8, + }, + loginButtonText: { + color: '#fff', + fontSize: 17, + fontWeight: '700', + }, + guestButton: { + width: '100%', + height: 56, + borderRadius: 16, + borderWidth: 1.5, + borderColor: 'rgba(0, 122, 255, 0.3)', + alignItems: 'center', + justifyContent: 'center', + marginTop: 12, + }, + guestButtonText: { + color: '#007AFF', + fontSize: 16, + fontWeight: '600', + }, headerBanner: { position: 'absolute', top: 16, @@ -229,18 +346,4 @@ const styles = StyleSheet.create({ right: 8, fontSize: 16, }, - centerContent: { - flex: 1, - justifyContent: 'center', - alignItems: 'center', - padding: 20, - }, - title: { - marginBottom: 8, - textAlign: 'center', - }, - subtitle: { - textAlign: 'center', - opacity: 0.7, - }, }); diff --git a/components/auth/login-modal.tsx b/components/auth/login-modal.tsx new file mode 100644 index 0000000..0ce184d --- /dev/null +++ b/components/auth/login-modal.tsx @@ -0,0 +1,412 @@ +import { Feather, Ionicons } from "@expo/vector-icons"; +import { LinearGradient } from "expo-linear-gradient"; +import React, { useEffect, useRef, useState } from "react"; +import { + ActivityIndicator, + Alert, + Animated, + Dimensions, + KeyboardAvoidingView, + Modal, + Platform, + StyleSheet, + Text, + TextInput, + TouchableOpacity, + View, +} from "react-native"; +import { SafeAreaView } from "react-native-safe-area-context"; + +import { useAuth } from "@/hooks/use-auth"; +import { authClient } from "@/lib/auth/client"; +import { storage } from "@/lib/storage"; + +interface LoginModalProps { + visible: boolean; + onClose: () => void; +} + +export function LoginModal({ visible, onClose }: LoginModalProps) { + const [email, setEmail] = useState(""); + const [password, setPassword] = useState(""); + const [isPasswordVisible, setPasswordVisible] = useState(false); + const [isLoading, setIsLoading] = useState(false); + const { isAuthenticated } = useAuth(); + const slideAnim = useRef(new Animated.Value(Dimensions.get("window").height)).current; + const fadeAnim = useRef(new Animated.Value(0)).current; + + useEffect(() => { + if (visible) { + Animated.parallel([ + Animated.timing(slideAnim, { + toValue: 0, + duration: 300, + useNativeDriver: true, + }), + Animated.timing(fadeAnim, { + toValue: 0.5, + duration: 300, + useNativeDriver: true, + }), + ]).start(); + } else { + Animated.parallel([ + Animated.timing(slideAnim, { + toValue: Dimensions.get("window").height, + duration: 300, + useNativeDriver: true, + }), + Animated.timing(fadeAnim, { + toValue: 0, + duration: 300, + useNativeDriver: true, + }), + ]).start(); + } + }, [visible]); + + useEffect(() => { + if (isAuthenticated && visible) { + onClose(); + setEmail(""); + setPassword(""); + } + }, [isAuthenticated, visible, onClose]); + + const handleClose = () => { + Animated.parallel([ + Animated.timing(slideAnim, { + toValue: Dimensions.get("window").height, + duration: 300, + useNativeDriver: true, + }), + Animated.timing(fadeAnim, { + toValue: 0, + duration: 300, + useNativeDriver: true, + }), + ]).start(() => onClose()); + }; + + const handleLogin = async () => { + if (!email.trim() || !password.trim()) { + Alert.alert("错误", "请输入邮箱和密码"); + return; + } + + setIsLoading(true); + + try { + await new Promise(async (resolve, reject) => { + await authClient.signIn.username( + { + username: email.trim(), + password, + }, + { + onSuccess: async (ctx) => { + const authToken = ctx.response.headers.get("set-auth-token"); + if (authToken) { + await storage.setItem( + `bestaibest.better-auth.session_token`, + authToken + ); + resolve(); + } else { + console.error("Bearer token not set"); + reject(); + } + }, + } + ); + }); + Alert.alert("成功", "登录成功!"); + } catch (error: any) { + Alert.alert("登录失败", error?.message || "邮箱或密码错误"); + } finally { + setIsLoading(false); + } + }; + + const handleBackdropPress = () => { + handleClose(); + }; + + return ( + + + + + + + + + + + + + + + + + + + + Email Login + + + + + + + + + + + + + + + setPasswordVisible((visible) => !visible)} + style={styles.visibilityToggle} + > + + + + + + {isLoading ? ( + + ) : ( + Log in + )} + + + + + + 已阅读并同意 + 用户协议 + 和 + 隐私政策 + + + + + + + + + + ); +} + +const styles = StyleSheet.create({ + overlay: { + position: "absolute", + top: 0, + left: 0, + right: 0, + bottom: 0, + }, + backdrop: { + flex: 1, + }, + modalContainer: { + position: "absolute", + left: 0, + right: 0, + bottom: 0, + }, + modalContent: { + backgroundColor: "#14161c", + borderTopLeftRadius: 28, + borderTopRightRadius: 28, + borderWidth: 1, + borderColor: "rgba(255, 255, 255, 0.08)", + shadowColor: "#000", + shadowOffset: { width: 0, height: -8 }, + shadowRadius: 18, + shadowOpacity: 0.25, + elevation: 24, + maxHeight: Dimensions.get("window").height * 0.75, + }, + sheetIndicator: { + width: 40, + height: 4, + backgroundColor: "rgba(255, 255, 255, 0.3)", + borderRadius: 2, + alignSelf: "center", + marginTop: 12, + marginBottom: 8, + }, + safeArea: { + flex: 1, + }, + flex: { + flex: 1, + }, + content: { + flex: 1, + paddingHorizontal: 24, + paddingBottom: 34, + }, + header: { + flexDirection: "row", + alignItems: "center", + justifyContent: "space-between", + marginTop: 16, + marginBottom: 28, + }, + titleGroup: { + flexDirection: "row", + alignItems: "center", + }, + iconBadge: { + width: 40, + height: 40, + borderRadius: 16, + alignItems: "center", + justifyContent: "center", + backgroundColor: "#f6474d", + marginRight: 12, + }, + title: { + color: "#f5f6f8", + fontSize: 22, + fontWeight: "700", + letterSpacing: 0.2, + }, + closeButton: { + width: 40, + height: 40, + borderRadius: 20, + alignItems: "center", + justifyContent: "center", + backgroundColor: "rgba(255, 255, 255, 0.05)", + borderWidth: 1, + borderColor: "rgba(255, 255, 255, 0.06)", + }, + form: { + marginTop: 4, + }, + inputWrapper: { + position: "relative", + flexDirection: "row", + alignItems: "center", + paddingHorizontal: 18, + backgroundColor: "#1a1d23", + borderRadius: 18, + borderWidth: 1, + borderColor: "rgba(255, 255, 255, 0.05)", + marginBottom: 18, + }, + input: { + flex: 1, + paddingVertical: 16, + fontSize: 16, + color: "#f5f6f8", + letterSpacing: 0.3, + }, + visibilityToggle: { + marginLeft: 12, + }, + loginButton: { + height: 56, + borderRadius: 18, + alignItems: "center", + justifyContent: "center", + backgroundColor: "#d7ff1f", + shadowColor: "#d7ff1f", + shadowOpacity: 0.35, + shadowRadius: 16, + shadowOffset: { width: 0, height: 10 }, + elevation: 10, + marginTop: 4, + }, + loginButtonDisabled: { + opacity: 0.7, + }, + loginButtonText: { + color: "#10120d", + fontSize: 17, + fontWeight: "700", + letterSpacing: 0.5, + }, + termsRow: { + flexDirection: "row", + alignItems: "center", + justifyContent: "center", + marginTop: 18, + }, + termsText: { + color: "#a7abb5", + fontSize: 13, + lineHeight: 18, + marginLeft: 8, + }, + linkText: { + color: "#f5f6f8", + fontWeight: "600", + }, +}); diff --git a/design/login.png b/design/login.png new file mode 100644 index 0000000000000000000000000000000000000000..1e09914bdee8ed89cf1d9db0a5a08aefd3830846 GIT binary patch literal 57423 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 literal 0 HcmV?d00001 diff --git a/lib/api/client.ts b/lib/api/client.ts index 51493db..1493451 100644 --- a/lib/api/client.ts +++ b/lib/api/client.ts @@ -1,7 +1,7 @@ import { fetch, FetchRequestInit } from 'expo/fetch'; import { storage } from '../storage'; -const BASE_URL = 'https://api.mixvideo.bowong.cc'; +const BASE_URL = 'https://api-test.mixvideo.bowong.cc'; export interface ApiRequestOptions extends FetchRequestInit { params?: Record; diff --git a/package.json b/package.json index 2b4cd57..1a0d4df 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,8 @@ "android": "expo run:android", "ios": "expo run:ios", "web": "expo start --web", - "lint": "expo lint" + "lint": "expo lint", + "claude": "claude --dangerously-skip-permissions" }, "dependencies": { "@better-auth/expo": "^1.3.27",