refactor: 联系信息页的API重构
This commit is contained in:
@ -1,4 +1,4 @@
|
|||||||
import { readSingleton } from '@directus/sdk';
|
import GetContactInfo from '@/graphql/contactInfo.graphql?raw';
|
||||||
|
|
||||||
export const useContactInfo = () => {
|
export const useContactInfo = () => {
|
||||||
const { $directus } = useNuxtApp();
|
const { $directus } = useNuxtApp();
|
||||||
@ -6,24 +6,11 @@ export const useContactInfo = () => {
|
|||||||
const locale = getDirectusLocale();
|
const locale = getDirectusLocale();
|
||||||
|
|
||||||
return useAsyncData(`contact-info-${locale}`, async () => {
|
return useAsyncData(`contact-info-${locale}`, async () => {
|
||||||
return await $directus.request(
|
return await $directus.query<{ contact_info: ContactInfo }>(
|
||||||
readSingleton('contact_info', {
|
GetContactInfo,
|
||||||
fields: [
|
{
|
||||||
'id',
|
locale: locale,
|
||||||
{
|
}
|
||||||
translations: ['id', 'content'],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
deep: {
|
|
||||||
translations: {
|
|
||||||
_filter: {
|
|
||||||
languages_code: {
|
|
||||||
_eq: locale,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|||||||
9
app/graphql/contactInfo.graphql
Normal file
9
app/graphql/contactInfo.graphql
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
query GetContactInfo($locale: String!) {
|
||||||
|
contact_info {
|
||||||
|
id
|
||||||
|
translations(filter: { languages_code: { code: { _eq: $locale } } }) {
|
||||||
|
id
|
||||||
|
content
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -24,7 +24,7 @@
|
|||||||
];
|
];
|
||||||
const { data, pending, error } = await useContactInfo();
|
const { data, pending, error } = await useContactInfo();
|
||||||
|
|
||||||
const content = computed(() => toContactInfoView(data.value));
|
const content = computed(() => toContactInfoView(data.value.contact_info));
|
||||||
|
|
||||||
watch(error, (value) => {
|
watch(error, (value) => {
|
||||||
if (value) {
|
if (value) {
|
||||||
|
|||||||
Reference in New Issue
Block a user