const axios = require('@/utils/axios');
const qs = require('querystring');
module.exports = async (ctx) => {
const id = ctx.params.id;
const response = await axios({
method: 'post',
url: 'http://music.163.com/api/dj/program/byradio',
headers: {
Referer: 'https://music.163.com/',
'Content-Type': 'application/x-www-form-urlencoded',
},
data: qs.stringify({
radioId: id,
limit: 1000,
offset: 0,
}),
});
const programs = response.data.programs || [];
const { radio, dj } = programs[0] || { radio: {}, dj: {} };
ctx.state.data = {
title: radio.name,
link: `https://music.163.com/djradio?id=${id}`,
subtitle: radio.desc,
description: radio.desc,
author: dj.nickname,
updated: radio.lastProgramCreateTime,
icon: radio.picUrl,
image: radio.picUrl,
itunes_author: dj.nickname,
itunes_category: radio.category,
item: programs.map((pg) => {
const image = ``;
const description = `
${p}
`) .join('')}时长: ${itunes_duration}