api-interface
Version:
39 lines (38 loc) • 1.26 kB
JavaScript
;
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*/