mirror of
https://github.com/pure-admin/pure-admin-thin.git
synced 2025-04-25 16:07:19 +08:00
Merge pull request #7 from 6get-xiaofan/main
Fix: serverConfig.json fetching behavior across nested routes
This commit is contained in:
commit
33103b61f8
@ -1,8 +1,8 @@
|
|||||||
import { App } from "vue";
|
import { App } from "vue";
|
||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
|
import { configConver } from "@/utils/rootConver";
|
||||||
|
|
||||||
let config: object = {};
|
let config: object = {};
|
||||||
const { VITE_PUBLIC_PATH } = import.meta.env;
|
|
||||||
|
|
||||||
const setConfig = (cfg?: unknown) => {
|
const setConfig = (cfg?: unknown) => {
|
||||||
config = Object.assign(config, cfg);
|
config = Object.assign(config, cfg);
|
||||||
@ -31,7 +31,7 @@ export const getServerConfig = async (app: App): Promise<undefined> => {
|
|||||||
app.config.globalProperties.$config = getConfig();
|
app.config.globalProperties.$config = getConfig();
|
||||||
return axios({
|
return axios({
|
||||||
method: "get",
|
method: "get",
|
||||||
url: `${VITE_PUBLIC_PATH}serverConfig.json`
|
url: `${configConver()}serverConfig.json`
|
||||||
})
|
})
|
||||||
.then(({ data: config }) => {
|
.then(({ data: config }) => {
|
||||||
let $config = app.config.globalProperties.$config;
|
let $config = app.config.globalProperties.$config;
|
||||||
|
@ -158,7 +158,12 @@ router.beforeEach((to: ToRouteType, _from, next) => {
|
|||||||
getTopMenu(true);
|
getTopMenu(true);
|
||||||
// query、params模式路由传参数的标签页不在此处处理
|
// query、params模式路由传参数的标签页不在此处处理
|
||||||
if (route && route.meta?.title) {
|
if (route && route.meta?.title) {
|
||||||
if (isAllEmpty(route.parentId) && route.meta?.backstage) {
|
if (
|
||||||
|
isAllEmpty(route.parentId) &&
|
||||||
|
route.meta?.backstage &&
|
||||||
|
route.children &&
|
||||||
|
route.children.length > 0
|
||||||
|
) {
|
||||||
// 此处为动态顶级路由(目录)
|
// 此处为动态顶级路由(目录)
|
||||||
const { path, name, meta } = route.children[0];
|
const { path, name, meta } = route.children[0];
|
||||||
useMultiTagsStoreHook().handleTags("push", {
|
useMultiTagsStoreHook().handleTags("push", {
|
||||||
|
22
src/utils/rootConver.ts
Normal file
22
src/utils/rootConver.ts
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
const { VITE_PUBLIC_PATH } = import.meta.env;
|
||||||
|
|
||||||
|
export const configConver = () => {
|
||||||
|
if (VITE_PUBLIC_PATH === "./") {
|
||||||
|
return window.location.origin + "/";
|
||||||
|
}
|
||||||
|
return window.location.origin + processPath(VITE_PUBLIC_PATH);
|
||||||
|
};
|
||||||
|
|
||||||
|
function processPath(str: string): string {
|
||||||
|
if (str.startsWith("./")) {
|
||||||
|
str = str.substring(1);
|
||||||
|
} else if (!str.startsWith("/")) {
|
||||||
|
str = "/" + str;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!str.endsWith("/")) {
|
||||||
|
str += "/";
|
||||||
|
}
|
||||||
|
|
||||||
|
return str;
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user