{"version":3,"file":"red-black.DAoaxG-y.js","sources":["../../../../src/components/redBlack/RedBlackDay.vue","../../../../src/logic/common/redBlack.ts","../../../../src/pages/list/hooks/redBlack.ts","../../../../src/pages/list/red-black.vue"],"sourcesContent":["\r\n\r\n\r\n\r\n\r\n","import { getCurrentTime } from '@qctsw/utils'\r\nimport { getRedBlackDayListApi, getRedBlackWeekListApi, getRedBlackWeekYearListApi } from '@/server'\r\nimport { LOAD_STATE } from '@/shared/types'\r\nimport { usePagination } from '@/composables/usePagination'\r\nimport type { DayRedBlackResponse, RedBlackResponse } from '@/server/types'\r\nimport { useGetRouteQuery } from '@/shared/function'\r\n\r\nexport function logicRedBlackWeekYears() {\r\n const state = ref(LOAD_STATE.INIT)\r\n const currentYear = ref(getCurrentTime('YYYY'))\r\n const yearOptions = ref<{ label: string, value: string }[]>([])\r\n\r\n async function getYearList() {\r\n const res = await useLoadState({\r\n state,\r\n fn: () => getRedBlackWeekYearListApi(),\r\n })\r\n\r\n if (!res)\r\n return\r\n\r\n yearOptions.value = res.data.map(item => ({\r\n label: item.year,\r\n value: item.year,\r\n }))\r\n\r\n if (currentYear.value !== yearOptions.value[0].value)\r\n currentYear.value = yearOptions.value[0].value\r\n }\r\n\r\n return {\r\n currentYear,\r\n yearOptions,\r\n getYearList,\r\n }\r\n}\r\n\r\nexport function logicRedBlackWeekList() {\r\n const page = useGetRouteQuery('page', '1')\r\n\r\n const data = ref([])\r\n const pagination = usePagination({\r\n type: 'pageNumber',\r\n key: '红黑榜周榜',\r\n pageSize: 20,\r\n request: (params, p = {}) => getRedBlackWeekListApi({ ...params, year: p.year }),\r\n })\r\n async function getPage(page: number | string = 1, params: { year: string }) {\r\n const p = Number.isNaN(Number(page)) ? 1 : Number(page)\r\n const { list } = await pagination.loadPaginationData(p, params) || {}\r\n if (!list)\r\n return\r\n data.value = list\r\n }\r\n\r\n return {\r\n page,\r\n list: data,\r\n pagination,\r\n state: computed(() => pagination.pagination.status),\r\n getPage,\r\n }\r\n}\r\n\r\nexport function logicRedBlackDayList() {\r\n const page = useGetRouteQuery('page', '1')\r\n\r\n const data = ref([])\r\n const pagination = usePagination({\r\n type: 'pageNumber',\r\n key: '红黑榜日榜',\r\n pageSize: 20,\r\n request: params => getRedBlackDayListApi({ ...params }),\r\n })\r\n async function getPage(page: number | string = 1) {\r\n const p = Number.isNaN(Number(page)) ? 1 : Number(page)\r\n const { list } = await pagination.loadPaginationData(p) || {}\r\n if (!list)\r\n return\r\n data.value = list\r\n }\r\n\r\n return {\r\n page,\r\n list: data,\r\n pagination,\r\n state: computed(() => pagination.pagination.status),\r\n getPage,\r\n }\r\n}\r\n","import { getCurrentTime } from '@qctsw/utils'\r\nimport { logicRedBlackDayList, logicRedBlackWeekList, logicRedBlackWeekYears } from '@/logic/common/redBlack'\r\nimport { useGetRouteQuery } from '@/shared/function'\r\nimport type { DayRedBlackResponse, RedBlackResponse } from '~/server/types'\r\nimport { callWithNuxt } from '#app'\r\nimport { RED_BLACK_SITE_META } from '~/shared/site'\r\n\r\nexport function useRedBlackWeekPage() {\r\n const type = useGetRouteQuery<'week' | 'day'>('type', 'week')\r\n const page = useGetRouteQuery('page', '1')\r\n\r\n useSite(RED_BLACK_SITE_META)\r\n\r\n const {\r\n currentYear,\r\n yearOptions,\r\n getYearList,\r\n } = logicRedBlackWeekYears()\r\n\r\n const {\r\n list: weekList,\r\n pagination: weekPagination,\r\n state: weekState,\r\n getPage: weekGetPage,\r\n } = logicRedBlackWeekList()\r\n\r\n const {\r\n list: dayList,\r\n pagination: dayPagination,\r\n state: dayState,\r\n getPage: dayGetPage,\r\n } = logicRedBlackDayList()\r\n\r\n const nuxtApp = useNuxtApp()\r\n async function initHandler() {\r\n if (type.value === 'week') {\r\n await getYearList()\r\n await callWithNuxt(nuxtApp, weekGetPage, [page.value, { year: currentYear.value }])\r\n }\r\n else {\r\n await dayGetPage(page.value)\r\n }\r\n }\r\n\r\n const list = computed({\r\n get() {\r\n return type.value === 'week' ? weekList.value : dayList.value\r\n },\r\n set(val) {\r\n if (type.value === 'week')\r\n weekList.value = val as RedBlackResponse[]\r\n else\r\n dayList.value = val as DayRedBlackResponse[]\r\n },\r\n })\r\n const pagination = computed(() => type.value === 'week' ? weekPagination : dayPagination)\r\n const state = computed(() => type.value === 'week' ? weekState.value : dayState.value)\r\n\r\n useActivatedWatch(() => [\r\n watch([type, currentYear, page], async (nv, ov) => {\r\n if (nv[0] !== ov[0]) {\r\n list.value = []\r\n pagination.value.initPagination()\r\n }\r\n if (JSON.stringify(nv) === JSON.stringify(ov))\r\n return\r\n\r\n window.scrollTo(0, 0)\r\n if (nv[0] === 'week') {\r\n nv[0] !== ov[0] && await getYearList()\r\n weekGetPage(page.value, { year: (currentYear.value || getCurrentTime('YYYY')) as string })\r\n }\r\n else {\r\n dayGetPage(page.value)\r\n }\r\n }),\r\n ])\r\n return {\r\n type,\r\n page,\r\n\r\n currentYear,\r\n yearOptions,\r\n\r\n list,\r\n pagination,\r\n state,\r\n initHandler,\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n"],"names":["props","__props","itemKeyList","dayItem","computed","formatRedBlankData","logicRedBlackWeekYears","state","ref","LOAD_STATE","currentYear","getCurrentTime","yearOptions","getYearList","res","useLoadState","getRedBlackWeekYearListApi","item","logicRedBlackWeekList","page","useGetRouteQuery","data","pagination","usePagination","params","p","getRedBlackWeekListApi","getPage","list","logicRedBlackDayList","getRedBlackDayListApi","useRedBlackWeekPage","type","useSite","RED_BLACK_SITE_META","weekList","weekPagination","weekState","weekGetPage","dayList","dayPagination","dayState","dayGetPage","nuxtApp","useNuxtApp","initHandler","callWithNuxt","val","useActivatedWatch","watch","nv","ov","__temp","__restore","_withAsyncContext"],"mappings":"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"}