/// Getx路由管理 library; import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:loopin/pages/chat/chat.dart'; import '../layouts/index.dart'; /* 引入路由页面 */ import '../pages/auth/login.dart'; // 商品详细 import '../pages/goods/detail.dart'; import '../pages/order/detail.dart'; // 订单 import '../pages/order/index.dart'; // 引入工具类 import '../utils/common.dart'; // 路由地址集合 final Map routes = { '/': const Layout(), // '/upload': const UploadVideoPage(), '/goods': const Goods(), '/chat': const Chat(), '/order': const Order(), '/order/detail': const OrderDetail(), }; final List routeList = routes.entries .map((e) => GetPage( name: e.key, // 路由名称 page: () => e.value, // 路由页面 transition: Transition.rightToLeftWithFade, // 跳转路由动画 middlewares: [RouteMiddleware()], // 路由中间件 )) .toList(); final List routePages = [ GetPage(name: '/login', page: () => const Login()), ...routeList, ]; // 路由中间件拦截验证 class RouteMiddleware extends GetMiddleware { @override RouteSettings? redirect(String? route) { return Common.isLogin() ? null : const RouteSettings( name: '/login', ); } }