chatapp3-flutter/lib/app/routes/sc_routes.dart
2026-04-09 21:32:23 +08:00

76 lines
2.7 KiB
Dart
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import 'package:fluro/fluro.dart' as fluro;
import 'package:flutter/material.dart';
import 'package:yumi/app/routes/sc_router_init.dart';
import 'package:yumi/modules/country/country_route.dart';
import 'package:yumi/modules/index/main_route.dart';
import 'package:yumi/modules/chat/chat_route.dart';
import 'package:yumi/modules/store/store_route.dart';
import 'package:yumi/modules/index/index_page.dart';
import 'package:yumi/modules/user/settings/settings_route.dart';
import 'package:yumi/modules/wallet/wallet_route.dart';
import 'package:yumi/modules/auth/login_route.dart';
import 'package:yumi/modules/room/voice_room_route.dart';
import 'package:yumi/app/routes/sc_404_page.dart';
class SCRoutes {
static String home = '/';
static List<SCIRouterProvider> _listRouter = [];
static void configureRoutes(fluro.FluroRouter router) {
/// 指定路由跳转错误返回页
router.notFoundHandler = fluro.Handler(handlerFunc: (BuildContext? context, Map<String, List<String>> params) {
debugPrint('未找到目标页');
return SCWidgetNotFound();
});
router.define(home,
handler: fluro.Handler(handlerFunc: (BuildContext? context, Map<String, List<String>> params) => SCIndexPage()));
_listRouter.clear();
/// 各自路由由各自模块管理,统一在此添加初始化
/// 登陆路由组
_listRouter.add(LoginRouter());
_listRouter.add(CountryRoute());
_listRouter.add(SettingsRoute());
_listRouter.add(VoiceRoomRoute());
_listRouter.add(SCMainRoute());
_listRouter.add(WalletRoute());
_listRouter.add(StoreRoute());
_listRouter.add(SCChatRouter());
/// 初始化路由
for (var routerProvider in _listRouter) {
routerProvider.initRouter(router);
}
}
}
// PS路由使用方法
// 1、不需要传参的 替换所有历史记录
/// SCNavigatorUtils.push(context, LoginRouter.loginPage, replace: true);
/// 2、不需要传参的 不替换历史记录
/// SCNavigatorUtils.push(context, LoginRouter.loginPage, replace: false);
// 需要传参的
// 3、SCNavigatorUtils.push(context,'${SCRoutes.webViewPage}?param1=${Uri.encodeComponent(content1)}&param2=${Uri.encodeComponent(content2)}', replace: true);
// 4、SCNavigatorUtils.push(context, '${MarketRouter.hotCoin}?id=xxxxxxx');
// 有返回值跳转
/// 5、SCNavigatorUtils.pushResult(context, MarketRouter.hotCoin, (result){
// setState(() {
// //result是返回的结果
// TestModel model = result;
// _name = model.name;
// });
// });
// 返回上一级
// 6、SCNavigatorUtils.goBack(context);
// 带参数返回上一级
// 7、SCNavigatorUtils.goBackWithParams(context, result);