UNPKG

bilibili-bangumi-component

Version:

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

49 lines (48 loc) 1.61 kB
export function serializeSearchParams(searchParams) { return Object.entries(searchParams) .filter(([, value]) => !!value) .map(([key, value]) => `${key}=${value}`) .join('&'); } export function parseSearchParams(url) { return Object.fromEntries(Array.from(url.searchParams.entries()).filter(([, value]) => !!value)); } // 数字转中文 export function numberToZh(num) { const numString = num.toString(); if (numString.length < 5) return numString; if (numString.length < 9) { const displayStr = numString.slice(0, -3); const length = displayStr.length; const sub = displayStr[length - 1] === '0' ? '' : `.${displayStr[length - 1]}`; return `${displayStr.slice(0, length - 1)}${sub}万`; } const displayStr = numString.slice(0, -7); const length = displayStr.length; const sub = displayStr[length - 1] === '0' ? '' : `.${displayStr[length - 1]}`; return `${displayStr.slice(0, length - 1)}${sub}亿`; } export function formatUrl(baseUrl) { if (!baseUrl.startsWith('http')) return baseUrl; const url = new URL(baseUrl); const pathname = url.pathname === '/' ? '' : url.pathname; return `${url.origin}${pathname}`; } export function generateRes(params) { return Response.json(params, { status: params.code, }); } export function thorttle(fn, wait) { let timer; return function (...args) { if (!timer) { timer = setTimeout(() => { timer = null; fn.apply(this, args); }, wait); } }; }