goods_router.dart
1.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import 'package:common_utils/common_utils.dart';
import 'package:fluro/fluro.dart';
import 'package:one_poem/routers/i_router.dart';
import 'page/goods_edit_page.dart';
import 'page/goods_page.dart';
import 'page/goods_search_page.dart';
import 'page/goods_size_edit_page.dart';
import 'page/goods_size_page.dart';
import 'page/qr_code_scanner_page.dart';
class GoodsRouter implements IRouterProvider{
static String goodsPage = '/goods';
static String goodsEditPage = '/goods/edit';
static String goodsSearchPage = '/goods/search';
static String goodsSizePage = '/goods/size';
static String goodsSizeEditPage = '/goods/sizeEdit';
static String qrCodeScannerPage = '/goods/qrCodeScanner';
@override
void initRouter(FluroRouter router) {
router.define(goodsPage, handler: Handler(handlerFunc: (_, __) => const GoodsPage()));
router.define(goodsEditPage, handler: Handler(handlerFunc: (_, Map<String, List<String>> params) {
final bool isAdd = params['isAdd']?.first == 'true';
final bool isScan = params['isScan']?.first == 'true';
final String url = EncryptUtil.decodeBase64(params['url']?.first ?? '');
final String heroTag = params['heroTag']?.first ?? 'heroTag';
return GoodsEditPage(isAdd: isAdd, isScan: isScan, goodsImageUrl: url, heroTag: heroTag,);
}));
router.define(goodsSearchPage, handler: Handler(handlerFunc: (_, __) => const GoodsSearchPage()));
router.define(goodsSizePage, handler: Handler(handlerFunc: (_, __) => const GoodsSizePage()));
router.define(goodsSizeEditPage, handler: Handler(handlerFunc: (_, __) => const GoodsSizeEditPage()));
router.define(qrCodeScannerPage, handler: Handler(handlerFunc: (_, __) => const QrCodeScannerPage()));
}
}