90 lines
3.4 KiB
TypeScript
90 lines
3.4 KiB
TypeScript
interface Base {
|
|
createdBy?: string | number
|
|
createdOn?: string
|
|
updatedBy?: string | number
|
|
updatedOn?: string
|
|
}
|
|
interface Article extends Base {
|
|
id?: number; // ID của bài viết
|
|
siteId?: number; // ID của trang web
|
|
articleId?: number; // ID của bài viết
|
|
originalId?: number; // ID còn bài viết gốc
|
|
sub?: string; // Tiêu đề phụ
|
|
title?: string; // Tiêu đề
|
|
slug?: string; // Đường dẫn thân thiện cho SEO
|
|
code?: string; // Mã bài viết
|
|
intro?: string; // Phần giới thiệu
|
|
brief?: string; // Tóm tắt
|
|
detail?: string; // Nội dung chi tiết
|
|
summary?: string; // Tóm tắt ngắn gọn
|
|
thumbnail?: string; // Đường dẫn hình ảnh đại diện
|
|
represent?: string; // Đại diện cho bài viết
|
|
redirect?: string; // Đường dẫn chuyển hướng
|
|
keywords?: string; // Từ khóa
|
|
description?: string; // Mô tả
|
|
type?: number; // Loại bài viết
|
|
layoutType?: number; // Loại giao diện
|
|
contentType?: number; // Loại nội dung
|
|
priority?: number; // Ưu tiên
|
|
features?: string; // Các tính năng
|
|
taxonomy?: string; // Phân loại
|
|
interaction?: string; // Tương tác
|
|
language?: string; // Ngôn ngữ
|
|
settings?: string; // Các tùy chọn
|
|
categoryId?: number; // ID của danh mục
|
|
categoryIds?: string; // Các ID danh mục liên quan
|
|
topicIds?: string; // Các ID chủ đề liên quan
|
|
eventIds?: string; // Các ID sự kiện liên quan
|
|
collectionIds?: string; // Các ID bộ sưu tập liên quan
|
|
urlIds?: string; // Các ID URL liên quan
|
|
sourceIds?: string; // Các ID nguồn liên quan
|
|
relatedArticleIds?: string; // Các ID liên quan
|
|
advertisementIds?: string; // Các ID quảng cáo liên quan
|
|
attachmentIds?: string; // Các ID tệp đính kèm liên quan
|
|
authorIds?: string; // Các ID tác giả liên quan
|
|
views?: number; // Số lượt xem
|
|
likes?: number; // Số lượt thích
|
|
rates?: number; // Đánh giá
|
|
follows?: number; // Số lượt theo dõi
|
|
shares?: number; // Số lượt chia sẻ
|
|
reports?: number; // Số lượt báo cáo
|
|
comments?: number; // Số lượt bình luận
|
|
statistics?: string; // Thống kê khác
|
|
isPublished?: boolean; // Đã xuất bản hay chưa
|
|
publishedBy?: number; // ID người xuất bản
|
|
publishedOn?: Date; // Ngày xuất bản
|
|
expiresOn?: Date; // Ngày hết hạn
|
|
order?: number; // Thứ tự
|
|
status?: number; // Trạng thái
|
|
}
|
|
|
|
export const getArticleById = async (event : any) => {
|
|
try {
|
|
const { apiUrl } = useRuntimeConfig().public
|
|
const id = event.context.params.id;
|
|
const { item }: any = await $fetch(`${apiUrl}/cms/digital-Article/${id}`, {
|
|
headers: new Headers({
|
|
site: '1' || 1,
|
|
}),
|
|
})
|
|
return item
|
|
} catch (error) {
|
|
handleError(error);
|
|
}
|
|
}
|
|
|
|
export const getArticleBySlug = async (event : any) => {
|
|
try {
|
|
const { apiUrl } = useRuntimeConfig().public
|
|
const slug = event.context.params.slug;
|
|
const { item }: any = await $fetch(`${apiUrl}/cms/digital-Article/slug:${slug}`, {
|
|
headers: new Headers({
|
|
site: '1' || 1,
|
|
}),
|
|
})
|
|
return item
|
|
} catch (error) {
|
|
handleError(error);
|
|
}
|
|
}
|