60 lines
1.7 KiB
Dart
60 lines
1.7 KiB
Dart
import 'dart:convert';
|
|
|
|
import 'package:fluro/fluro.dart';
|
|
import 'package:flutter/cupertino.dart';
|
|
import 'package:aslan/chatvibe_features/chat/noti/message_notifcation_page.dart';
|
|
import 'package:aslan/chatvibe_features/chat/system/message_system_page.dart';
|
|
import 'package:tencent_cloud_chat_sdk/models/v2_tim_conversation.dart';
|
|
import 'package:aslan/chatvibe_core/routes/at_router_init.dart';
|
|
import 'package:aslan/chatvibe_features/chat/message_chat_page.dart';
|
|
|
|
import 'activity/at_message_activity_page.dart';
|
|
|
|
class ATChatRouter implements ATIRouterProvider {
|
|
static String chat = '/at/chat';
|
|
static String systemChat = '/at/systemChat';
|
|
static String dynamicMsg = '/at/dynamicMsg';
|
|
static String notifcation = '/at/chat/notifcation';
|
|
static String activity = '/at/chat/activity';
|
|
|
|
@override
|
|
void initRouter(FluroRouter router) {
|
|
router.define(
|
|
chat,
|
|
handler: Handler(
|
|
handlerFunc:
|
|
(_, params) => ATMessageChatPage(
|
|
conversation: V2TimConversation.fromJson(
|
|
jsonDecode(params['conversation']!.first),
|
|
),
|
|
),
|
|
),
|
|
);
|
|
|
|
router.define(
|
|
systemChat,
|
|
handler: Handler(
|
|
handlerFunc:
|
|
(_, params) => MessageSystemPage(
|
|
conversation: V2TimConversation.fromJson(
|
|
jsonDecode(params['conversation']!.first),
|
|
),
|
|
),
|
|
),
|
|
);
|
|
router.define(
|
|
dynamicMsg,
|
|
handler: Handler(handlerFunc: (_, params) => Container()),
|
|
);
|
|
|
|
router.define(
|
|
notifcation,
|
|
handler: Handler(handlerFunc: (_, params) => MessageNotifcationPage()),
|
|
);
|
|
router.define(
|
|
activity,
|
|
handler: Handler(handlerFunc: (_, params) => ATMessageActivityPage()),
|
|
);
|
|
}
|
|
}
|