init static method

dynamic init()

Implementation

static init() {
  // TeamKitClientRepo.init();
  IMKitRouter.instance.registerRouter(
    RouterConstants.PATH_TEAM_SETTING_PAGE,
    (context) => TeamSettingPage(
      IMKitRouter.getArgumentFormMap<String>(context, 'teamId')!,
    ),
  );

  IMKitRouter.instance.registerRouter(
    RouterConstants.PATH_TEAM_DETAIL_PAGE,
    (context) => TeamKitDetailPage(
      teamId: IMKitRouter.getArgumentFormMap<String>(context, 'teamId')!,
    ),
  );

  // 注册桌面端群组详情弹框 Builder,桌面/Web 端以 Dialog 方式展示群组详情
  setDesktopTeamDetailBuilder(
    (teamId) => TeamKitDetailPage(teamId: teamId),
  );

  if (ChatKitUtils.isDesktopOrWeb &&
      ChatKitClient.instance.chatUIConfig.teamSettingPanelBuilder == null) {
    ChatKitClient.instance.chatUIConfig.teamSettingPanelBuilder =
        (teamId, onClose, onQuitTeam) {
      return TeamSettingPage(
        teamId,
        isPanel: true,
        onClose: onClose,
        onQuitTeam: onQuitTeam,
        pinPageBuilder: (conversationId, conversationType, chatTitle) {
          return ChatPinPage(
            conversationId: conversationId,
            conversationType: conversationType,
            chatTitle: chatTitle,
          );
        },
        historyPageBuilder: (conversationId, conversationType) {
          return ChatHistoryMessagePage(
            conversationId: conversationId,
            conversationType: conversationType,
          );
        },
      );
    };
  }

  IMKitRouter.instance.registerRouter(
    RouterConstants.PATH_TEAM_MEMBER_PAGE,
    (context) => TeamKitMemberListPage(
      tId: IMKitRouter.getArgumentFormMap<String>(context, 'teamId')!,
      showOwnerAndManager: IMKitRouter.getArgumentFormMap<bool>(
            context,
            'showOwnerAndManager',
          ) ??
          true,
      isGroupTeam:
          IMKitRouter.getArgumentFormMap<bool>(context, 'isGroupTeam') ??
              false,
      isMultiSelectModel: IMKitRouter.getArgumentFormMap<bool>(
            context,
            'isMultiSelectModel',
          ) ??
          false,
      singleSelect:
          IMKitRouter.getArgumentFormMap<bool>(context, 'singleSelect') ??
              false,
      showAIMember:
          IMKitRouter.getArgumentFormMap<bool>(context, 'showAIMember') ??
              true,
      maxSelectMemberCount: IMKitRouter.getArgumentFormMap<int>(
        context,
        'maxSelectMemberCount',
      ),
      showRole:
          IMKitRouter.getArgumentFormMap<bool>(context, 'showRole') ?? true,
      showRemoveButton:
          IMKitRouter.getArgumentFormMap<bool>(context, 'showRemoveButton') ??
              true,
    ),
  );

  XKitReporter().register(moduleName: 'TeamUIKit', moduleVersion: '10.3.0');
}