diff --git a/src/components/Detail.vue b/src/components/Detail.vue index 2552288..a009ac2 100644 --- a/src/components/Detail.vue +++ b/src/components/Detail.vue @@ -137,7 +137,7 @@ export default { info: {}, playOnline: false, selectedOnlineSite: '哔嘀', - onlineSites: ['哔嘀', '素白白', '简影', '1080影视', '极品'] + onlineSites: ['哔嘀', '素白白', '简影', '极品', '喜欢看', '1080影视'] } }, filters: { @@ -227,7 +227,7 @@ export default { history.add(doc) } }) - this.playVideoOnline(this.detail.info.name, n) + onlineVideo.playVideoOnline(this.selectedOnlineSite, this.detail.info.name, n) } }, starEvent () { diff --git a/src/lib/site/onlineVideo.js b/src/lib/site/onlineVideo.js index 3b85567..2f923da 100644 --- a/src/lib/site/onlineVideo.js +++ b/src/lib/site/onlineVideo.js @@ -3,6 +3,36 @@ import axios from 'axios' import cheerio from 'cheerio' const onlineVideo = { + playVideoOnline (selectedOnlineSite, videoName, videoIndex) { + switch (selectedOnlineSite) { + case '哔嘀': + onlineVideo.playVideoOnBde4(videoName, videoIndex) + break + case '1080影视': + onlineVideo.playVideoOnK1080(videoName, videoIndex) + break + case '素白白': + onlineVideo.playVideoOnSubaibai(videoName, videoIndex) + break + case '哆咪动漫': + onlineVideo.playVideoOndmdm2020(videoName, videoIndex) + break + case '樱花动漫': + onlineVideo.playVideoOnYhdm(videoName, videoIndex) + break + case '简影': + onlineVideo.playVideoOnSyrme(videoName, videoIndex) + break + case '极品': + onlineVideo.playVideoOnJpysvip(videoName, videoIndex) + break + case '喜欢看': + onlineVideo.playVideoOnXhkan(videoName, videoIndex) + break + default: + this.$message.console.error(`不支持该网站:${this.selectedOnlineSite}`) + } + }, playVideoOnBde4 (videoName, videoIndex) { videoName = videoName.replace(/\s/g, '') var url = `https://bde4.com/search/${videoName}` @@ -248,6 +278,40 @@ const onlineVideo = { }) } }) + }, + playVideoOnXhkan (videoName, videoIndex) { + videoName = videoName.replace(/\s/g, '') + var url = `https://www.xhkan.com/vodsearch.html?wd=${videoName}&submit=` + axios.get(url).then(res => { + const $ = cheerio.load(res.data) + var e = $('#searchList') + var searchResult = $(e).find('ul>li>div>a').toArray() + // 获取第一个搜索结果的视频链接 + var detailPageLink = $(searchResult[0]).attr('href') + // 获取第一个搜索结果的title + var title = $(searchResult[0]).attr('title') + if (title === null || title === undefined || !title.replace(/\s/g, '').includes(videoName)) { + // 如果第一个搜索结果不符合,打开搜索页面 + open(url) + } else { + // 解析详情页面 + var detailPageFullLink = detailPageLink + axios.get(detailPageFullLink).then(res2 => { + const $ = cheerio.load(res2.data) + // 获取playlist1 + var e = $('#playlist1') + // 获取所有视频链接 + var videoList = $(e).find('div>ul>li>a').toArray() + // 获取index视频链接 + var videoFullLink = detailPageFullLink + if (videoIndex < videoList.length) { + var indexVideoLink = $(videoList[videoIndex]).attr('href') + videoFullLink = indexVideoLink + } + open(videoFullLink) + }) + } + }) } } export default onlineVideo