refactor: 重构项目的数据获取方法 #72
@ -1,4 +1,4 @@
|
||||
import { readSingleton } from '@directus/sdk';
|
||||
import GetCompanyProfile from '@/graphql/companyProfile.graphql?raw';
|
||||
|
||||
export const useCompanyProfile = () => {
|
||||
const { $directus } = useNuxtApp();
|
||||
@ -6,24 +6,11 @@ export const useCompanyProfile = () => {
|
||||
const locale = getDirectusLocale();
|
||||
|
||||
return useAsyncData(`company-profile-${locale}`, async () => {
|
||||
return await $directus.request(
|
||||
readSingleton('company_profile', {
|
||||
fields: [
|
||||
'id',
|
||||
{
|
||||
translations: ['id', 'content'],
|
||||
},
|
||||
],
|
||||
deep: {
|
||||
translations: {
|
||||
_filter: {
|
||||
languages_code: {
|
||||
_eq: locale,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
return await $directus.query<{ company_profile: CompanyProfile }>(
|
||||
GetCompanyProfile,
|
||||
{
|
||||
locale: locale,
|
||||
}
|
||||
);
|
||||
});
|
||||
};
|
||||
|
||||
9
app/graphql/companyProfile.graphql
Normal file
9
app/graphql/companyProfile.graphql
Normal file
@ -0,0 +1,9 @@
|
||||
query GetCompanyProfile($locale: String!) {
|
||||
company_profile {
|
||||
id
|
||||
translations(filter: { languages_code: { code: { _eq: $locale } } }) {
|
||||
id
|
||||
content
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -34,7 +34,9 @@
|
||||
];
|
||||
const { data, pending, error } = await useCompanyProfile();
|
||||
|
||||
const content = computed(() => toCompanyProfileView(data.value));
|
||||
const content = computed(() =>
|
||||
toCompanyProfileView(data.value.company_profile)
|
||||
);
|
||||
|
||||
watch(error, (value) => {
|
||||
if (value) {
|
||||
|
||||
Reference in New Issue
Block a user