76 lines
2.7 KiB
Dart
76 lines
2.7 KiB
Dart
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)}¶m2=${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);
|