UNPKG

api-interface

Version:
53 lines (52 loc) 1.91 kB
"use strict"; const path_1 = require("path"); const utils_1 = require("../../utils"); module.exports = async (params) => { const { url, type } = params; let video_id = ''; const result = { author: {}, video: {} }; 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 { pathname } = new URL(url); const item_id = (0, path_1.parse)(pathname).name; if (item_id) video_id = item_id; if (!(0, utils_1.isNumber)(video_id)) { const redirect = await (0, utils_1.getRedirectUrl)(url); const { pathname } = new URL(redirect); video_id = (0, path_1.parse)(pathname).name; } } const piPiXiaAPI = 'https://is.snssdk.com/bds/cell/detail/?cell_type=1&aid=1319&app_name=super&cell_id=' + video_id; const data = await (0, utils_1.getRequest)(piPiXiaAPI); // 无内容 if (data.message !== 'success') (0, utils_1.throwUrlError)(); const temp = data.data.data.item; // console.log(temp); // 作者信息 result.author = {}; result.author.nick = temp.author.name; result.author.desc = temp.author.description; result.author.avatar = []; result.author.avatar.push(temp.author.avatar.url_list[0].url, temp.author.avatar.download_list[0].url); // 视频信息 result.video = {}; result.video.title = temp.content; result.video.url = temp.origin_video_download.url_list[0].url; // 处理封面 result.video.cover = []; temp.cover.url_list.forEach((item) => { result.video.cover.push(item.url); }); if (type && result.video.url) result.redirect = result.video.url; return result; }; /* eslint-enable camelcase*/