UNPKG

bilibili-bangumi-component

Version:

展示 bilibili 与 Bangumi 追番列表的 WebComponent 组件

57 lines (56 loc) 1.48 kB
import { generateRes } from "./utils"; const customSubjectMap = { 1: 'anime', 2: 'game', 3: 'book', 4: 'music', 5: 'real', }; const customCollectionMap = { 1: 'want', 2: 'doing', 3: 'done', }; export function customHandler(params, customData) { const { subjectType = '1', collectionType = '0', pageNumber = 1, pageSize = 10 } = params; const collectionData = customData[customSubjectMap[subjectType]]; if (!collectionData) return generateEmpty(pageSize); let data; if (collectionType !== '0') { const list = collectionData[customCollectionMap[collectionType]]; if (!list || !list.length) return generateEmpty(pageSize); data = list; } else { const list = Object.values(collectionData).flat(); if (!list.length) return generateEmpty(pageSize); data = list; } return generateRes({ code: 200, message: 'ok', data: { list: data.slice((pageNumber - 1) * pageSize, pageNumber * pageSize), pageNumber, pageSize, total: data.length, totalPages: Math.ceil(data.length / pageSize), }, }); } function generateEmpty(pageSize) { return generateRes({ code: 200, message: 'ok', data: { list: [], pageNumber: 1, pageSize, total: 0, totalPages: 1, }, }); }