Skip to content

Commit 0890a00

Browse files
author
Hiram
committed
[reconstruct] destructive updates
1 parent 4996702 commit 0890a00

File tree

401 files changed

+29088
-125643
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

401 files changed

+29088
-125643
lines changed

.eslintrc.cjs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ module.exports = {
1212
],
1313
rules: {
1414
'vue/require-default-prop': 'off',
15-
'vue/multi-word-component-names': 'off'
15+
'vue/multi-word-component-names': 'off',
16+
"no-eval": "off"
1617
}
1718
}

.github/workflows/main.yml

Lines changed: 9 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,17 @@ jobs:
1010
runs-on: ${{ matrix.os }}
1111

1212
strategy:
13+
fail-fast: false
1314
matrix:
14-
# os: [windows-latest, macos-latest, ubuntu-latest]
15-
os: [windows-latest, ubuntu-latest]
15+
os: [windows-latest, macos-latest, ubuntu-latest]
1616

1717
steps:
1818
- name: Check out Git repository
1919
uses: actions/checkout@v4
2020
with:
2121
submodules: "recursive"
2222

23-
- name: Install Node.js 22.x
23+
- name: Install Node.js
2424
uses: actions/setup-node@v4
2525
with:
2626
node-version: 'latest'
@@ -51,23 +51,12 @@ jobs:
5151
path: ./dist/*-win-*.exe
5252
if-no-files-found: ignore
5353

54-
- name: Upload Artifact (Linux AppImage)
54+
- name: Upload Artifact (Linux)
5555
uses: actions/upload-artifact@v4
5656
with:
57-
name: zyplayer-linux-appimage
58-
path: ./dist/*.AppImage
59-
if-no-files-found: ignore
60-
61-
- name: Upload Artifact (Linux deb)
62-
uses: actions/upload-artifact@v4
63-
with:
64-
name: zyplayer-linux-deb
65-
path: ./dist/*.deb
66-
if-no-files-found: ignore
67-
68-
- name: Upload Artifact (Linux rpm)
69-
uses: actions/upload-artifact@v4
70-
with:
71-
name: zyplayer-linux-rpm
72-
path: ./dist/*.rpm
57+
name: zyplayer-linux
58+
path: |
59+
./dist/*.AppImage
60+
./dist/*.deb
61+
./dist/*.rpm
7362
if-no-files-found: ignore

.npmrc

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
registry=https://registry.npmmirror.com
2-
# registry=https://registry.npmjs.org/
32
electron_mirror=https://npmmirror.com/mirrors/electron/
4-
# electron_mirror=https://registry.npmmirror.com/-/binary/electron/
53
electron_builder_binaries_mirror=https://npmmirror.com/mirrors/electron-builder-binaries/
64
shamefully-hoist=true

.vscode/settings.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
},
1818
"[typescript]": {
1919
"editor.formatOnSave": true,
20-
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
20+
"editor.defaultFormatter": "esbenp.prettier-vscode"
2121
},
2222
"[javascript]": {
2323
"editor.formatOnSave": true,

README.md

Lines changed: 117 additions & 119 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,17 @@
99

1010
# 软件介绍
1111

12-
ZyPlayer是一款采用现代化技术栈开发的高颜值媒体播放器,它基于 `electron-vite` 框架,集成了 `TDesign` UI 组件库与 `Vue3` 全家桶,以清新的薄荷绿为主题,旨在为用户提供流畅的跨平台娱乐体验。
12+
zyfun[老版为zyplayer]是一款采用现代化技术栈开发的高颜值媒体播放器,它基于 `electron-vite` 框架,集成了 `TDesign` UI 组件库与 `Vue3` 全家桶,以清新的薄荷绿为主题,旨在为用户提供流畅的跨平台娱乐体验。
1313

1414
**重要提醒**: 仅此Github发布,请勿上当受骗;请各位公众号、QQ群、博客的管理者不要费力宣传及引流本软件!
1515

16-
**重要提醒**: 请务必在有能力的情况请支持正版,我们不提倡盗版!
16+
**重要提醒**: 请务必支持正版版权,我们不提倡盗版!
1717

1818
**重要提醒**: 在开始使用前,请务必详读并同意用户协议,确保遵守相关规定!
1919

2020
<details>
2121
<summary>展开查看用户协议及免责申明</summary>
22-
感谢您选择使用zyplayer(以下简称本软件),在使用产品和服务之前,请您仔细阅读和理解以下声明:
22+
感谢您选择使用zyfun(以下简称本软件),在使用产品和服务之前,请您仔细阅读和理解以下声明:
2323

2424
1. 若您不同意本声明的任何内容,请您立即停止使用本软件。一旦您开始使用本软件产品和服务,则表示您已同意本声明的所有内容。
2525
2. 本软件仅供个人学习、研究和技术交流使用,仅提供展示功能,所有数据资源均由用户自身制作提供,包括但不限于视频网站、媒体分享站点等。本软件无法控制这些资源的合法性、准确性、完整性或可用性,因此不对资源内容的真实性、合法性或适用性负责。
@@ -83,11 +83,22 @@ ZyPlayer是一款采用现代化技术栈开发的高颜值媒体播放器,它
8383
- 播放器选择需考虑格式兼容性,如 h264 与 h265 的差异
8484
- 针对播放失败, 建议切换播放器或者调用系统播放器
8585

86-
### 安装包说明
86+
### 跨平台说明
8787

88-
- **MacOS**: 提供 arm64、x64 及 universal 三种架构安装包。
89-
- **Windows**: 支持 arm64、x64、ia32,以及通用版本,但请注意 Electron 23 起不再支持 Win 7/8/8.1。
90-
- **Linux**: 针对 arm64、x64 架构发行 image、deb、rpm 安装包。
88+
> {appname}为软件名
89+
90+
- **MacOS**:
91+
- 提供 arm64(苹果芯)、x64(英特尔芯) 及 universal(通用) 三种架构安装包
92+
- 日志路径: `~/Library/Logs/{appname}/`
93+
- 数据库路径: `~/Library/Application\ Support/{appname}/database/`
94+
- **Linux**:
95+
- 针对 arm64、x64 架构发行 image、deb、rpm 安装包
96+
- 日志路径: `~/.config/{appname}/logs/`
97+
- 数据库路径: `~/.config/{appname}/database/`
98+
- **Windows**:
99+
- 支持 arm64、x64、ia32,以及通用版本
100+
- 日志路径: `%USERPROFILE%\AppData\Roaming\{appname}\logs\`
101+
- 数据库路径: `%USERPROFILE%\AppData\Roaming\{appname}\database\`
91102

92103
## 🛠️ 下载与安装
93104

@@ -97,10 +108,42 @@ ZyPlayer是一款采用现代化技术栈开发的高颜值媒体播放器,它
97108
98109
### macOS 安装问题解决方案
99110

100-
若遇到“已损坏”提示,执行以下命令修复权限
111+
因为软件没有签名,所以会被 macOS 的安全检查所拦下。安装后打开遇到「文件已损坏」的情况,请按如下方式操作:
101112

102113
```bash
103-
sudo xattr -cr /Applications/zyplayer.app
114+
[1] 执行下面命令信任开发者, 会要求输入密码:
115+
sudo spctl --master-disable
116+
[2] 执行下面命令放行软件 :
117+
sudo xattr -cr /Applications/zyplayer.app
118+
119+
完成上面两个步骤,大多数情况下都能正常打开应用。
120+
121+
ps:
122+
如果提示以下内容:
123+
option -r not recognized
124+
125+
usage: xattr [-slz] file [file ...]
126+
xattr -p [-slz] attr_name file [file ...]
127+
xattr -w [-sz] attr_name attr_value file [file ...]
128+
xattr -d [-s] attr_name file [file ...]
129+
xattr -c [-s] file [file ...]
130+
131+
The first form lists the names of all xattrs on the given file(s).
132+
The second form (-p) prints the value of the xattr attr_name.
133+
The third form (-w) sets the value of the xattr attr_name to attr_value.
134+
The fourth form (-d) deletes the xattr attr_name.
135+
The fifth form (-c) deletes (clears) all xattrs.
136+
137+
options:
138+
-h: print this help
139+
-s: act on symbolic links themselves rather than their targets
140+
-l: print long format (attr_name: attr_value)
141+
-z: compress or decompress (if compressed) attribute value in zip format
142+
143+
则执行命令
144+
xattr -c /Applications/zyplayer.app/*
145+
如果上述命令依然没有效果,可以尝试下面的命令:
146+
sudo xattr -d com.apple.quarantine /Applications/zyplayer.app/
104147
```
105148

106149
### Linux Appimage桌面快捷方式设置
@@ -121,78 +164,94 @@ sudo xattr -cr /Applications/zyplayer.app
121164
## 🚗 二次开发
122165

123166
```
124-
[1]安装 node.js version18 以上
125-
[2]克隆项目 git clone https://github.com/Hiram-Wong/ZyPlayer.git
126-
[3]进入项目 cd ZyPlayer/
127-
[4]打开vscode code .
128-
[5]修改代码
129-
[6]修改packgae.json[仅win8.1、7] "electron": "^19.1.9",
130-
[7]安装依赖包 yarn
131-
[8]全局安装electron-vite框架 yarn add electron-vite -D
132-
[9]打包 yarn build:win[mac/linux]
167+
[1] 安装 node.js version18 以上
168+
[2] 克隆项目
169+
git clone https://github.com/Hiram-Wong/ZyPlayer.git
170+
[3] 进入项目
171+
cd ZyPlayer/
172+
[4] 打开项目<此处使用命令行快捷打开vscode>
173+
code .
174+
[5] 修改代码
175+
[6] 安装依赖包
176+
yarn
177+
[7] 全局安装electron-vite框架
178+
yarn add electron-vite -D
179+
[8] 打包编译发布
180+
yarn build:win[mac/linux]
181+
182+
ps:
183+
- 同步库说明
184+
- sync-fetch: 渲染进程 + webworker线程运行
185+
- sync-request: 主进程 + fork线程运行 + tree-kill结束
186+
- 兼容win7说明
187+
- Electron 23 起不再支持 Win 7/8/8.1, 推荐"electron": "~22.3.27"
188+
- Electron 23 以下不支持升级fastif及相关插件, 最高版本为4.x
189+
- Electron 23 以下不支持升级cheerio, 最高版本为1.0.0-rc.12
190+
- Electron 23 以下puppeteer存在兼容性问题, 推荐"puppeteer-core": "~21.3.8", "puppeteer-in-electron": "^3.0.5"
133191
```
134192

135193
## 📚 数据结构
136194

137-
> 请严格按照数据结构填写避免不必要的报错
195+
> 请严格按照数据结构填写, 避免不必要的报错(如数据字段类型不匹配)
138196
139197
<details>
140198
<summary>展开查看接口说明</summary>
141199

142-
> 配置导入格式(备份数据建议此格式)
143-
144200
```json
145201
{
146202
"analyze": [
147203
{
148-
"id": "fddfb425-6fd9-0b39-459f-a21f69739a6e", // id唯一值不可重复,不能数字,建议 uuid
149-
"name": "纯净", // 名称
150-
"url": "https://im1907.top/?jx=", // 解析源地址
151-
"isActive": true // 是否启用 true启用 false 禁用
204+
"id": "fddfb425-6fd9-0b39-459f-a21f69739a6e", // id唯一值不可重复[uuidv4]
205+
"name": "Parse", // 名称[string]
206+
"type": 0, // 类型[number | 0:web-1:json]
207+
"url": "https://xxx.top/?jx=", // 解析源地址[string]
208+
"isActive": true // 是否启用[boolean | true启用-false禁用]
152209
}
153210
],
154211
"iptv": [
155212
{
156-
"id": "993841fe-5e91-5e5d-35d6-5be81822960b", // id唯一值不可重复,不能数字,建议 uuid
157-
"name": "APTV", // 名称
158-
"url": "https://ghproxy.com/https://raw.githubusercontent.com/Kimentanm/aptv/master/m3u/iptv.m3u", // 直播源地址
159-
"type": "remote", // remote为远程m3u local本地m3u文件路径
160-
"isActive": true, // 是否启用 true启用 false 禁用
161-
"epg": "https://epg.112114.xyz/" // 电子节目单地址
213+
"id": "993841fe-5e91-5e5d-35d6-5be81822960b", // id唯一值不可重复[uuidv4]
214+
"name": "IPTV", // 名称[string]
215+
"url": "https://xxx.com/m3u/iptv.m3u", // 直播源地址[string]
216+
"type": "remote", // url格式[string | remote:远程m3u-local本地m3u文件路径-json本地手动文件]
217+
"isActive": true, // 是否启用[boolean | true启用-false禁用]
218+
"epg": "https://epg.112114.xyz/", // 电子节目单地址[string]
219+
"logo": "https://epg.112114.xyz/" // 台标地址[string] - 3.3.8启用该参数
162220
}
163221
],
164222
"channel": [
165223
{
166-
"id": "0ede1ecd-de69-1042-15d9-4e5e9e3bb897", // id唯一值不可重复,不能数字,建议 uuid
167-
"name": "CCTV6", // 名称
168-
"url": "http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226393/index.m3u8", // 播放地址
169-
"group": "央视" // 分组
224+
"id": "0ede1ecd-de69-1042-15d9-4e5e9e3bb897", // id唯一值不可重复[uuidv4]
225+
"name": "xx卫视", // 名称[string]
226+
"url": "http://xxx.com/index.m3u8", // 播放地址[string]
227+
"group": "默认" // 分组[string]
170228
}
171229
],
172230
"sites": [
173231
{
174-
"id": "51793af6-c923-5504-85db-0ef686624dec", // id唯一值不可重复,不能数字,建议 uuid
175-
"name": "39影视", // 名称
176-
"api": "https://www.39kan.com/api.php/provide/vod/", // 站点源地址
177-
"playUrl": "", // 配合解析去url地址
178-
"search": 1, // 0:关闭 1:聚合搜索 2:本站搜索
179-
"group": "切片", // 分组
180-
"isActive": true, // 是否启用 true启用 false 禁用
181-
"type": 1, // 0:cms(xml) 1:cms(json) 2:drpy 3:app(v3) 4:app(v1)
182-
"ext": "", // 扩展参数
183-
"categories": "电视,影视" // 按顺序展示所配置的分类 不配置则默认展示所有分类
232+
"id": "51793af6-c923-5504-85db-0ef686624dec", // id唯一值不可重复[uuidv4]
233+
"key": "51793af6-c923-5504-85db-0ef686624dec", // key值不建议重复[string]
234+
"name": "xx9影视", // 名称[string]
235+
"api": "https://www.xxx.com/api.php/provide/vod/", // 站点源地址[string]
236+
"playUrl": "", // 配合解析去url地址[string]
237+
"search": false, // 是否支持搜索[boolean | true启用-false禁用]
238+
"group": "切片", // 分组[string]
239+
"type": 1, // 数据源类型[number | 0:T0(xml)-1:T1(json)-2:drpy(js0)-6:T4(hipy)-7:T3(js)-8:catvod(nodejs)-9:csp(XBPQ)-10:csp(XYQ)-11:csp(AppYsV2)]
240+
"ext": "", // 扩展参数[string]
241+
"categories": "电视,影视", // 按顺序展示所配置的分类 不配置则默认展示所有分类[string]
242+
"isActive": true // 是否启用[boolean | true启用-false禁用]
184243
}
185244
],
186245
"drive": [
187246
{
188-
"id": "3293dc45-cf14-9c66-3028-5b7765b240b7", // id唯一值不可重复,不能数字,建议 uuid
189-
"name": "🙋丫仙女", // 名称
190-
"server": "http://alist.xiaoya.pro/", // 网盘地址
191-
"startPage": "", // 开始页路径
192-
"search": false, // 是否支持搜索 true启用 false 禁用
193-
"headers": null, // 请求头
194-
"params": null, // 参数
195-
"isActive": true // 是否启用 true启用 false 禁用
247+
"id": "3293dc45-cf14-9c66-3028-5b7765b240b7",// id唯一值不可重复[uuidv4]
248+
"name": "alist", // 名称[string]
249+
"server": "http://alist.xxx.pro/", // 网盘地址[string]
250+
"startPage": "", // 开始页路径[string]
251+
"search": false, // 是否支持搜索[boolean | true启用-false禁用] 未启用预留
252+
"headers": "{}", // 请求头[string] 未启用预留
253+
"params": "{}", // 参数[string]
254+
"isActive": true // 是否启用[boolean | true启用-false禁用]
196255
}
197256
],
198257
"setting": [
@@ -208,14 +267,16 @@ sudo xattr -cr /Applications/zyplayer.app
208267
"pauseWhenMinimize": false, // [弃用] 最小化时暂停
209268
"defaultIptvEpg": "https://epg.112114.eu.org/", // iptv epg
210269
"defaultIptvLogo": "https://epg.112114.eu.org/logo/", // iptv logo
211-
"iptvSkipIpv6": true, // iptv是否跳过ipv6节目
270+
"iptvSkipIpv6": true, // [3.3.8版本弃用] iptv是否跳过ipv6节目
271+
"iptvMarkIp": true, // [3.3.8版本启用] iptv标识IP类型
212272
"iptvThumbnail": true, // iptv是否显示缩略图
213-
"iptvStatus": true, // iptv是否检测延迟
273+
"iptvStatus": true, // [3.3.8版本弃用] iptv是否检测延迟
274+
"iptvDelay": true, // [3.3.8版本启用] iptv是否检测延迟
214275
"defaultSite": "51793af6-c923-5504-85db-0ef686624dec", // site 默认源标识
215276
"defaultIptv": "993841fe-5e91-5e5d-35d6-5be81822960b", // iptv 默认源标识
216277
"defaultAnalyze": "fddfb425-6fd9-0b39-459f-a21f69739a6e", // analyze 默认源标识
217278
"defaultDrive": "3293dc45-cf14-9c66-3028-5b7765b240b7", // drive 默认源标识
218-
"defaultViewCasual": "", // [3.3.4版本启用]心性看地址
279+
"defaultViewCasual": "", // [3.3.4版本启用] 随心看地址
219280
"barrage": {
220281
"url": "", // 弹幕地址
221282
"key": "danmuku", // 弹幕接口返回数据对应的key
@@ -281,67 +342,4 @@ sudo xattr -cr /Applications/zyplayer.app
281342
}
282343
```
283344

284-
> 一键配置格式(初次使用建议此格式, 仅支持导入源数据和设置默认源标识)
285-
286-
```json
287-
{
288-
"analyze": {
289-
"default": "fddfb425-6fd9-0b39-459f-a21f69739a6e", // 默认标识 对应需设置为默认的id
290-
"data": [
291-
{
292-
"id": "fddfb425-6fd9-0b39-459f-a21f69739a6e", // id唯一值不可重复,不能数字,建议 uuid
293-
"name": "纯净", // 名称
294-
"url": "https://im1907.top/?jx=", // 解析源地址
295-
"isActive": true // 是否启用 true启用 false 禁用
296-
}
297-
]
298-
},
299-
"iptv": {
300-
"default": "993841fe-5e91-5e5d-35d6-5be81822960b", // 默认标识 对应需设置为默认的id
301-
"data": [
302-
{
303-
"id": "993841fe-5e91-5e5d-35d6-5be81822960b", // id唯一值不可重复,不能数字,建议 uuid
304-
"name": "APTV", // 名称
305-
"url": "https://ghproxy.com/https://raw.githubusercontent.com/Kimentanm/aptv/master/m3u/iptv.m3u", // 直播源地址
306-
"type": "remote", // remote为远程m3u local本地m3u文件路径
307-
"isActive": true, // 是否启用 true启用 false 禁用
308-
"epg": "https://epg.112114.xyz/" // 电子节目单地址
309-
}
310-
]
311-
},
312-
"sites": {
313-
"default": "51793af6-c923-5504-85db-0ef686624dec", // 默认标识 对应需设置为默认的id
314-
"data": [
315-
{
316-
"id": "51793af6-c923-5504-85db-0ef686624dec", // id唯一值不可重复,不能数字,建议 uuid
317-
"name": "39影视", // 名称
318-
"api": "https://www.39kan.com/api.php/provide/vod/", // 站点源地址
319-
"playUrl": "", // 配合解析去url地址
320-
"search": 1, // 0:关闭 1:聚合搜索 2:本站搜索
321-
"group": "切片", // 分组
322-
"isActive": true, // 是否启用 true启用 false 禁用
323-
"type": 1, // 0:cms(xml) 1:cms(json) 2:drpy 3:app(v3) 4:app(v1)
324-
"ext": "", // 扩展参数
325-
"categories": "电视,影视" // 按顺序展示所配置的分类 不配置则默认展示所有分类
326-
}
327-
]
328-
},
329-
"drive": {
330-
"default": "3293dc45-cf14-9c66-3028-5b7765b240b7", // 默认标识 对应需设置为默认的id
331-
"data": [
332-
{
333-
"id": "3293dc45-cf14-9c66-3028-5b7765b240b7", // id唯一值不可重复,不能数字,建议 uuid
334-
"name": "🙋丫仙女", // 名称
335-
"server": "http://alist.xiaoya.pro/", // 网盘地址
336-
"startPage": "", // 开始页路径
337-
"search": false, // 是否支持搜索 true启用 false 禁用
338-
"headers": null, // 请求头
339-
"params": null, // 参数
340-
"isActive": true // 是否启用 true启用 false 禁用
341-
}
342-
]
343-
}
344-
}
345-
```
346-
347345
</details>

0 commit comments

Comments
 (0)