phongdt: paging component

This commit is contained in:
Duong Truong Phong
2024-07-05 14:51:25 +07:00
parent a1c6e2872f
commit 3fe4da0ecb
3 changed files with 145 additions and 135 deletions
+80 -65
View File
@@ -30,81 +30,81 @@ interface PageComponentSettings {
dataResult?: string; // Kết quả dữ liệu (Json)
}
export type PageSection = {
id?: number; // Mã định danh
siteId?: number; // Mã hệ thống
pageId?: number; // Mã trang
parentId?: number; // Mã vùng cha
title?: string; // Tiêu đề
slug?: string; // (Anchor)
code?: string; // Mã nhận diện
content?: string; // Nội dung
keywords?: string; // Từ khóa
description?: string; // Mô tả
type?: number; // Phân loại: PageSectionType
features?: string; // Đặc trưng: Featured (nổi bật)
taxonomy?: string; // Phân loại: Block | Module | Navigation
settings?: PageSectionSettings; // Thiết lập: PageSectionSettings (Json)
isPublished?: boolean; // Đã xuất bản
publishedBy?: number; // Xuất bản bởi
publishedOn?: string; // Xuất bản vào lúc (string)
expiresOn?: string; // Hết hạn vào lúc (string)
order?: number; // Thứ tự sắp xếp
status?: number; // Trạng thái
id?: number; // Mã định danh
siteId?: number; // Mã hệ thống
pageId?: number; // Mã trang
parentId?: number; // Mã vùng cha
title?: string; // Tiêu đề
slug?: string; // (Anchor)
code?: string; // Mã nhận diện
content?: string; // Nội dung
keywords?: string; // Từ khóa
description?: string; // Mô tả
type?: number; // Phân loại: PageSectionType
features?: string; // Đặc trưng: Featured (nổi bật)
taxonomy?: string; // Phân loại: Block | Module | Navigation
settings?: PageSectionSettings; // Thiết lập: PageSectionSettings (Json)
isPublished?: boolean; // Đã xuất bản
publishedBy?: number; // Xuất bản bởi
publishedOn?: string; // Xuất bản vào lúc (string)
expiresOn?: string; // Hết hạn vào lúc (string)
order?: number; // Thứ tự sắp xếp
status?: number; // Trạng thái
}
interface PageComponent extends Base {
id?: number; // Mã định danh
siteId?: number; // Mã hệ thống
pageId?: number; // Mã trang
sectionId?: number; // Mã vùng
title?: string; // Tiêu đề
code?: string; // Mã nhận diện
content?: string; // Nội dung
type?: number; // Phân loại: PageComponentType
features?: string; // Đặc trưng: Featured (nổi bật)
taxonomy?: string; // Phân loại
settings?: PageComponentSettings; // Thiết lập: PageComponentSettings (Json)
isPublished?: boolean; // Đã xuất bản
publishedBy?: number; // Xuất bản bởi
publishedOn?: string; // Xuất bản vào lúc (string)
expiresOn?: string; // Hết hạn vào lúc (string)
order?: number; // Thứ tự sắp xếp
status?: number; // Trạng thái
id?: number; // Mã định danh
siteId?: number; // Mã hệ thống
pageId?: number; // Mã trang
sectionId?: number; // Mã vùng
title?: string; // Tiêu đề
code?: string; // Mã nhận diện
content?: string; // Nội dung
type?: number; // Phân loại: PageComponentType
features?: string; // Đặc trưng: Featured (nổi bật)
taxonomy?: string; // Phân loại
settings?: PageComponentSettings; // Thiết lập: PageComponentSettings (Json)
isPublished?: boolean; // Đã xuất bản
publishedBy?: number; // Xuất bản bởi
publishedOn?: string; // Xuất bản vào lúc (string)
expiresOn?: string; // Hết hạn vào lúc (string)
order?: number; // Thứ tự sắp xếp
status?: number; // Trạng thái
}
interface Page extends Base {
id?: number; // Mã định danh
siteId?: number; // Mã hệ thống
parentId?: number; // Mã trang cha
title?: string; // Tiêu đề
slug?: string; // Slug
code?: string; // Mã nhận diện
content?: string; // Nội dung
favicon?: string; // Biểu tượng
keywords?: string; // Từ khóa
thumbnail?: string; // Ảnh đại diện
description?: string; // Mô tả
type?: number; // Phân loại: PageType
features?: string; // Đặc trưng: Featured (nổi bật)
taxonomy?: string; // Phân nhóm
settings?: PageSettings; // Thiết lập: PageSettings (Json)
isPublished?: boolean; // Đã xuất bản
publishedBy?: number; // Đã xuất bản bởi
publishedOn?: string; // Đã xuất bản vào lúc (string)
expiresOn?: string; // Đã hết hạn vào lúc (string)
order?: number; // Thứ tự sắp xếp
status?: number; // Trạng thái
components?: PageComponent[];
sections?: PageSection[];
id?: number; // Mã định danh
siteId?: number; // Mã hệ thống
parentId?: number; // Mã trang cha
title?: string; // Tiêu đề
slug?: string; // Slug
code?: string; // Mã nhận diện
content?: string; // Nội dung
favicon?: string; // Biểu tượng
keywords?: string; // Từ khóa
thumbnail?: string; // Ảnh đại diện
description?: string; // Mô tả
type?: number; // Phân loại: PageType
features?: string; // Đặc trưng: Featured (nổi bật)
taxonomy?: string; // Phân nhóm
settings?: PageSettings; // Thiết lập: PageSettings (Json)
isPublished?: boolean; // Đã xuất bản
publishedBy?: number; // Đã xuất bản bởi
publishedOn?: string; // Đã xuất bản vào lúc (string)
expiresOn?: string; // Đã hết hạn vào lúc (string)
order?: number; // Thứ tự sắp xếp
status?: number; // Trạng thái
components?: PageComponent[];
sections?: PageSection[];
}
export const getDynamicPageByCode = async (event : any) => {
export const getDynamicPageByCode = async (event: any) => {
try {
const { apiUrl } = useRuntimeConfig().public
const slug = event.context.params.slug;
const { item }: any = await $fetch(`${apiUrl}/cms/page/overview-page/slug:${slug}`, {
headers: new Headers({
site: '1' || 1,
}),
}),
})
return item
} catch (error) {
@@ -112,13 +112,28 @@ export const getDynamicPageByCode = async (event : any) => {
}
}
export const getDynamicPageById = async (event : any) => {
export const getDynamicPageById = async (event: any) => {
try {
const { apiUrl } = useRuntimeConfig().public
const id = event.context.params.id;
const { item }: any = await $fetch(`${apiUrl}/cms/overview-page/${id}`)
return item
return item
} catch (error) {
handleError(error);
}
}
export async function getOverviewPageComponentById(event: any) {
try {
const { apiUrl } = useRuntimeConfig().public
const { componentId, dataQuery } = getQuery(event)
return await $fetch(`${apiUrl}/cms/overview-page-component/${componentId}`, {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: dataQuery,
});
} catch (err) {
handleError(err);
}
}