fix: 优化标签title,ico

This commit is contained in:
XieYongHong 2023-06-09 17:49:07 +08:00
parent ab79402dc9
commit 3e6eac1bfa
4 changed files with 26 additions and 17 deletions

View File

@ -4,3 +4,5 @@ import server from '@/utils/request';
export const save_api = (data: any) => server.post(`/system/config/scope/_save`, data)
// 获取详情
export const getDetails_api = (data: any) => server.post<any>(`/system/config/scopes`, data)
export const settingDetail = (scopes: string) => server.get<any>(`/system/config/${scopes}`)

View File

@ -1,7 +1,7 @@
import { defineStore } from 'pinia';
import { systemVersion } from '@/api/comm'
import { useMenuStore } from './menu'
import { getDetails_api } from '@/api/system/basis';
import {getDetails_api, settingDetail} from '@/api/system/basis';
import type { ConfigInfoType } from '@/views/system/Basis/typing';
import { LocalStore } from '@/utils/comm'
import { SystemConst } from '@/utils/consts'
@ -33,12 +33,26 @@ export const useSystem = defineStore('system', {
}
})
},
async getFront () {
const res = await settingDetail('front')
if (res.success) {
const ico: any = document.querySelector('link[rel="icon"]');
ico.href = res.result.ico;
document.title = res.result.title || '';
}
},
async getSystemConfig() {
const params = ['front', 'amap', 'paths'];
const { status, result } = await getDetails_api(params);
if (status === 200) {
params.forEach((key: string) => {
this.configInfo[key] = { ...result.find((item: any) => item.scope === key)?.properties }
if (key === 'front') {
const data = result.find((item: any) => item.scope === key).properties
const ico: any = document.querySelector('link[rel="icon"]');
ico.href = data.ico;
document.title = data.title || '';
}
})
}
}

View File

@ -337,6 +337,8 @@ import { settingDetail } from '@/api/login';
const action = `${BASE_API_PATH}/file/static`;
const headers = { [TOKEN_KEY]: LocalStore.get(TOKEN_KEY) };
const formRef = ref();
const system = useSystem();
const form = reactive<formType>({
formValue: {
title: '',
@ -378,10 +380,10 @@ const form = reactive<formType>({
iconLoading: false, //
saveLoading: false,
getDetails: async () => {
const system = useSystem();
await system.getSystemConfig();
await settingDetail('front');
const configInfo = system.$state.configInfo;
// await system.getSystemConfig();
// await settingDetail('front');
const configInfo = system.configInfo;
form.formValue = {
title: configInfo.front?.title,
headerTheme: configInfo.front?.headerTheme,

View File

@ -172,11 +172,13 @@ import {
settingDetail, userDetail
} from '@/api/login'
import { useUserInfo } from '@/store/userInfo';
import { useSystem } from '@/store/system'
import { LocalStore } from '@/utils/comm';
import { BASE_API_PATH, TOKEN_KEY, Version_Code } from '@/utils/variable';
import { SystemConst } from '@/utils/consts';
const store = useUserInfo();
const systemStore = useSystem();
const router = useRouter();
const bgImage = getImage('/logo.png');
const viewLogo = getImage('/view-logo.png');
@ -310,18 +312,7 @@ const getOpen = () => {
}
}
});
settingDetail('front').then((res: any) => {
if (res.status === 200) {
const ico: any = document.querySelector('link[rel="icon"]');
ico.href = res.result.ico;
basis.value = res.result;
if (res.result.title) {
document.title = res.result.title;
} else {
document.title = '';
}
}
});
systemStore.getFront()
};
const handleClickOther = (item: any) => {