import {
    Toast
} from 'vant';

// 处理返回字符串中含有特殊字符问题
export function checkStr(str) {
    return str.split("&#34;").join("");
}

// 没有双引号的字符串转换为对象
export function strToObject(jsonStr) {
    jsonStr = jsonStr.replace("{", "{\"");
    jsonStr = jsonStr.replace(/:/g, "\":\"");
    jsonStr = jsonStr.replace(/,/g, "\",\"");
    jsonStr = jsonStr.replace("}", "\"}");

    var str = JSON.parse(jsonStr);
    return str;
}

// 目睹的频道id
const mid = 489497;
// 初始化Mudu

export async function initMudu(obj) {

    return new Promise((resolve, reject) => {
        let comment;
        Mudu.Init(
            mid,
            function () {
                initPlayer(obj);
                comment = Mudu.Room.Comment;
                resolve(comment);
            })


    })


}


// 激活播放器
// 传入参数obj{id,width,height}
export function initPlayer(obj) {
    var roomPlayAddr = Mudu.Room.GetPlayAddr()
    var isChannelLiving = !!Mudu.Room.GetLiveStatus() //
    Mudu.Room.GetLiveStatus() //获取当前的直播状态 类型为 number: `1`为正在直播，`0`为不在直播
    var player = new Mudu.Player({
        containerId: obj.id,
        isLive: isChannelLiving,
        src: roomPlayAddr,
        image: Mudu.Room.GetLiveImage(), // 非必须，播放器海报图 string
        autoplay: false,
        controls: true,
        repeat: false,
        width: obj.width,
        height: obj.height,
        x5Layer: false,
        x5Inline: false,
        // 非必须 isLive为false时展示在时间进度条上的高亮点，hover时可展示text字段内容 （视频为回看视频时，会默认添加高亮信息，设置为[]可覆盖）
        highlights: [{
            time: 1, // int,
            text: '大会开始' // string
        }]
    });
}

// 获取弹幕
export async function getMsgList(comment, page) {
    let p = comment.GetPage();
    page = page?page:p;
    console.log(page)
    return new Promise((resolve, reject) => {
        comment.Get(
            // 要获取评论的页码，类型为int
            page,
            // 评论获取成功的回调函数，参数为response对象
            function (response) {
                response = JSON.parse(response)
                if (response.status === 'y') {
                    console.log('获取评论成功，数据为：', response.data)
                    resolve({
                        status: 0,
                        data: response.data
                    })
                }
                if (response.status === 'n') {
                    console.log('获取评论失败')
                    resolve({
                        status: 1,
                        data: {}
                    })
                }
            }
        )


    })

}




// 发送评论
export function sendMsg(msg) {
    Mudu.Room.Comment.Send(
        // 要发送的评论文本，类型为string
        msg,

        // 发送完成的回调函数，参数为response对象
        function (response) {
            response = JSON.parse(response)
            if (response.status === 'y') {
                // console.log('发送成功')
            }
            if (response.status === 'n') {
                // console.log('发送失败，错误码为：' + response.flag)
            }
        }
    )
}

// 获取评论页数
export function getPageNum() {
    return Mudu.Room.Comment.GetPage();
}