This commit is contained in:
lz_db
2026-10-25 11:46:44 +08:00
parent 893dfed0ed
commit 494f667719
63 changed files with 5213 additions and 239 deletions
+10
View File
@@ -20,6 +20,7 @@ import '../screens/profile/invite_screen.dart';
import '../screens/profile/profile_edit_screen.dart';
import '../screens/profile/user_profile_screen.dart';
import '../screens/profile/video_list_screens.dart';
import '../screens/search/search_feed_screen.dart';
import '../screens/search/search_screen.dart';
import '../screens/search/tag_videos_screen.dart';
import '../screens/settings/settings_screen.dart';
@@ -28,6 +29,9 @@ import '../screens/upload/upload_screen.dart';
import '../screens/wallet/wallet_screen.dart';
import '../services/payment_service.dart';
/// 全局路由观察者:FeedScreen 等需要感知「上层路由 pop 露出本页」的场景使用
final routeObserver = RouteObserver<PageRoute<dynamic>>();
/// 声明式路由(02-技术文档:go_router)
/// /home 对游客开放(游客可浏览 Feed,观看超限 2002 时才引导登录);
/// 受保护页面(上传/钱包/会员等)在各自页面入口校验登录态并跳 /login。
@@ -42,6 +46,7 @@ final routerProvider = Provider<GoRouter>((ref) {
return GoRouter(
initialLocation: '/',
refreshListenable: refresh,
observers: [routeObserver],
redirect: (context, state) {
final auth = ref.read(authProvider);
final loggingIn = state.matchedLocation == '/login' ||
@@ -58,6 +63,11 @@ final routerProvider = Provider<GoRouter>((ref) {
GoRoute(path: '/register', builder: (_, __) => const RegisterScreen()),
GoRoute(path: '/home', builder: (_, __) => const HomeShell()),
GoRoute(path: '/search', builder: (_, __) => const SearchScreen()),
// 搜索结果播放(复用 Feed 池的 search 策略,支持上下滑)
GoRoute(
path: '/search/feed',
builder: (_, __) => const SearchFeedScreen(),
),
// 标签视频页(游客可)
GoRoute(
path: '/tags/:name',