Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f003b1b148 | ||
|
|
55ac770461 | ||
|
|
4505186307 |
17
README.md
@@ -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,7 +12,12 @@
|
||||
<p>
|
||||
|
||||
# ZY Player
|
||||
资源播放器, 提供影视资源的浏览,搜索,播放,收藏,查看详情等功能.
|
||||
资源播放器, 提供影视资源的浏览,搜索,播放,收藏,查看详情.
|
||||
1. 视频连播
|
||||
2. 手机观看
|
||||
3. 分享资源
|
||||
4. 多主题
|
||||
5. ...
|
||||
|
||||
### 下载:
|
||||
[Github Release 实时更新,保证最新版](https://github.com/Hunlongyu/ZY-Player/releases)
|
||||
@@ -37,13 +42,5 @@
|
||||
收藏 ⬇
|
||||

|
||||
|
||||
### 开发计划:
|
||||
[第二期开发计划](https://github.com/Hunlongyu/ZY-Player/projects/2)
|
||||
|
||||
### 未完成:
|
||||
1. 更换图标: 求大神设计一个 zy 的logo, 256x256 像素,风格请参考:
|
||||
|
||||

|
||||
|
||||
### 重要:
|
||||
所有资源来自网上, 该软件不参与任何制作, 上传, 储存, 下载等内容. 该软件仅供学习参考, 请于安装后24小时内删除.
|
||||
|
||||
|
Before Width: | Height: | Size: 93 KiB After Width: | Height: | Size: 233 KiB |
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 9.3 KiB |
|
Before Width: | Height: | Size: 497 B After Width: | Height: | Size: 831 B |
|
Before Width: | Height: | Size: 891 B After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 8.0 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 80 KiB |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 353 KiB After Width: | Height: | Size: 353 KiB |
@@ -29,12 +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 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,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "zy",
|
||||
"version": "0.8.17",
|
||||
"version": "0.9.0",
|
||||
"author": "Hunlongyu",
|
||||
"description": "ZY Player 资源播放器",
|
||||
"private": true,
|
||||
|
||||
BIN
public/icon.png
|
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 17 KiB |
BIN
src/assets/image/alipay.png
Normal file
|
After Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 100 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 78 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 25 KiB |
BIN
src/assets/image/wepay.jpg
Normal file
|
After Width: | Height: | Size: 232 KiB |
@@ -12,6 +12,9 @@
|
||||
.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);
|
||||
}
|
||||
|
||||
@@ -12,6 +12,9 @@
|
||||
.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);
|
||||
}
|
||||
|
||||
@@ -12,6 +12,9 @@
|
||||
.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);
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
@@ -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]
|
||||
|
||||
@@ -50,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>
|
||||
@@ -199,5 +206,12 @@ export default Vue.extend({
|
||||
}
|
||||
}
|
||||
}
|
||||
.qrcode{
|
||||
img{
|
||||
height: 300px;
|
||||
width: auto;
|
||||
margin: 0 4px;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -5,6 +5,11 @@
|
||||
<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 () {
|
||||
|
||||
@@ -5,15 +5,13 @@ module.exports = {
|
||||
win: {
|
||||
icon: './build/icons/icon.ico',
|
||||
target: [
|
||||
{
|
||||
target: 'nsis',
|
||||
arch: [
|
||||
'ia32',
|
||||
'x64'
|
||||
]
|
||||
}
|
||||
'nsis','portable', 'zip',
|
||||
]
|
||||
},
|
||||
nsis: {
|
||||
oneClick: false,
|
||||
allowToChangeInstallationDirectory: true
|
||||
},
|
||||
productName: 'ZY Player',
|
||||
publish: [{
|
||||
'provider': 'github',
|
||||
|
||||