跳至主要內容

应用切换(app Founder)

Mr.Hope大约 2 分钟

应用切换(app Founder)

应用切换功能允许用户在不同的应用间进行快速切换。默认使用 AppSwitcherWidget.ts 作为该功能的基类,以下是该功能的主要参数和变量: 默认使用

参数

  • reloadAppFinder$: 非响应式变量,用于重新加载应用流。
  • apps: 响应式变量,表示当前的应用列表。
  • likeApp: 响应式变量,表示用户收藏的应用列表。
  • module: 响应式变量,表示当前选中的应用。
  • majorConfig: 响应式变量,表示当前应用的配置。
  • logo: 响应式变量,表示应用的 logo。
  • collapsedLogo: 响应式变量,表示应用收起时的 logo。
  • currentPageUrl: 响应式变量,表示当前页面的链接。
  • collapsed: 响应式变量,表示应用列表是否处于收起状态。
  • collapsed$: 非响应式变量,用于通知应用列表的展开或收起状态变化。

方法

onCollectionClick(item)

  • 类型: 响应式方法
  • 描述: 收藏应用,表示当前操作的应用。
  • 入参:
    • item (Object): 当前操作的应用。
@Widget.Method()
protected async onCollectionClick(item) {}

onSwitchApp(app)

  • 类型: 响应式方法
  • 描述: 切换应用,表示当前操作的应用。
  • 入参:
    • app (Object): 当前操作的应用 (IModule 接口类型)。
@Widget.Method()
protected async onSwitchApp(app: IModule) {}

initApps()

  • 类型: 非响应式方法
  • 描述: 加载应用。
protected async initApps() {}

initCurrentModule(moduleName: string)

  • 类型: 非响应式方法
  • 描述: 加载当前应用的信息,主要包括菜单。
  • 入参:
    • moduleName (String): 应用名称。
protected async initCurrentModule(moduleName: string) {}

$$mounted()

  • 类型: 非响应式方法
  • 描述: 组件挂载时执行,订阅了多个流,包括:
    • collapsed$ (应用展开收起的流-默认和菜单一起使用)
    • $systemMajorConfig (加载全局配置的流,当前场景主要获取 logo 和收起的 logo)
    • reloadAppFinder$ (重新加载应用列表,一般作用于新增了应用)。
protected async $$mounted() {}

如何替换

import { AppSwitcherWidget, SPI, MaskWidget } from "@kunlun/dependencies";

@SPI.ClassFactory(MaskWidget.Token({ widget: "app-switcher" }))
export class CustomAppSwitcher extends AppSwitcherWidget {}