Compare commits

...

7 Commits

Author SHA1 Message Date
hunlongyu
189e67eb22 🦺 1.2.5 🥼 2020-07-15 23:55:34 +08:00
hunlongyu
e5c3adf1c5 🎍 1.2.4 🎋 2020-07-15 23:53:53 +08:00
hunlongyu
299367f0b8 修复收藏夹播放多集视频的BUG 🎉 2020-07-15 23:51:27 +08:00
hunlongyu
0d67474459 🎟 版本号 🎫 2020-07-15 17:38:21 +08:00
hunlongyu
15a188aa85 🎍 优化 MINI 模式 🎋 2020-07-15 17:38:00 +08:00
hunlongyu
0555badcfa 🍚 修复列表模式下, 下载BUG 🍜 2020-07-14 16:35:51 +08:00
hunlongyu
6f8f700dfc 🍟 修复BUG 🌭 2020-07-14 15:26:01 +08:00
9 changed files with 71 additions and 45 deletions

View File

@@ -1,6 +1,6 @@
{
"name": "zy",
"version": "1.2.1",
"version": "1.2.5",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",

View File

@@ -28,17 +28,16 @@
</div>
</div>
<div class="body zy-scroll" infinite-wrapper>
<div class="body-box" v-if="!show.find">
<div class="body-box" v-show="!show.find">
<div class="show-img" v-if="setting.view === 'picture'">
<Waterfall :list="list" :gutter="20" :width="240"
<Waterfall ref="waterfall" :list="list" :gutter="20" :width="240"
:breakpoints="{ 1200: { rowPerView: 4 } }"
animationEffect="fadeInUp"
backgroundColor="rgba(0, 0, 0, 0)"
ref="wimg">
backgroundColor="rgba(0, 0, 0, 0)">
<template slot="item" slot-scope="props">
<div class="card">
<div class="img">
<img style="width: 100%" :src="props.data.pic" alt="" @load="$refs.wimg.refresh()" @click="detailEvent(props.data)">
<img style="width: 100%" :src="props.data.pic" alt="" @load="$refs.waterfall.refresh()" @click="detailEvent(props.data)">
<div class="operate">
<div class="operate-wrap">
<span class="o-play" @click="playEvent(props.data)">播放</span>
@@ -79,7 +78,7 @@
</div>
</div>
</div>
<div class="body-box" v-if="show.find">
<div class="body-box" v-show="show.find">
<div class="show-table">
<div class="zy-table">
<div class="tBody">
@@ -185,9 +184,9 @@ export default {
searchTxt () {
this.searchChangeEvent()
},
setting: {
handler (ov, nv) {
this.settingChangeEvent(ov, nv)
'setting.site': {
handler (nv) {
this.getAllsites(nv)
},
deep: true
}
@@ -323,7 +322,7 @@ export default {
},
downloadEvent (e) {
zy.download(this.site.key, e.id).then(res => {
if (res) {
if (res.length > 0) {
const text = res.dl.dd._t
if (text) {
const list = text.split('#')
@@ -338,9 +337,20 @@ export default {
this.$message.warning('没有查询到下载链接.')
}
} else {
const list = [...this.m3u8List]
let m3u8List = []
const dd = e.dl.dd
const type = Object.prototype.toString.call(dd)
if (type === '[object Array]') {
for (const i of dd) {
if (i._flag.indexOf('m3u8') >= 0) {
m3u8List = i._t.split('#')
}
}
} else {
m3u8List = dd._t.split('#')
}
let downloadUrl = e.name + '\n'
for (const i of list) {
for (const i of m3u8List) {
const url = encodeURI(i.split('$')[1])
downloadUrl += (url + '\n')
}
@@ -352,7 +362,7 @@ export default {
changeView () {
if (this.view === 'Film') {
if (this.show.img) {
this.$refs.wimg.refresh()
this.$refs.waterfall.refresh()
}
this.getPage().then(() => {
this.infiniteId += 1
@@ -371,6 +381,7 @@ export default {
this.searchContents = []
this.pagecount = 0
this.show.search = false
this.show.find = true
if (wd) {
search.find({ keywords: wd }).then(res => {
if (!res) {
@@ -389,7 +400,6 @@ export default {
if (type === '[object Object]') {
this.searchContents.push(res)
}
this.show.find = true
})
} else {
this.show.find = false
@@ -405,6 +415,7 @@ export default {
this.pagecount = 0
this.searchTxt = e.keywords
this.show.search = false
this.show.find = true
search.remove(e.id).then(res => {
search.add({ keywords: e.keywords })
this.getAllSearch()
@@ -420,7 +431,6 @@ export default {
if (type === '[object Object]') {
this.searchContents.push(res)
}
this.show.find = true
})
},
clearSearch () {
@@ -436,20 +446,29 @@ export default {
this.searchContents = []
this.show.find = false
if (this.show.img) {
this.$refs.wimg.refresh()
this.$refs.waterfall.refresh()
}
}
},
getAllsites () {
sites.all().then(res => {
this.sites = res
this.site = this.sites[0]
this.siteClick(this.site)
})
},
settingChangeEvent (ov, nv) {
console.log(ov, nv, 'ov nv')
this.getAllsites()
getAllsites (nv) {
if (nv) {
sites.all().then(res => {
this.sites = res
for (const i of res) {
if (i.key === nv) {
this.site = i
this.siteClick(this.site)
return false
}
}
})
} else {
sites.all().then(res => {
this.sites = res
this.site = this.sites[0]
this.siteClick(this.site)
})
}
}
},
created () {

View File

@@ -210,7 +210,6 @@ export default {
methods: {
...mapMutations(['SET_VIEW', 'SET_DETAIL', 'SET_VIDEO', 'SET_SHARE']),
getUrls () {
console.log(this.video, 'this.video')
this.name = ''
if (this.timer !== null) {
clearInterval(this.timer)

View File

@@ -207,7 +207,9 @@ export default {
this.$message.success('已添加成功')
this.getSites()
this.d.site = json[0].key
this.setting = this.d
setting.update(this.d).then(res => {
this.setting = this.d
})
})
})
},

View File

@@ -1,9 +1,9 @@
<template>
<div class="share" id="share" @click="shareClickEvent">
<div class="left">
<img :src="pic" alt="">
<img :src="pic" alt="" @load="picLoadEvent">
</div>
<div class="right">
<div class="right" id="right">
<div class="title">{{ share.info.name }}</div>
<qrcode-vue id="qr" :value="link" :size="160" level="L" />
<div class="tips">
@@ -79,17 +79,17 @@ export default {
}
}
this.loading = false
this.$nextTick(() => {
const dom = document.getElementById('share')
html2canvas(dom, { useCORS: true, allowTaint: true }).then(res => {
const png = res.toDataURL('image/png')
const p = nativeImage.createFromDataURL(png)
clipboard.writeImage(p)
this.$message.success('已复制到剪贴板,快去分享吧~ 严禁传播违法资源!!!')
})
})
}
})
},
picLoadEvent () {
const dom = document.getElementById('right')
html2canvas(dom, { useCORS: true, allowTaint: true }).then(res => {
const png = res.toDataURL('image/png')
const p = nativeImage.createFromDataURL(png)
clipboard.writeImage(p)
this.$message.success('已复制到剪贴板,快去分享吧~ 严禁传播违法资源!!!')
})
}
},
mounted () {
@@ -108,7 +108,7 @@ export default {
display: flex;
justify-content: space-between;
align-items: center;
padding: 20px;
padding: 0px;
z-index: 999;
.left, .right{
width: 50%;
@@ -125,6 +125,7 @@ export default {
}
}
.right{
padding: 10px;
.title{
font-size: 18px;
margin-bottom: 10px;

View File

@@ -80,7 +80,10 @@ export default {
this.detail = {
show: true,
key: e.site,
info: e
info: {
id: e.ids,
name: e.name
}
}
},
playEvent (e) {

View File

@@ -15,4 +15,4 @@ app.post('/api', async (req, res) => {
})
})
app.listen(48484)
app.listen(44444)

View File

@@ -2,7 +2,7 @@ import { sites } from '../dexie'
import axios from 'axios'
import parser from 'fast-xml-parser'
const zy = {
ports: 48484, // 端口号
ports: 44444, // 端口号
xmlConfig: { // XML 转 JSON 配置
trimValues: true,
textNodeName: '_t',
@@ -184,7 +184,7 @@ const zy = {
reject(err)
})
} else {
resolve(null)
resolve([])
}
})
})

View File

@@ -177,6 +177,7 @@ export default {
},
prevEvent () {
if (this.video.index === 0) {
this.$message.info('已是第一集.')
return false
}
history.find({ site: this.video.site, ids: this.video.ids }).then(res => {
@@ -192,6 +193,7 @@ export default {
},
nextEvent () {
if (this.video.index >= this.m3u8Arr.length - 1) {
this.$message.info('已是最后一集.')
return false
}
history.find({ site: this.video.site, ids: this.video.ids }).then(res => {