{"version":3,"file":"RedBlackContainer.Bud7FT2v.js","sources":["../../../../src/shared/function/format.ts","../../../../src/components/redBlack/RedBlackItem.vue","../../../../src/logic/home/weekRedBlack.ts","../../../../src/components/redBlack/RedBlackContainer.vue"],"sourcesContent":["/* eslint-disable ts/ban-ts-comment */\r\nimport { camelCase } from 'lodash-es'\r\nimport type { DayRedBlackResponse, RedBlackResponse } from '@/server/types'\r\nimport type { RedBlackDataSeg } from '@/shared/types'\r\n\r\n/**\r\n * 红黑榜数据格式化, 将red|black开头的数据转换为{red: {}, black: {}}的格式\r\n *\r\n */\r\nexport function formatRedBlankData(data: RedBlackResponse | DayRedBlackResponse): RedBlackDataSeg {\r\n const newData: RedBlackDataSeg = {\r\n id: -1,\r\n red: {},\r\n black: {},\r\n }\r\n const segKey = ['red', 'black']\r\n const dataKeys = Object.keys(data)\r\n\r\n let isSegKey = false\r\n let currentSeg = 0\r\n dataKeys.forEach((key) => {\r\n for (const seg in segKey) {\r\n isSegKey = !!key.match(segKey[seg])\r\n currentSeg = Number.parseInt(seg)\r\n if (isSegKey)\r\n break\r\n }\r\n if (isSegKey) {\r\n const newKey = camelCase(key.replace(segKey[currentSeg], ''))\r\n // @ts-expect-error\r\n newData[segKey[currentSeg]][newKey] = data[key]\r\n }\r\n else {\r\n // @ts-expect-error\r\n newData[key] = data[key]\r\n }\r\n isSegKey = false\r\n })\r\n return newData\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n","import type { DayRedBlackParams, DayRedBlackResponse, RedBlackResponse } from '@/server/types'\r\nimport { getDayRedBlackApi, getWeekRedBlackApi } from '@/server'\r\nimport type { RedBlackDataSeg } from '@/shared/types'\r\nimport { LOAD_STATE } from '@/shared/types'\r\nimport { formatRedBlankData } from '@/shared/function'\r\n\r\nexport function logicHomeWeekRedBlack() {\r\n const state = ref(LOAD_STATE.INIT)\r\n const data = ref(null)\r\n\r\n async function getWeekRedBlack() {\r\n const res = await useLoadState({\r\n state,\r\n key: '红黑榜周榜',\r\n fn: getWeekRedBlackApi,\r\n })\r\n if (res && res.data)\r\n data.value = res.data\r\n }\r\n\r\n return {\r\n state,\r\n data,\r\n getWeekRedBlack,\r\n }\r\n}\r\n\r\nexport function logicRedBlackContainer(params: DayRedBlackParams) {\r\n const state = ref(LOAD_STATE.INIT)\r\n const showDay = ref(false)\r\n const weekDayList = ref([])\r\n async function getWeekDayList() {\r\n const res = await useLoadState({\r\n state,\r\n fn: () => getDayRedBlackApi(params),\r\n })\r\n if (res && res.data)\r\n weekDayList.value = res.data.map(item => formatRedBlankData(item))\r\n }\r\n\r\n useActivatedWatch(() => [\r\n watch(showDay, (nv) => {\r\n if (nv && !weekDayList.value.length)\r\n getWeekDayList()\r\n }),\r\n ])\r\n\r\n return {\r\n state,\r\n showDay,\r\n weekDayList,\r\n getWeekDayList,\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n"],"names":["formatRedBlankData","data","newData","segKey","dataKeys","isSegKey","currentSeg","key","seg","newKey","camelCase","props","__props","logicHomeWeekRedBlack","state","ref","LOAD_STATE","getWeekRedBlack","res","useLoadState","getWeekRedBlackApi","logicRedBlackContainer","params","showDay","weekDayList","getWeekDayList","getDayRedBlackApi","item","useActivatedWatch","watch","nv","itemKeyList","weekItem","computed"],"mappings":"yhBASO,SAASA,EAAmBC,EAA+D,CAChG,MAAMC,EAA2B,CAC/B,GAAI,GACJ,IAAK,CAAC,EACN,MAAO,CAAC,CAAA,EAEJC,EAAS,CAAC,MAAO,OAAO,EACxBC,EAAW,OAAO,KAAKH,CAAI,EAEjC,IAAII,EAAW,GACXC,EAAa,EACR,OAAAF,EAAA,QAASG,GAAQ,CACxB,UAAWC,KAAOL,EAGZ,GAFJE,EAAW,CAAC,CAACE,EAAI,MAAMJ,EAAOK,CAAG,CAAC,EACrBF,EAAA,OAAO,SAASE,CAAG,EAC5BH,EACF,MAEJ,GAAIA,EAAU,CACN,MAAAI,EAASC,GAAUH,EAAI,QAAQJ,EAAOG,CAAU,EAAG,EAAE,CAAC,EAE5DJ,EAAQC,EAAOG,CAAU,CAAC,EAAEG,CAAM,EAAIR,EAAKM,CAAG,CAAA,MAItCL,EAAAK,CAAG,EAAIN,EAAKM,CAAG,EAEdF,EAAA,EAAA,CACZ,EACMH,CACT,k2BCnCA,MAAMS,EAAQC,s5BCEP,SAASC,IAAwB,CAChC,MAAAC,EAAQC,EAAIC,EAAW,IAAI,EAC3Bf,EAAOc,EAA6B,IAAI,EAE9C,eAAeE,GAAkB,CACzB,MAAAC,EAAM,MAAMC,EAAa,CAC7B,MAAAL,EACA,IAAK,QACL,GAAIM,EAAA,CACL,EACGF,GAAOA,EAAI,OACbjB,EAAK,MAAQiB,EAAI,KACrB,CAEO,MAAA,CACL,MAAAJ,EACA,KAAAb,EACA,gBAAAgB,CAAA,CAEJ,CAEO,SAASI,GAAuBC,EAA2B,CAC1D,MAAAR,EAAQC,EAAIC,EAAW,IAAI,EAC3BO,EAAUR,EAAI,EAAK,EACnBS,EAAcT,EAAuB,CAAA,CAAE,EAC7C,eAAeU,GAAiB,CACxB,MAAAP,EAAM,MAAMC,EAAa,CAC7B,MAAAL,EACA,GAAI,IAAMY,GAAkBJ,CAAM,CAAA,CACnC,EACGJ,GAAOA,EAAI,OACbM,EAAY,MAAQN,EAAI,KAAK,IAAYS,GAAA3B,EAAmB2B,CAAI,CAAC,EACrE,CAEA,OAAAC,GAAkB,IAAM,CACtBC,EAAMN,EAAUO,GAAO,CACjBA,GAAM,CAACN,EAAY,MAAM,QACZC,GAAA,CAClB,CAAA,CACF,EAEM,CACL,MAAAX,EACA,QAAAS,EACA,YAAAC,EACA,eAAAC,CAAA,CAEJ,ojBC9CA,MAAMd,EAAQC,EAKRmB,EAAc,CAAC,MAAO,OAAO,EAC7BC,EAAWC,EAAS,IAAMjC,EAAmBW,EAAM,IAAI,CAAC,EAExD,CACJ,MAAAG,EACA,QAAAS,EACA,YAAAC,EACA,eAAAC,CAAA,EACEJ,GAAuBV,EAAM,SAAS"}