| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- import { modeFlags, ModeFlag, isLogin } from "@/store/sys";
- import { computed, ComputedRef } from "vue";
- import { ui18n } from "@/lang";
- export const readyRouteName = {
- layout: "layout",
- query: "query",
- hotspot: "hotspot",
- measure: "measure",
- graphic: "graphic",
- scene: "scene",
- photos: "photos",
- accidents: "accidents",
- roads: "roads",
- tabulation: "tabulation"
- } as const;
- export const writeRouteName = {
- ...readyRouteName,
- setup: "setup",
- } as const;
- export const defRouteName = readyRouteName.query;
- export type RouteNameRaw<T extends ModeFlag = any> =
- T extends typeof modeFlags.LOGIN
- ? typeof writeRouteName
- : typeof readyRouteName;
- export type RouteMetaAtom = {
- title: string;
- onClick?: () => void;
- svg?: boolean;
- };
- export type RouteMetaRaw<T extends ModeFlag = any> = {
- [key in keyof RouteNameRaw<T>]: RouteMetaAtom;
- };
- export const readyRouteMeta: RouteMetaRaw = {
- [readyRouteName.layout]: { title: ui18n.t("sys.title") },
- [readyRouteName.query]: { title: ui18n.t("sys.query") },
- [readyRouteName.hotspot]: { title: ui18n.t("hotspot.name") },
- [readyRouteName.measure]: { title: ui18n.t("measure.name") },
- [readyRouteName.graphic]: { title: "绘图" },
- [readyRouteName.scene]: { title: "绘图" },
- [readyRouteName.photos]: {title: "相册"},
- [readyRouteName.accidents]: {title: "事故照片"},
- [readyRouteName.roads]: {title: "道路照片"},
- [readyRouteName.tabulation]: {title: "制表"}
- };
- export const writeRouteMeta: RouteMetaRaw<typeof modeFlags.LOGIN> = {
- ...readyRouteMeta,
- [writeRouteName.setup]: { title: ui18n.t("sys.setup") },
- };
- export type RouteName<T extends ModeFlag = any> = ComputedRef<RouteNameRaw<T>>;
- export const routeName = computed(() =>
- isLogin.value ? writeRouteName : readyRouteName
- );
- export type RouteMeta<T extends ModeFlag = any> = ComputedRef<RouteMetaRaw<T>>;
- export const routeMeta = computed(() =>
- isLogin.value ? writeRouteMeta : readyRouteMeta
- );
- export default writeRouteName;
|