Compare commits

...

10 Commits

Author SHA1 Message Date
Hunlongyu
f003b1b148 v0.9.0 2020-02-22 21:27:34 +08:00
Hunlongyu
55ac770461 v0.8.19 2020-02-22 14:03:00 +08:00
Hunlongyu
4505186307 v0.8.18 优化代码 2020-02-22 12:21:06 +08:00
Hunlongyu
9ce1a8ddf6 ❤️v0.8.17 add two themes 2020-02-17 00:21:56 +08:00
Hunlongyu
ee1fb8fbe5 v0.8.16 2020-02-13 20:42:06 +08:00
Hunlongyu
8bee55f706 v0.8.10 2020-02-13 19:39:14 +08:00
Hunlongyu
7c5dd0be8d remove mac 2020-01-31 07:09:08 +08:00
Hunlongyu
ffee7321a0 add mac 2020-01-31 07:08:05 +08:00
Hunlongyu
1ab025ccfe v0.8.9 移除版本相关提示 2020-01-31 06:57:35 +08:00
Hunlongyu
0e359be8a3 v0.8.7 test update 2020-01-31 06:14:40 +08:00
32 changed files with 490 additions and 68 deletions

View File

@@ -1,5 +1,5 @@
<p align="center">
<img src="https://i.loli.net/2020/01/20/WEj3Yw8rPXqTcHe.png" >
<img src="https://i.loli.net/2020/02/22/jvfBbnEuOq5RS9J.png" >
</p>
<p align="center">
<img src="https://forthebadge.com/images/badges/built-with-love.svg">
@@ -12,10 +12,19 @@
<p>
# ZY Player
资源播放器, 提供影视资源的浏览,搜索,播放,收藏,查看详情等功能.
资源播放器, 提供影视资源的浏览,搜索,播放,收藏,查看详情.
1. 视频连播
2. 手机观看
3. 分享资源
4. 多主题
5. ...
### 下载:
[下载地址](https://github.com/Hunlongyu/ZY-Player/releases)
[Github Release 实时更新,保证最新版](https://github.com/Hunlongyu/ZY-Player/releases)
[蓝奏云 快速下载通道](https://www.lanzous.com/b04s6a3re) 密码:95px
[诚通网盘 备用下载通道](https://72k.us/dir/12872257-37375957-d3f41d)
### 截图:
主界面 ⬇
@@ -33,13 +42,5 @@
收藏 ⬇
![star.png](https://i.loli.net/2020/01/19/Q2fkWUvaXKZJcS4.png)
### 开发计划:
[第二期开发计划](https://github.com/Hunlongyu/ZY-Player/projects/2)
### 未完成:
1. 更换图标: 求大神设计一个 zy 的logo, 256x256 像素,风格请参考:
![iconfinder_Vine_483453.png](https://i.loli.net/2020/01/21/ujk1pJVmob38W2B.png)
### 重要:
所有资源来自网上, 该软件不参与任何制作, 上传, 储存, 下载等内容. 该软件仅供学习参考, 请于安装后24小时内删除.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 KiB

After

Width:  |  Height:  |  Size: 233 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 497 B

After

Width:  |  Height:  |  Size: 831 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 891 B

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.0 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 353 KiB

After

Width:  |  Height:  |  Size: 353 KiB

View File

@@ -29,13 +29,17 @@
function get (name) {
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);//search,查询?后面的参数,并匹配正则
if(r!=null)return unescape(r[2]); return null;
if (r!=null)return unescape(r[2]); return null;
}
let link = window.location.href
let info = get('info')
let time = get('time')
let title = info.split('$')[0]
let url = info.split('$')[1]
let flag = info.indexOf('$')
if (flag > 0) {
let url = info.split('$')[1]
} else {
let url = info
}
let player = new window.HlsJsPlayer({
id: 'mse',
url: url,
@@ -49,7 +53,6 @@
})
player.on('play', function () {
player.currentTime = time
document.title = title
})
</script>
</body>

View File

@@ -1,6 +1,6 @@
{
"name": "zy",
"version": "0.8.6",
"version": "0.9.0",
"author": "Hunlongyu",
"description": "ZY Player 资源播放器",
"private": true,
@@ -13,7 +13,7 @@
"postinstall": "electron-builder install-app-deps",
"postuninstall": "electron-builder install-app-deps",
"electron:generate-icons": "electron-icon-builder --input=./public/icon.png --output=build --flatten",
"bp": "vue-cli-service electron:build --win -p always"
"bp": "vue-cli-service electron:build --win --x64 -p always"
},
"main": "background.js",
"dependencies": {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

@@ -91,6 +91,8 @@ export default Vue.extend({
@import './assets/theme/global.scss';
@import './assets/theme/dark.scss';
@import './assets/theme/light.scss';
@import './assets/theme/pink.scss';
@import './assets/theme/green.scss';
*{
margin: 0;
padding: 0;
@@ -101,7 +103,6 @@ html,body{
}
#app{
height: 100%;
user-select: none;
.Header{
display: flex;
justify-content: flex-end;
@@ -136,6 +137,7 @@ html,body{
.Main{
height: 100%;
overflow: hidden;
user-select: none;
}
}
</style>

BIN
src/assets/image/alipay.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 72 KiB

After

Width:  |  Height:  |  Size: 23 KiB

BIN
src/assets/image/green.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

After

Width:  |  Height:  |  Size: 25 KiB

BIN
src/assets/image/pink.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

BIN
src/assets/image/wepay.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 232 KiB

View File

@@ -6,32 +6,64 @@
background-color: var(--d-bgc);
border-color: var(--d-bdc);
}
.el-select .el-input .el-select__caret{
color: var(--d-icon)
}
.el-button--text{
border: none;
}
.el-button--text:focus, .el-button--text:hover{
color: var(--d-c-h);
}
.el-tabs__active-bar{
background-color: var(--d-bdc);
}
.el-tabs__item:hover, .el-tabs__item.is-active{
color: var(--d-c-h);
}
.el-tabs__item, .el-tabs__nav-wrap::after{
color: var(--d-c);
background-color: var(--d-bgc);
border-color: var(--d-dbc);
border-color: var(--d-bdc);
}
.el-table--border::after, .el-table--group::after, .el-table::before,
.el-table--border::after, .el-table--droup::after, .el-table::before,
.el-table, .el-table th, .el-table tr,
.el-table--striped .el-table__body tr.el-table__row--striped td,
.el-table--enable-row-hover .el-table__body tr:hover>td,
.el-table td, .el-table th.is-leaf{
color: var(--d-c);
background-color: var(--d-bgc);
border-color: var(--d-dbc);
border-color: var(--d-bdc);
}
.el-pagination, .el-pagination .el-pagination__total, .el-pagination .el-pagination__jump,
.el-pagination .btn-next, .el-pagination .btn-prev, .el-pager li{
color: var(--d-c);
background-color: var(--d-bgc);
}
.el-input__inner,
.el-pager li:hover, .el-pager li.active, .el-pager li.btn-quicknext, .el-pager li.btn-quickprev{
color: var(--d-c-h);
}
.el-input__inner, .el-input__inner:hover,
.el-input-group__append, .el-input-group__prepend{
background-color: var(--d-bgc);
border-color: var(--d-dbc);
border-color: var(--d-bdc);
}
.el-input.is-active .el-input__inner, .el-input__inner:focus{
border-color: var(--d-bdc);
}
.el-input__inner{
border-color: var(--d-bdc);
}
.el-select .el-input.is-focus .el-input__inner,
.el-select .el-input__inner:focus,
.el-select:hover .el-input__inner{
border-color: var(--d-bdc);
}
input::-webkit-input-placeholder{
color: var(--d-c);
}
.el-icon-search{
color: var(--d-icon);
}
.el-select-dropdown{
color: var(--d-c);
@@ -47,6 +79,12 @@
background-color: var(--d-bgc);
opacity: 0.9;
}
.el-slider__bar{
background-color: var(--d-c-h);
}
.el-slider__button{
border-color: var(--d-c-h);
}
.Header, .Aside{
i{
color: var(--d-icon);
@@ -67,6 +105,11 @@
}
.Main{
.film, .search, .star, .player{
button:hover{
color: var(--d-c-h);
background: var(--d-bgc);
border-color: var(--d-bdc);
}
.table-box{
&::-webkit-scrollbar-track {
box-shadow: inset 0 0 6px var(--d-bdc);
@@ -77,6 +120,13 @@
}
}
}
.player{
.el-button--primary.is-plain{
color: var(--d-c);
background-color: var(--d-bgc-h);
border-color: var(--d-bdc);
}
}
.setting{
.el-link, .card{
color: var(--d-c);

View File

@@ -16,4 +16,22 @@
--d-bgc: #242424;
--d-bgc-h: #454545;
--d-bdc: #7a7a7a;
// pink
--p-c: #ffffff;
--p-c-h: #fd7792;
--p-icon: #ffffff;
--p-icon-h: #fd7792;
--p-bgc: #ffbaba;
--p-bgc-h: #ffc5c5;
--p-bdc: #fdcfcf;
// green
--g-c: #ffffff;
--g-c-h: #ebe65b;
--g-icon: #ffffff;
--g-icon-h: #ebe65b;
--g-bgc: #4baea0;
--g-bgc-h: #6db8ac;
--g-bdc: #76d3c5;
}

159
src/assets/theme/green.scss Normal file
View File

@@ -0,0 +1,159 @@
.theme-green{
color: var(--g-c);
background-color: var(--g-bgc);
.el-button, input, select, .el-select{
color: var(--g-c);
background-color: var(--g-bgc);
border-color: var(--g-bdc);
}
.el-select .el-input .el-select__caret{
color: var(--g-icon)
}
.el-button--text{
border: none;
}
.el-button--text:focus, .el-button--text:hover{
color: var(--g-c-h);
}
.el-tabs__active-bar{
background-color: var(--g-bdc);
}
.el-tabs__item:hover, .el-tabs__item.is-active{
color: var(--g-c-h);
}
.el-tabs__item, .el-tabs__nav-wrap::after{
color: var(--g-c);
background-color: var(--g-bgc);
border-color: var(--g-bdc);
}
.el-table--border::after, .el-table--group::after, .el-table::before,
.el-table, .el-table th, .el-table tr,
.el-table--striped .el-table__body tr.el-table__row--striped td,
.el-table--enable-row-hover .el-table__body tr:hover>td,
.el-table td, .el-table th.is-leaf{
color: var(--g-c);
background-color: var(--g-bgc);
border-color: var(--g-bdc);
}
.el-pagination, .el-pagination .el-pagination__total, .el-pagination .el-pagination__jump,
.el-pagination .btn-next, .el-pagination .btn-prev, .el-pager li{
color: var(--g-c);
background-color: var(--g-bgc);
}
.el-pager li:hover, .el-pager li.active, .el-pager li.btn-quicknext, .el-pager li.btn-quickprev{
color: var(--g-c-h);
}
.el-input__inner, .el-input__inner:hover,
.el-input-group__append, .el-input-group__prepend{
background-color: var(--g-bgc);
border-color: var(--g-bdc);
}
.el-input.is-active .el-input__inner, .el-input__inner:focus{
border-color: var(--g-bdc);
}
.el-input__inner{
border-color: var(--g-bdc);
}
.el-select .el-input.is-focus .el-input__inner,
.el-select .el-input__inner:focus,
.el-select:hover .el-input__inner{
border-color: var(--g-bdc);
}
input::-webkit-input-placeholder{
color: var(--g-c);
}
.el-icon-search{
color: var(--g-icon);
}
.el-select-dropdown{
color: var(--g-c);
}
.el-drawer{
background-color: var(--g-bgc) !important;
overflow: auto;
&::-webkit-scrollbar{
width: 0px;
}
}
.el-loading-mask{
background-color: var(--g-bgc);
opacity: 0.9;
}
.el-slider__bar{
background-color: var(--g-c-h);
}
.el-slider__button{
border-color: var(--g-c-h);
}
.Header, .Aside{
i{
color: var(--g-icon);
&:hover{
color: var(--g-icon-h);
background-color: var(--g-bgc-h);
}
}
}
.Aside{
i{
&.active{
color: var(--g-icon-h);
background-color: var(--g-bgc-h);
border-left: 4px solid var(--g-icon-h);
}
}
}
.Main{
.film, .search, .star, .player{
button:hover{
color: var(--g-c-h);
background: var(--g-bgc);
border-color: var(--g-bdc);
}
.table-box{
&::-webkit-scrollbar-track {
box-shadow: inset 0 0 6px var(--g-bdc);
}
&::-webkit-scrollbar-thumb {
background-color: var(--g-icon);
outline: 1px solid var(--g-icon);
}
}
}
.player{
.el-button--primary.is-plain{
color: var(--g-c-h);
background-color: var(--g-bgc-h);
border-color: var(--g-bdc);
}
}
.setting{
.el-link, .card{
color: var(--g-c);
background-color: var(--g-bgc);
border-color: var(--g-bdc);
}
}
}
.detail{
color: var(--g-c);
&::-webkit-scrollbar-track {
box-shadow: inset 0 0 6px var(--g-bdc);
}
&::-webkit-scrollbar-thumb {
background-color: var(--g-icon);
outline: 1px solid var(--g-icon);
}
.box, .info, .urls{
border: 1px solid var(--g-bdc);
}
.vodInfo{
li, span, a{
color: var(--g-c);
}
label{
color: #f90;
}
}
}
}

159
src/assets/theme/pink.scss Normal file
View File

@@ -0,0 +1,159 @@
.theme-pink{
color: var(--p-c);
background-color: var(--p-bgc);
.el-button, input, select, .el-select{
color: var(--p-c);
background-color: var(--p-bgc);
border-color: var(--p-bdc);
}
.el-select .el-input .el-select__caret{
color: var(--p-icon)
}
.el-button--text{
border: none;
}
.el-button--text:focus, .el-button--text:hover{
color: var(--p-c-h);
}
.el-tabs__active-bar{
background-color: var(--p-bdc);
}
.el-tabs__item:hover, .el-tabs__item.is-active{
color: var(--p-c-h);
}
.el-tabs__item, .el-tabs__nav-wrap::after{
color: var(--p-c);
background-color: var(--p-bgc);
border-color: var(--p-bdc);
}
.el-table--border::after, .el-table--proup::after, .el-table::before,
.el-table, .el-table th, .el-table tr,
.el-table--striped .el-table__body tr.el-table__row--striped td,
.el-table--enable-row-hover .el-table__body tr:hover>td,
.el-table td, .el-table th.is-leaf{
color: var(--p-c);
background-color: var(--p-bgc);
border-color: var(--p-bdc);
}
.el-pagination, .el-pagination .el-pagination__total, .el-pagination .el-pagination__jump,
.el-pagination .btn-next, .el-pagination .btn-prev, .el-pager li{
color: var(--p-c);
background-color: var(--p-bgc);
}
.el-pager li:hover, .el-pager li.active, .el-pager li.btn-quicknext, .el-pager li.btn-quickprev{
color: var(--p-c-h);
}
.el-input__inner, .el-input__inner:hover,
.el-input-group__append, .el-input-group__prepend{
background-color: var(--p-bgc);
border-color: var(--p-bdc);
}
.el-input.is-active .el-input__inner, .el-input__inner:focus{
border-color: var(--p-bdc);
}
.el-input__inner{
border-color: var(--p-bdc);
}
.el-select .el-input.is-focus .el-input__inner,
.el-select .el-input__inner:focus,
.el-select:hover .el-input__inner{
border-color: var(--p-bdc);
}
input::-webkit-input-placeholder{
color: var(--p-c);
}
.el-icon-search{
color: var(--p-icon);
}
.el-select-dropdown{
color: var(--p-c);
}
.el-drawer{
background-color: var(--p-bgc) !important;
overflow: auto;
&::-webkit-scrollbar{
width: 0px;
}
}
.el-loading-mask{
background-color: var(--p-bgc);
opacity: 0.9;
}
.el-slider__bar{
background-color: var(--p-c-h);
}
.el-slider__button{
border-color: var(--p-c-h);
}
.Header, .Aside{
i{
color: var(--p-icon);
&:hover{
color: var(--p-icon-h);
background-color: var(--p-bgc-h);
}
}
}
.Aside{
i{
&.active{
color: var(--p-icon-h);
background-color: var(--p-bgc-h);
border-left: 4px solid var(--p-icon-h);
}
}
}
.Main{
.film, .search, .star, .player{
button:hover{
color: var(--p-c-h);
background: var(--p-bgc);
border-color: var(--p-bdc);
}
.table-box{
&::-webkit-scrollbar-track {
box-shadow: inset 0 0 6px var(--p-bdc);
}
&::-webkit-scrollbar-thumb {
background-color: var(--p-icon);
outline: 1px solid var(--p-icon);
}
}
}
.player{
.el-button--primary.is-plain{
color: var(--p-c-h);
background-color: var(--p-bgc-h);
border-color: var(--p-bdc);
}
}
.setting{
.el-link, .card{
color: var(--p-c);
background-color: var(--p-bgc);
border-color: var(--p-bdc);
}
}
}
.detail{
color: var(--p-c);
&::-webkit-scrollbar-track {
box-shadow: inset 0 0 6px var(--p-bdc);
}
&::-webkit-scrollbar-thumb {
background-color: var(--p-icon);
outline: 1px solid var(--p-icon);
}
.box, .info, .urls{
border: 1px solid var(--p-bdc);
}
.vodInfo{
li, span, a{
color: var(--p-c);
}
label{
color: #f90;
}
}
}
}

View File

@@ -78,14 +78,14 @@ export default Vue.extend({
},
created () {
this.getDetailEvent()
},
mounted () {}
}
})
</script>
<style lang="scss">
.detail{
box-sizing: border-box;
padding: 0 60px;
user-select: auto;
.detail-box{
width: 100%;
.box{

View File

@@ -12,6 +12,7 @@
<el-button size="mini" @click="openDetail" icon="el-icon-document" title="查看详情" circle></el-button>
<el-button size="mini" v-show="!star" @click="starEvent" icon="el-icon-star-off" title="添加收藏" circle></el-button>
<el-button size="mini" v-show="star" @click="starEvent" icon="el-icon-star-on" title="取消收藏" circle></el-button>
<el-button size="mini" @click="shareEvent" icon="el-icon-share" title="分享" circle></el-button>
<el-popover placement="bottom" width="150" trigger="click">
<el-row id="qrcode"></el-row>
<el-button v-show="xg !== null" size="mini" @click="mobileEvent" icon="el-icon-mobile-phone" title="手机观看" circle slot="reference" style="margin-left: 10px;"></el-button>
@@ -30,7 +31,7 @@
</el-row>
<el-row class="player-none" v-if="Object.keys(video).length <= 0">
<el-row class="tips">
浏览或者搜索资源, 点击播放视频, 即可观看~
浏览或者搜索资源, 点击播放, 即可观看~
</el-row>
<el-row class="btns">
<el-button size="small" @click="goView('Film')" icon="el-icon-film">浏览</el-button>
@@ -48,7 +49,7 @@ import 'xgplayer'
import Hls from 'xgplayer-hls.js'
import video from '@/plugins/dexie/video'
import { qrcanvas } from 'qrcanvas'
const { ipcRenderer: ipc } = require('electron')
const { ipcRenderer: ipc, clipboard } = require('electron')
export default Vue.extend({
data () {
return {
@@ -145,6 +146,11 @@ export default Vue.extend({
this.num = v.split('$')[0]
// @ts-ignore
this.xg.src = url
video.find({ detail: this.video.detail }).then(res => {
if (res) {
video.update(res.id, this.video)
}
})
}
})
})
@@ -193,6 +199,15 @@ export default Vue.extend({
dom.appendChild(canvas)
}
},
shareEvent () {
let info: string = this.urls[this.video.index]
let title = this.video.name.replace(/^\s*|\s*$/g, '')
let url = info.split('$')[1]
let data = `http://zy.hly120506.top/player/index.html?info=${url}`
let txt = `资源名称: ${title}\n播放地址:${data}`
clipboard.writeText(txt)
this.$message.success('资源已复制到剪贴板中,快去分享吧~')
},
playBtnClick (i: string, j: number) {
if (this.video.index !== j) {
let url = i.split('$')[1]

View File

@@ -1,7 +1,7 @@
<template>
<el-row class="search">
<el-row class="search-box" :class="table === true ? 'search-box hasTable' : 'search-box'">
<el-input class="search-input" size="medium" clearable placeholder="请输入内容" v-model.trim="keywords" @change="searchEvent" @clear="clearEvent">
<el-input class="search-input" size="medium" clearable placeholder="请输入资源名称..." v-model.trim="keywords" @change="searchEvent" @clear="clearEvent">
<el-select v-model="site" slot="prepend" placeholder="请选择" @change="selectSite" style="width: 130px;">
<el-option v-for="(i, j) in sites" :key="i.id" :label="i.name" :value="j"></el-option>
</el-select>
@@ -133,8 +133,7 @@ export default Vue.extend({
this.video = e
}
}
},
created () {}
}
})
</script>
<style lang="scss" scoped>

View File

@@ -31,18 +31,14 @@
<img src="@/assets/image/dark.png" class="image" @click="selectTheme('dark')">
<span size="mini">Dark</span>
</el-card>
</el-row>
</el-row>
<el-row class="item update">
<el-row class="title"><i class="el-icon-refresh"></i><span>更新</span></el-row>
<el-row class="info">
<ul>
<li>当前版本: {{oldVersion}}</li>
<li>最新版本: {{newVersion}}</li>
</ul>
</el-row>
<el-row class="btns">
<el-button v-show="download" size="small" @click="linkOpen('https://github.com/Hunlongyu/ZY-Player/releases/latest')">下载更新</el-button>
<el-card shadow="hover" class="card">
<img src="@/assets/image/pink.png" class="image" @click="selectTheme('pink')">
<span size="mini">Pink</span>
</el-card>
<el-card shadow="hover" class="card">
<img src="@/assets/image/green.png" class="image" @click="selectTheme('green')">
<span size="mini">Green</span>
</el-card>
</el-row>
</el-row>
<el-row class="item about">
@@ -54,6 +50,13 @@
</ul>
</el-row>
</el-row>
<el-row class="item opacity">
<el-row class="title"><i class="el-icon-coffee"></i><span>请喝一杯咖啡</span></el-row>
<el-row class="qrcode">
<img src="@/assets/image/alipay.png" alt="">
<img src="@/assets/image/wepay.jpg" alt="">
</el-row>
</el-row>
</el-row>
</el-row>
</template>
@@ -72,9 +75,7 @@ export default Vue.extend({
return {
sites: sites,
dbSite: 0,
opacity: 100,
oldVersion: 'v0.8.6',
newVersion: '',
opacity: 98,
download: false
}
},
@@ -136,23 +137,12 @@ export default Vue.extend({
this.$message.warning('切换主题失败~')
})
},
checkUpdate () {
fly.get('https://api.github.com/repos/Hunlongyu/ZY-Player/releases/latest').then(res => {
this.newVersion = res.data.tag_name
if (res.data.tag_name !== this.oldVersion) {
this.download = true
} else {
this.download = false
}
})
},
setOpacity () {
ipc.send('opacity', this.opacity / 100)
}
},
created () {
this.initSetting()
this.checkUpdate()
}
})
</script>
@@ -191,15 +181,6 @@ export default Vue.extend({
}
}
}
.update{
ul{
list-style: none;
li{
height: 30px;
font-size: 14px;
}
}
}
.opacity{
.info{
width: 196px;
@@ -225,5 +206,12 @@ export default Vue.extend({
}
}
}
.qrcode{
img{
height: 300px;
width: auto;
margin: 0 4px;
}
}
}
</style>

View File

@@ -1,10 +1,15 @@
<template>
<el-row class="star">
<el-row class="star-table-box table-box">
<el-table :data="filmData" stripe class="film-table" size="mini" empty-text="收藏夹里空空的~快去填满~">
<el-table :data="filmData" stripe class="film-table" size="mini" empty-text="收藏夹里空空的~快去填满吧~">
<el-table-column prop="name" label="影片名称"></el-table-column>
<el-table-column prop="type" label="影片类别" width="120"></el-table-column>
<el-table-column prop="time" label="更新时间" width="180"></el-table-column>
<el-table-column label="来源" width="120">
<template slot-scope="scope">
<span>{{ scope.row.detail | from }}</span>
</template>
</el-table-column>
<el-table-column label="操作" width="120">
<template slot-scope="scope">
<el-button size="small" type="text" @click="tableBtnClick('detail', scope.row)">详情</el-button>
@@ -28,6 +33,7 @@
<script lang="ts">
import Vue from 'vue'
import video from '@/plugins/dexie/video'
import sites from '@/lib/sites'
import { mapMutations } from 'vuex'
export default Vue.extend({
data () {
@@ -37,6 +43,17 @@ export default Vue.extend({
filmTotal: 0
}
},
filters: {
from (e: string) {
for (let i in sites) {
let url = sites[i].url
let f = e.indexOf(url)
if (f >= 0) {
return sites[i].name
}
}
}
},
computed: {
video: {
get () {

View File

@@ -3,10 +3,21 @@ module.exports = {
electronBuilder: {
builderOptions: {
win: {
icon: './build/icons/icon.ico'
icon: './build/icons/icon.ico',
target: [
'nsis','portable', 'zip',
]
},
nsis: {
oneClick: false,
allowToChangeInstallationDirectory: true
},
productName: 'ZY Player',
publish: ['github']
publish: [{
'provider': 'github',
'owner': 'Hunlongyu',
'repo': 'ZY-Player'
}]
},
chainWebpackRendererProcess: config => {
if (process.env.NODE_ENV === 'development') {