import fs from 'fs' import request from 'request' import { nanoid } from 'nanoid' let fileName = './data/user-SUNMENG333.json' let saveFileStr = fs.readFileSync(fileName, 'utf8') let inputData = JSON.parse(saveFileStr) let saveFilePath = './imgs/' const downloadImage = async (src, dest) => { console.log('下载:', src) return new Promise((resolve) => { request.head(src, (err) => { if (err) { console.log(err) return } src && request(src) .pipe(fs.createWriteStream(dest)) .on('close', () => { setTimeout(() => resolve(true), 1500) }) }) }) } async function test3(list) { let url = list.pop() if (url.includes('http')) { let name = nanoid() + '.png' await downloadImage(url, saveFilePath + name) return [name] } return [url] // fs.writeFileSync(fileName, JSON.stringify(inputData, null, 2)); } inputData = inputData.slice(0, 70) console.log(inputData.length) for (let i = 0; i < inputData.length; i++) { let v = inputData[i] console.log(`处理:第${i}个视频:`, v.desc) if (v.video?.play_addr?.url_list) { v.video.play_addr.url_list = [v.video.play_addr.url_list.pop()] } try { if (v.video?.cover?.url_list) { v.video.cover.url_list = await test3(v.video?.cover?.url_list) } if (v.video?.animated_cover) { delete v.video.animated_cover } fs.writeFileSync(fileName, JSON.stringify(inputData, null, 2)) } catch (e) { console.log('出错了', e) } }