Files
geo/apps/ops-web/src/main.ts
T
root 73fd7db21a feat(ops-web/kol): add KOL subscription review console
New /kol-subscriptions page lists pending and active subscriptions, lets
operators approve / revoke / manually bind packages to tenants, and links
into the AppShell nav under 订阅包审批. Register Alert globally so the
view's status banners render.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 22:07:41 +08:00

91 lines
1.4 KiB
TypeScript

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 App from "./App.vue";
import { bindUnauthorizedHandler } from "@/lib/http";
import { router } from "@/router";
import { pinia } from "@/stores/pinia";
import "./styles.css";
import "ant-design-vue/dist/reset.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");