Compare commits

...

24 Commits

Author SHA1 Message Date
hunlongyu
5e37ef32fd release: v2.8.6 2022-07-13 10:58:16 +08:00
hunlongyu
85525745a1 feat: remove qrcode and modify sites url 2022-07-13 10:56:50 +08:00
hunlongyu
c7f581a088 fix: 让项目能正常跑起来 2022-07-13 09:49:12 +08:00
Hunlongyu
a88dfb1bc3 Merge pull request #769 from Hunlongyu/dependabot/npm_and_yarn/eventsource-1.1.1
Bump eventsource from 1.0.7 to 1.1.1
2022-07-03 21:29:37 +08:00
Hunlongyu
410cd8fc1a Merge pull request #767 from cuiocean/dependabot/npm_and_yarn/dexie-3.2.2
Bump dexie from 3.0.3 to 3.2.2
2022-06-16 09:43:55 +08:00
dependabot[bot]
bb30be3c4d Bump eventsource from 1.0.7 to 1.1.1
Bumps [eventsource](https://github.com/EventSource/eventsource) from 1.0.7 to 1.1.1.
- [Release notes](https://github.com/EventSource/eventsource/releases)
- [Changelog](https://github.com/EventSource/eventsource/blob/master/HISTORY.md)
- [Commits](https://github.com/EventSource/eventsource/compare/v1.0.7...v1.1.1)

---
updated-dependencies:
- dependency-name: eventsource
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-01 18:54:40 +00:00
dependabot[bot]
6230c9e87a Bump dexie from 3.0.3 to 3.2.2
Bumps [dexie](https://github.com/dfahlander/Dexie.js) from 3.0.3 to 3.2.2.
- [Release notes](https://github.com/dfahlander/Dexie.js/releases)
- [Commits](https://github.com/dfahlander/Dexie.js/compare/v3.0.3...v3.2.2)

---
updated-dependencies:
- dependency-name: dexie
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-23 20:15:41 +00:00
Hunlongyu
93efb64211 Merge pull request #759 from cuiocean/dependabot/npm_and_yarn/electron-13.6.6
Bump electron from 11.5.0 to 13.6.6
2022-03-27 17:21:26 +08:00
dependabot[bot]
3c4dd91d36 Bump electron from 11.5.0 to 13.6.6
Bumps [electron](https://github.com/electron/electron) from 11.5.0 to 13.6.6.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v11.5.0...v13.6.6)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-25 19:09:35 +00:00
Hunlongyu
45041fdab1 Merge pull request #746 from cuiocean/dependabot/npm_and_yarn/axios-0.21.2
Bump axios from 0.21.1 to 0.21.2
2021-10-13 08:57:18 +08:00
dependabot[bot]
bcf0613ff0 Bump axios from 0.21.1 to 0.21.2
Bumps [axios](https://github.com/axios/axios) from 0.21.1 to 0.21.2.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/master/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.21.1...v0.21.2)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-13 00:56:23 +00:00
Hunlongyu
3107b851c5 Merge pull request #745 from cuiocean/dependabot/npm_and_yarn/electron-11.5.0
Bump electron from 11.3.0 to 11.5.0
2021-10-13 08:55:37 +08:00
dependabot[bot]
b27883ad0f Bump electron from 11.3.0 to 11.5.0
Bumps [electron](https://github.com/electron/electron) from 11.3.0 to 11.5.0.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/main/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v11.3.0...v11.5.0)

---
updated-dependencies:
- dependency-name: electron
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-12 22:51:49 +00:00
haiyangcui
e0c3502c3f Update x86.yml 2021-08-10 16:10:30 +02:00
haiyangcui
4c2db002eb 推荐页面添加"豆瓣华语电影" 2021-08-10 15:56:16 +02:00
haiyangcui
898f769d24 电影页面删除重复的数据 2021-08-10 15:24:02 +02:00
cuiocean
d6549c6a6b Update x86.yml 2021-08-10 15:23:13 +02:00
haiyangcui
eea4081d58 v2.8.5 2021-07-22 23:07:53 +02:00
haiyangcui
1e9f48e48c "按上映年份"排序改为降序排序,从新到旧排序 2021-06-05 22:01:35 +02:00
haiyangcui
0816933679 删除"作者推荐" 2021-05-28 23:10:52 +02:00
haiyangcui
8af6ff2bd7 修复分类刷新的一个bug 2021-05-24 22:29:55 +02:00
haiyangcui
c5d979fd28 引入xgplayer-mp4模块 2021-05-24 22:28:35 +02:00
haiyangcui
beb0c29326 源站增加"倒序排列"开关 2021-05-24 22:06:46 +02:00
haiyangcui
5509ace412 添加'豆瓣冷门佳片' 2021-05-09 23:45:07 +02:00
17 changed files with 2622 additions and 5309 deletions

View File

@@ -1,4 +1,4 @@
name: release-build
name: x86-release-build
on:
push:
@@ -25,11 +25,3 @@ jobs:
shell: pwsh
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload artifact
uses: actions/upload-artifact@v2
with:
name: dist_electron
path: dist_electron/*.exe
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

5839
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"name": "zy",
"version": "2.8.4",
"version": "2.8.6",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
@@ -17,15 +17,16 @@
},
"main": "background.js",
"dependencies": {
"axios": "^0.21.1",
"@electron/remote": "^2.0.8",
"axios": "^0.21.2",
"bootstrap-vue": "^2.21.2",
"cheerio": "^1.0.0-rc.6",
"cheerio": "1.0.0-rc.6",
"core-js": "^3.10.2",
"dexie": "^3.0.3",
"dexie": "^3.2.2",
"electron-localshortcut": "^3.2.1",
"electron-proxy-agent": "^1.2.0",
"electron-updater": "^4.3.8",
"element-ui": "^2.15.1",
"element-ui": "^2.15.9",
"fast-xml-parser": "^3.19.0",
"html2canvas": "^1.0.0-rc.7",
"iptv-playlist-parser": "^0.6.0",
@@ -40,34 +41,26 @@
"session": "^0.1.0",
"sortablejs": "^1.13.0",
"v-fit-columns": "^0.2.0",
"vue": "^2.6.12",
"vue": "^2.6.14",
"vue-infinite-loading": "^2.4.5",
"vue-waterfall-plugin": "^1.1.0",
"vuedraggable": "^2.24.3",
"vuex": "^3.6.2",
"xgplayer": "2.19.1",
"xgplayer-flv.js": "^2.3.0",
"xgplayer-hls.js": "^2.4.2"
"xgplayer-hls.js": "^2.4.2",
"xgplayer-mp4": "^1.2.2"
},
"devDependencies": {
"@vue/cli-plugin-babel": "~4.5.11",
"@vue/cli-plugin-eslint": "~4.5.11",
"@vue/cli-plugin-vuex": "~4.5.11",
"@vue/cli-service": "~4.5.11",
"@vue/eslint-config-standard": "^6.0.0",
"babel-eslint": "^10.1.0",
"babel-plugin-component": "^1.1.1",
"electron": "^11.3.0",
"electron": "^16.0.0",
"electron-devtools-installer": "^3.1.1",
"eslint": "^7.20.0",
"eslint-plugin-import": "^2.22.1",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^4.3.1",
"eslint-plugin-standard": "^4.1.0",
"eslint-plugin-vue": "^7.6.0",
"sass": "^1.30.0",
"sass-loader": "^10.1.0",
"vue-cli-plugin-electron-builder": "2.0.0-rc.6",
"vue-template-compiler": "^2.6.12"
"vue-template-compiler": "^2.6.14"
}
}

View File

@@ -23,7 +23,7 @@
<script>
import { setting } from './lib/dexie'
const { remote } = require('electron')
const remote = require('@electron/remote')
export default {
name: 'App',
data () {

View File

@@ -4,7 +4,10 @@ import { app, protocol, BrowserWindow, globalShortcut } from 'electron'
import { createProtocol } from 'vue-cli-plugin-electron-builder/lib'
import installExtension, { VUEJS_DEVTOOLS } from 'electron-devtools-installer'
import { initUpdater } from './lib/update/update'
require('@electron/remote/main').initialize()
const isDevelopment = process.env.NODE_ENV !== 'production'
// const log = require('electron-log') // 用于调试主程序
app.commandLine.appendSwitch('disable-features', 'OutOfBlinkCors') // 允许跨域
@@ -22,8 +25,8 @@ function createWindow () {
resizable: true,
webPreferences: {
webSecurity: false,
enableRemoteModule: true,
nodeIntegration: process.env.ELECTRON_NODE_INTEGRATION,
nodeIntegration: true,
contextIsolation: false,
allowRunningInsecureContent: false
}
})
@@ -35,12 +38,13 @@ function createWindow () {
createProtocol('app')
win.loadURL('app://./index.html')
}
// 修改request headers
// Sec-Fetch下禁止修改浏览器自动加上请求头 https://www.cnblogs.com/fulu/p/13879080.html 暂时先用index.html的meta referer policy替代
const filter = {
urls: ['http://*/*', 'http://*/*']
}
require("@electron/remote/main").enable(win.webContents)
win.webContents.session.webRequest.onBeforeSendHeaders(filter, (details, callback) => {
const url = new URL(details.url)
details.requestHeaders.Origin = url.origin

View File

@@ -41,7 +41,18 @@
<template slot-scope="scope">
<el-switch
v-model="scope.row.isActive"
@click.native.stop='isActiveChangeEvent(scope.row)'>
@click.native.stop='propChangeEvent(scope.row)'>
</el-switch>
</template>
</el-table-column>
<el-table-column
prop="reverseOrder"
width="120"
label="倒序排列">
<template slot-scope="scope">
<el-switch
v-model="scope.row.reverseOrder"
@click.native.stop='propChangeEvent(scope.row)'>>
</el-switch>
</template>
</el-table-column>
@@ -139,9 +150,9 @@
import { mapMutations } from 'vuex'
import { sites, setting } from '../lib/dexie'
import zy from '../lib/site/tools'
import { remote } from 'electron'
import fs from 'fs'
import Sortable from 'sortablejs'
const remote = require('@electron/remote')
export default {
name: 'editSites',
@@ -269,6 +280,11 @@ export default {
},
getSites () {
sites.all().then(res => {
res.forEach(element => {
if (element.reverseOrder === null || element.reverseOrder === undefined) {
element.reverseOrder = false
}
})
this.sites = res
})
},
@@ -507,9 +523,10 @@ export default {
this.sites = this.$refs.editSitesTable.tableData
}
},
isActiveChangeEvent (row) {
propChangeEvent (row) {
sites.remove(row.id)
sites.add(row)
this.getSites()
},
resetId (inArray) {
let id = 1

View File

@@ -510,7 +510,7 @@ export default {
switch (this.sortKeyword) {
case '按上映年份':
filteredData.sort(function (a, b) {
return a.year - b.year
return b.year - a.year
})
break
case '按片名':
@@ -524,8 +524,14 @@ export default {
})
break
default:
filteredData.sort(function (a, b) {
return new Date(b.last) - new Date(a.last)
})
break
}
// Get unique film data
filteredData = Array.from(new Set(filteredData))
if (this.showFind) {
this.filteredSearchContents = filteredData
} else {
@@ -602,7 +608,7 @@ export default {
FILM_DATA_CACHE[this.site.key] = {
classList: this.classList
}
this.classClick(this.site.name)
this.classClick(this.type.name)
})
},
classClick (className) {
@@ -658,11 +664,7 @@ export default {
return ret
},
toFlipPagecount () {
// 似乎需要解析的网站的视频排序和其他m3u8采集站的顺序正好相反
if (this.site.jiexiUrl) {
return true
}
return false
return this.site.reverseOrder
},
infiniteHandler ($state) {
const key = this.site.key

View File

@@ -15,7 +15,7 @@
</div>
</template>
<script>
const { remote } = require('electron')
const remote = require('@electron/remote')
export default {
name: 'frame',
computed: {

View File

@@ -154,9 +154,9 @@
import { mapMutations } from 'vuex'
import { history, sites, setting } from '../lib/dexie'
import zy from '../lib/site/tools'
import { remote } from 'electron'
import fs from 'fs'
import Waterfall from 'vue-waterfall-plugin'
const remote = require('@electron/remote')
const { clipboard } = require('electron')
export default {

View File

@@ -110,10 +110,10 @@ import { mapMutations } from 'vuex'
import { iptv, channelList, setting } from '../lib/dexie'
import { iptv as defaultChannels } from '../lib/dexie/initData'
import zy from '../lib/site/tools'
import { remote } from 'electron'
import fs from 'fs'
import Sortable from 'sortablejs'
import axios from 'axios'
const remote = require('@electron/remote')
export default {
name: 'iptv',
data () {

View File

@@ -252,6 +252,7 @@ import { mapMutations } from 'vuex'
import { star, history, setting, shortcut, mini, channelList, sites } from '../lib/dexie'
import zy from '../lib/site/tools'
import Player from 'xgplayer'
import 'xgplayer-mp4'
import HlsJsPlayer from 'xgplayer-hls.js'
import FlvJsPlayer from 'xgplayer-flv.js'
import mt from 'mousetrap'
@@ -259,7 +260,8 @@ import Clickoutside from 'element-ui/src/utils/clickoutside'
import { exec, execFile } from 'child_process'
import PinyinMatch from 'pinyin-match'
const { remote, clipboard } = require('electron')
const { clipboard } = require('electron')
const remote = require('@electron/remote')
const win = remote.getCurrentWindow()
const URL = require('url')
const VIDEO_DETAIL_CACHE = {}

View File

@@ -166,8 +166,8 @@ export default {
filteredList: [],
// 不同推荐
recommendationsDefault: [],
recommendationTypes: ['作者推荐', '豆瓣热门电影', '豆瓣高分电影', '豆瓣热门剧集', '豆瓣热门美剧', '豆瓣热门英剧', '豆瓣热门国产剧', '豆瓣热门综艺', '豆瓣热门动漫', '豆瓣热门纪录片', '豆瓣热门动画电影'],
selectedRecommendationType: '作者推荐',
recommendationTypes: ['豆瓣热门电影', '豆瓣高分电影', '豆瓣华语电影', '豆瓣冷门佳片', '豆瓣热门剧集', '豆瓣热门美剧', '豆瓣热门英剧', '豆瓣热门国产剧', '豆瓣热门综艺', '豆瓣热门动漫', '豆瓣热门纪录片', '豆瓣热门动画电影'],
selectedRecommendationType: '豆瓣热门电影',
// Toolbar
showToolbar: false,
selectedAreas: [],
@@ -199,7 +199,11 @@ export default {
hotBritishTVSeriesPageStart: 0,
hotBritishTVSeries: [],
hotChineseTVSeriesPageStart: 0,
hotChineseTVSeries: []
hotChineseTVSeries: [],
goodButNotHotMoviesPageStart: 0,
goodButNotHotMovies: [],
chineseMoviesPageStart: 0,
chineseMovies: []
}
}
},
@@ -299,6 +303,12 @@ export default {
if (this.selectedRecommendationType === '豆瓣热门动画电影') {
this.recommendations = [...this.douban.hotCartonMovie]
}
if (this.selectedRecommendationType === '豆瓣冷门佳片') {
this.recommendations = [...this.douban.goodButNotHotMovies]
}
if (this.selectedRecommendationType === '豆瓣华语电影') {
this.recommendations = [...this.douban.chineseMovies]
}
if (this.recommendations.length === 0) {
this.updateDoubanRecommendationsEvent()
}
@@ -350,6 +360,12 @@ export default {
if (this.selectedRecommendationType === '豆瓣热门动画电影') {
this.douban.hotCartonMovie.push(movie)
}
if (this.selectedRecommendationType === '豆瓣冷门佳片') {
this.douban.goodButNotHotMovies.push(movie)
}
if (this.selectedRecommendationType === '豆瓣华语电影') {
this.douban.chineseMovies.push(movie)
}
},
searchAndCacheMovie (element) {
zy.searchFirstDetail(this.sites[0].key, element.title).then(detailRes => {
@@ -436,6 +452,14 @@ export default {
doubanUrl = `https://movie.douban.com/j/search_subjects?type=movie&tag=动画&sort=recommend&page_limit=${this.douban.page_limit}&page_start=${this.douban.hotCartonMoviePageStart}`
this.douban.hotCartonMoviePageStart = this.douban.hotCartonMoviePageStart + this.douban.page_limit
}
if (this.selectedRecommendationType === '豆瓣冷门佳片') {
doubanUrl = `https://movie.douban.com/j/search_subjects?type=movie&tag=冷门佳片&sort=recommend&page_limit=${this.douban.page_limit}&page_start=${this.douban.goodButNotHotMoviesPageStart}`
this.douban.goodButNotHotMoviesPageStart = this.douban.goodButNotHotMoviesPageStart + this.douban.page_limit
}
if (this.selectedRecommendationType === '豆瓣华语电影') {
doubanUrl = `https://movie.douban.com/j/search_subjects?type=movie&tag=华语&sort=recommend&page_limit=${this.douban.page_limit}&page_start=${this.douban.chineseMoviesPageStart}`
this.douban.chineseMoviesPageStart = this.douban.chineseMoviesPageStart + this.douban.page_limit
}
this.getRecommendationsDoubanMovieOrTV(doubanUrl)
},
toggleViewMode () {
@@ -474,7 +498,7 @@ export default {
switch (this.sortKeyword) {
case '按上映年份':
filteredData.sort(function (a, b) {
return a.detail.year - b.detail.year
return b.detail.year - a.detail.year
})
break
case '按片名':
@@ -536,13 +560,9 @@ export default {
})
},
getRecommendations () {
recommendation.all().then(res => {
this.recommendations = res.sort(function (a, b) {
return b.id - a.id
})
this.recommendationsDefault = this.recommendations
this.getFilterData()
})
this.recommendationsDefault = []
this.changeRecommendationTypeEvent()
this.getFilterData()
},
getFilterData () {
this.types = [...new Set(this.recommendations.map(ele => ele.detail.type))].filter(x => x)

View File

@@ -5,9 +5,7 @@
<div class="info">
<a @click="linkOpen('http://zyplayer.fun/')">官网</a>
<a @click="linkOpen('https://github.com/Hunlongyu/ZY-Player')">Github</a>
<a @click="linkOpen('https://github.com/Hunlongyu/ZY-Player/releases/tag/v' + pkg.version)">v{{pkg.version}}更新日志</a>
<a @click="linkOpen('https://github.com/Hunlongyu/ZY-Player/issues/80')">常见问题</a>
<a @click="linkOpen('https://github.com/Hunlongyu/ZY-Player/issues')">反馈建议</a>
<a @click="linkOpen('https://github.com/Hunlongyu/ZY-Player/discussions/776')">软件完全免费如遇收费请立即给差评并退费</a>
<a style="color:#38dd77" @click="openUpdate()" v-show="update.find" >最新版本v{{update.version}}</a>
</div>
<div class="shortcut">
@@ -148,13 +146,6 @@
</div>
</div>
</div>
<div class="qrcode">
<div class="title">请作者吃辣条</div>
<div class="qrcode-box">
<img class="qrcode-item" src="../assets/image/wepay-hunlongyu.png">
<img class="qrcode-item" src="../assets/image/wepay_cuiocean.jpg">
</div>
</div>
<div class="clearDB">
<span @click="clearDBEvent" class="clearBtn">软件重置</span>
<span @click="changePasswordEvent" class="clearBtn">设置密码</span>
@@ -265,7 +256,8 @@ import { mapMutations } from 'vuex'
import pkg from '../../package.json'
import { setting, sites, shortcut } from '../lib/dexie'
import { localKey as defaultShortcuts } from '../lib/dexie/initData'
import { shell, clipboard, remote, ipcRenderer } from 'electron'
import { shell, clipboard, ipcRenderer } from 'electron'
const remote = require('@electron/remote')
import db from '../lib/dexie/dexie'
import zy from '../lib/site/tools'
export default {
@@ -390,7 +382,7 @@ export default {
this.updateSettingEvent()
},
resetDefaultSitesDataURL () {
this.setting.sitesDataURL = 'https://gitee.com/cuiocean/ZY-Player-Resources/raw/main/Sites/Sites.json'
this.setting.sitesDataURL = 'https://raw.iqiq.io/Hunlongyu/ZY-Player-Resources/main/Sites/20220713.json'
},
configSitesDataURL () {
if (!this.setting.sitesDataURL) this.resetDefaultSitesDataURL()

View File

@@ -179,7 +179,7 @@
import { mapMutations } from 'vuex'
import { history, star, sites, setting } from '../lib/dexie'
import zy from '../lib/site/tools'
import { remote } from 'electron'
const remote = require('@electron/remote')
import fs from 'fs'
import Sortable from 'sortablejs'
import Waterfall from 'vue-waterfall-plugin'
@@ -324,7 +324,7 @@ export default {
switch (this.sortKeyword) {
case '按上映年份':
filteredData.sort(function (a, b) {
return a.detail.year - b.detail.year
return b.detail.year - a.detail.year
})
break
case '按片名':

View File

@@ -101,6 +101,14 @@ db.version(11).stores({
})
})
db.version(12).stores({
sites: '++id, key, name, api, download, jiexiUrl, isActive, group, reverseOrder'
}).upgrade(trans => {
trans.sites.toCollection().modify(site => {
site.reverseOrder = false
})
})
db.on('populate', () => {
db.setting.bulkAdd(iniSetting)
db.sites.bulkAdd(sites)

View File

@@ -11,7 +11,7 @@ import SocksProxyAgent from 'socks-proxy-agent'
// 要在设置中添加代理设置可参考https://stackoverflow.com/questions/37393248/how-connect-to-proxy-in-electron-webview
const http = require('http')
const https = require('http')
const { remote } = require('electron')
const remote = require('@electron/remote')
const win = remote.getCurrentWindow()
const session = win.webContents.session
const ElectronProxyAgent = require('electron-proxy-agent')

1920
yarn.lock

File diff suppressed because it is too large Load Diff