chat-pc/src/hooks/useUtil.ts
2024-12-24 16:14:21 +08:00

20 lines
791 B
TypeScript

import { getCurrentInstance } from 'vue'
import type { MessageApiInjection } from 'naive-ui/es/message/src/MessageProvider'
import type { DialogApiInjection } from 'naive-ui/es/dialog/src/DialogProvider'
import type { NotificationApiInjection } from 'naive-ui/es/notification/src/NotificationProvider'
export function useUtil() {
const ctx = getCurrentInstance()
if (!ctx) {
throw new Error('useUtil must be called in setup function')
}
const useMessage: MessageApiInjection = ctx.appContext.config.globalProperties.$message
const useDialog: DialogApiInjection = ctx.appContext.config.globalProperties.$dialog
const useNotification: NotificationApiInjection =
ctx.appContext.config.globalProperties.$notification
return { useMessage, useDialog, useNotification }
}