import 'package:flutter/material.dart'; /// 统一页面切换:300ms 淡入淡出(12 号组装稿 §7 流程约束)。 /// /// [settings] 从 M2 起必传路由名(page_viewed 取数来源,03 号评估 §2.1), /// 名字用 `AnalyticsPageName` 枚举的 pageName 值。 Route fadePageRoute(Widget page, {RouteSettings? settings}) { return PageRouteBuilder( settings: settings, transitionDuration: const Duration(milliseconds: 300), reverseTransitionDuration: const Duration(milliseconds: 300), pageBuilder: (context, animation, secondaryAnimation) => page, transitionsBuilder: (context, animation, secondaryAnimation, child) { return FadeTransition(opacity: animation, child: child); }, ); }