phongdt:page video

This commit is contained in:
Duong Truong Phong
2024-06-03 12:27:22 +07:00
parent 94ea03f189
commit 0bfbfa7711
19 changed files with 538 additions and 511 deletions
+6
View File
@@ -1,8 +1,14 @@
import { createRouter, defineEventHandler, useBase } from 'h3'
import * as navigationCtrl from '~/server/models/navigation'
import * as eventCtrl from '~/server/models/event'
import * as tagCtrl from '~/server/models/tag'
import * as topicCtrl from '~/server/models/topic'
const router = createRouter()
router.get('/navigation', defineEventHandler(navigationCtrl.get))
router.get('/tag', defineEventHandler(tagCtrl.fetchById))
router.get('/topic', defineEventHandler(topicCtrl.fetchById))
router.get('/event', defineEventHandler(eventCtrl.fetchById))
export default useBase('/api/services', router.handler)
+50
View File
@@ -0,0 +1,50 @@
import { utils } from "~/utils/utilities";
import Base from "./base";
import { H3Event } from "h3";
export const listPaging = async(event: H3Event) => {
try {
const { apiUrl } = useRuntimeConfig().public
const { siteId, page, fetch } = getQuery(event)
const { items, total }: any = await $fetch(`${apiUrl}/cms/event/condition/paging:${page}-${fetch}`, {
method: 'POST',
body: {siteIds: [siteId]}
})
return {items, total}
} catch (error) {
handleError(error);
}
}
export const fetchByCode = async(event: H3Event) => {
try {
const { apiUrl } = useRuntimeConfig().public
const { eventCode }: any = getQuery(event)
const { item }: any = await $fetch(`${apiUrl}/cms/event/code:${eventCode}`, {
method: 'GET',
headers: {
Site: 1
}
})
return item
} catch (error) {
handleError(error)
}
}
export const fetchById = async(event: H3Event) => {
try {
const { apiUrl } = useRuntimeConfig().public
const { eventId }: any = getQuery(event)
const { item }: any = await $fetch(`${apiUrl}/cms/event/${eventId}`, {
method: 'GET',
headers: {
Site: 1
}
})
return item
} catch (error) {
handleError(error)
}
}
+36
View File
@@ -0,0 +1,36 @@
import { utils } from "~/utils/utilities";
import { Author } from "./author";
import Base from "./base";
import { H3Event } from "h3";
export const get = async(event: H3Event) => {
try {
const { apiUrl } = useRuntimeConfig().public
const { code } = getQuery(event)
const { items }: any = await $fetch(`${apiUrl}/cms/tag/code:${code}`, {
headers: {
site: 1
}
})
return items
} catch(error) {
handleError(error);
}
}
export const fetchById = async(event: H3Event) => {
try {
const { apiUrl } = useRuntimeConfig().public
const { tagId }: any = getQuery(event)
const { item }: any = await $fetch(`${apiUrl}/cms/tag/${tagId}`, {
method: 'GET',
headers: {
Site: 1
}
})
return item
} catch (error) {
handleError(error)
}
}
+60
View File
@@ -0,0 +1,60 @@
import { utils } from "~/utils/utilities";
import { Author } from "./author";
import Base from "./base";
import { ref } from "vue"
import { H3Event } from "h3";
export const listPaging = async (event: H3Event) => {
try {
const { apiUrl } = useRuntimeConfig().public
const { categoryId, page, limit, sort } = getQuery(event)
const query = ref({})
if(categoryId) {
query.value = { categoryId }
}
const { items, total }: any = await $fetch(`${apiUrl}/cms/topic/condition/paging:${page}-${limit}/sorting:${sort}`,{
method: 'POST',
headers: {site: 1},
body:{ ...query.value }
})
return { items, total };
} catch (error) {
handleError(error)
}
}
export const fetchByCode = async(event: H3Event) => {
try {
const { apiUrl } = useRuntimeConfig().public
const { topicCode }: any = getQuery(event)
const { item }: any = await $fetch(`${apiUrl}/cms/topic/code:${topicCode}`, {
method: 'GET',
headers: {
site: 1
}
})
return item
} catch (error) {
handleError(error)
}
}
export const fetchById = async(event: H3Event) => {
try {
const { apiUrl } = useRuntimeConfig().public
const { topicId }: any = getQuery(event)
const { item }: any = await $fetch(`${apiUrl}/cms/topic/${topicId}`, {
method: 'GET',
headers: {
site: 1
}
})
return item
} catch (error) {
handleError(error)
}
}