跳至主要內容

消息(Notification)

Mr.Hope大约 2 分钟

消息(Notification)

消息部件允许用户在系统中处理各种消息。默认使用 NotificationWidget.ts 作为该组件的基类。

类型定义

消息类型

export enum NotificationTypeEnum {
  WORKFLOW = "WORKFLOW", // 工作流
  NOTIFICATION = "NOTIFICATION", // 站内信
  COPY = "COPY", // 抄送
}

预点击回调函数类型

type ReturnBeforeClick = (
  message,
  messageInfo
) => Promise<Boolean | null | undefined>;

点击动作预处理类型

enum BeforeClickMapName {
  wait = "wait", //审批
  copy = "copy", //抄送
  write = "write", //填写
  mail = "mail", //站内信
}

变量

  • beforClickMap: 非响应式变量,定义了默认的不同预点击回调函数。
  • messageTextMap: 响应式变量,定义了默认的不同消息类型的文本信息。
  • messageType: 响应式变量,表示当前消息的类型,默认为 NotificationTypeEnum.WORKFLOW
  • messageInfo: 响应式变量,表示当前消息类型的文本信息。
  • confirmModalTitle: 响应式变量,表示对话框的标题,默认为 '查看消息'。
  • currentMessage: 响应式变量,表示当前消息的详细信息,默认值为 {}。
  • isShowConfirmModal: 响应式变量,控制是否显示对话框,默认为 false
  • currentMessageId: 响应式变量,表示当前消息的唯一标识符。

方法

getCopyAction()

  • 类型: 非响应式方法
  • 描述: 获取查看工作流用户任务待办的视图动作。
public async getCopyAction() {}

getWaitAction()

  • 类型: 非响应式方法
  • 描述: 获取审批工作流用户任务待办的视图动作。
public async getWaitAction() {}

getWriteAction()

  • 类型: 非响应式方法
  • 描述: 获取填写工作流用户任务待办的视图动作。
public async getWriteAction() {}

beforeClick()

  • 类型: 非响应式方法
  • 描述: 覆写消息预点击的回调函数。
  • 入参:
    • key: (Partial <Record<BeforeClickMapKey, ReturnBeforeClick>>): 可选键值对。
    • key: (BeforeClickMapKey), cb: (ReturnBeforeClick): 单一键、值。
public async beforeClick(key: Partial<Record<BeforeClickMapKey, ReturnBeforeClick>>);
public async beforeClick(key: BeforeClickMapKey, cb: ReturnBeforeClick);
public async beforeClick(
  args: BeforeClickMapKey | Partial<Record<BeforeClickMapKey, ReturnBeforeClick>>,
  cb?: ReturnBeforeClick
) {}

changeMessageType()

  • 类型: 非响应式方法
  • 描述: 更改消息的类型。
  • 入参:
    • type: (NotificationTypeEnum): 消息类型。
@Widget.Method()
public changeMessageType(type: NotificationTypeEnum) {}

toggleDialog()

  • 类型: 非响应式方法
  • 描述: 切换对话框的显示和隐藏状态。
@Widget.Method()
public toggleDialog() {}

onWorkflowUserTask()

  • 类型: 非响应式方法
  • 描述: 请求工作流用户任务模型,如果该模型的视图动作中存在任务代办,则执行该视图动作。
@Widget.Method()
public async onWorkflowUserTask() {}

onDetail()

  • 类型: 非响应式方法
  • 描述: 对不同消息类型执行预点击后,执行相应视图动作或弹出对话框。
  • 入参:
    • message: 消息具体信息。
    • messageInfo: 消息信息。
@Widget.Method()
public async onDetail(message, messageInfo) {}

如何替换

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

@SPI.ClassFactory(MaskWidget.Token({ widget: "notification" }))
export class CustomNotification extends NotificationWidget {}