42 lines
1.1 KiB
JavaScript
42 lines
1.1 KiB
JavaScript
import {h} from "vue";
|
|
import {NCode, NLog} from "naive-ui"
|
|
|
|
export function useNotification() {
|
|
const showNotification = (options) => {
|
|
if (window.$notification) {
|
|
return window.$notification.create(options)
|
|
}
|
|
|
|
return null
|
|
}
|
|
|
|
const success = () => {
|
|
|
|
}
|
|
|
|
const errorApi = (data, content = '', options = {}) => {
|
|
return showNotification(
|
|
{
|
|
title: 'Произошла ошибка',
|
|
description: `Код: ${data.code}\nURL: ${data.response.config.url}\nМетод: ${data.response.config.method.toUpperCase()}`,
|
|
content: () => {
|
|
return h(
|
|
NLog,
|
|
{
|
|
rows: 4,
|
|
log: data.response.config.data,
|
|
}
|
|
)
|
|
},
|
|
meta: options.meta || new Date().toLocaleDateString(),
|
|
...options,
|
|
type: 'error'
|
|
}
|
|
)
|
|
}
|
|
|
|
return {
|
|
errorApi
|
|
}
|
|
}
|