vben
2023-04-06 6a9bd686d5e7d3928f39856da4e9e3920ac5cbee
src/hooks/web/useMessage.tsx
@@ -1,18 +1,17 @@
import type { ModalFunc, ModalFuncProps } from 'ant-design-vue/lib/modal/Modal';
import { Modal, message as Message, notification } from 'ant-design-vue';
import { InfoCircleFilled, CheckCircleFilled, CloseCircleFilled } from '@ant-design/icons-vue';
import { ArgsProps, ConfigProps } from 'ant-design-vue/lib/notification';
import { NotificationArgsProps, ConfigProps } from 'ant-design-vue/lib/notification';
import { useI18n } from './useI18n';
import { isString } from '/@/utils/is';
export interface NotifyApi {
  info(config: ArgsProps): void;
  success(config: ArgsProps): void;
  error(config: ArgsProps): void;
  warn(config: ArgsProps): void;
  warning(config: ArgsProps): void;
  open(args: ArgsProps): void;
  info(config: NotificationArgsProps): void;
  success(config: NotificationArgsProps): void;
  error(config: NotificationArgsProps): void;
  warn(config: NotificationArgsProps): void;
  warning(config: NotificationArgsProps): void;
  open(args: NotificationArgsProps): void;
  close(key: String): void;
  config(options: ConfigProps): void;
  destroy(): void;
@@ -46,7 +45,11 @@
}
function renderContent({ content }: Pick<ModalOptionsEx, 'content'>) {
  return <div innerHTML={`<div>${content as string}</div>`}></div>;
  if (isString(content)) {
    return <div innerHTML={`<div>${content as string}</div>`}></div>;
  } else {
    return content;
  }
}
/**
@@ -59,8 +62,9 @@
    centered: true,
    icon: getIcon(iconType),
    ...options,
    content: renderContent(options),
  };
  return (Modal.confirm(opt) as unknown) as ConfirmOptions;
  return Modal.confirm(opt) as unknown as ConfirmOptions;
}
const getBaseOptions = () => {
@@ -85,7 +89,7 @@
}
function createErrorModal(options: ModalOptionsPartial) {
  return Modal.error(createModalOptions(options, 'close'));
  return Modal.error(createModalOptions(options, 'error'));
}
function createInfoModal(options: ModalOptionsPartial) {