Files
geo/apps/ops-web/src/main.ts
T

90 lines
1.4 KiB
TypeScript
Raw Normal View History

import { QueryClient, VueQueryPlugin } from '@tanstack/vue-query'
import {
Alert,
App as AntApp,
Avatar,
Badge,
Button,
Card,
ConfigProvider,
DatePicker,
Descriptions,
Drawer,
Dropdown,
Empty,
Form,
Input,
Layout,
Menu,
Modal,
Pagination,
Popconfirm,
Result,
Select,
Space,
Spin,
Switch,
Table,
Tag,
Tooltip,
message,
} from 'ant-design-vue'
import { createApp } from 'vue'
import { bindUnauthorizedHandler } from '@/lib/http'
import { router } from '@/router'
import { pinia } from '@/stores/pinia'
import 'ant-design-vue/dist/reset.css'
import App from './App.vue'
import './styles.css'
const queryClient = new QueryClient({
defaultOptions: {
queries: {
staleTime: 30000,
refetchOnWindowFocus: false,
retry: false,
},
},
})
const app = createApp(App)
bindUnauthorizedHandler(() => {
void router.replace({ name: 'login' })
message.warning('登录已过期,请重新登录')
})
;[
Alert,
AntApp,
Avatar,
Badge,
Button,
Card,
ConfigProvider,
DatePicker,
Descriptions,
Drawer,
Dropdown,
Empty,
Form,
Input,
Layout,
Menu,
Modal,
Pagination,
Popconfirm,
Result,
Select,
Space,
Spin,
Switch,
Table,
Tag,
Tooltip,
].forEach((component) => {
app.use(component)
})
app.use(pinia).use(router).use(VueQueryPlugin, { queryClient }).mount('#app')