/*
@header({
  searchable: 2,
  filterable: 0,
  quickSearch: 1,
  title: '凤凰FM',
  '类型': '影视',
  lang: 'ds'
})
*/

const h_ost = 'https://s.fm.renbenai.com';
var rule = {
    title: '凤凰FM',
    host: h_ost,
    url: '/fm/read/fmd/android/600/getProgramList.html&cid=fyclass&pagenum=fypage',
    homeUrl: '/fm/read/fmd/static/categoryTvGet_100.html',
    detailUrl: '/fm/read/fmd/android/getProgramAudioList_620.html&pid=fyid',
    searchUrl: '/fm/read/fmd/public/search_720.html&keyWord=**&searchType=1&pageNum=fypage',
    searchable: 2,
    quickSearch: 1,
    filterable: 0,
    headers: {
        'User-Agent': 'okhttp/3.12.11',
        'Cookie': 'KLBRSID=9b9dd35888924d7c870dd3474e89cab6|1753290568|1753290499'
    },
    play_parse: true,
    search_match: true,
    class_parse: async function () {
        let {input} = this;
        let html = await request(input);
        let classes = [];
        let data = JSON.parse(html).data.list[0].channelContent;
        data.forEach((it) => {
            let typeName = it.nodeName;
            let typeId = it.id;
            classes.push({
                type_name: typeName,
                type_id: typeId,
            });
        });
        return {
            class: classes,
        }
    },
    一级: async function () {
        let {input} = this;
        let d = [];
        let html = await request(input);
        let data = JSON.parse(html).data.hotList;
        data.forEach(item => {
            let title = item.programName;
            if (!/名称|排除/.test(title)) {
                d.push({
                    title: title,
                    desc: item.resourceTitle,
                    img: item.img640_640,
                    url: item.id,
                });
            }
        });
        return setResult(d);
    },
    二级: async function () {
        let {input} = this;
        let html = await request(input);
        let list = JSON.parse(html).data.list;
        let VOD = {
            vod_name: list[0]['title'] || '暂无名称',
            type_name: list[0]['vod_class'] || '暂无类型',
            vod_pic: list[0]['img370_370'] || '暂无图片',
            vod_remarks: list[0]['tags'] || '暂无备注',
            vod_content: list[0]['programDetails'] || '暂无剧情介绍'
        };
        let playlist = list[0]['audiolist'];
        let playForm = [];
        let playUrls = [];
        list.forEach(item => {
            const title = item.title;
            const firstUrl = item.audiolist && item.audiolist[0] ? item.audiolist[0].filePath : '';
            playUrls.push(`${title}$${firstUrl}`);
        });
        VOD.vod_play_from = '凤凰FM';
        VOD.vod_play_url = playUrls.join('#');
        return VOD
    },
    搜索: async function () {
        let {input, KEY} = this;
        let d = [];
        let html = await request(input);
        let data = JSON.parse(html).data.program;
        if (rule.search_match) {
            data = data.filter(it => {
                let title = it.programName;
                return title && new RegExp(KEY, "i").test(title);
            });
        }
        data.forEach(item => {
            let title = item.programName;
            if (!/名称|排除/.test(title)) {
                d.push({
                    title: title,
                    desc: item.programName,
                    img: item.img640_640,
                    url: item.id,
                });
            }
        });
        return setResult(d);
    },
    lazy: async function() {
        let {input} = this;
        return input;
    },
}