82 lines
3.1 KiB
Dart
82 lines
3.1 KiB
Dart
import 'package:fluro/fluro.dart' as fluro;
|
||
import 'package:flutter/material.dart';
|
||
import 'package:aslan/chatvibe_core/routes/at_router_init.dart';
|
||
import 'package:aslan/chatvibe_features/country/country_route.dart';
|
||
import 'package:aslan/chatvibe_features/index/main_route.dart';
|
||
import 'package:aslan/chatvibe_features/chat/at_chat_route.dart';
|
||
import 'package:aslan/chatvibe_features/family/family_route.dart';
|
||
import 'package:aslan/chatvibe_features/dynamic/dynamic_route.dart';
|
||
import 'package:aslan/chatvibe_features/home/coupon/coupon_route.dart';
|
||
import 'package:aslan/chatvibe_features/store/store_route.dart';
|
||
import 'package:aslan/chatvibe_features/index/index_page.dart';
|
||
import 'package:aslan/chatvibe_features/user/settings/settings_route.dart';
|
||
import 'package:aslan/chatvibe_features/wallet/wallet_route.dart';
|
||
import 'package:aslan/chatvibe_features/auth/login_route.dart';
|
||
import 'package:aslan/chatvibe_features/room/voice_room_route.dart';
|
||
import 'package:aslan/chatvibe_core/routes/at_404_page.dart';
|
||
|
||
class ATRoutes {
|
||
static String home = '/';
|
||
|
||
static List<ATIRouterProvider> _listRouter = [];
|
||
|
||
static void configureRoutes(fluro.FluroRouter router) {
|
||
/// 指定路由跳转错误返回页
|
||
router.notFoundHandler = fluro.Handler(handlerFunc: (BuildContext? context, Map<String, List<String>> params) {
|
||
debugPrint('未找到目标页');
|
||
return ATWidgetNotFound();
|
||
});
|
||
|
||
router.define(home,
|
||
handler: fluro.Handler(handlerFunc: (BuildContext? context, Map<String, List<String>> params) => ATIndexPage()));
|
||
|
||
_listRouter.clear();
|
||
|
||
/// 各自路由由各自模块管理,统一在此添加初始化
|
||
|
||
/// 登陆路由组
|
||
_listRouter.add(LoginRouter());
|
||
_listRouter.add(CountryRoute());
|
||
_listRouter.add(SettingsRoute());
|
||
_listRouter.add(VoiceRoomRoute());
|
||
_listRouter.add(MainRoute());
|
||
_listRouter.add(WalletRoute());
|
||
_listRouter.add(StoreRoute());
|
||
_listRouter.add(ATChatRouter());
|
||
_listRouter.add(CouponRoute());
|
||
_listRouter.add(FamilyRoute());
|
||
_listRouter.add(DynamicRoute());
|
||
|
||
/// 初始化路由
|
||
for (var routerProvider in _listRouter) {
|
||
routerProvider.initRouter(router);
|
||
}
|
||
}
|
||
}
|
||
|
||
// PS:路由使用方法
|
||
|
||
// 1、不需要传参的 替换所有历史记录
|
||
/// ATNavigatorUtils.push(context, LoginRouter.loginPage, replace: true);
|
||
/// 2、不需要传参的 不替换历史记录
|
||
/// ATNavigatorUtils.push(context, LoginRouter.loginPage, replace: false);
|
||
|
||
// 需要传参的
|
||
// 3、ATNavigatorUtils.push(context,'${ATRoutes.webViewPage}?param1=${Uri.encodeComponent(content1)}¶m2=${Uri.encodeComponent(content2)}', replace: true);
|
||
// 4、ATNavigatorUtils.push(context, '${MarketRouter.hotCoin}?id=xxxxxxx');
|
||
|
||
// 有返回值跳转
|
||
/// 5、ATNavigatorUtils.pushResult(context, MarketRouter.hotCoin, (result){
|
||
// setState(() {
|
||
// //result是返回的结果
|
||
// TestModel model = result;
|
||
// _name = model.name;
|
||
// });
|
||
// });
|
||
|
||
// 返回上一级
|
||
// 6、ATNavigatorUtils.goBack(context);
|
||
|
||
// 带参数返回上一级
|
||
// 7、ATNavigatorUtils.goBackWithParams(context, result);
|