navigator_util.dart 2.3 KB
import 'package:fluro/fluro.dart';
import 'package:flutter/material.dart';
import 'package:one_key/models/notebook.dart';
import 'package:one_key/res/colors.dart';
import 'package:one_key/route/routes.dart';
import 'package:one_key/utils/fluro_convert_utils.dart';
import 'package:one_key/utils/log_util.dart';
import 'package:one_key/utils/utils.dart';

import '../app.dart';

class NavigatorUtil {
  static Future _navigateTo(BuildContext context, String path,
      {bool replace = false,
      bool clearStack = false,
      Duration transitionDuration = const Duration(milliseconds: 250),
      RouteTransitionsBuilder transitionBuilder}) {
    Utils.changeStatusColor(color: MyColours.color_ffffff);
    return App.router.navigateTo(context, path,
        replace: replace,
        clearStack: clearStack,
        transitionDuration: transitionDuration,
        transitionBuilder: transitionBuilder,
        transition: TransitionType.material);
  }

  /// 登录页
  static void goLoginPage(BuildContext context) {
    _navigateTo(context, Routes.login, clearStack: true);
  }

  /// 首页
  static void goHomePage(BuildContext context,{int initialIndex=1}) {
    _navigateTo(context, "${Routes.home}?initialIndex=$initialIndex", clearStack: true);
  }

  /// 订单详情
  static void goNotebookDetailPage(BuildContext context,String rid,{replace=false}) {
    _navigateTo(context,"${Routes.reserve_detail}?rid=$rid",replace: replace);
  }

  /// 处理在线预订
  static void goHandleOnlinePage(BuildContext context,String rid,String mid,{replace=false}) {
    _navigateTo(context,"${Routes.handle_online_page}?rid=$rid&mid=$mid",replace: replace);
  }

  /// 选择桌位
  static Future goSelectTablePage(BuildContext context,String rid,int dateTime,String ddate_slot) {
    return _navigateTo(context,"${Routes.select_table}?rid=$rid&dateTime=$dateTime&ddate_slot=$ddate_slot");
  }

  /// 邀请函
  static void goInvicationPage(BuildContext context,String rid,String tableInfo,String ddate,String ddateStr) {
    _navigateTo(context,"${Routes.invication}?rid=$rid&tableInfo=${FluroConvertUtils.fluroCnParamsEncode(tableInfo)}&ddate=$ddate&ddateStr=${FluroConvertUtils.fluroCnParamsEncode(ddateStr)}");
  }

  /// 发短信
  static void goSmsPage(BuildContext context,String rid) {
    _navigateTo(context,"${Routes.sms}?rid=$rid");
  }
}