UNPKG

api-interface

Version:
39 lines (38 loc) 1.26 kB
"use strict"; const utils_1 = require("../../utils"); module.exports = async (params) => { const { url, type } = params; let video_id = ''; const result = { video: '', cover: '', redirect: '' }; if ((0, utils_1.isNumber)(url)) video_id = url; else { if (!((0, utils_1.isHttp)(url) && (0, utils_1.isUrl)(url))) (0, utils_1.throwUrlError)(); const { searchParams } = new URL(url); const item_id = searchParams.get('item_id'); if (item_id) video_id = item_id; else { const redirect = await (0, utils_1.getRedirectUrl)(url); const { searchParams } = new URL(redirect); video_id = searchParams.get('item_id') || ''; } } const huoShanAPI = 'https://share.huoshan.com/api/item/info?item_id=' + video_id; const { data } = await (0, utils_1.getRequest)(huoShanAPI); // 无内容 if (!data) (0, utils_1.throwUrlError)(); // 解析url地址 result.video = data.item_info.url; result.cover = data.item_info.cover; if (type && result.video) result.redirect = result.video; return result; }; /* eslint-enable camelcase*/