cntv_open_cctv2.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. // 无搜索功能
  2. import { _ } from "./lib/cat.js";
  3. let key = 'CCTV新闻频道';
  4. let HOST = 'http://api.cntv.cn';
  5. let siteKey = '';
  6. let siteType = 0;
  7. const MOBILE_UA = 'Mozilla/5.0 (Linux; Android 11; M2007J3SC Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045714 Mobile Safari/537.36';
  8. async function request(reqUrl, agentSp) {
  9. let res = await req(reqUrl, {
  10. method: 'get',
  11. headers: {
  12. 'User-Agent': agentSp || MOBILE_UA,
  13. },
  14. });
  15. return res.content
  16. }
  17. async function init(cfg) {
  18. siteKey = cfg.skey;
  19. siteType = cfg.stype
  20. }
  21. async function home(filter) {
  22. const classes = [
  23. {type_id: "TOPC1451530382483536", type_name: "对话"},
  24. {type_id: "TOPC1451533652476962", type_name: "经济半小时"},
  25. {type_id: "TOPC1451533782742171", type_name: "经济信息联播"},
  26. {type_id: "TOPC1451530259915198", type_name: "第一时间"},
  27. {type_id: "TOPC1451534775834896", type_name: "消费主张"},
  28. {type_id: "TOPC1672292475106944", type_name: "欢乐大猜想"},
  29. {type_id: "TOPC1451529684665516", type_name: "创业英雄汇"},
  30. {type_id: "TOPC1451534118159896", type_name: "生财有道"},
  31. {type_id: "TOPC1467078494968390", type_name: "职场健康课"},
  32. {type_id: "TOPC1451538759798817", type_name: "一锤定音"},
  33. {type_id: "TOPC1451532939300997", type_name: "回家吃饭"},
  34. {type_id: "TOPC1451538686034772", type_name: "央视财经评论"},
  35. {type_id: "TOPC1514182710380601", type_name: "中国经济大讲堂"},
  36. {type_id: "TOPC1453100395512779", type_name: "正点财经"},
  37. {type_id: "TOPC1451531385787654", type_name: "天下财经"},
  38. {type_id: "TOPC1593419181674791", type_name: "生活家"},
  39. {type_id: "TOPC1499160712571517",type_name: "魅力中国城"}
  40. ];
  41. const filterObj = {};
  42. return JSON.stringify({
  43. class: _.map(classes, (cls) => {
  44. cls.land = 1;
  45. cls.ratio = 1.78;
  46. return cls;
  47. }),
  48. filters: filterObj,
  49. })
  50. }
  51. async function homeVod() {
  52. const data = JSON.parse(await request(HOST + '/NewVideo/getVideoListByColumn?id=TOPC1451558856402351&n=10&sort=desc&p=1&mode=0&serviceId=tvcctv'));
  53. let videos = _.map(data.data.list, (it) => {
  54. return {
  55. vod_id: it.guid,
  56. vod_name: it.title,
  57. vod_pic: it.image,
  58. vod_remarks: it.time || '',
  59. }
  60. });
  61. return JSON.stringify({
  62. list: videos,
  63. })
  64. }
  65. async function category(tid, pg, filter, extend) {
  66. if (pg <= 0 || typeof pg == 'undefined') pg = 1;
  67. const data = JSON.parse(await request(HOST + '/NewVideo/getVideoListByColumn?id=' + tid + '&n=10&sort=desc&p=' + pg + '&mode=0&serviceId=tvcctv'));
  68. let videos = _.map(data.data.list, (it) => {
  69. return {
  70. vod_id: it.guid,
  71. vod_name: it.title,
  72. vod_pic: it.image,
  73. vod_remarks: it.time || '',
  74. }
  75. });
  76. const pgChk = JSON.parse(await request(HOST + '/NewVideo/getVideoListByColumn?id=' + tid + '&n=10&sort=desc&p=' + (parseInt(pg) + 1) + '&mode=0&serviceId=tvcctv')).data.list;
  77. const pgCount = pgChk.length > 0 ? parseInt(pg) + 1 : parseInt(pg);
  78. return JSON.stringify({
  79. page: parseInt(pg),
  80. pagecount: parseInt(pgCount),
  81. limit: 10,
  82. total: parseInt(data.total),
  83. list: videos,
  84. })
  85. }
  86. async function detail(id) {
  87. const vod = {
  88. vod_id: id,
  89. vod_remarks: '',
  90. };
  91. const playlist = ['点击播放' + '$' + 'https://hls.cntv.myhwcdn.cn/asp/hls/2000/0303000a/3/default/' + id + '/2000.m3u8'];
  92. vod.vod_play_from = key;
  93. vod.vod_play_url = playlist.join('#');
  94. return JSON.stringify({
  95. list: [vod],
  96. });
  97. }
  98. async function play(flag, id, flags) {
  99. // console.debug('视聚场 id =====>' + id); // js_debug.log
  100. return JSON.stringify({
  101. parse: 0,
  102. url: id,
  103. })
  104. }
  105. async function search(wd, quick, pg) {
  106. return '{}'
  107. }
  108. export function __jsEvalReturn() {
  109. return {
  110. init: init,
  111. home: home,
  112. homeVod: homeVod,
  113. category: category,
  114. detail: detail,
  115. play: play,
  116. search: search,
  117. }
  118. }