From 1624d9eb7ff77210e947b50af685f77d2d9e78dd Mon Sep 17 00:00:00 2001
From: schooltechx
Offline mode
\ No newline at end of file diff --git a/cms/src/lib/data/content/home.html b/cms/src/lib/data/content/home.html index 0810cdc..463921b 100644 --- a/cms/src/lib/data/content/home.html +++ b/cms/src/lib/data/content/home.html @@ -1 +1 @@ -การสรรหาและเลือกสรรบุคคลเข้ารับราชการเป็นข้าราชการกรุงเทพมหานครสามัญ และข้าราชการครูกรุงเทพมหานครเฉพาะสังกัดสำนักพัฒนาชุมชน.. \ No newline at end of file +การสรรหาและเลือกสรรบุคคลเข้ารับราชการเป็นข้าราชการกรุงเทพมหานครสามัญ และข้าราชการครูกรุงเทพมหานครเฉพาะสังกัดสำนักพัฒนาชุมชน.. (offline data) \ No newline at end of file diff --git a/cms/src/lib/data/info.json b/cms/src/lib/data/info.json index 5b49ff8..a9922df 100644 --- a/cms/src/lib/data/info.json +++ b/cms/src/lib/data/info.json @@ -3,7 +3,7 @@ "title": "กองสรรหาบุคคล", "subtitle": "Recruitment Division", "supervised":"สำนักงาน ก.ก.", - "address": "173 ถนนดินสอ แขวงเสาชิงช้า เขตพระนคร กรุงเทพมหานคร 10200", + "address": "173 ถนนดินสอ แขวงเสาชิงช้า เขตพระนคร กรุงเทพมหานคร 10200 (offline mode)", "divisions": [ { "title":"กองสรรหาบุคคล", diff --git a/cms/src/routes/+layout.server.ts b/cms/src/routes/+layout.server.ts index 461041d..0c24f42 100644 --- a/cms/src/routes/+layout.server.ts +++ b/cms/src/routes/+layout.server.ts @@ -1,11 +1,11 @@ import {cmsBase} from '$lib/data/CMSDataType' -import { error } from '@sveltejs/kit'; import type { PageServerLoad } from './$types' export const load: PageServerLoad = async ({fetch}) => { const res = await fetch(cmsBase+"/home") if(!res.ok) - throw error(500, 'ไม่สามารถอ่านข้อมูลตั้งต้นของเวปได้'); - - const info = await res.json() - return info + { + console.log("load offline data instead") + return (await import('$lib/data/info.json')).default + } + return await res.json() } \ No newline at end of file diff --git a/cms/src/routes/+page.server.ts b/cms/src/routes/+page.server.ts index f047ff2..5dc75b9 100644 --- a/cms/src/routes/+page.server.ts +++ b/cms/src/routes/+page.server.ts @@ -4,20 +4,33 @@ import type { PageServerLoad } from './$types'; import type {Exam} from '$lib/data/CMSDataType' import dayjs from 'dayjs' export const load: PageServerLoad = async ({fetch}) => { - let res = await fetch("/api/info") + let res = await fetch(cmsBase+"/home") + let info if(!res.ok) - throw error(500, 'ไม่สามารถอ่านข้อมูลตั้งต้นของหน้าหลักได้'); - const {title,subtitle} = await res.json() + { + console.log("load offline CMS data instead") + info = (await import('$lib/data/info.json')).default + }else{ + info = await res.json() + } + const {title,subtitle} = info res = await fetch(cmsBase+"/content/home") - if(!res.ok) - throw error(500, 'ไม่สามารถอ่านเนื้อหาหน้าหลักได้'); - const {content,image} = await res.json() + if(!res.ok){ + console.log("load offline home content instead") + const content = (await import('$lib/data/content/home.html?raw')).default + info = {content,image:"/images/pattern.png"} + }else{ + info = await res.json() + } + //throw error(500, 'ไม่สามารถอ่านเนื้อหาหน้าหลักได้'); + const {content,image} = info //Inner function reduce code and able to throw here async function loadExam(api_path:string,err_msg:string){ const res = await fetch(api_path) - if(!res.ok) + if(!res.ok){ throw error(500, err_msg); + } const exams:Exam[] = await res.json() exams.forEach((e)=>{ e.date = e.start? dayjs(e.start).format("DD MMM BBBB"):""