用户(User)
大约 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
信息的流)
- pamirsUser$ (加载用户
protected $$mounted() {}
如何替换
import { UserWidget, SPI, MaskWidget } from "@kunlun/dependencies";
@SPI.ClassFactory(MaskWidget.Token({ widget: "user" }))
export class CustomUserWidget extends UserWidget {}