INNER CODE UNIT · TypeScript
detectProvider
hoowhoami/EchoMusic · src/main/external/index.ts:86
const detectProvider = (input: string): ExternalProvider | null => {
// 优先匹配 URL 类 provider
for (const p of PROVIDERS) {
if (p.id === 'text') continue;
if (p.canHandle(input)) return p;
}
// 兜底文本
if (textProvider.canHandle(input)) return textProvider;
return null;
};
export const resolvePlaylist = async (
req: ResolvePlaylistRequest,
): Promise<ResolvePlaylistResponse> => {
const input = String(req?.input ?? '').trim();
if (!input) {
return { ok: false, error: '请输入歌单链接或文本', code: 'EMPTY_INPUT' };
}