跳至主要內容

用户(User)

Mr.Hope大约 1 分钟

用户(User)

用户是与用户相关的功能入口,使用 UserWidget.ts 作为该功能的基类。

类型定义

PamirsUser 类型

export interface PamirsUser {
  id: string;
  name: string;
  nickname: string;
  realname: string;
  lang?: UserLang;
}

UserInfo 类型

export interface UserInfo {
  pamirsUser: PamirsUser;
  userAvatarAction?: IBaseAction;
  actionGroups: { action: IViewAction[] }[];
}

参数

  • router: 非响应式变量,表示应用的路由对象。
  • matched: 非响应式变量,表示路由匹配信息。
  • userInfo: 响应式变量,表示用户信息。

方法

executeAction()

  • 类型: 响应式方法
  • 描述: 根据用户动作类型,执行用户动作。
  • 入参:
    • action (RuntimeAction): 运行时动作信息。
@Widget.Method()
public async executeAction(action: RuntimeAction) {}

logout()

  • 类型: 非响应式方法
  • 描述: 用户退出登录,清理缓存,刷新系统配置,并回到全局配置的 'login'页面。
public logout() {}

fetchUserInfo()

  • 类型: 非响应式方法
  • 描述: 请求用户信息,用户信息会被缓存。
protected fetchUserInfo(): Promise<UserInfo> {}

initUserInfo()

  • 类型: 非响应式方法
  • 描述: 初始化用户信息。
protected async initUserInfo(): Promise<void> {}

reloadMaskProcess()

  • 类型: 非响应式方法

  • 描述: 重新加载母版时,会重新初始化用户信息。

  • 入参:

    • ·reloadParameters: ReloadMaskCallChainingParameters: 运行时动作信息。
protected reloadMaskProcess(reloadParameters: ReloadMaskCallChainingParameters) {}

$$mounted()

  • 类型: 非响应式方法
  • 描述: 在组件被挂载后执行,初始化路由对象和订阅用户信息流。
    • pamirsUser$ (加载用户 pamirsUser信息的流)
protected $$mounted() {}

如何替换

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

@SPI.ClassFactory(MaskWidget.Token({ widget: "user" }))
export class CustomUserWidget extends UserWidget {}