Compare commits

..

316 Commits
v1.0.4 ... v3.x

Author SHA1 Message Date
Hunlongyu
2433db1931 🎏 IPTV 2020-10-15 14:09:57 +08:00
Hunlongyu
206a16160b 🎉 剥离 css 动画 2020-10-13 18:03:41 +08:00
Hunlongyu
a3db2ea2f2 🎉 Aside.vue 2020-10-13 14:14:11 +08:00
Hunlongyu
d063cdf48e Frame 完善 2020-10-13 11:31:56 +08:00
hunlongyu
615641c4b8 🧶 frame 2020-10-12 22:04:06 +08:00
Hunlongyu
13505c1e80 🧨 Frame.vue 2020-10-12 18:41:46 +08:00
Hunlongyu
fec0b79c8e 🎇 css.gg svg icon 2020-10-12 15:39:28 +08:00
Hunlongyu
f0f885af32 🎆 添加 License 2020-10-10 17:57:00 +08:00
Hunlongyu
3909f51d02 🧨 yarn lock 2020-10-10 17:54:52 +08:00
Hunlongyu
51cf9143ad 初始化项目 🎉 2020-10-10 17:50:23 +08:00
Hunlongyu
780de8d426 🍙 清空项目文件 🍚 2020-10-10 17:10:29 +08:00
Hunlongyu
5f3a55e3a5 remove error 2020-10-10 17:03:41 +08:00
Hunlongyu
e1d0643c68 🍔 电视直播位置移动考上 2020-10-10 17:01:41 +08:00
Hunlongyu
bce10b906c 🍛 移除二维码 2020-10-10 16:54:18 +08:00
haiyangcui
235e894f66 修复IPTV页面高度问题 2020-10-09 17:34:04 +02:00
haiyangcui
ee62ae0c8f Revert "格式化vue文件"
This reverts commit 8b78aafda4.

# Conflicts:
#	src/components/IPTV.vue
2020-10-09 17:29:53 +02:00
haiyangcui
f8b95fe430 v2.5.2-1 2020-10-09 17:23:36 +02:00
haiyangcui
a3fc5dba79 v2.5.2.1 2020-10-09 16:56:09 +02:00
haiyangcui
e1cee12222 加入占位按钮,以免不小心点到重置 2020-10-09 16:43:53 +02:00
haiyangcui
6d2b1720b7 恢复m3u8限制 2020-10-09 16:27:14 +02:00
haiyangcui
1c7024a68a 删除多余空白按钮 2020-10-09 16:21:39 +02:00
haiyangcui
8729184ba9 修复列表主题的问题 2020-10-09 16:16:58 +02:00
haiyangcui
618fdf03d9 移除m3u8的限制 2020-10-09 16:10:20 +02:00
haiyangcui
ac573b0de4 v2.5.2 2020-10-09 14:30:54 +02:00
haiyangcui
6b225d5076 添加605资源 2020-10-09 13:35:15 +02:00
haiyangcui
cb2ce525ae 修复设置更新问题 2020-10-09 13:04:23 +02:00
haiyangcui
8b78aafda4 格式化vue文件 2020-10-08 23:35:22 +02:00
haiyangcui
3a02a5d1cf 统一收藏页面和IPTV页面的样式 2020-10-08 23:19:08 +02:00
haiyangcui
4212cc681a 更新setting数据 2020-10-08 23:01:33 +02:00
haiyangcui
015595eb0a 支持IPTV搜索 2020-10-08 21:00:43 +02:00
haiyangcui
4ea00a9d8f 更新内置频道 2020-10-08 13:24:27 +02:00
haiyangcui
6e19a08186 更多IPTV资源 2020-10-08 12:58:09 +02:00
haiyangcui
940dbe3d17 内置更多频道 2020-10-08 12:57:24 +02:00
haiyangcui
222e89c24d 支持导入m3u8文件 2020-10-08 12:57:06 +02:00
haiyangcui
24af7c3084 支持导出为json文件 2020-10-07 23:13:05 +02:00
haiyangcui
34d981c6a6 支持一次导入多个m3u文件 2020-10-07 23:04:08 +02:00
haiyangcui
2e5f5a8d6d 支持快捷键播放上一频道下一频道 2020-10-07 22:36:54 +02:00
haiyangcui
1565d39ba7 支持点击列表里的频道播放 2020-10-07 22:16:11 +02:00
haiyangcui
24b84e4b12 播放电视直播时,列表为频道列表 2020-10-07 22:10:11 +02:00
haiyangcui
c138f1beb5 Merge branch 'master' into dev 2020-10-07 20:51:16 +02:00
haiyangcui
4589856721 屏蔽主分类设置 2020-10-07 18:20:57 +02:00
haiyangcui
f2fbf96a04 错开重置和搜索 2020-10-07 18:09:04 +02:00
cuiocean
8a0bb9a3f1 Merge pull request #254 from Hunlongyu/dependabot/npm_and_yarn/electron-9.3.1
Bump electron from 9.1.0 to 9.3.1
2020-10-07 16:27:47 +02:00
haiyangcui
8cf2a92673 显示总频道数目 2020-10-07 13:17:22 +02:00
haiyangcui
40c32a9085 导入列表时,合并到当前列表,并删除重复的url项 2020-10-07 13:08:12 +02:00
haiyangcui
7ef5283562 Merge branch 'dev' of https://github.com/Hunlongyu/ZY-Player into dev 2020-10-06 23:34:58 +02:00
haiyangcui
454287ede5 删除添加新频道功能 2020-10-06 23:34:41 +02:00
haiyangcui
77792f0ca4 IPTV支持导出为m3u文件 2020-10-06 21:14:35 +02:00
dependabot[bot]
d793605367 Bump electron from 9.1.0 to 9.3.1
Bumps [electron](https://github.com/electron/electron) from 9.1.0 to 9.3.1.
- [Release notes](https://github.com/electron/electron/releases)
- [Changelog](https://github.com/electron/electron/blob/master/docs/breaking-changes.md)
- [Commits](https://github.com/electron/electron/compare/v9.1.0...v9.3.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-06 18:46:36 +00:00
haiyangcui
0a13bac9e6 不再占用固定端口 2020-10-06 16:59:03 +02:00
haiyangcui
5b54279e9a 修复源导出问题 2020-10-05 16:22:12 +02:00
haiyangcui
e1e115643e 修复某些设置无法保存的问题 2020-10-05 15:12:53 +02:00
haiyangcui
826375c233 更新页面title 2020-10-05 12:32:47 +02:00
haiyangcui
ae33d47186 转移源相关操作到源编辑页面 2020-10-05 12:05:39 +02:00
haiyangcui
a7d07ed964 IPTV添加搜索功能 2020-10-04 23:11:06 +02:00
haiyangcui
95db790529 添加'电视频道_2_高清.m3u' 2020-10-04 22:54:01 +02:00
haiyangcui
2d406c0c24 v2.5.1 2020-10-04 16:59:17 +02:00
haiyangcui
7b39be271f 添加额外在线直播源文件 2020-10-04 16:55:50 +02:00
haiyangcui
d8367414a2 修复无法正确导入直播源的问题 2020-10-04 16:53:11 +02:00
haiyangcui
d647d2ecec v2.5.0 2020-10-04 12:49:21 +02:00
haiyangcui
7f9f847d73 内置腾讯云直播源 2020-10-04 12:29:10 +02:00
haiyangcui
36e0b140cd 解决中文乱码问题 2020-10-04 12:20:24 +02:00
haiyangcui
99948770ff 读取m3u文件 2020-10-04 11:08:21 +02:00
haiyangcui
5300d777ce 移除无用链接 2020-10-04 10:30:49 +02:00
haiyangcui
64da42524d 添加赞赏码 2020-10-04 10:30:29 +02:00
haiyangcui
1ebdfee7bc 支持播放器内播放直播 2020-10-03 23:17:19 +02:00
haiyangcui
17ba319157 添加"导入" "导出" "重置" 2020-10-01 23:33:24 +02:00
haiyangcui
27bdc3559d 添加新频道页面 2020-10-01 23:33:21 +02:00
haiyangcui
ca53a22598 添加删除功能 2020-10-01 23:33:18 +02:00
haiyangcui
6632318cf6 添加简单的IPTV页面 2020-10-01 23:33:15 +02:00
haiyangcui
cb7a4af7ae 2.4.10.1 国庆版 2020-10-01 13:34:21 +02:00
haiyangcui
25340b79aa v2.4.9 2020-09-30 21:33:08 +02:00
haiyangcui
381b0a8735 记录窗口大小及位置 2020-09-30 21:11:54 +02:00
haiyangcui
c7b99244bb 更新style 2020-09-29 23:08:23 +02:00
haiyangcui
5b5826e9a6 改进checkbox的点击效果 2020-09-29 17:43:14 +02:00
haiyangcui
03e2f2673b 更新style 2020-09-29 17:37:47 +02:00
haiyangcui
503a90d8da 转移收藏相关操作到收藏页面 2020-09-29 15:23:09 +02:00
haiyangcui
afb92d59ff 可设置快进快退的步长 2020-09-28 23:30:24 +02:00
haiyangcui
d26f1cbdf7 简影 2020-09-28 21:11:48 +02:00
haiyangcui
7f821b05ad 哆咪动漫 2020-09-28 20:53:48 +02:00
haiyangcui
746c93c9d2 樱花动漫 2020-09-28 20:53:15 +02:00
haiyangcui
9fb51ed8fc 点击'播放在线高清视频'也可以控制check box的开关 2020-09-28 17:51:56 +02:00
haiyangcui
6a1c045e0b 解析网站的代码放到onlineVideo里 2020-09-28 16:38:31 +02:00
haiyangcui
756b8ecc33 添加"素白白"的支持 2020-09-27 17:59:13 +02:00
haiyangcui
b4946a6c99 比较在线搜索结果时,忽略空格 2020-09-27 15:11:56 +02:00
haiyangcui
cbde4180ab 2.4.8 2020-09-27 15:02:24 +02:00
haiyangcui
00dab782e8 搜索的时候设置timeout,解决全局搜索结果无法打开的问题 2020-09-27 14:55:56 +02:00
haiyangcui
89d6183841 支持播放在线高清视频 2020-09-27 13:44:38 +02:00
haiyangcui
efd2095261 v2.4.7 2020-09-18 19:09:51 +02:00
haiyangcui
cbedb859c3 电影列表页面屏蔽福利片 2020-09-17 16:08:12 +02:00
haiyangcui
65aedc84cf 有最新版本时,在设置页面有提示 2020-09-16 22:17:04 +02:00
haiyangcui
95c58095ee 屏蔽福利片选项 2020-09-16 20:00:22 +02:00
haiyangcui
b5da3c7f81 屏蔽主分类 2020-09-13 15:05:54 +02:00
haiyangcui
5b0211b2ed 如果编辑源页面没有打开,无需更新 2020-09-13 14:51:22 +02:00
haiyangcui
0bb6409687 只有EditSites的资源列表变化时才更新Film页面 2020-09-13 08:19:57 +02:00
haiyangcui
7078e05668 修复编辑第三方播放器地址的bug 2020-09-12 22:35:54 +02:00
haiyangcui
0172a204b1 2.4.6 2020-09-12 08:28:30 +02:00
haiyangcui
c6b0781a02 添加源后清空输入框 2020-09-11 17:33:53 +02:00
haiyangcui
b3e67bcc7d Merge branch 'master' of https://github.com/Hunlongyu/ZY-Player 2020-09-10 23:53:51 +02:00
haiyangcui
cbca6db97e 改进EditSites页面 2020-09-10 21:20:30 +02:00
haiyangcui
814ecaf25b 添加时检查name和api不能为空 2020-09-10 21:14:32 +02:00
haiyangcui
4a07520336 源更新时更新Film页面的源列表 2020-09-10 21:13:42 +02:00
haiyangcui
2e121a901c ChangeView的时候关闭EditSites页面 2020-09-10 20:59:28 +02:00
haiyangcui
3a2a16a168 增加"添加新源"页面 2020-09-10 17:59:36 +02:00
Hunlongyu
881ab6cfa5 更换蓝奏云链接 2020-09-10 23:14:35 +08:00
haiyangcui
3151b33a23 支持源页面可拖曳 2020-09-09 17:34:23 +02:00
haiyangcui
f154f44772 添加编辑源页面 2020-09-09 17:12:18 +02:00
haiyangcui
a1458cf8bf 收藏页面添加观看至第几集的信息 2020-09-07 23:37:11 +02:00
haiyangcui
595136c799 支持收藏列表的拖曳排序 2020-09-07 20:48:33 +02:00
haiyangcui
b7e497e2d9 历史记录和收藏页面,添加表头 2020-09-07 13:35:04 +02:00
haiyangcui
dce8ad2ef2 支持直接编辑第三方播放器路径 2020-09-07 12:16:28 +02:00
haiyangcui
79ba45b63a 新播放的历史记录置顶 2020-09-05 23:39:16 +02:00
haiyangcui
b6fcbcb934 Merge branch 'master' of https://github.com/Hunlongyu/ZY-Player 2020-09-04 22:08:47 +02:00
haiyangcui
54c4409311 同步的时候不清除有更新标记 2020-09-02 23:05:40 +02:00
Hunlongyu
5e9c273048 更新详情截图 2020-09-02 19:57:49 +08:00
Hunlongyu
197df4e830 Update README.md 2020-09-02 19:44:39 +08:00
Hunlongyu
5271dfa490 Update README.md 2020-09-02 19:43:05 +08:00
Hunlongyu
7efde45aed Update README.md 2020-09-02 19:42:39 +08:00
Hunlongyu
4c92918dc3 Update README.md 2020-09-02 19:28:34 +08:00
haiyangcui
6c0bd5125b 美化精简模式的按钮 2020-09-02 13:16:39 +02:00
haiyangcui
785f9b20e7 用m3u文件替代dpl文件 2020-09-01 23:03:24 +02:00
haiyangcui
8d052d2904 无搜索结果时,不需要提醒 2020-09-01 21:57:28 +02:00
haiyangcui
69a397e24e Merge branch 'master' of https://github.com/Hunlongyu/ZY-Player 2020-08-30 13:48:01 +02:00
haiyangcui
c216352268 改进详情页面宽度 2020-08-30 13:47:39 +02:00
haiyangcui
89448d390f Install cheerio 2020-08-30 13:32:07 +02:00
haiyangcui
a853b02aa0 v2.4.5 2020-08-30 13:23:00 +02:00
haiyangcui
0443ce248f 重置源放最后 2020-08-30 13:03:51 +02:00
haiyangcui
8009c3197e 比较头两个搜索结果 2020-08-30 12:09:23 +02:00
haiyangcui
978d4e7181 2.4.5 2020-08-30 11:35:20 +02:00
haiyangcui
138b70263a 添加豆瓣评分 2020-08-30 11:34:22 +02:00
haiyangcui
7f48c91f97 如果没有选择本地播放器,选择在线播放 2020-08-30 10:49:08 +02:00
haiyangcui
7a494a54c0 详情页添加"豆瓣" 2020-08-30 10:28:57 +02:00
haiyangcui
97812af0fd v2.4.4 2020-08-28 15:00:56 +02:00
haiyangcui
490d7c963e 支持导入所有剧集到PotPlayer 2020-08-28 14:53:09 +02:00
haiyangcui
ed1afa2026 添加“重置源”功能 2020-08-28 12:58:16 +02:00
haiyangcui
7ef114d0e3 Change View的时候关闭Detail 2020-08-28 12:43:09 +02:00
haiyangcui
7f9b7fc2c8 Detail页面左边留出60px,侧边栏的宽度 2020-08-28 12:40:26 +02:00
haiyangcui
511820f873 修复历史记录里的下载功能 2020-08-27 17:01:22 +02:00
haiyangcui
af6dcb11bf 修复剧集的分享功能 2020-08-27 16:53:46 +02:00
haiyangcui
7ecad1ad8e 同步历史和收藏的operate buttons 2020-08-27 16:45:29 +02:00
haiyangcui
4d169f9d51 删除无用代码 2020-08-27 16:36:04 +02:00
haiyangcui
f3862e8385 格式化快捷键数据 2020-08-27 16:20:03 +02:00
haiyangcui
490d4839b7 没有更新的收藏跳过clearHasUpdateFlag 2020-08-27 16:06:46 +02:00
haiyangcui
033bcb3df7 修复下载功能 2020-08-27 15:52:56 +02:00
haiyangcui
df22efa980 导入收藏时不清空 2020-08-27 15:26:47 +02:00
haiyangcui
5428891297 删除多余信息 2020-08-27 15:14:03 +02:00
haiyangcui
bb3502774b 同步时更新收藏信息 2020-08-27 15:05:57 +02:00
haiyangcui
fa67ad03d2 恢复播放页面的收藏逻辑 2020-08-27 15:03:28 +02:00
haiyangcui
8a196ae52a 解决收藏项无法直接播放的bug 2020-08-27 14:48:11 +02:00
haiyangcui
ebfb681205 导出时先更新数据 2020-08-27 14:32:29 +02:00
haiyangcui
ba9f3246d2 Fix typo bug 2020-08-27 14:25:22 +02:00
haiyangcui
51cb181acd 改进播放页面的收藏功能 2020-08-27 13:58:05 +02:00
haiyangcui
33537638b0 更新version到2.4.3 2020-08-27 13:39:50 +02:00
haiyangcui
fa9f85a177 使用star.key 2020-08-27 13:33:21 +02:00
haiyangcui
3e1ecaac74 Fix bug in checkStar 2020-08-27 13:24:55 +02:00
haiyangcui
5cc9849e8a 导入收藏时升级数据格式 2020-08-27 13:13:45 +02:00
haiyangcui
e353b629c5 添加"更新收藏" 2020-08-27 13:08:41 +02:00
haiyangcui
4d20d5bc68 No need to record site info in star 2020-08-27 13:08:22 +02:00
haiyangcui
a921ce7adf 添加“清空所有收藏” 2020-08-27 12:39:54 +02:00
haiyangcui
1dd8d0dd24 在视图和列表里添加备注 2020-08-26 18:15:02 +02:00
haiyangcui
b90c359670 Reverse the list return by zy.list, to get video list from new to old 2020-08-26 16:24:57 +02:00
haiyangcui
27eb8c06ff 添加“最新”到class列表 2020-08-26 11:42:15 +02:00
haiyangcui
add2bedb61 v2.4.2 2020-08-25 16:59:59 +02:00
haiyangcui
3dc970e198 更新已存在的收藏 2020-08-25 15:54:07 +02:00
haiyangcui
3f2def4455 添加第三方播放器路径设置 2020-08-25 14:38:46 +02:00
haiyangcui
5b8d883af4 Format JSON string 2020-08-25 13:48:33 +02:00
haiyangcui
7113567475 可以使用PotPlayer打开视频 2020-08-25 00:31:34 +02:00
haiyangcui
e30da35e72 Import sites from file 2020-08-24 13:10:30 +02:00
haiyangcui
55b7396a2e Export sites to file 2020-08-24 12:54:31 +02:00
haiyangcui
83568fa499 No need to copy to clipboard 2020-08-24 12:32:51 +02:00
haiyangcui
838d3a64cd v2.4.1 2020-08-23 17:48:10 +02:00
haiyangcui
506be03e3e 从文件中导入收藏 2020-08-23 17:45:19 +02:00
haiyangcui
cfdb561473 加入取消操作识别 2020-08-23 15:03:47 +02:00
haiyangcui
ab2f45189f 导出收藏到文件 2020-08-23 14:33:59 +02:00
haiyangcui
f4b9a73b18 Simple favorites export import 2020-08-22 17:55:10 +02:00
haiyangcui
6f99d789f4 2.4.0 2020-08-22 16:08:38 +02:00
haiyangcui
e71090dad2 Wrap the items in Settings theme-box 2020-08-22 15:54:39 +02:00
haiyangcui
afe3351837 Add left margin to name 2020-08-22 15:35:28 +02:00
haiyangcui
5dc0613aeb 列表自适应 2020-08-22 15:06:10 +02:00
haiyangcui
1c6385ae6c 使用v-show显示隐藏class element,这样可以保持其占位 2020-08-22 10:58:47 +02:00
haiyangcui
88a95a8bfb 保存搜索选项设置 2020-08-22 00:20:18 +02:00
haiyangcui
951e6ffa37 更好的修复bug#183 2020-08-21 23:49:00 +02:00
haiyangcui
b83aed0a97 解决bug #183 2020-08-21 23:36:17 +02:00
haiyangcui
67ce537039 Add search style 2020-08-21 23:00:21 +02:00
haiyangcui
975562a66b Fix a bug in Detail.vue 2020-08-19 23:31:20 +02:00
haiyangcui
8e7015c9d6 调整"搜索所有资源"位置 2020-08-19 23:09:42 +02:00
haiyangcui
b841552dc7 转移"搜索所有资源"到设置页面 2020-08-19 18:07:37 +02:00
haiyangcui
0a9b939dc3 v2.3.8 2020-08-19 11:36:08 +02:00
haiyangcui
14ff252cce 定义--highlight-color 2020-08-19 08:30:18 +02:00
haiyangcui
afd016be93 取消“搜索所有资源”的边框 2020-08-18 23:00:05 +02:00
haiyangcui
9cd7f7d267 高亮有更新的收藏项 2020-08-18 22:51:03 +02:00
haiyangcui
8a76ec4e87 Null check on site 2020-08-18 17:39:39 +02:00
haiyangcui
a00d965ce9 v2.3.7 2020-08-18 16:00:05 +02:00
Hunlongyu
c9eb0c3e22 Merge pull request #178 from cuiocean/master
添加搜索所有资源功能
2020-08-18 16:13:08 +08:00
haiyangcui
c80c0bd948 Video中添加site信息 2020-08-16 23:02:18 +02:00
haiyangcui
65dcfa04ae 在star中添加key信息 2020-08-16 22:58:12 +02:00
haiyangcui
4e4ab82ea2 添加site信息在Detail里 2020-08-16 22:30:54 +02:00
haiyangcui
dd2adf4f99 更新格式 2020-08-15 16:44:43 +02:00
haiyangcui
777fbde528 在历史界面显示资源网站名,而不是资源标识 2020-08-15 16:30:09 +02:00
haiyangcui
472898f978 Fix downloadEvent 2020-08-15 12:27:44 +02:00
haiyangcui
7f41d415f1 删除searchSingleSiteEvent 2020-08-15 12:18:40 +02:00
haiyangcui
5d37a36c21 添加简单的style 2020-08-15 11:23:19 +02:00
haiyangcui
3a499766af playEvent starEvent shareEvent downloadEvent all take site as the input argument 2020-08-15 10:56:48 +02:00
haiyangcui
cea797b6d0 Save whole site data to res.site 2020-08-14 21:55:41 +02:00
haiyangcui
37b41b0e20 无搜索结果时,提示资源网站名字 2020-08-14 19:41:00 +02:00
haiyangcui
1105c46f08 添加“搜索所有资源”checkbox 2020-08-14 19:29:39 +02:00
haiyangcui
1df7b41edd 搜索结果显示资源网名字 2020-08-13 22:04:50 +02:00
haiyangcui
f76c71c950 Merge searchClickEvent and searchEvent 2020-08-13 21:46:23 +02:00
Hunlongyu
cd77384bd9 😄 v2.3.6 😆 2020-08-12 15:47:33 +08:00
Hunlongyu
64adc9d6c1 Merge pull request #170 from cuiocean/master
添加"备注"到搜索结果
2020-08-12 15:46:16 +08:00
haiyangcui
e9095e50a6 添加"备注"到搜索结果 2020-08-06 08:51:39 +02:00
Hunlongyu
acfa742b4f 👮‍♂️ v2.3.5 👨‍🚀 2020-08-06 10:15:34 +08:00
Hunlongyu
a79c48cba0 👨‍🚒👩‍🚒 v2.3.4 👨‍🚀👩‍🚀 2020-08-06 10:13:51 +08:00
Hunlongyu
904ef5ccea modify css 2020-08-06 09:58:39 +08:00
Hunlongyu
3db281c87f Merge pull request #168 from cuiocean/master
添加"备注"列到收藏试图
2020-08-06 09:57:29 +08:00
haiyangcui
076e6e99e4 当有更新时,刷新list列表 2020-08-05 17:06:17 +02:00
haiyangcui
32f6ac0310 添加"备注"列到收藏试图 2020-08-05 16:39:46 +02:00
haiyangcui
b8706ea432 添加播放视频点击事件到历史记录里的片名 2020-08-05 16:27:11 +02:00
haiyangcui
509d6c7900 添加"备注"列到收藏试图 2020-08-05 16:25:45 +02:00
Hunlongyu
51454d828c 🐱💻 v2.3.3 🐱🐉 2020-08-05 11:37:37 +08:00
Hunlongyu
59449886f5 🐱👤 新增一键同步所有收藏, 优化样式 🐱‍🏍 2020-08-05 11:35:39 +08:00
Hunlongyu
601e9895cc Merge pull request #166 from cuiocean/master
添加"同步所有收藏"按钮
2020-08-05 11:03:21 +08:00
haiyangcui
1ba8b46990 Fix typo in the function name 2020-08-04 19:06:17 +02:00
haiyangcui
7ed34caa56 Add UpdateAll button 2020-08-04 17:53:07 +02:00
Hunlongyu
fc40521420 🐱💻🐱🐉 发版 2.2.0 🐱👓🐱🚀 2020-08-04 10:17:19 +08:00
Hunlongyu
cfdd836e01 showHistory change to history 2020-08-04 10:14:11 +08:00
Hunlongyu
083e00ddbf Merge pull request #163 from cuiocean/master
添加“历史记录”到侧边栏
2020-08-04 10:10:07 +08:00
Hunlongyu
c41c7c4857 ✌ 修改为字符串 👌 2020-08-04 10:09:22 +08:00
Hunlongyu
4bde51dc38 Merge branch 'master' of https://github.com/Hunlongyu/ZY-Player 2020-08-04 10:03:38 +08:00
Hunlongyu
38c7540145 删除 console 2020-08-04 10:03:33 +08:00
Hunlongyu
a44579d4a1 Merge pull request #160 from hectorqin/master
修复m3u8链接获取问题,修复跨域问题
2020-08-04 10:00:10 +08:00
Hunlongyu
7f2d6f12c0 删除备注, 以及console 2020-08-04 09:51:48 +08:00
haiyangcui
daf1c4ddb6 Add ShowHistory to Aside 2020-08-03 21:13:50 +02:00
hectorqin
c1372c5589 新增复制调试信息功能和上次播放提示 2020-08-02 11:57:36 +08:00
hectorqin
c623533271 修复m3u8链接获取问题,修复跨域问题 2020-08-01 22:04:14 +08:00
Hunlongyu
069e7e16d6 ✌ 大佬优化了播放器 🤞 2020-07-29 10:31:55 +08:00
Hunlongyu
cabe4240f4 Merge pull request #150 from hectorqin/master
完善播放器功能,完善右上角窗口管理icon
2020-07-29 10:27:57 +08:00
hectorqin
5448e86109 更新播放库 2020-07-29 09:54:45 +08:00
hectorqin
536f6dad7d 新增导出播放列表功能,修复mini同步进度,优化mini视频加载 2020-07-28 22:53:54 +08:00
hectorqin
bf2796779f 优化播放器 2020-07-28 21:18:21 +08:00
hectorqin
3a29147fd6 完善右上角按钮,完善播放器标题 2020-07-28 17:33:45 +08:00
hectorqin
e987ecc446 完善播放器功能 2020-07-28 10:21:14 +08:00
Hunlongyu
9aee6d8527 Merge pull request #143 from godvmxi/master
add yarn guide for dev and build
2020-07-24 20:39:35 +08:00
Bright Jiang
4d438fcdd3 add yarn usage guide for dev and build 2020-07-24 15:23:34 +08:00
hunlongyu
36e40f4778 🚀 x86 🚁 2020-07-22 10:51:38 +08:00
hunlongyu
422def0702 🎨🖼 x86 打包 🎭🎪 2020-07-22 09:44:25 +08:00
hunlongyu
fc52d79d88 🎉 V2.0.0 正式版发布 🎇🎊 2020-07-22 09:38:26 +08:00
dandan
cc09d0aca0 Merge pull request #1 from Hunlongyu/master
merge to latest
2020-07-17 14:36:52 +08:00
hunlongyu
b514f1c04e v1.2.6 2020-07-16 00:03:34 +08:00
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
hunlongyu
001772d75c 🎉 优化搜索 🎊 2020-07-14 00:17:26 +08:00
hunlongyu
a2d2215646 🎆 修复详情页无法播放的BUG 🎇 2020-07-14 00:16:55 +08:00
hunlongyu
053853f036 🍖 首页新增文档入口 🍗 2020-07-13 17:58:39 +08:00
hunlongyu
d4ea77b961 modify base 2020-07-13 17:52:59 +08:00
hunlongyu
1cd91aada2 🌮 切换端口号, 添加文档 🥪 2020-07-13 17:49:45 +08:00
hunlongyu
f3aa8c1f51 🥗 新增多个下载入口 🥙 2020-07-13 15:25:47 +08:00
hunlongyu
ce73a9a095 🎋 优化搜索 🎄 2020-07-12 02:44:32 +08:00
hunlongyu
504fc7fc47 🧶 版本号升级 2020-07-11 00:34:37 +08:00
hunlongyu
ac56980317 🎗 修复无法软件重置 bug 🎨 2020-07-11 00:32:50 +08:00
hunlongyu
c1043d9197 🎭 修复窗口尺寸 🦺 2020-07-11 00:14:51 +08:00
hunlongyu
8902282fe2 🎉 新版本内测 🎊🎏 2020-07-10 23:24:28 +08:00
Hunlongyu
e0ae32027a Merge pull request #116 from jingsong-liu/patch-1
fix typo
2020-06-25 17:05:09 +08:00
Song
f5ffca0c52 fix typo 2020-06-24 20:11:30 +08:00
Hunlongyu
a95f915328 Merge pull request #114 from godvmxi/master
Fix build command
2020-06-24 16:19:34 +08:00
Bright Jiang
1badcea9f3 Fix build command 2020-06-24 16:16:45 +08:00
Hunlongyu
a448825ed2 Merge pull request #113 from godvmxi/master
add toc and develop guild
2020-06-24 16:01:52 +08:00
Bright Jiang
708b6bbd3a add toc and develop guild 2020-06-24 15:56:22 +08:00
Hunlongyu
7ded9a8485 Update README.md 2020-06-24 14:16:52 +08:00
Hunlongyu
57d60e9400 感谢异次元软件世界的推广
🥰😘😍
2020-06-22 23:33:10 +08:00
Hunlongyu
e01254c1c4 Update README.md 2020-06-22 23:10:42 +08:00
Hunlongyu
a007e62e38 Create build.yml 2020-06-22 11:19:16 +08:00
hunlongyu
117c805e3c 🚑 打包 2020-06-22 11:13:32 +08:00
hunlongyu
529558b754 Merge branch 'master' of https://github.com/Hunlongyu/ZY-Player 2020-06-22 11:00:50 +08:00
hunlongyu
3b86ccd0d8 🚉 添加声明 2020-06-22 10:58:38 +08:00
hunlongyu
508a3af4b3 🚇 移除捐赠二维码 2020-06-22 10:44:43 +08:00
Hunlongyu
a010d8f11e 🦼 modify image 2020-06-18 14:34:37 +08:00
hunlongyu
d1a3c404fa 🚲 全新版本,从心出发 2020-06-17 16:33:31 +08:00
hunlongyu
1dbd07faae 🎈 优化视频自适应大小 2020-06-13 10:24:11 +08:00
Hunlongyu
4dec62aa9c Merge pull request #101 from WinterSoHot/master
fix(Play.vue):播放界面自适应窗口
2020-06-13 10:19:41 +08:00
Dongxian Gu
1f781ae92d fix(Play.vue):播放界面自适应窗口 2020-06-12 23:17:56 +08:00
hunlongyu
4717299ae6 🤣 新增分享演示 2020-06-05 23:24:18 +08:00
hunlongyu
8d40cbd5fc 😶 移除测试代码 2020-06-05 11:14:49 +08:00
hunlongyu
4c8fa08166 🙄 解决 Mac 下 dock 栏不显示图标问题 2020-06-05 11:09:52 +08:00
hunlongyu
ac513fbce6 🙄 解决 Mac 下 dock 栏不显示图标问题 2020-06-05 11:09:19 +08:00
hunlongyu
9321d3a5d9 Merge branch 'master' of https://github.com/Hunlongyu/ZY-Player 2020-06-05 10:26:41 +08:00
hunlongyu
0f2776fb1c 😁 移除测试代码 2020-06-05 10:26:37 +08:00
Hunlongyu
b577ce12c1 Merge pull request #77 from zhangweiii/master
修复Mac下dock栏不显示图标
2020-06-05 10:25:16 +08:00
zhangweiii
fa4c4e22fd 修复Mac下dock栏不显示图标 2020-06-04 10:53:02 +08:00
hunlongyu
a93d4042ba 🎢 修复 Mac 电脑无法完全退出的BUG 2020-06-02 10:54:17 +08:00
hunlongyu
09bd9d8401 😊 成功测试打包32位安装包 2020-06-01 18:14:31 +08:00
hunlongyu
588e52c330 😌 尝试v1 2020-06-01 17:00:58 +08:00
hunlongyu
6c4e110bb8 😫 再次尝试x86 2020-06-01 16:59:38 +08:00
hunlongyu
54857b8501 🥱 尝试x86 2020-06-01 16:52:39 +08:00
hunlongyu
a8a6fa2185 😶 白天写BUG, 晚上改BUG 2020-05-31 22:34:30 +08:00
hunlongyu
0e571efd6f 😑 日常写BUG, 改BUG 2020-05-31 13:40:34 +08:00
hunlongyu
79adbd1f81 😑 日常写BUG, 改BUG 2020-05-30 16:14:26 +08:00
hunlongyu
214a267ba5 😥 紧急修复bug 2020-05-29 14:29:53 +08:00
hunlongyu
7aee9b9fbe 😅 解决收藏夹点击播放,没有历史记录的问题 2020-05-29 11:52:09 +08:00
hunlongyu
010b488340 😋 修复精简模式下切换视频无法保留历史记录的问题 2020-05-27 09:49:56 +08:00
hunlongyu
03c32d8ee2 😥 修改说明文字 2020-05-25 22:32:38 +08:00
hunlongyu
203d2c19fd 😂 Mini 窗口支持倍速快捷键 2020-05-25 22:31:10 +08:00
hunlongyu
0ed25643fc 😅 升级依赖 2020-05-25 22:04:18 +08:00
hunlongyu
ba99e65bcb 😅 新增快捷键视频倍速 2020-05-25 22:00:23 +08:00
hunlongyu
169b28ab33 💦 播放速度 2020-05-25 18:23:03 +08:00
hunlongyu
cbcffd7587 😣x86 fail 2020-05-24 14:57:39 +08:00
hunlongyu
fc26c04666 🤨 x86 2020-05-24 14:29:20 +08:00
hunlongyu
e2cda9a100 😃 优化样式 2020-05-24 14:11:14 +08:00
hunlongyu
ffe432d19e 🧡 新增友情链接 2020-05-21 14:27:39 +08:00
hunlongyu
ae31e9ba74 💦 更新挂掉的图片 2020-05-20 14:29:33 +08:00
hunlongyu
24f78563b6 ☯ 新增快捷键说明 2020-05-20 14:00:56 +08:00
186 changed files with 12624 additions and 56368 deletions

View File

@@ -13,5 +13,16 @@ module.exports = {
rules: {
'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',
'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off'
}
},
overrides: [
{
files: [
'**/__tests__/*.{j,t}s?(x)',
'**/tests/unit/**/*.spec.{j,t}s?(x)'
],
env: {
mocha: true
}
}
]
}

View File

@@ -24,4 +24,4 @@ jobs:
yarn release
shell: pwsh
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

35
.github/workflows/x86.yml vendored Normal file
View File

@@ -0,0 +1,35 @@
name: release-build
on:
push:
tags:
- x86-v*
jobs:
release:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [windows-latest]
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
with:
node-version: 12
- run: |
yarn
yarn dist
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 }}

2
.gitignore vendored
View File

@@ -2,6 +2,7 @@
node_modules
/dist
# local env files
.env.local
.env.*.local
@@ -10,6 +11,7 @@ node_modules
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
# Editor directories and files
.idea

View File

@@ -1,67 +1,29 @@
<p align="center">
<img width="128" src="https://i.loli.net/2020/05/07/9kLvPnWVCp7538c.png" >
</p>
<p align="center">
<a href="http://zyplayer.fun/" target="_blank">官网</a>
<a href="https://github.com/Hunlongyu/ZY-Player/issues" target="_blank">反馈</a>
</p>
<p align="center">
<img src="https://forthebadge.com/images/badges/built-with-love.svg">
<p>
<p align="center">
<img src="https://github.com/aleen42/badges/raw/master/src/visual_studio_code_flat_square.svg?sanitize=true">
<img src="https://github.com/aleen42/badges/raw/master/src/vue_flat_square.svg?sanitize=true">
<img src="https://github.com/aleen42/badges/raw/master/src/javascript_flat_square.svg?sanitize=true">
<img src="https://github.com/aleen42/badges/raw/master/src/eslint_flat_square.svg?sanitize=true">
</p>
<p align="center">
<img alt="GitHub All Releases" src="https://img.shields.io/github/downloads/Hunlongyu/ZY-Player/total?style=for-the-badge">
<img alt="GitHub release (latest by date including pre-releases)" src="https://img.shields.io/github/v/release/Hunlongyu/ZY-Player?include_prereleases&style=for-the-badge">
<img alt="GitHub" src="https://img.shields.io/github/license/Hunlongyu/ZY-Player?style=for-the-badge">
<img src="https://img.shields.io/github/workflow/status/Hunlongyu/ZY-Player/release-build?style=for-the-badge">
<p>
# zy
## Project setup
```
yarn install
```
## ZY Player 资源播放器
### Compiles and hot-reloads for development
```
yarn serve
```
1. 全平台支持. windows, mac, linux.
2. 12个视频源. 未来更新更多的视频源.
3. 新增历史播放记录, 并记录播放进度.
4. 新增分享功能. 一键分享海报图片.
5. 新增精简模式. 支持修改透明度.
6. 全新布局配色.
7. 新增多语言.
8. 下载功能 (最大资源网和OK资源网支持下载.)
9. 更详细的视频分类
10. 收藏夹同步更新视频追剧.(手动更新)
11. 后台自动更新
### Compiles and minifies for production
```
yarn build
```
觉得软件不错的, 点击右上角 star 收藏关注一波呀~
<img height="30" src="https://i.loli.net/2020/05/09/cNnvGobekWEqfjZ.jpg">
### Run your unit tests
```
yarn test:unit
```
#### 下载:
### Lints and fixes files
```
yarn lint
```
1. [Github -- 官方下载](https://github.com/Hunlongyu/ZY-Player/releases)
2. [蓝奏云 -- 快速下载](https://www.lanzous.com/b04s6a3re) 密码:95px
#### 截图:
1. 浏览 ⇣ ↓
![01浏览.png](https://i.loli.net/2020/05/18/MshDLnXq2CTpoBy.png)
2. 搜索 ⇣ ↓
![02搜索.png](https://i.loli.net/2020/05/18/kAKQpLeRJUID5d6.png)
3. 详情 ⇣ ↓
![03详情.png](https://i.loli.net/2020/05/18/s7gUj6unEfyYb4Z.png)
4. 播放 ⇣ ↓
![04播放.png](https://i.loli.net/2020/05/18/WqgnOw3mHd6e5uU.png)
5. 收藏 ⇣ ↓
![05收藏.png](https://i.loli.net/2020/05/18/bhIgeGMTPWmrdYi.png)
6. 白色主题皮肤 ⇣ ↓
![06白色.png](https://i.loli.net/2020/05/18/UgiVZ89dhkuxDBI.png)
7. 绿色主题皮肤 ⇣ ↓
![07绿色.png](https://i.loli.net/2020/05/18/4d2UnFRECm7vyJQ.png)
8. 粉色色主题皮肤 ⇣ ↓
![08粉色.png](https://i.loli.net/2020/05/18/PLlEfzd8mSC9vMW.png)
### 重要:
所有资源来自网上, 该软件不参与任何制作, 上传, 储存, 下载等内容. 该软件仅供学习参考, 请于安装后24小时内删除.
### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).

View File

@@ -1,14 +1,5 @@
module.exports = {
presets: [
'@vue/cli-plugin-babel/preset'
],
plugins: [
[
'component',
{
libraryName: 'element-ui',
styleLibraryName: 'theme-chalk'
}
]
]
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 838 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 353 KiB

View File

@@ -1 +0,0 @@
zyplayer.fun

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 224 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.8 KiB

View File

@@ -1,156 +0,0 @@
/**
* Template Name: Appland - v2.0.0
* Template URL: https://bootstrapmade.com/free-bootstrap-app-landing-page-template/
* Author: BootstrapMade.com
* License: https://bootstrapmade.com/license/
*/
!(function($) {
"use strict";
// Toggle .header-scrolled class to #header when page is scrolled
$(window).scroll(function() {
if ($(this).scrollTop() > 100) {
$('#header').addClass('header-scrolled');
} else {
$('#header').removeClass('header-scrolled');
}
});
if ($(window).scrollTop() > 100) {
$('#header').addClass('header-scrolled');
}
// Smooth scroll for the navigation menu and links with .scrollto classes
$(document).on('click', '.nav-menu a, .mobile-nav a, .scrollto', function(e) {
if (location.pathname.replace(/^\//, '') == this.pathname.replace(/^\//, '') && location.hostname == this.hostname) {
e.preventDefault();
var target = $(this.hash);
if (target.length) {
var scrollto = target.offset().top;
var scrolled = 20;
if ($('#header').length) {
scrollto -= $('#header').outerHeight()
if (!$('#header').hasClass('header-scrolled')) {
scrollto += scrolled;
}
}
if ($(this).attr("href") == '#header') {
scrollto = 0;
}
$('html, body').animate({
scrollTop: scrollto
}, 1500, 'easeInOutExpo');
if ($(this).parents('.nav-menu, .mobile-nav').length) {
$('.nav-menu .active, .mobile-nav .active').removeClass('active');
$(this).closest('li').addClass('active');
}
if ($('body').hasClass('mobile-nav-active')) {
$('body').removeClass('mobile-nav-active');
$('.mobile-nav-toggle i').toggleClass('icofont-navigation-menu icofont-close');
$('.mobile-nav-overly').fadeOut();
}
return false;
}
}
});
// Mobile Navigation
if ($('.nav-menu').length) {
var $mobile_nav = $('.nav-menu').clone().prop({
class: 'mobile-nav d-lg-none'
});
$('body').append($mobile_nav);
$('body').prepend('<button type="button" class="mobile-nav-toggle d-lg-none"><i class="icofont-navigation-menu"></i></button>');
$('body').append('<div class="mobile-nav-overly"></div>');
$(document).on('click', '.mobile-nav-toggle', function(e) {
$('body').toggleClass('mobile-nav-active');
$('.mobile-nav-toggle i').toggleClass('icofont-navigation-menu icofont-close');
$('.mobile-nav-overly').toggle();
});
$(document).on('click', '.mobile-nav .drop-down > a', function(e) {
e.preventDefault();
$(this).next().slideToggle(300);
$(this).parent().toggleClass('active');
});
$(document).click(function(e) {
var container = $(".mobile-nav, .mobile-nav-toggle");
if (!container.is(e.target) && container.has(e.target).length === 0) {
if ($('body').hasClass('mobile-nav-active')) {
$('body').removeClass('mobile-nav-active');
$('.mobile-nav-toggle i').toggleClass('icofont-navigation-menu icofont-close');
$('.mobile-nav-overly').fadeOut();
}
}
});
} else if ($(".mobile-nav, .mobile-nav-toggle").length) {
$(".mobile-nav, .mobile-nav-toggle").hide();
}
// Back to top button
$(window).scroll(function() {
if ($(this).scrollTop() > 100) {
$('.back-to-top').fadeIn('slow');
} else {
$('.back-to-top').fadeOut('slow');
}
});
$('.back-to-top').click(function() {
$('html, body').animate({
scrollTop: 0
}, 1500, 'easeInOutExpo');
return false;
});
// Gallery carousel (uses the Owl Carousel library)
$(".gallery-carousel").owlCarousel({
autoplay: true,
dots: true,
loop: true,
center: true,
margin: 25,
responsive: {
0: {
items: 1
},
768: {
items: 3
},
992: {
items: 4
},
1200: {
items: 5
}
}
});
// Initiate venobox lightbox
$(document).ready(function() {
$('.venobox').venobox();
});
// Testimonials carousel (uses the Owl Carousel library)
$(".testimonials-carousel").owlCarousel({
autoplay: true,
dots: true,
loop: true,
responsive: {
0: {
items: 1
},
768: {
items: 1
},
900: {
items: 2
}
}
});
// Initi AOS
AOS.init({
duration: 800,
easing: "ease-in-out"
});
})(jQuery);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,327 +0,0 @@
/*!
* Bootstrap Reboot v4.4.1 (https://getbootstrap.com/)
* Copyright 2011-2019 The Bootstrap Authors
* Copyright 2011-2019 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
*/
*,
*::before,
*::after {
box-sizing: border-box;
}
html {
font-family: sans-serif;
line-height: 1.15;
-webkit-text-size-adjust: 100%;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
display: block;
}
body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
color: #212529;
text-align: left;
background-color: #fff;
}
[tabindex="-1"]:focus:not(:focus-visible) {
outline: 0 !important;
}
hr {
box-sizing: content-box;
height: 0;
overflow: visible;
}
h1, h2, h3, h4, h5, h6 {
margin-top: 0;
margin-bottom: 0.5rem;
}
p {
margin-top: 0;
margin-bottom: 1rem;
}
abbr[title],
abbr[data-original-title] {
text-decoration: underline;
-webkit-text-decoration: underline dotted;
text-decoration: underline dotted;
cursor: help;
border-bottom: 0;
-webkit-text-decoration-skip-ink: none;
text-decoration-skip-ink: none;
}
address {
margin-bottom: 1rem;
font-style: normal;
line-height: inherit;
}
ol,
ul,
dl {
margin-top: 0;
margin-bottom: 1rem;
}
ol ol,
ul ul,
ol ul,
ul ol {
margin-bottom: 0;
}
dt {
font-weight: 700;
}
dd {
margin-bottom: .5rem;
margin-left: 0;
}
blockquote {
margin: 0 0 1rem;
}
b,
strong {
font-weight: bolder;
}
small {
font-size: 80%;
}
sub,
sup {
position: relative;
font-size: 75%;
line-height: 0;
vertical-align: baseline;
}
sub {
bottom: -.25em;
}
sup {
top: -.5em;
}
a {
color: #007bff;
text-decoration: none;
background-color: transparent;
}
a:hover {
color: #0056b3;
text-decoration: underline;
}
a:not([href]) {
color: inherit;
text-decoration: none;
}
a:not([href]):hover {
color: inherit;
text-decoration: none;
}
pre,
code,
kbd,
samp {
font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
font-size: 1em;
}
pre {
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
}
figure {
margin: 0 0 1rem;
}
img {
vertical-align: middle;
border-style: none;
}
svg {
overflow: hidden;
vertical-align: middle;
}
table {
border-collapse: collapse;
}
caption {
padding-top: 0.75rem;
padding-bottom: 0.75rem;
color: #6c757d;
text-align: left;
caption-side: bottom;
}
th {
text-align: inherit;
}
label {
display: inline-block;
margin-bottom: 0.5rem;
}
button {
border-radius: 0;
}
button:focus {
outline: 1px dotted;
outline: 5px auto -webkit-focus-ring-color;
}
input,
button,
select,
optgroup,
textarea {
margin: 0;
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
button,
input {
overflow: visible;
}
button,
select {
text-transform: none;
}
select {
word-wrap: normal;
}
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
button:not(:disabled),
[type="button"]:not(:disabled),
[type="reset"]:not(:disabled),
[type="submit"]:not(:disabled) {
cursor: pointer;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
padding: 0;
border-style: none;
}
input[type="radio"],
input[type="checkbox"] {
box-sizing: border-box;
padding: 0;
}
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
-webkit-appearance: listbox;
}
textarea {
overflow: auto;
resize: vertical;
}
fieldset {
min-width: 0;
padding: 0;
margin: 0;
border: 0;
}
legend {
display: block;
width: 100%;
max-width: 100%;
padding: 0;
margin-bottom: .5rem;
font-size: 1.5rem;
line-height: inherit;
color: inherit;
white-space: normal;
}
progress {
vertical-align: baseline;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
[type="search"] {
outline-offset: -2px;
-webkit-appearance: none;
}
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
::-webkit-file-upload-button {
font: inherit;
-webkit-appearance: button;
}
output {
display: inline-block;
}
summary {
display: list-item;
cursor: pointer;
}
template {
display: none;
}
[hidden] {
display: none !important;
}
/*# sourceMappingURL=bootstrap-reboot.css.map */

File diff suppressed because one or more lines are too long

View File

@@ -1,8 +0,0 @@
/*!
* Bootstrap Reboot v4.4.1 (https://getbootstrap.com/)
* Copyright 2011-2019 The Bootstrap Authors
* Copyright 2011-2019 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
*/*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]){color:inherit;text-decoration:none}a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}
/*# sourceMappingURL=bootstrap-reboot.min.css.map */

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,386 +0,0 @@
@-webkit-keyframes spin
{
0%
{
-webkit-transform: rotate(0);
transform: rotate(0);
}
100%
{
-webkit-transform: rotate(359deg);
transform: rotate(359deg);
}
}
@keyframes spin
{
0%
{
-webkit-transform: rotate(0);
transform: rotate(0);
}
100%
{
-webkit-transform: rotate(359deg);
transform: rotate(359deg);
}
}
@-webkit-keyframes burst
{
0%
{
-webkit-transform: scale(1);
transform: scale(1);
opacity: 1;
}
90%
{
-webkit-transform: scale(1.5);
transform: scale(1.5);
opacity: 0;
}
}
@keyframes burst
{
0%
{
-webkit-transform: scale(1);
transform: scale(1);
opacity: 1;
}
90%
{
-webkit-transform: scale(1.5);
transform: scale(1.5);
opacity: 0;
}
}
@-webkit-keyframes flashing
{
0%
{
opacity: 1;
}
45%
{
opacity: 0;
}
90%
{
opacity: 1;
}
}
@keyframes flashing
{
0%
{
opacity: 1;
}
45%
{
opacity: 0;
}
90%
{
opacity: 1;
}
}
@-webkit-keyframes fade-left
{
0%
{
-webkit-transform: translateX(0);
transform: translateX(0);
opacity: 1;
}
75%
{
-webkit-transform: translateX(-20px);
transform: translateX(-20px);
opacity: 0;
}
}
@keyframes fade-left
{
0%
{
-webkit-transform: translateX(0);
transform: translateX(0);
opacity: 1;
}
75%
{
-webkit-transform: translateX(-20px);
transform: translateX(-20px);
opacity: 0;
}
}
@-webkit-keyframes fade-right
{
0%
{
-webkit-transform: translateX(0);
transform: translateX(0);
opacity: 1;
}
75%
{
-webkit-transform: translateX(20px);
transform: translateX(20px);
opacity: 0;
}
}
@keyframes fade-right
{
0%
{
-webkit-transform: translateX(0);
transform: translateX(0);
opacity: 1;
}
75%
{
-webkit-transform: translateX(20px);
transform: translateX(20px);
opacity: 0;
}
}
@-webkit-keyframes fade-up
{
0%
{
-webkit-transform: translateY(0);
transform: translateY(0);
opacity: 1;
}
75%
{
-webkit-transform: translateY(-20px);
transform: translateY(-20px);
opacity: 0;
}
}
@keyframes fade-up
{
0%
{
-webkit-transform: translateY(0);
transform: translateY(0);
opacity: 1;
}
75%
{
-webkit-transform: translateY(-20px);
transform: translateY(-20px);
opacity: 0;
}
}
@-webkit-keyframes fade-down
{
0%
{
-webkit-transform: translateY(0);
transform: translateY(0);
opacity: 1;
}
75%
{
-webkit-transform: translateY(20px);
transform: translateY(20px);
opacity: 0;
}
}
@keyframes fade-down
{
0%
{
-webkit-transform: translateY(0);
transform: translateY(0);
opacity: 1;
}
75%
{
-webkit-transform: translateY(20px);
transform: translateY(20px);
opacity: 0;
}
}
@-webkit-keyframes tada
{
from
{
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
}
10%,
20%
{
-webkit-transform: scale3d(.95, .95, .95) rotate3d(0, 0, 1, -10deg);
transform: scale3d(.95, .95, .95) rotate3d(0, 0, 1, -10deg);
}
30%,
50%,
70%,
90%
{
-webkit-transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, 10deg);
transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, 10deg);
}
40%,
60%,
80%
{
-webkit-transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, -10deg);
transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, -10deg);
}
to
{
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
}
}
@keyframes tada
{
from
{
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
}
10%,
20%
{
-webkit-transform: scale3d(.95, .95, .95) rotate3d(0, 0, 1, -10deg);
transform: scale3d(.95, .95, .95) rotate3d(0, 0, 1, -10deg);
}
30%,
50%,
70%,
90%
{
-webkit-transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, 10deg);
transform: scale3d(1, 1, 1) rotate3d(0, 0, 1, 10deg);
}
40%,
60%,
80%
{
-webkit-transform: rotate3d(0, 0, 1, -10deg);
transform: rotate3d(0, 0, 1, -10deg);
}
to
{
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
}
}
.bx-spin
{
-webkit-animation: spin 2s linear infinite;
animation: spin 2s linear infinite;
}
.bx-spin-hover:hover
{
-webkit-animation: spin 2s linear infinite;
animation: spin 2s linear infinite;
}
.bx-tada
{
-webkit-animation: tada 1.5s ease infinite;
animation: tada 1.5s ease infinite;
}
.bx-tada-hover:hover
{
-webkit-animation: tada 1.5s ease infinite;
animation: tada 1.5s ease infinite;
}
.bx-flashing
{
-webkit-animation: flashing 1.5s infinite linear;
animation: flashing 1.5s infinite linear;
}
.bx-flashing-hover:hover
{
-webkit-animation: flashing 1.5s infinite linear;
animation: flashing 1.5s infinite linear;
}
.bx-burst
{
-webkit-animation: burst 1.5s infinite linear;
animation: burst 1.5s infinite linear;
}
.bx-burst-hover:hover
{
-webkit-animation: burst 1.5s infinite linear;
animation: burst 1.5s infinite linear;
}
.bx-fade-up
{
-webkit-animation: fade-up 1.5s infinite linear;
animation: fade-up 1.5s infinite linear;
}
.bx-fade-up-hover:hover
{
-webkit-animation: fade-up 1.5s infinite linear;
animation: fade-up 1.5s infinite linear;
}
.bx-fade-down
{
-webkit-animation: fade-down 1.5s infinite linear;
animation: fade-down 1.5s infinite linear;
}
.bx-fade-down-hover:hover
{
-webkit-animation: fade-down 1.5s infinite linear;
animation: fade-down 1.5s infinite linear;
}
.bx-fade-left
{
-webkit-animation: fade-left 1.5s infinite linear;
animation: fade-left 1.5s infinite linear;
}
.bx-fade-left-hover:hover
{
-webkit-animation: fade-left 1.5s infinite linear;
animation: fade-left 1.5s infinite linear;
}
.bx-fade-right
{
-webkit-animation: fade-right 1.5s infinite linear;
animation: fade-right 1.5s infinite linear;
}
.bx-fade-right-hover:hover
{
-webkit-animation: fade-right 1.5s infinite linear;
animation: fade-right 1.5s infinite linear;
}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -1,30 +0,0 @@
.bx-rotate-90
{
transform: rotate(90deg);
-ms-filter: 'progid:DXImageTransform.Microsoft.BasicImage(rotation=1)';
}
.bx-rotate-180
{
transform: rotate(180deg);
-ms-filter: 'progid:DXImageTransform.Microsoft.BasicImage(rotation=2)';
}
.bx-rotate-270
{
transform: rotate(270deg);
-ms-filter: 'progid:DXImageTransform.Microsoft.BasicImage(rotation=3)';
}
.bx-flip-horizontal
{
transform: scaleX(-1);
-ms-filter: 'progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)';
}
.bx-flip-vertical
{
transform: scaleY(-1);
-ms-filter: 'progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)';
}

Binary file not shown.

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 912 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@@ -1 +0,0 @@
(function(factory){if(typeof define==="function"&&define.amd){define(["jquery"],function($){return factory($)})}else if(typeof module==="object"&&typeof module.exports==="object"){exports=factory(require("jquery"))}else{factory(jQuery)}})(function($){$.easing.jswing=$.easing.swing;var pow=Math.pow,sqrt=Math.sqrt,sin=Math.sin,cos=Math.cos,PI=Math.PI,c1=1.70158,c2=c1*1.525,c3=c1+1,c4=2*PI/3,c5=2*PI/4.5;function bounceOut(x){var n1=7.5625,d1=2.75;if(x<1/d1){return n1*x*x}else if(x<2/d1){return n1*(x-=1.5/d1)*x+.75}else if(x<2.5/d1){return n1*(x-=2.25/d1)*x+.9375}else{return n1*(x-=2.625/d1)*x+.984375}}$.extend($.easing,{def:"easeOutQuad",swing:function(x){return $.easing[$.easing.def](x)},easeInQuad:function(x){return x*x},easeOutQuad:function(x){return 1-(1-x)*(1-x)},easeInOutQuad:function(x){return x<.5?2*x*x:1-pow(-2*x+2,2)/2},easeInCubic:function(x){return x*x*x},easeOutCubic:function(x){return 1-pow(1-x,3)},easeInOutCubic:function(x){return x<.5?4*x*x*x:1-pow(-2*x+2,3)/2},easeInQuart:function(x){return x*x*x*x},easeOutQuart:function(x){return 1-pow(1-x,4)},easeInOutQuart:function(x){return x<.5?8*x*x*x*x:1-pow(-2*x+2,4)/2},easeInQuint:function(x){return x*x*x*x*x},easeOutQuint:function(x){return 1-pow(1-x,5)},easeInOutQuint:function(x){return x<.5?16*x*x*x*x*x:1-pow(-2*x+2,5)/2},easeInSine:function(x){return 1-cos(x*PI/2)},easeOutSine:function(x){return sin(x*PI/2)},easeInOutSine:function(x){return-(cos(PI*x)-1)/2},easeInExpo:function(x){return x===0?0:pow(2,10*x-10)},easeOutExpo:function(x){return x===1?1:1-pow(2,-10*x)},easeInOutExpo:function(x){return x===0?0:x===1?1:x<.5?pow(2,20*x-10)/2:(2-pow(2,-20*x+10))/2},easeInCirc:function(x){return 1-sqrt(1-pow(x,2))},easeOutCirc:function(x){return sqrt(1-pow(x-1,2))},easeInOutCirc:function(x){return x<.5?(1-sqrt(1-pow(2*x,2)))/2:(sqrt(1-pow(-2*x+2,2))+1)/2},easeInElastic:function(x){return x===0?0:x===1?1:-pow(2,10*x-10)*sin((x*10-10.75)*c4)},easeOutElastic:function(x){return x===0?0:x===1?1:pow(2,-10*x)*sin((x*10-.75)*c4)+1},easeInOutElastic:function(x){return x===0?0:x===1?1:x<.5?-(pow(2,20*x-10)*sin((20*x-11.125)*c5))/2:pow(2,-20*x+10)*sin((20*x-11.125)*c5)/2+1},easeInBack:function(x){return c3*x*x*x-c1*x*x},easeOutBack:function(x){return 1+c3*pow(x-1,3)+c1*pow(x-1,2)},easeInOutBack:function(x){return x<.5?pow(2*x,2)*((c2+1)*2*x-c2)/2:(pow(2*x-2,2)*((c2+1)*(x*2-2)+c2)+2)/2},easeInBounce:function(x){return 1-bounceOut(1-x)},easeOutBounce:bounceOut,easeInOutBounce:function(x){return x<.5?(1-bounceOut(1-2*x))/2:(1+bounceOut(2*x-1))/2}})});

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,23 +0,0 @@
Copyright (c) 2014 Owl
Modified work Copyright 2016-2018 David Deutsch
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.

View File

@@ -1,122 +0,0 @@
# Owl Carousel 2
Touch enabled [jQuery](https://jquery.com/) plugin that lets you create a beautiful, responsive carousel slider. **To get started, check out https://owlcarousel2.github.io/OwlCarousel2/.**
**Notice:** The old Owl Carousel site (owlgraphic [dot] com) is no longer in use. Please delete all references to this in bookmarks and your own products' documentation as it's being used for malicious purposes.
## Quick start
### Install
This package can be installed with:
- [npm](https://www.npmjs.com/package/owl.carousel): `npm install --save owl.carousel` or `yarn add owl.carousel jquery`
- [bower](http://bower.io/search/?q=owl.carousel): `bower install --save owl.carousel`
Or download the [latest release](https://github.com/OwlCarousel2/OwlCarousel2/releases).
### Load
#### Webpack
Add jQuery via the "webpack.ProvidePlugin" to your webpack configuration:
const webpack = require('webpack');
//...
plugins: [
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery',
'window.jQuery': 'jquery'
}),
],
//...
Load the required stylesheet and JS:
```js
import 'owl.carousel/dist/assets/owl.carousel.css';
import 'owl.carousel';
```
#### Static HTML
Put the required stylesheet at the [top](https://developer.yahoo.com/performance/rules.html#css_top) of your markup:
```html
<link rel="stylesheet" href="/node_modules/owl.carousel/dist/assets/owl.carousel.min.css" />
```
```html
<link rel="stylesheet" href="/bower_components/owl.carousel/dist/assets/owl.carousel.min.css" />
```
**NOTE:** If you want to use the default navigation styles, you will also need to include `owl.theme.default.css`.
Put the script at the [bottom](https://developer.yahoo.com/performance/rules.html#js_bottom) of your markup right after jQuery:
```html
<script src="/node_modules/jquery/dist/jquery.js"></script>
<script src="/node_modules/owl.carousel/dist/owl.carousel.min.js"></script>
```
```html
<script src="/bower_components/jquery/dist/jquery.js"></script>
<script src="/bower_components/owl.carousel/dist/owl.carousel.min.js"></script>
```
### Usage
Wrap your items (`div`, `a`, `img`, `span`, `li` etc.) with a container element (`div`, `ul` etc.). Only the class `owl-carousel` is mandatory to apply proper styles:
```html
<div class="owl-carousel owl-theme">
<div> Your Content </div>
<div> Your Content </div>
<div> Your Content </div>
<div> Your Content </div>
<div> Your Content </div>
<div> Your Content </div>
<div> Your Content </div>
</div>
```
**NOTE:** The `owl-theme` class is optional, but without it, you will need to style navigation features on your own.
Call the [plugin](https://learn.jquery.com/plugins/) function and your carousel is ready.
```javascript
$(document).ready(function(){
$('.owl-carousel').owlCarousel();
});
```
## Documentation
The documentation, included in this repo in the root directory, is built with [Assemble](http://assemble.io/) and publicly available at https://owlcarousel2.github.io/OwlCarousel2/. The documentation may also be run locally.
## Building
This package comes with [Grunt](http://gruntjs.com/) and [Bower](http://bower.io/). The following tasks are available:
* `default` compiles the CSS and JS into `/dist` and builds the doc.
* `dist` compiles the CSS and JS into `/dist` only.
* `watch` watches source files and builds them automatically whenever you save.
* `test` runs [JSHint](http://www.jshint.com/) and [QUnit](http://qunitjs.com/) tests headlessly in [PhantomJS](http://phantomjs.org/).
To define which plugins are build into the distribution just edit `/_config.json` to fit your needs.
## Contributing
Please read [CONTRIBUTING.md](CONTRIBUTING.md).
## Roadmap
Please make sure to check out our [Roadmap Discussion](https://github.com/OwlCarousel2/OwlCarousel2/issues/1756).
## License
The code and the documentation are released under the [MIT License](LICENSE).

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -1,186 +0,0 @@
/**
* Owl Carousel v2.3.4
* Copyright 2013-2018 David Deutsch
* Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
*/
/*
* Owl Carousel - Core
*/
.owl-carousel {
display: none;
width: 100%;
-webkit-tap-highlight-color: transparent;
/* position relative and z-index fix webkit rendering fonts issue */
position: relative;
z-index: 1; }
.owl-carousel .owl-stage {
position: relative;
-ms-touch-action: pan-Y;
touch-action: manipulation;
-moz-backface-visibility: hidden;
/* fix firefox animation glitch */ }
.owl-carousel .owl-stage:after {
content: ".";
display: block;
clear: both;
visibility: hidden;
line-height: 0;
height: 0; }
.owl-carousel .owl-stage-outer {
position: relative;
overflow: hidden;
/* fix for flashing background */
-webkit-transform: translate3d(0px, 0px, 0px); }
.owl-carousel .owl-wrapper,
.owl-carousel .owl-item {
-webkit-backface-visibility: hidden;
-moz-backface-visibility: hidden;
-ms-backface-visibility: hidden;
-webkit-transform: translate3d(0, 0, 0);
-moz-transform: translate3d(0, 0, 0);
-ms-transform: translate3d(0, 0, 0); }
.owl-carousel .owl-item {
position: relative;
min-height: 1px;
float: left;
-webkit-backface-visibility: hidden;
-webkit-tap-highlight-color: transparent;
-webkit-touch-callout: none; }
.owl-carousel .owl-item img {
display: block;
width: 100%; }
.owl-carousel .owl-nav.disabled,
.owl-carousel .owl-dots.disabled {
display: none; }
.owl-carousel .owl-nav .owl-prev,
.owl-carousel .owl-nav .owl-next,
.owl-carousel .owl-dot {
cursor: pointer;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none; }
.owl-carousel .owl-nav button.owl-prev,
.owl-carousel .owl-nav button.owl-next,
.owl-carousel button.owl-dot {
background: none;
color: inherit;
border: none;
padding: 0 !important;
font: inherit; }
.owl-carousel.owl-loaded {
display: block; }
.owl-carousel.owl-loading {
opacity: 0;
display: block; }
.owl-carousel.owl-hidden {
opacity: 0; }
.owl-carousel.owl-refresh .owl-item {
visibility: hidden; }
.owl-carousel.owl-drag .owl-item {
-ms-touch-action: pan-y;
touch-action: pan-y;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none; }
.owl-carousel.owl-grab {
cursor: move;
cursor: grab; }
.owl-carousel.owl-rtl {
direction: rtl; }
.owl-carousel.owl-rtl .owl-item {
float: right; }
/* No Js */
.no-js .owl-carousel {
display: block; }
/*
* Owl Carousel - Animate Plugin
*/
.owl-carousel .animated {
animation-duration: 1000ms;
animation-fill-mode: both; }
.owl-carousel .owl-animated-in {
z-index: 0; }
.owl-carousel .owl-animated-out {
z-index: 1; }
.owl-carousel .fadeOut {
animation-name: fadeOut; }
@keyframes fadeOut {
0% {
opacity: 1; }
100% {
opacity: 0; } }
/*
* Owl Carousel - Auto Height Plugin
*/
.owl-height {
transition: height 500ms ease-in-out; }
/*
* Owl Carousel - Lazy Load Plugin
*/
.owl-carousel .owl-item {
/**
This is introduced due to a bug in IE11 where lazy loading combined with autoheight plugin causes a wrong
calculation of the height of the owl-item that breaks page layouts
*/ }
.owl-carousel .owl-item .owl-lazy {
opacity: 0;
transition: opacity 400ms ease; }
.owl-carousel .owl-item .owl-lazy[src^=""], .owl-carousel .owl-item .owl-lazy:not([src]) {
max-height: 0; }
.owl-carousel .owl-item img.owl-lazy {
transform-style: preserve-3d; }
/*
* Owl Carousel - Video Plugin
*/
.owl-carousel .owl-video-wrapper {
position: relative;
height: 100%;
background: #000; }
.owl-carousel .owl-video-play-icon {
position: absolute;
height: 80px;
width: 80px;
left: 50%;
top: 50%;
margin-left: -40px;
margin-top: -40px;
background: url("owl.video.play.png") no-repeat;
cursor: pointer;
z-index: 1;
-webkit-backface-visibility: hidden;
transition: transform 100ms ease; }
.owl-carousel .owl-video-play-icon:hover {
-ms-transform: scale(1.3, 1.3);
transform: scale(1.3, 1.3); }
.owl-carousel .owl-video-playing .owl-video-tn,
.owl-carousel .owl-video-playing .owl-video-play-icon {
display: none; }
.owl-carousel .owl-video-tn {
opacity: 0;
height: 100%;
background-position: center center;
background-repeat: no-repeat;
background-size: contain;
transition: opacity 400ms ease; }
.owl-carousel .owl-video-frame {
position: relative;
z-index: 1;
height: 100%;
width: 100%; }

View File

@@ -1,6 +0,0 @@
/**
* Owl Carousel v2.3.4
* Copyright 2013-2018 David Deutsch
* Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
*/
.owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y;touch-action:manipulation;-moz-backface-visibility:hidden}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.owl-carousel .owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.no-js .owl-carousel,.owl-carousel.owl-loaded{display:block}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel .owl-nav button.owl-next,.owl-carousel .owl-nav button.owl-prev,.owl-carousel button.owl-dot{background:0 0;color:inherit;border:none;padding:0!important;font:inherit}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{-ms-touch-action:pan-y;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item .owl-lazy:not([src]),.owl-carousel .owl-item .owl-lazy[src^=""]{max-height:0}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%}

View File

@@ -1,50 +0,0 @@
/**
* Owl Carousel v2.3.4
* Copyright 2013-2018 David Deutsch
* Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
*/
/*
* Default theme - Owl Carousel CSS File
*/
.owl-theme .owl-nav {
margin-top: 10px;
text-align: center;
-webkit-tap-highlight-color: transparent; }
.owl-theme .owl-nav [class*='owl-'] {
color: #FFF;
font-size: 14px;
margin: 5px;
padding: 4px 7px;
background: #D6D6D6;
display: inline-block;
cursor: pointer;
border-radius: 3px; }
.owl-theme .owl-nav [class*='owl-']:hover {
background: #869791;
color: #FFF;
text-decoration: none; }
.owl-theme .owl-nav .disabled {
opacity: 0.5;
cursor: default; }
.owl-theme .owl-nav.disabled + .owl-dots {
margin-top: 10px; }
.owl-theme .owl-dots {
text-align: center;
-webkit-tap-highlight-color: transparent; }
.owl-theme .owl-dots .owl-dot {
display: inline-block;
zoom: 1;
*display: inline; }
.owl-theme .owl-dots .owl-dot span {
width: 10px;
height: 10px;
margin: 5px 7px;
background: #D6D6D6;
display: block;
-webkit-backface-visibility: visible;
transition: opacity 200ms ease;
border-radius: 30px; }
.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {
background: #869791; }

View File

@@ -1,6 +0,0 @@
/**
* Owl Carousel v2.3.4
* Copyright 2013-2018 David Deutsch
* Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
*/
.owl-theme .owl-dots,.owl-theme .owl-nav{text-align:center;-webkit-tap-highlight-color:transparent}.owl-theme .owl-nav{margin-top:10px}.owl-theme .owl-nav [class*=owl-]{color:#FFF;font-size:14px;margin:5px;padding:4px 7px;background:#D6D6D6;display:inline-block;cursor:pointer;border-radius:3px}.owl-theme .owl-nav [class*=owl-]:hover{background:#869791;color:#FFF;text-decoration:none}.owl-theme .owl-nav .disabled{opacity:.5;cursor:default}.owl-theme .owl-nav.disabled+.owl-dots{margin-top:10px}.owl-theme .owl-dots .owl-dot{display:inline-block;zoom:1}.owl-theme .owl-dots .owl-dot span{width:10px;height:10px;margin:5px 7px;background:#D6D6D6;display:block;-webkit-backface-visibility:visible;transition:opacity .2s ease;border-radius:30px}.owl-theme .owl-dots .owl-dot.active span,.owl-theme .owl-dots .owl-dot:hover span{background:#869791}

View File

@@ -1,50 +0,0 @@
/**
* Owl Carousel v2.3.4
* Copyright 2013-2018 David Deutsch
* Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
*/
/*
* Green theme - Owl Carousel CSS File
*/
.owl-theme .owl-nav {
margin-top: 10px;
text-align: center;
-webkit-tap-highlight-color: transparent; }
.owl-theme .owl-nav [class*='owl-'] {
color: #FFF;
font-size: 14px;
margin: 5px;
padding: 4px 7px;
background: #D6D6D6;
display: inline-block;
cursor: pointer;
border-radius: 3px; }
.owl-theme .owl-nav [class*='owl-']:hover {
background: #4DC7A0;
color: #FFF;
text-decoration: none; }
.owl-theme .owl-nav .disabled {
opacity: 0.5;
cursor: default; }
.owl-theme .owl-nav.disabled + .owl-dots {
margin-top: 10px; }
.owl-theme .owl-dots {
text-align: center;
-webkit-tap-highlight-color: transparent; }
.owl-theme .owl-dots .owl-dot {
display: inline-block;
zoom: 1;
*display: inline; }
.owl-theme .owl-dots .owl-dot span {
width: 10px;
height: 10px;
margin: 5px 7px;
background: #D6D6D6;
display: block;
-webkit-backface-visibility: visible;
transition: opacity 200ms ease;
border-radius: 30px; }
.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {
background: #4DC7A0; }

View File

@@ -1,6 +0,0 @@
/**
* Owl Carousel v2.3.4
* Copyright 2013-2018 David Deutsch
* Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
*/
.owl-theme .owl-dots,.owl-theme .owl-nav{text-align:center;-webkit-tap-highlight-color:transparent}.owl-theme .owl-nav{margin-top:10px}.owl-theme .owl-nav [class*=owl-]{color:#FFF;font-size:14px;margin:5px;padding:4px 7px;background:#D6D6D6;display:inline-block;cursor:pointer;border-radius:3px}.owl-theme .owl-nav [class*=owl-]:hover{background:#4DC7A0;color:#FFF;text-decoration:none}.owl-theme .owl-nav .disabled{opacity:.5;cursor:default}.owl-theme .owl-nav.disabled+.owl-dots{margin-top:10px}.owl-theme .owl-dots .owl-dot{display:inline-block;zoom:1}.owl-theme .owl-dots .owl-dot span{width:10px;height:10px;margin:5px 7px;background:#D6D6D6;display:block;-webkit-backface-visibility:visible;transition:opacity .2s ease;border-radius:30px}.owl-theme .owl-dots .owl-dot.active span,.owl-theme .owl-dots .owl-dot:hover span{background:#4DC7A0}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,763 +0,0 @@
/*
* VenoBox - jQuery Plugin
* version: 1.8.6
* @requires jQuery >= 1.7.0
*
* Examples at http://veno.es/venobox/
* License: MIT License
* License URI: https://github.com/nicolafranchini/VenoBox/blob/master/LICENSE
* Copyright 2013-2019 Nicola Franchini - @nicolafranchini
*
*/
/* global jQuery */
(function($){
"use strict";
var autoplay, bgcolor, blocknum, blocktitle, border, core, container, content, dest, extraCss,
framewidth, frameheight, gallItems, infinigall, items, keyNavigationDisabled, margine, numeratio,
overlayColor, overlay, title, thisgall, thenext, theprev, nextok, prevok, preloader, $preloader, navigation,
obj, gallIndex, startouch, vbheader, images, startY, startX, endY, endX, diff, diffX, diffY, threshold;
$.fn.extend({
//plugin name - venobox
venobox: function(options) {
var plugin = this;
// default options
var defaults = {
arrowsColor : '#B6B6B6',
autoplay : false, // same as data-autoplay - thanks @codibit
bgcolor: '#fff',
border: '0',
closeBackground : '#161617',
closeColor : "#d2d2d2",
framewidth: '',
frameheight: '',
gallItems: false,
infinigall: false,
htmlClose : '&times;',
htmlNext : '<span>Next</span>',
htmlPrev : '<span>Prev</span>',
numeratio: false,
numerationBackground : '#161617',
numerationColor : '#d2d2d2',
numerationPosition : 'top', // 'top' || 'bottom'
overlayClose: true, // disable overlay click-close - thanx @martybalandis
overlayColor : 'rgba(23,23,23,0.85)',
spinner : 'double-bounce', // available: 'rotating-plane' | 'double-bounce' | 'wave' | 'wandering-cubes' | 'spinner-pulse' | 'chasing-dots' | 'three-bounce' | 'circle' | 'cube-grid' | 'fading-circle' | 'folding-cube'
spinColor : '#d2d2d2',
titleattr: 'title', // specific attribute to get a title (e.g. [data-title]) - thanx @mendezcode
titleBackground: '#161617',
titleColor: '#d2d2d2',
titlePosition : 'top', // 'top' || 'bottom'
cb_pre_open: function(){ return true; }, // Callbacks - thanx @garyee
cb_post_open: function(){},
cb_pre_close: function(){ return true; },
cb_post_close: function(){},
cb_post_resize: function(){},
cb_after_nav: function(){},
cb_content_loaded: function(){},
cb_init: function(){}
};
var option = $.extend(defaults, options);
// callback plugin initialization
option.cb_init(plugin);
return this.each(function() {
obj = $(this);
// Prevent double initialization - thanx @matthistuff
if (obj.data('venobox')) {
return true;
}
// method to be used outside the plugin
plugin.VBclose = function() {
closeVbox();
};
obj.addClass('vbox-item');
obj.data('framewidth', option.framewidth);
obj.data('frameheight', option.frameheight);
obj.data('border', option.border);
obj.data('bgcolor', option.bgcolor);
obj.data('numeratio', option.numeratio);
obj.data('gallItems', option.gallItems);
obj.data('infinigall', option.infinigall);
obj.data('overlaycolor', option.overlayColor);
obj.data('titleattr', option.titleattr);
obj.data('venobox', true);
obj.on('click', function(e){
e.preventDefault();
obj = $(this);
// callback plugin initialization
var cb_pre_open = option.cb_pre_open(obj);
if (cb_pre_open === false) {
return false;
}
// methods to be used outside the plugin
plugin.VBnext = function() {
navigateGall(thenext);
};
plugin.VBprev = function() {
navigateGall(theprev);
};
overlayColor = obj.data('overlay') || obj.data('overlaycolor');
framewidth = obj.data('framewidth');
frameheight = obj.data('frameheight');
// set data-autoplay="true" for vimeo and youtube videos - thanx @zehfernandes
autoplay = obj.data('autoplay') || option.autoplay;
border = obj.data('border');
bgcolor = obj.data('bgcolor');
nextok = false;
prevok = false;
keyNavigationDisabled = false;
// set a different url to be loaded using data-href="" - thanx @pixeline
dest = obj.data('href') || obj.attr('href');
extraCss = obj.data( 'css' ) || '';
title = obj.attr(obj.data('titleattr')) || '';
preloader = '<div class="vbox-preloader">';
switch (option.spinner) {
case 'rotating-plane':
preloader += '<div class="sk-rotating-plane"></div>';
break;
case 'double-bounce':
preloader += '<div class="sk-double-bounce">'+
'<div class="sk-child sk-double-bounce1"></div>'+
'<div class="sk-child sk-double-bounce2"></div>'+
'</div>';
break;
case 'wave':
preloader += '<div class="sk-wave">'+
'<div class="sk-rect sk-rect1"></div>'+
'<div class="sk-rect sk-rect2"></div>'+
'<div class="sk-rect sk-rect3"></div>'+
'<div class="sk-rect sk-rect4"></div>'+
'<div class="sk-rect sk-rect5"></div>'+
'</div>';
break;
case 'wandering-cubes':
preloader += '<div class="sk-wandering-cubes">'+
'<div class="sk-cube sk-cube1"></div>'+
'<div class="sk-cube sk-cube2"></div>'+
'</div>';
break;
case 'spinner-pulse':
preloader += '<div class="sk-spinner sk-spinner-pulse"></div>';
break;
case 'chasing-dots':
preloader += '<div class="sk-chasing-dots">'+
'<div class="sk-child sk-dot1"></div>'+
'<div class="sk-child sk-dot2"></div>'+
'</div>';
break;
case 'three-bounce':
preloader += '<div class="sk-three-bounce">'+
'<div class="sk-child sk-bounce1"></div>'+
'<div class="sk-child sk-bounce2"></div>'+
'<div class="sk-child sk-bounce3"></div>'+
'</div>';
break;
case 'circle':
preloader += '<div class="sk-circle">'+
'<div class="sk-circle1 sk-child"></div>'+
'<div class="sk-circle2 sk-child"></div>'+
'<div class="sk-circle3 sk-child"></div>'+
'<div class="sk-circle4 sk-child"></div>'+
'<div class="sk-circle5 sk-child"></div>'+
'<div class="sk-circle6 sk-child"></div>'+
'<div class="sk-circle7 sk-child"></div>'+
'<div class="sk-circle8 sk-child"></div>'+
'<div class="sk-circle9 sk-child"></div>'+
'<div class="sk-circle10 sk-child"></div>'+
'<div class="sk-circle11 sk-child"></div>'+
'<div class="sk-circle12 sk-child"></div>'+
'</div>';
break;
case 'cube-grid':
preloader += '<div class="sk-cube-grid">'+
'<div class="sk-cube sk-cube1"></div>'+
'<div class="sk-cube sk-cube2"></div>'+
'<div class="sk-cube sk-cube3"></div>'+
'<div class="sk-cube sk-cube4"></div>'+
'<div class="sk-cube sk-cube5"></div>'+
'<div class="sk-cube sk-cube6"></div>'+
'<div class="sk-cube sk-cube7"></div>'+
'<div class="sk-cube sk-cube8"></div>'+
'<div class="sk-cube sk-cube9"></div>'+
'</div>';
break;
case 'fading-circle':
preloader += '<div class="sk-fading-circle">'+
'<div class="sk-circle1 sk-circle"></div>'+
'<div class="sk-circle2 sk-circle"></div>'+
'<div class="sk-circle3 sk-circle"></div>'+
'<div class="sk-circle4 sk-circle"></div>'+
'<div class="sk-circle5 sk-circle"></div>'+
'<div class="sk-circle6 sk-circle"></div>'+
'<div class="sk-circle7 sk-circle"></div>'+
'<div class="sk-circle8 sk-circle"></div>'+
'<div class="sk-circle9 sk-circle"></div>'+
'<div class="sk-circle10 sk-circle"></div>'+
'<div class="sk-circle11 sk-circle"></div>'+
'<div class="sk-circle12 sk-circle"></div>'+
'</div>';
break;
case 'folding-cube':
preloader += '<div class="sk-folding-cube">'+
'<div class="sk-cube1 sk-cube"></div>'+
'<div class="sk-cube2 sk-cube"></div>'+
'<div class="sk-cube4 sk-cube"></div>'+
'<div class="sk-cube3 sk-cube"></div>'+
'</div>';
break;
}
preloader += '</div>';
navigation = '<a class="vbox-next">' + option.htmlNext + '</a><a class="vbox-prev">' + option.htmlPrev + '</a>';
vbheader = '<div class="vbox-title"></div><div class="vbox-num">0/0</div><div class="vbox-close">' + option.htmlClose + '</div>';
core = '<div class="vbox-overlay ' + extraCss + '" style="background:'+ overlayColor +'">'+
preloader + '<div class="vbox-container"><div class="vbox-content"></div></div>' + vbheader + navigation + '</div>';
$('body').append(core).addClass('vbox-open');
$('.vbox-preloader div:not(.sk-circle) .sk-child, .vbox-preloader .sk-rotating-plane, .vbox-preloader .sk-rect, .vbox-preloader div:not(.sk-folding-cube) .sk-cube, .vbox-preloader .sk-spinner-pulse').css('background-color', option.spinColor);
overlay = $('.vbox-overlay');
container = $('.vbox-container');
content = $('.vbox-content');
blocknum = $('.vbox-num');
blocktitle = $('.vbox-title');
$preloader = $('.vbox-preloader');
$preloader.show();
blocktitle.css(option.titlePosition, '-1px');
blocktitle.css({
'color' : option.titleColor,
'background-color' : option.titleBackground
});
$('.vbox-close').css({
'color' : option.closeColor,
'background-color' : option.closeBackground
});
$('.vbox-num').css(option.numerationPosition, '-1px');
$('.vbox-num').css({
'color' : option.numerationColor,
'background-color' : option.numerationBackground
});
$('.vbox-next span, .vbox-prev span').css({
'border-top-color' : option.arrowsColor,
'border-right-color' : option.arrowsColor
});
content.html('');
content.css('opacity', '0');
overlay.css('opacity', '0');
checknav();
// fade in overlay
overlay.animate({opacity:1}, 250, function(){
if (obj.data('vbtype') == 'iframe') {
loadIframe();
} else if (obj.data('vbtype') == 'inline') {
loadInline();
} else if (obj.data('vbtype') == 'ajax') {
loadAjax();
} else if (obj.data('vbtype') == 'video') {
loadVid(autoplay);
} else {
content.html('<img src="'+dest+'">');
preloadFirst();
}
option.cb_post_open(obj, gallIndex, thenext, theprev);
});
/* -------- KEYBOARD ACTIONS -------- */
$('body').keydown(keyboardHandler);
/* -------- PREVGALL -------- */
$('.vbox-prev').on('click', function(){
navigateGall(theprev);
});
/* -------- NEXTGALL -------- */
$('.vbox-next').on('click', function(){
navigateGall(thenext);
});
return false;
}); // click
/* -------- CHECK NEXT / PREV -------- */
function checknav(){
thisgall = obj.data('gall');
numeratio = obj.data('numeratio');
gallItems = obj.data('gallItems');
infinigall = obj.data('infinigall');
if (gallItems) {
items = gallItems;
} else {
items = $('.vbox-item[data-gall="' + thisgall + '"]');
}
thenext = items.eq( items.index(obj) + 1 );
theprev = items.eq( items.index(obj) - 1 );
if (!thenext.length && infinigall === true) {
thenext = items.eq(0);
}
// update gall numeration
if (items.length >= 1) {
gallIndex = items.index(obj)+1;
blocknum.html(gallIndex + ' / ' + items.length);
} else {
gallIndex = 1;
}
if (numeratio === true) {
blocknum.show();
} else {
blocknum.hide();
}
// update title
if (title !== '') {
blocktitle.show();
} else {
blocktitle.hide();
}
// update navigation arrows
if (!thenext.length && infinigall !== true) {
$('.vbox-next').css('display', 'none');
nextok = false;
} else {
$('.vbox-next').css('display', 'block');
nextok = true;
}
if (items.index(obj) > 0 || infinigall === true) {
$('.vbox-prev').css('display', 'block');
prevok = true;
} else {
$('.vbox-prev').css('display', 'none');
prevok = false;
}
// activate swipe
if (prevok === true || nextok === true) {
content.on(TouchMouseEvent.DOWN, onDownEvent);
content.on(TouchMouseEvent.MOVE, onMoveEvent);
content.on(TouchMouseEvent.UP, onUpEvent);
}
}
/* -------- gallery navigation -------- */
function navigateGall(destination) {
if (destination.length < 1) {
return false;
}
if (keyNavigationDisabled) {
return false;
}
keyNavigationDisabled = true;
overlayColor = destination.data('overlay') || destination.data('overlaycolor');
framewidth = destination.data('framewidth');
frameheight = destination.data('frameheight');
border = destination.data('border');
bgcolor = destination.data('bgcolor');
dest = destination.data('href') || destination.attr('href');
autoplay = destination.data('autoplay');
title = (destination.data('titleattr') && destination.attr(destination.data('titleattr'))) || '';
// swipe out item
if (destination === theprev) {
content.addClass('vbox-animated').addClass('swipe-right');
}
if (destination === thenext) {
content.addClass('vbox-animated').addClass('swipe-left');
}
$preloader.show();
content.animate({
opacity : 0,
}, 500, function(){
overlay.css('background',overlayColor);
content
.removeClass('vbox-animated')
.removeClass('swipe-left')
.removeClass('swipe-right')
.css({'margin-left': 0,'margin-right': 0});
if (destination.data('vbtype') == 'iframe') {
loadIframe();
} else if (destination.data('vbtype') == 'inline') {
loadInline();
} else if (destination.data('vbtype') == 'ajax') {
loadAjax();
} else if (destination.data('vbtype') == 'video') {
loadVid(autoplay);
} else {
content.html('<img src="'+dest+'">');
preloadFirst();
}
obj = destination;
checknav();
keyNavigationDisabled = false;
option.cb_after_nav(obj, gallIndex, thenext, theprev);
});
}
/* -------- KEYBOARD HANDLER -------- */
function keyboardHandler(e) {
if (e.keyCode === 27) { // esc
closeVbox();
}
if (e.keyCode == 37 && prevok === true) { // left
navigateGall(theprev);
}
if (e.keyCode == 39 && nextok === true) { // right
navigateGall(thenext);
}
}
/* -------- CLOSE VBOX -------- */
function closeVbox(){
var cb_pre_close = option.cb_pre_close(obj, gallIndex, thenext, theprev);
if (cb_pre_close === false) {
return false;
}
$('body').off('keydown', keyboardHandler).removeClass('vbox-open');
obj.focus();
overlay.animate({opacity:0}, 500, function(){
overlay.remove();
keyNavigationDisabled = false;
option.cb_post_close();
});
}
/* -------- CLOSE CLICK -------- */
var closeclickclass = '.vbox-overlay';
if(!option.overlayClose){
closeclickclass = '.vbox-close'; // close only on X
}
$('body').on('click touchstart', closeclickclass, function(e){
if ($(e.target).is('.vbox-overlay') ||
$(e.target).is('.vbox-content') ||
$(e.target).is('.vbox-close') ||
$(e.target).is('.vbox-preloader') ||
$(e.target).is('.vbox-container')
) {
closeVbox();
}
});
startX = 0;
endX = 0;
diff = 0;
threshold = 50;
startouch = false;
function onDownEvent(e){
content.addClass('vbox-animated');
startY = endY = e.pageY;
startX = endX = e.pageX;
startouch = true;
}
function onMoveEvent(e){
if (startouch === true) {
endX = e.pageX;
endY = e.pageY;
diffX = endX - startX;
diffY = endY - startY;
var absdiffX = Math.abs(diffX);
var absdiffY = Math.abs(diffY);
if ((absdiffX > absdiffY) && (absdiffX <= 100)) {
e.preventDefault();
content.css('margin-left', diffX);
}
}
}
function onUpEvent(e){
if (startouch === true) {
startouch = false;
var subject = obj;
var change = false;
diff = endX - startX;
if (diff < 0 && nextok === true) {
subject = thenext;
change = true;
}
if (diff > 0 && prevok === true) {
subject = theprev;
change = true;
}
if (Math.abs(diff) >= threshold && change === true) {
navigateGall(subject);
} else {
content.css({'margin-left': 0,'margin-right': 0});
}
}
}
/* == GLOBAL DECLERATIONS == */
var TouchMouseEvent = {
DOWN: "touchmousedown",
UP: "touchmouseup",
MOVE: "touchmousemove"
};
/* == EVENT LISTENERS == */
var onMouseEvent = function(event) {
var type;
switch (event.type) {
case "mousedown": type = TouchMouseEvent.DOWN; break;
case "mouseup": type = TouchMouseEvent.UP; break;
case "mouseout": type = TouchMouseEvent.UP; break;
case "mousemove": type = TouchMouseEvent.MOVE; break;
default:
return;
}
var touchMouseEvent = normalizeEvent(type, event, event.pageX, event.pageY);
$(event.target).trigger(touchMouseEvent);
};
var onTouchEvent = function(event) {
var type;
switch (event.type) {
case "touchstart": type = TouchMouseEvent.DOWN; break;
case "touchend": type = TouchMouseEvent.UP; break;
case "touchmove": type = TouchMouseEvent.MOVE; break;
default:
return;
}
var touch = event.originalEvent.touches[0];
var touchMouseEvent;
if (type == TouchMouseEvent.UP) {
touchMouseEvent = normalizeEvent(type, event, null, null);
} else {
touchMouseEvent = normalizeEvent(type, event, touch.pageX, touch.pageY);
}
$(event.target).trigger(touchMouseEvent);
};
/* == NORMALIZE == */
var normalizeEvent = function(type, original, x, y) {
return $.Event(type, {
pageX: x,
pageY: y,
originalEvent: original
});
};
/* == LISTEN TO ORIGINAL EVENT == */
if ("ontouchstart" in window) {
$(document).on("touchstart", onTouchEvent);
$(document).on("touchmove", onTouchEvent);
$(document).on("touchend", onTouchEvent);
} else {
$(document).on("mousedown", onMouseEvent);
$(document).on("mouseup", onMouseEvent);
$(document).on("mouseout", onMouseEvent);
$(document).on("mousemove", onMouseEvent);
}
/* -------- LOAD AJAX -------- */
function loadAjax(){
$.ajax({
url: dest,
cache: false
}).done(function( msg ) {
content.html('<div class="vbox-inline">'+ msg +'</div>');
preloadFirst();
}).fail(function() {
content.html('<div class="vbox-inline"><p>Error retrieving contents, please retry</div>');
updateoverlay();
});
}
/* -------- LOAD IFRAME -------- */
function loadIframe(){
content.html('<iframe class="venoframe" src="'+dest+'"></iframe>');
// $('.venoframe').load(function(){ // valid only for iFrames in same domain
updateoverlay();
// });
}
/* -------- LOAD VIDEOs -------- */
function loadVid(autoplay){
var player;
var videoObj = parseVideo(dest);
// set rel=0 to hide related videos at the end of YT + optional autoplay
var stringAutoplay = autoplay ? "?rel=0&autoplay=1" : "?rel=0";
var queryvars = stringAutoplay + getUrlParameter(dest);
if (videoObj.type == 'vimeo') {
player = 'https://player.vimeo.com/video/';
} else if (videoObj.type == 'youtube') {
player = 'https://www.youtube.com/embed/';
}
content.html('<iframe class="venoframe vbvid" webkitallowfullscreen mozallowfullscreen allowfullscreen allow="autoplay" frameborder="0" src="'+player+videoObj.id+queryvars+'"></iframe>');
updateoverlay();
}
/**
* Parse Youtube or Vimeo videos and get host & ID
*/
function parseVideo (url) {
url.match(/(http:|https:|)\/\/(player.|www.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com))\/(video\/|embed\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/);
var type;
if (RegExp.$3.indexOf('youtu') > -1) {
type = 'youtube';
} else if (RegExp.$3.indexOf('vimeo') > -1) {
type = 'vimeo';
}
return {
type: type,
id: RegExp.$6
};
}
/**
* get additional video url parameters
*/
function getUrlParameter(name) {
var result = '';
var sPageURL = decodeURIComponent(name);
var firstsplit = sPageURL.split('?');
if (firstsplit[1] !== undefined) {
var sURLVariables = firstsplit[1].split('&');
var sParameterName;
var i;
for (i = 0; i < sURLVariables.length; i++) {
sParameterName = sURLVariables[i].split('=');
result = result + '&'+ sParameterName[0]+'='+ sParameterName[1];
}
}
return encodeURI(result);
}
/* -------- LOAD INLINE -------- */
function loadInline(){
content.html('<div class="vbox-inline">'+$(dest).html()+'</div>');
updateoverlay();
}
/* -------- PRELOAD IMAGE -------- */
function preloadFirst(){
images = content.find('img');
if (images.length) {
images.each(function(){
$(this).one('load', function() {
updateoverlay();
});
});
} else {
updateoverlay();
}
}
/* -------- FADE-IN THE NEW CONTENT -------- */
function updateoverlay(){
blocktitle.html(title);
content.find(">:first-child").addClass('vbox-figlio').css({
'width': framewidth,
'height': frameheight,
'padding': border,
'background': bgcolor
});
$('img.vbox-figlio').on('dragstart', function(event) {
event.preventDefault();
});
updateOL();
content.animate({
'opacity': '1'
},'slow', function(){
$preloader.hide();
});
option.cb_content_loaded(obj, gallIndex, thenext, theprev);
}
/* -------- CENTER FRAME -------- */
function updateOL(){
var sonH = content.outerHeight();
var finH = $(window).height();
if (sonH + 60 < finH) {
margine = (finH - sonH)/2;
} else {
margine = '30px';
}
content.css('margin-top', margine);
content.css('margin-bottom', margine);
option.cb_post_resize();
}
$(window).resize(function(){
if($('.vbox-content').length){
setTimeout(updateOL(), 800);
}
});
}); // each
} // venobox
}); // extend
})(jQuery);

File diff suppressed because one or more lines are too long

View File

@@ -1,281 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1.0" name="viewport">
<title>ZY Player 资源播放器</title>
<meta content="ZY Player 资源播放器, 简洁无广告, 免费高颜值." name="descriptison">
<meta content="video, player" name="keywords">
<!-- Favicons -->
<link href="assets/img/favicon.png" rel="icon">
<link href="assets/img/apple-touch-icon.png" rel="apple-touch-icon">
<!-- Google Fonts -->
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i|Raleway:300,300i,400,400i,500,500i,600,600i,700,700i|Poppins:300,300i,400,400i,500,500i,600,600i,700,700i" rel="stylesheet">
<!-- Vendor CSS Files -->
<link href="assets/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<link href="assets/vendor/icofont/icofont.min.css" rel="stylesheet">
<link href="assets/vendor/boxicons/css/boxicons.min.css" rel="stylesheet">
<link href="assets/vendor/owl.carousel/assets/owl.carousel.min.css" rel="stylesheet">
<link href="assets/vendor/venobox/venobox.css" rel="stylesheet">
<link href="assets/vendor/aos/aos.css" rel="stylesheet">
<!-- Template Main CSS File -->
<link href="assets/css/style.css" rel="stylesheet">
<!-- =======================================================
* Template Name: Appland - v2.0.0
* Template URL: https://bootstrapmade.com/free-bootstrap-app-landing-page-template/
* Author: BootstrapMade.com
* License: https://bootstrapmade.com/license/
======================================================== -->
</head>
<body>
<!-- ======= Header ======= -->
<header id="header" class="fixed-top">
<div class="container d-flex">
<div class="logo mr-auto">
<!-- <h1 class="text-light"><a href="index.html">ZY Player</a></h1> -->
<!-- Uncomment below if you prefer to use an image logo -->
<a href="index.html"><img src="assets/img/logo.png" alt="" class="img-fluid"></a>
</div>
<nav class="nav-menu d-none d-lg-block">
<ul>
<li class="active"><a href="#header">Home</a></li>
<li><a href="#features">特色</a></li>
<li><a href="#gallery">截图</a></li>
<li><a href="#faq">常见问题</a></li>
<li class="get-started"><a target="_blank" href="https://github.com/Hunlongyu/ZY-Player/">Github</a></li>
</ul>
</nav><!-- .nav-menu -->
</div>
</header><!-- End Header -->
<!-- ======= Hero Section ======= -->
<section id="hero" class="d-flex align-items-center">
<div class="container">
<div class="row">
<div class="col-lg-6 d-lg-flex flex-lg-column justify-content-center align-items-stretch pt-5 pt-lg-0 order-2 order-lg-1" data-aos="fade-up">
<div>
<h1>ZY Player 资源播放器</h1>
<h2>跨平台视频资源播放器, 简洁免费无广告.</h2>
<a href="https://github.com/Hunlongyu/ZY-Player/releases" target="_blank" class="download-btn"><i class="icofont-home"></i></i> Github 下载</a>
<a href="https://www.lanzous.com/b04s6a3re" target="_blank" class="download-btn"><i class="icofont-cloud"></i> 蓝奏下载 (密码:95px)</a>
</div>
</div>
<div class="col-lg-6 d-lg-flex flex-lg-column align-items-stretch order-1 order-lg-2 hero-img" data-aos="fade-up">
<img src="assets/img/light.png" class="img-fluid" alt="">
</div>
</div>
</div>
</section><!-- End Hero -->
<main id="main">
<!-- ======= App Features Section ======= -->
<section id="features" class="features">
<div class="container">
<div class="section-title">
<h2>软件特色</h2>
<p>经过三个大版本更迭, 软件功能丰富, 操作简单.</p>
</div>
<div class="row no-gutters">
<div class="col-xl-7 d-flex align-items-stretch order-2 order-lg-1">
<div class="content d-flex flex-column justify-content-center">
<div class="row">
<div class="col-md-6 icon-box" data-aos="fade-up">
<i class="bx bx-receipt"></i>
<h4>浏览</h4>
<p>浏览全网热门视频, 支持切换视频源. 详细的电影分类.支持搜索电影名和演员名称. </p>
</div>
<div class="col-md-6 icon-box" data-aos="fade-up" data-aos-delay="100">
<i class="icofont-play-alt-3"></i>
<h4>播放</h4>
<p>支持视频连播, 支持多种播放速度, 支持历史记录, 支持多种全屏播放模式, 支持精简模式(划水模式).</p>
</div>
<div class="col-md-6 icon-box" data-aos="fade-up" data-aos-delay="200">
<i class="icofont-star"></i>
<h4>收藏</h4>
<p>一键收藏喜爱的视频, 一键播放. 一键同步视频信息, 追剧更简单.</p>
</div>
<div class="col-md-6 icon-box" data-aos="fade-up" data-aos-delay="300">
<i class="icofont-share"></i>
<h4>分享</h4>
<p>一键分享热门视频, 包含电影海报, 支持微信播放.</p>
</div>
<div class="col-md-6 icon-box" data-aos="fade-up" data-aos-delay="400">
<i class="icofont-download"></i>
<h4>下载</h4>
<p>部分视频源支持下载 (最大资源网, OK资源网)</p>
</div>
<div class="col-md-6 icon-box" data-aos="fade-up" data-aos-delay="500">
<i class="icofont-cubes"></i>
<h4>其他</h4>
<p>多主题, 多语言, 自动更新</p>
</div>
</div>
</div>
</div>
<div class="image col-xl-5 d-flex align-items-stretch justify-content-center order-1 order-lg-2" data-aos="fade-left" data-aos-delay="100">
<img src="assets/img/features.svg" class="img-fluid" alt="">
</div>
</div>
</div>
</section><!-- End App Features Section -->
<!-- ======= Gallery Section ======= -->
<section id="gallery" class="gallery">
<div class="container">
<div class="section-title">
<h2>截图</h2>
<p>点击查看大图</p>
</div>
<div class="owl-carousel gallery-carousel" data-aos="fade-up">
<a href="assets/img/gallery/001.png" class="venobox" data-gall="gallery-carousel"><img src="assets/img/gallery/001.png" alt=""></a>
<a href="assets/img/gallery/002.png" class="venobox" data-gall="gallery-carousel"><img src="assets/img/gallery/002.png" alt=""></a>
<a href="assets/img/gallery/003.png" class="venobox" data-gall="gallery-carousel"><img src="assets/img/gallery/003.png" alt=""></a>
<a href="assets/img/gallery/004.png" class="venobox" data-gall="gallery-carousel"><img src="assets/img/gallery/004.png" alt=""></a>
<a href="assets/img/gallery/005.png" class="venobox" data-gall="gallery-carousel"><img src="assets/img/gallery/005.png" alt=""></a>
<a href="assets/img/gallery/006.png" class="venobox" data-gall="gallery-carousel"><img src="assets/img/gallery/006.png" alt=""></a>
<a href="assets/img/gallery/007.png" class="venobox" data-gall="gallery-carousel"><img src="assets/img/gallery/007.png" alt=""></a>
<a href="assets/img/gallery/008.png" class="venobox" data-gall="gallery-carousel"><img src="assets/img/gallery/008.png" alt=""></a>
</div>
</div>
</section><!-- End Gallery Section -->
<!-- ======= Frequently Asked Questions Section ======= -->
<section id="faq" class="faq section-bg">
<div class="container">
<div class="section-title">
<h2>常见问题</h2>
<p></p>
</div>
<div class="accordion-list">
<ul>
<li data-aos="fade-up">
<i class="bx bx-help-circle icon-help"></i> <a data-toggle="collapse" class="collapse" href="#accordion-list-1">资源加载不出来或者视频无法播放<i class="bx bx-chevron-down icon-show"></i><i class="bx bx-chevron-up icon-close"></i></a>
<div id="accordion-list-1" class="collapse show" data-parent=".accordion-list">
<p>
一般是资源网服务器不稳定, 或者资源网屏蔽了IP. 请尝试切换到其他视频源.
</p>
</div>
</li>
<li data-aos="fade-up" data-aos-delay="100">
<i class="bx bx-help-circle icon-help"></i> <a data-toggle="collapse" href="#accordion-list-2" class="collapsed">视频下载<i class="bx bx-chevron-down icon-show"></i><i class="bx bx-chevron-up icon-close"></i></a>
<div id="accordion-list-2" class="collapse" data-parent=".accordion-list">
<p>
软件只提供下载链接, 不提供下载功能. 主要是网上的下载工具更优秀. 且只有部分视频源支持下载.(最大资源网和OK资源网)
</p>
</div>
</li>
<li data-aos="fade-up" data-aos-delay="200">
<i class="bx bx-help-circle icon-help"></i> <a data-toggle="collapse" href="#accordion-list-3" class="collapsed">跨平台<i class="bx bx-chevron-down icon-show"></i><i class="bx bx-chevron-up icon-close"></i></a>
<div id="accordion-list-3" class="collapse" data-parent=".accordion-list">
<p>
目前支持 Windows, Mac, Linux 桌面系统. 暂不支持手机端或者电视端. 未来会考虑实现全平台.
</p>
</div>
</li>
<li data-aos="fade-up" data-aos-delay="300">
<i class="bx bx-help-circle icon-help"></i> <a data-toggle="collapse" href="#accordion-list-4" class="collapsed">分享<i class="bx bx-chevron-down icon-show"></i><i class="bx bx-chevron-up icon-close"></i></a>
<div id="accordion-list-4" class="collapse" data-parent=".accordion-list">
<p>
主要是分享到手机端, 长按二维码识别播放. 或者用手机扫一扫二维码播放. 支持微信打开播放. 请勿分享传播违法资源, 否则后果自负.
</p>
</div>
</li>
</ul>
</div>
</div>
</section><!-- End Frequently Asked Questions Section -->
</main><!-- End #main -->
<!-- ======= Footer ======= -->
<footer id="footer">
<div class="footer-top">
<div class="container">
<div class="row">
<div class="col-lg-3 col-md-6 footer-contact" data-aos="fade-up">
<h3>ZY Player</h3>
<p>
<strong>作者:</strong> Hunlongyu<br>
<strong>Email:</strong> hunlongyu@gmail.com<br>
</p>
</div>
<div class="col-lg-3 col-md-6 footer-links" data-aos="fade-up" data-aos-delay="100">
<h4>友情链接</h4>
<ul>
<li><i class="bx bx-chevron-right"></i> <a target="_blank" href="#">Home</a></li>
<li><i class="bx bx-chevron-right"></i> <a target="_blank" href="https://github.com/Hunlongyu/ZY-Player">Github</a></li>
</ul>
</div>
<div class="col-lg-3 col-md-6 footer-links" data-aos="fade-up" data-aos-delay="200">
<h4>帮助</h4>
<ul>
<li><i class="bx bx-chevron-right"></i> <a target="_blank" href="https://github.com/Hunlongyu/ZY-Player/issues">反馈</a></li>
<li><i class="bx bx-chevron-right"></i> <a target="_blank" href="https://github.com/Hunlongyu/ZY-Player/releases">版本</a></li>
</ul>
</div>
</div>
</div>
</div>
<div class="container py-4">
<div class="copyright">
&copy; Copyright <strong><span>ZY Player</span></strong>. All Rights Reserved
</div>
<div class="credits">
<!-- All the links in the footer should remain intact. -->
<!-- You can delete the links only if you purchased the pro version. -->
<!-- Licensing information: https://bootstrapmade.com/license/ -->
<!-- Purchase the pro version with working PHP/AJAX contact form: https://bootstrapmade.com/free-bootstrap-app-landing-page-template/ -->
Designed by <a href="https://github.com/Hunlongyu/">Hunlongyu</a>
</div>
</div>
</footer><!-- End Footer -->
<a href="#" class="back-to-top"><i class="icofont-simple-up"></i></a>
<!-- Vendor JS Files -->
<script src="assets/vendor/jquery/jquery.min.js"></script>
<script src="assets/vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
<script src="assets/vendor/jquery.easing/jquery.easing.min.js"></script>
<script src="assets/vendor/owl.carousel/owl.carousel.min.js"></script>
<script src="assets/vendor/venobox/venobox.min.js"></script>
<script src="assets/vendor/aos/aos.js"></script>
<!-- Template Main JS File -->
<script src="assets/js/main.js"></script>
</body>
</html>

View File

@@ -1,37 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name=viewport content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no,minimal-ui">
<meta name="referrer" content="no-referrer">
<title>ZY Player</title>
<style type="text/css">
html, body {width:100%;height:100%;margin:0;padding:0;overflow:hidden;}
</style>
</head>
<body>
<div id="mse"></div>
<script src="//cdn.jsdelivr.net/npm/xgplayer@1.1.4/browser/index.js" charset="utf-8"></script>
<script src="//cdn.jsdelivr.net/npm/xgplayer-hls.js/browser/index.js" charset="utf-8"></script><script>
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;
}
let link = window.location.href
let url = get('url')
let player = new HlsJsPlayer({
"id": "mse",
"url": url,
"playsinline": true,
"autoplay": true,
"fluid": true,
"height": window.innerHeight,
"width": window.innerWidth,
"playbackRate": [ 0.5, 0.75, 1, 1.25, 1.5, 1.75, 2, 3 ],
"x5-video-player-type": "h5",
"x5-video-player-fullscreen": "true"
})
</script>
</body>
</html>

View File

@@ -1,59 +1,48 @@
{
"name": "zy",
"version": "1.0.4",
"version": "0.1.0",
"private": true,
"author": {
"name": "Hunlongyu",
"email": "hunlongyu@gmail.com"
},
"description": "ZY Player 资源播放器",
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"test:unit": "vue-cli-service test:unit",
"lint": "vue-cli-service lint",
"electron:build": "vue-cli-service electron:build",
"dev": "vue-cli-service electron:serve",
"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",
"release": "vue-cli-service electron:build -p always"
"postuninstall": "electron-builder install-app-deps"
},
"main": "background.js",
"dependencies": {
"axios": "^0.19.2",
"chai-as-promised": "^7.1.1",
"core-js": "^3.6.5",
"dexie": "^2.0.4",
"electron-updater": "^4.2.5",
"element-ui": "^2.13.1",
"html2canvas": "^1.0.0-rc.5",
"leancloud-storage": "^4.5.3",
"macaddress": "^0.2.9",
"modern-normalize": "^0.6.0",
"qrcode.vue": "^1.7.0",
"modern-normalize": "^1.0.0",
"vue": "^2.6.11",
"vue-i18n": "^8.17.0",
"vuex": "^3.1.3",
"xgplayer": "^2.6.24",
"xgplayer-hls.js": "^2.2.2"
"vuex": "^3.4.0"
},
"devDependencies": {
"@vue/cli-plugin-babel": "~4.3.0",
"@vue/cli-plugin-eslint": "~4.3.0",
"@vue/cli-plugin-vuex": "~4.3.0",
"@vue/cli-service": "~4.3.0",
"@vue/cli-plugin-babel": "~4.5.0",
"@vue/cli-plugin-eslint": "~4.5.0",
"@vue/cli-plugin-unit-mocha": "~4.5.0",
"@vue/cli-plugin-vuex": "~4.5.0",
"@vue/cli-service": "~4.5.0",
"@vue/eslint-config-standard": "^5.1.2",
"@vue/test-utils": "^1.0.3",
"babel-eslint": "^10.1.0",
"babel-plugin-component": "^1.1.1",
"electron": "^8.3.0",
"chai": "^4.1.2",
"electron": "^10.1.3",
"electron-devtools-installer": "^3.1.1",
"eslint": "^6.7.2",
"eslint-plugin-import": "^2.20.2",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^4.2.1",
"eslint-plugin-standard": "^4.0.0",
"eslint-plugin-vue": "^6.2.2",
"sass": "^1.26.3",
"sass": "^1.26.5",
"sass-loader": "^8.0.2",
"vue-cli-plugin-electron-builder": "2.0.0-beta.6",
"vue-template-compiler": "^2.6.11"
"spectron": "^12.0.0",
"vue-cli-plugin-electron-builder": "~2.0.0-rc.4",
"vue-svg-loader": "^0.16.0",
"vue-template-compiler": "^2.6.12"
}
}

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

View File

@@ -4,17 +4,8 @@
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>icon.png">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title><%= htmlWebpackPlugin.options.title %></title>
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?62aeb2505bfa26a2461d2a7a3b485096";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
</head>
<body>
<noscript>

View File

@@ -1,51 +1,20 @@
<template>
<div id="app" :class="appTheme">
<Aside />
<div class="zy-body">
<Frame />
<div id="app" class="theme-light">
<Frame />
<div class="main">
<Aside />
<Film v-show="view === 'Film'" />
<Play v-show="view === 'Play'" />
<Star v-show="view === 'Star'" />
<Setting v-show="view === 'Setting'" />
<IPTV v-show="view === 'IPTV'" />
</div>
<transition name="slide">
<Detail v-if="detail.show"/>
</transition>
<transition name="slide">
<Share v-if="share.show"/>
</transition>
</div>
</template>
<script>
export default {
name: 'App',
data () {
return {
appTheme: 'theme-light'
}
},
computed: {
view () {
return this.$store.getters.getView
},
detail () {
return this.$store.getters.getDetail
},
share () {
return this.$store.getters.getShare
},
theme () {
return this.$store.getters.getTheme
}
},
watch: {
theme () {
this.changeTheme()
}
},
methods: {
changeTheme () {
this.appTheme = `theme-${this.theme}`
view: 'IPTV'
}
}
}
@@ -55,26 +24,15 @@ export default {
@import './assets/scss/theme.scss';
html, body, #app{
height: 100%;
border-radius: 6px;
overflow: hidden;
}
#app {
#app{
font-family: 'Helvetica Neue', Helvetica, 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', SimSun, sans-serif;
-webkit-font-smoothing: antialiased;
-webkit-tap-highlight-color: transparent;
width: 100%;
height: 100%;
overflow: hidden;
display: flex;
justify-content: space-between;
align-items: flex-start;
.zy-body{
flex: 1;
height: 100%;
.main{
display: flex;
justify-content: flex-start;
align-items: flex-start;
flex-direction: column;
padding: 0 20px 20px;
height: calc(100% - 50px);
}
}
</style>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 232 KiB

View File

@@ -0,0 +1,14 @@
<svg
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M14 3V3.28988C16.8915 4.15043 19 6.82898 19 10V17H20V19H4V17H5V10C5 6.82898 7.10851 4.15043 10 3.28988V3C10 1.89543 10.8954 1 12 1C13.1046 1 14 1.89543 14 3ZM7 17H17V10C17 7.23858 14.7614 5 12 5C9.23858 5 7 7.23858 7 10V17ZM14 21V20H10V21C10 22.1046 10.8954 23 12 23C13.1046 23 14 22.1046 14 21Z"
fill="currentColor"
/>
</svg>

After

Width:  |  Height:  |  Size: 502 B

Some files were not shown because too many files have changed in this diff Show More