import { _ as __nuxt_component_0 } from './HeaderImage-92nFA80c.mjs'; import { defineComponent, computed, withAsyncContext, mergeProps, unref, useSSRContext } from 'vue'; import { ssrRenderAttrs, ssrRenderComponent, ssrRenderList, ssrRenderAttr, ssrInterpolate, ssrRenderClass } from 'vue/server-renderer'; import { u as useRequest } from './useRequest-pSRZvR3u.mjs'; import { b as useRouter, u as useRoute, n as navigateTo } from './server.mjs'; import { u as useAsyncData } from './asyncData-D5wEK86T.mjs'; import '../nitro/nitro.mjs'; import 'node:http'; import 'node:https'; import 'node:events'; import 'node:buffer'; import 'node:fs'; import 'node:path'; import 'node:crypto'; import 'node:url'; import '../routes/renderer.mjs'; import 'vue-bundle-renderer/runtime'; import 'unhead/server'; import 'devalue'; import 'unhead/plugins'; import 'unhead/utils'; import 'vue-router'; import 'axios'; import 'perfect-debounce'; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "index", __ssrInlineRender: true, async setup(__props) { let __temp, __restore; useRouter(); const route = useRoute(); const request = useRequest(); const page = computed({ get: () => Number(route.query.page) || 1, set: (v) => navigateTo({ query: { ...route.query, page: v === 1 ? void 0 : v } }) }); const { data: newsRes } = ([__temp, __restore] = withAsyncContext(async () => useAsyncData( () => `news-page-${page.value}`, async () => await request.get("/api/news", { params: { page: page.value } }), { watch: [page] } )), __temp = await __temp, __restore(), __temp); const news = computed(() => { const res = newsRes.value; return res?.code === 200 && Array.isArray(res.data) ? res.data : []; }); const meta = computed(() => { const res = newsRes.value; return res?.meta ?? { current_page: 1, last_page: 1, per_page: 20, total: 0 }; }); const pageNumbers = computed(() => { const cur = meta.value.current_page; const last = meta.value.last_page; if (last <= 7) return Array.from({ length: last }, (_, i) => i + 1); const list = []; if (cur <= 3) { list.push(1, 2, 3, 4, -1, last); } else if (cur >= last - 2) { list.push(1, -1, last - 3, last - 2, last - 1, last); } else { list.push(1, -1, cur - 1, cur, cur + 1, -1, last); } return list; }); function formatDate(str) { if (!str) return ""; const d = str.split(" ")[0]; return d || str; } return (_ctx, _push, _parent, _attrs) => { const _component_HeaderImage = __nuxt_component_0; _push(`
${ssrInterpolate(newInfo.description)}