diff --git a/README.md b/README.md index 79b813e..cfc0fcf 100644 --- a/README.md +++ b/README.md @@ -64,7 +64,7 @@ ## 使用说明 1. 进行助手的安装,参考[在线安装](#在线安装)或[离线安装](#离线安装)进行助手安装 -2. 助手安装完成后,可进行助手的配置,可参考[配置说明](https://lvshuncai.com/qzone-export.html#配置说明) +2. 助手安装完成后,可进行助手的配置,可参考[配置说明](https://lvshuncai.com/archives/qzone-export.html#配置说明) 3. 助手配置完成后,先登录自己的[QQ空间](https://i.qq.com/) 4. 进入需要备份的QQ空间,如若备份自己的[QQ空间](https://i.qq.com/),可跳过 5. 刷新QQ空间使助手配置生效,如若是保存配置后再打开的QQ空间页面,可跳过 @@ -74,18 +74,18 @@ [![7TIqG8.png](https://s4.ax1x.com/2022/01/24/7TIqG8.png)](https://imgtu.com/i/7TIqG8) 8. 助手将开始收集QQ空间的数据,请耐心等待数据收集完成 [![75eUC8.png](https://s4.ax1x.com/2022/01/23/75eUC8.png)](https://imgtu.com/i/75eUC8) -9. 采集完成后,助手自动添加[多媒体文件](https://lvshuncai.com/qzone-export.html#多媒体文件)的下载任务到[文件下载工具](https://lvshuncai.com/qzone-export.html#文件下载工具) +9. 采集完成后,助手自动添加[多媒体文件](https://lvshuncai.com/archives/qzone-export.html#多媒体文件)的下载任务到[文件下载工具](https://lvshuncai.com/archives/qzone-export.html#文件下载工具) [![75mZrj.png](https://s4.ax1x.com/2022/01/23/75mZrj.png)](https://imgtu.com/i/75mZrj) 10. 下载任务添加完成后,备份界面下方将出现【打包下载】按钮 [![75mbes.png](https://s4.ax1x.com/2022/01/23/75mbes.png)](https://imgtu.com/i/75mbes) -11. 点击【打包下载】按钮时,助手自动打包[文案内容](https://lvshuncai.com/qzone-export.html#文案内容)到ZIP包中并下载ZIP包 +11. 点击【打包下载】按钮时,助手自动打包[文案内容](https://lvshuncai.com/archives/qzone-export.html#文案内容)到ZIP包中并下载ZIP包 [![75nAFx.png](https://s4.ax1x.com/2022/01/23/75nAFx.png)](https://imgtu.com/i/75nAFx) -12. ZIP包下载完成后,点击【查看备份】按钮查看ZIP包,或自行打开[文案内容下载文件夹](https://lvshuncai.com/qzone-export.html#文案内容下载文件夹)查看[备份压缩包](https://lvshuncai.com/qzone-export.html#备份压缩包) +12. ZIP包下载完成后,点击【查看备份】按钮查看ZIP包,或自行打开[文案内容下载文件夹](https://lvshuncai.com/archives/qzone-export.html#文案内容下载文件夹)查看[备份压缩包](https://lvshuncai.com/archives/qzone-export.html#备份压缩包) [![75neSO.png](https://s4.ax1x.com/2022/01/23/75neSO.png)](https://imgtu.com/i/75neSO) -13. 再进行[文案内容备份文件夹](https://lvshuncai.com/qzone-export.html#文案内容备份文件夹)与[多媒体文件备份文件夹](https://lvshuncai.com/qzone-export.html#多媒体文件备份文件夹)进行合并,详情参考:[备份文件夹合并](https://lvshuncai.com/qzone-export.html#备份文件夹合并) -14. 合并完成后,根据备份类型的不同,自行[查看备份内容](https://lvshuncai.com/qzone-export.html#查看备份内容) +13. 再进行[文案内容备份文件夹](https://lvshuncai.com/archives/qzone-export.html#文案内容备份文件夹)与[多媒体文件备份文件夹](https://lvshuncai.com/archives/qzone-export.html#多媒体文件备份文件夹)进行合并,详情参考:[备份文件夹合并](https://lvshuncai.com/archives/qzone-export.html#备份文件夹合并) +14. 合并完成后,根据备份类型的不同,自行[查看备份内容](https://lvshuncai.com/archives/qzone-export.html#查看备份内容) [![7T4kxH.png](https://s4.ax1x.com/2022/01/24/7T4kxH.png)](https://imgtu.com/i/7T4kxH) -15. [点击这里查看更多说明](https://lvshuncai.com/qzone-export.html#使用说明) +15. [点击这里查看更多说明](https://lvshuncai.com/archives/qzone-export.html#使用说明) ## 常见问题 是否会导致QQ空间账号被冻结 @@ -108,14 +108,14 @@ - 官方版保证安全,第三方修改版除外。 - 更多详情请访问[隐私政策](https://github.com/ShunCai/QZoneExport/wiki/Privacy-Policy) -> 更多问题请访问:[常见问题](https://lvshuncai.com/qzone-export.html#常见问题) +> 更多问题请访问:[常见问题](https://lvshuncai.com/archives/qzone-export.html#常见问题) ## 配置说明 1. 浏览器插件栏右键助手图标,选择【选项】菜单后,将进入助手配置页 [![75Fc4g.png](https://s4.ax1x.com/2022/01/23/75Fc4g.png)](https://imgtu.com/i/75Fc4g) 3. 【注意事项】:助手更新配置后,需要点击下方配置页的保存按钮 4. 【注意事项】:保存后,需要刷新QQ空间页面才能使最新的配置在备份页面生效。 -5. 更多配置说明请访问:[配置说明](https://lvshuncai.com/qzone-export.html#配置说明) +5. 更多配置说明请访问:[配置说明](https://lvshuncai.com/archives/qzone-export.html#配置说明) ## 预览 diff --git a/src/css/content.css b/src/css/content.css index c083078..b505f6e 100644 --- a/src/css/content.css +++ b/src/css/content.css @@ -1,11 +1,24 @@ .blocker { - z-index:9999; + z-index: 9999; } -#progressModal{ +#progressModal { color: #333; } #progressModal a { color: rgb(0, 123, 255) !important; +} + +#progressModal p { + font-size: medium; +} + +#progressModal details { + font-size: medium; + display: none; +} + +#progressModal details>p { + margin-left: 14px; } \ No newline at end of file diff --git a/src/export/css/common.css b/src/export/css/common.css index f0db7b0..14afeca 100644 --- a/src/export/css/common.css +++ b/src/export/css/common.css @@ -30,23 +30,7 @@ body::-webkit-scrollbar-track-piece { body { min-height: 900px; - font: normal 16px sans-serif; -} - -@media screen and (max-width: 820px) { - body { - min-height: 1100px; - } -} - -@media screen and (max-width: 640px) { - body { - min-height: 1100px; - } -} - -.BlogAnchor { - top: 56px !important; + font: normal 100% sans-serif; } .markdown-body { @@ -95,9 +79,12 @@ body { border-radius: 15px; } + +/* 首页背景 */ + .export-tips { margin-top: 30px; - height: 400px; + height: 50vh; filter: saturate(0.5); background-image: url(../images/index.jpg); background-size: 100%; @@ -106,19 +93,8 @@ body { border-radius: 20px; } -@media screen and (max-width: 820px) { - .export-tips { - background-size: 100% 100%; - height: 232px; - } -} -@media screen and (max-width: 640px) { - .export-tips { - background-size: 100% 100%; - height: 232px; - } -} +/* 首页描述 */ .export-tips h5 { position: fixed; @@ -127,20 +103,20 @@ body { color: white; } + +/* 首页模块导航 */ + .data-info { margin-top: 30px; } -/* 通用样式 */ - - /* 头像 */ .avatar { display: block; - width: 50px; - height: 50px; + width: 40px; + height: 40px; float: left; margin: .2em 0 0; } @@ -161,6 +137,9 @@ body { line-height: inherit; } + +/* 日志分类 */ + #blogs-types { max-height: 90%; overflow: auto; @@ -171,40 +150,6 @@ body { z-index: 1030; } -@media screen and (max-width: 820px) { - #blogs-types { - display: none; - } -} - -@media screen and (max-width: 640px) { - #blogs-types { - display: none; - } -} - -#blogs-type-list { - left: 18%; -} - -@media screen and (max-width: 820px) { - #blogs-type-list { - left: 0; - flex: 0 0 auto; - width: auto; - max-width: 100%; - } -} - -@media screen and (max-width: 640px) { - #blogs-type-list { - left: 0; - flex: 0 0 auto; - width: auto; - max-width: 100%; - } -} - /* 日志样式 */ @@ -271,10 +216,6 @@ body { overflow: hidden; } -.medias-item:nth-last-child(1):first-child { - flex: 0 0 40%; -} - .content a { cursor: pointer; } @@ -336,73 +277,6 @@ body { border-radius: 4px } -.BlogAnchor { - width: 210px !important -} - -@media screen and (max-width: 1620px) { - #write { - margin: 40px 40px 40px 250px; - padding: 20px 40px; - } - .BlogAnchor { - width: 210px !important - } -} - -@media screen and (max-width: 1370px) { - #write { - margin: 30px 30px 30px 230px; - padding: 20px 40px; - } - .BlogAnchor { - width: 200px !important - } -} - -@media screen and (max-width: 1220px) { - #write { - margin: 20px 20px 20px 220px; - padding: 20px 40px; - } -} - -@media screen and (max-width: 820px) { - #write { - margin: 20px 20px 20px 200px; - padding: 20px 20px; - font-size: 15px; - line-height: 170% - } - .BlogAnchor { - width: 180px !important - } - .html_header span::before { - margin-left: 0 - } - .html_header span::after { - font-size: 15px; - } -} - -@media screen and (max-width: 640px) { - #write { - margin: 10px; - padding: 16px; - font-size: 14px; - line-height: 160% - } - .BlogAnchor { - display: none; - } - h2 { - font-size: 28px; - } - h3 { - font-size: 22px; - } -} - /*scroll_style*/ @@ -451,13 +325,12 @@ body { .BlogAnchor { background: #fff; - /* padding: 10px 0; */ line-height: 180%; position: fixed; height: 100%; - width: 200px; + width: 210px; left: 0; - top: 0; + top: 56px; border-right: 1px solid #E6ECF1; } @@ -512,11 +385,13 @@ body { font-weight: bold; } + /* 左侧导航徽章数 */ + .BlogAnchor li .nav_item .itemSize { text-indent: 0px; float: right; - margin-top: 6px; + margin-top: 7px; } #AnchorContentToggle { @@ -592,11 +467,13 @@ body { background-color: transparent !important; } + +/* 相册、相片下方统计信息 */ + .pic-num-wrap { position: absolute; - top: 10.4vw; left: 0; - bottom: 0px; + top: 200px; width: 100%; height: 50px; text-align: right; @@ -621,7 +498,6 @@ body { display: flex; justify-content: center; align-items: center; - height: 13vw; cursor: pointer; overflow-x: hidden; text-align: center; @@ -641,7 +517,7 @@ body { .comment-img { height: 100px !important; - width: 100px!important; + width: 100px !important; cursor: pointer; text-decoration: none; } @@ -913,7 +789,7 @@ pre { } .visitor-list { - margin-top: .5rem!important; + margin-top: .5rem !important; } .visitor-list .list-group-item { @@ -935,41 +811,58 @@ pre { width: 110px; } -@media screen and (max-width: 820px) { - .index-list-group .list-group-item { - display: flex!important; - justify-content: space-between!important; - align-items: center!important; - } + +/* 相册相片列表赞、评论、浏览按钮样式 */ + + +/* 点赞 */ + +#albums_html .thumbnail .viewlikes, +.photos .thumbnail .viewlikes, +.videos .thumbnail .viewlikes { + font-size: 18px; + line-height: 1.5; } -@media screen and (max-width: 640px) { - .index-list-group .list-group-item { - display: flex!important; - justify-content: space-between!important; - align-items: center!important; - } + +/* 评论 */ + +#albums_html .thumbnail .viewcomments, +.photos .thumbnail .viewcomments, +.videos .thumbnail .viewcomments { + font-size: 18px; + line-height: 1.5; } -/* 相册相片列表赞、评论、浏览按钮样式 */ +/* 最近浏览 */ -.photos .thumbnail .viewlikes { - position: absolute; - top: 25px; - left: 10px; - font-size: 20px; +#albums_html .thumbnail .viewVisitors, +.photos .thumbnail .viewVisitors, +.videos .thumbnail .viewVisitors { + font-size: 18px; + line-height: 1.5; } -.photos .thumbnail .viewcomments { + +/* 相册相片数量 */ + +.album-photo-total { position: absolute; - top: 25px; - left: 50px; - font-size: 20px; + right: 0; + font-size: larger; + background-color: #28a745cc; } -/* 说说图片左右上下居中 */ +/* 九宫格-图片左右上下居中 */ + + +/* 九宫格单图样式 */ + +.medias-item:nth-last-child(1):first-child { + flex: 0 0 35%; +} .message-lightbox { display: flex; @@ -987,42 +880,43 @@ pre { object-fit: cover; } + +/* 九宫格双列样式 */ + .two { - /* max-width: 600px; */ - max-width: 30vw; + max-width: 550px; overflow: hidden; } .two .message-lightbox { - /* width: 279px; - height: 279px; */ - width: 12vw; - height: 12vw; + width: 250px; + height: 250px; overflow: hidden; } .two .message-lightbox-external { - /* width: 279px; - height: 279px; */ - width: 12vw; - height: 12vw; + width: 250px; + height: 250px; overflow: hidden; } + +/* 九宫格三列样式 */ + .three { - max-width: 40vw; + max-width: 500px; overflow: hidden; } .three .message-lightbox { - width: 12vw; - height: 12vw; + width: 150px; + height: 150px; overflow: hidden; } .three .message-lightbox-external { - width: 12vw; - height: 12vw9vw; + width: 150px; + height: 150px; overflow: hidden; } @@ -1054,21 +948,36 @@ pre { } -/* 画廊相册自定义样式 */ +/* 评论人头像 */ + +.comment .avatar { + width: 40px; + height: 40px; +} /* 相册右侧评论样式 */ +.lg-comment-body { + padding-left: 10px; +} + + +/* 相册画廊左侧图片展示区 */ + .lg-outer.lg-comment-active { width: auto; - right: 20%; + right: 25%; left: 10px; } + +/* 相册画廊右侧评论展示区 */ + .lg-outer.lg-comment-active .lg-comment-box { left: auto; top: 0; - width: 20%; + width: 25%; bottom: 0; position: fixed; right: 0; @@ -1080,7 +989,7 @@ pre { } .lg-comment-toggle.lg-icon.has-comments { - color: #007bff!important; + color: #007bff !important; } .lg-comment-box { @@ -1101,20 +1010,20 @@ pre { .lg-comment-box .comments.border-top { border-top: none !important; - border-bottom: 1px solid #dee2e6!important; + border-bottom: 1px solid #dee2e6 !important; } /* 画廊相册视频预览图不拉伸 */ .lg-outer .lg-video-cont .lg-object { - width: auto!important; - height: 100%!important; + width: auto !important; + height: 100% !important; } .lg-outer .lg-object.lg-video-poster { - width: auto!important; - height: 100%!important; + width: auto !important; + height: 100% !important; } @@ -1129,24 +1038,9 @@ pre { position: relative; } -@media (min-width: 1200px) { - .messages { - max-width: 60vw; - } -} - /* 相册样式 */ -#albums_html .card-img { - width: inherit; - height: 13vw; -} - -#albums_html .thumbnail { - width: 13vw; -} - #albums_html .thumbnail a { display: flex; justify-content: center; @@ -1158,184 +1052,495 @@ pre { } -/* 相册赞、评论、浏览按钮样式 */ - -#albums_html .thumbnail .viewlikes { - position: absolute; - top: 25px; - left: 10px; - font-size: 17px; -} +/* 好友列表样式 */ -#albums_html .thumbnail .viewcomments { - position: absolute; - top: 25px; - left: 50px; - font-size: 17px; +#friends-table img { + width: 50px; + height: 50px; + max-width: 50px; + max-height: 50px; + border-radius: 50px; } -#albums_html .thumbnail .viewVisitors { - position: absolute; - top: 25px; - left: 95px; - font-size: 17px; +#friends-list img { + width: 50px; + height: 50px; + border-radius: 50px; } -@media screen and (max-width: 1990px) { - .albums .pic-num-wrap { - top: 10.4vw; - } +#friends-list .list-group-item { + border-radius: 15px; } -@media screen and (max-width: 1680px) { - .albums .pic-num-wrap { - top: 10vw; - } +#friends-list .fa { + line-height: inherit; } -@media screen and (max-width: 1600px) { - .albums .pic-num-wrap { - top: 9.9vw; - } +#friends-types { + max-height: 90%; + overflow: auto; + position: fixed; + top: 60px; + right: 0; + left: 0; + z-index: 1030; } -@media screen and (max-width: 1440px) { - #albums_html { - max-width: 65vw; - } - .albums .pic-num-wrap { - top: 9.5vw; - } -} -@media screen and (max-width: 1400px) { - .albums .pic-num-wrap { - top: 9.5vw; - } -} +/* 好友列表左边距 */ -@media screen and (max-width: 1366px) { - .albums .pic-num-wrap { - top: 9.4vw; - } +#friends-type-list { + left: 25%; } -@media screen and (max-width: 1280px) { - #albums_html { - max-width: 65vw; - } - .albums .pic-num-wrap { - top: 9.1vw; - } -} -@media screen and (max-width: 1152px) { - .albums .pic-num-wrap { - top: 8.8vw; - } -} +/* 好友图标下边距 */ -@media screen and (max-width: 1024px) { - .albums .pic-num-wrap { - top: 8vw; - } -} - -@media screen and (max-width: 800px) { - #albums_html { - max-width: 55vw; - } - .albums .pic-num-wrap { - top: 6.7vw; - } +#friends-type-list .list-inline { + margin-bottom: 0.3rem; } -/* 留言板样式 */ +/* 评论人内容 */ -@media (min-width: 1200px) { - #boards_html { - max-width: 60vw; - } +.comment-text { + margin-left: 45px; } -/* 收藏夹样式 */ +/* 语音 */ -@media (min-width: 1200px) { - #favorites_html { - max-width: 60vw; - } +audio { + max-width: 80%; } -/* 好友列表样式 */ +/* 留言引用 */ -#friends-table img { - width: 50px; - height: 50px; - border-radius: 50px; +#boards_html .comment_quote { + padding: 5px; + margin-top: 8px; + margin-bottom: 8px; + background-color: #f5f5f5; } -#friends-list img { - width: 50px; - height: 50px; - border-radius: 50px; -} -#friends-list .list-group-item { - border-radius: 15px; -} +/* 相册、相片、视频名称、描述 */ -#friends-list img { - max-width: 10vw; - max-height: 225px; +.card-body { + padding: 1.25rem 0.5rem !important; } -#friends-list .fa { - line-height: inherit; -} -#friends-types { - max-height: 90%; - overflow: auto; - position: fixed; - top: 60px; - right: 0; - left: 0; - z-index: 1030; +/* 引用块,比如转发的说说、分享的来源 */ + +blockquote.source { + border-left: 0.35rem solid #dee2e6 !important; + padding-left: 0.75rem; } -@media screen and (max-width: 820px) { +@media (max-width: 576px) { + /* 首页 */ + .export-tips { + background-size: 100% 100%; + height: 232px; + } + /* 头像 */ + .avatar { + width: 35px; + height: 35px; + } + /* 评论人头像 */ + .comment-avatar>.avatar { + width: 35px; + height: 35px; + } + /* 左侧导航 */ + #BlogAnchor { + display: none !important; + } + /* 日志分类 */ + #blogs-types { + display: none; + } + /* 日志列表 */ + #blogs-type-list { + left: 0; + flex: 0 0 auto; + width: 100%; + max-width: 100%; + } + /* 好友分组 */ #friends-types { display: none; } + /* 好友列表 */ + #friends-type-list { + left: 0; + flex: 0 0 auto; + width: 100%; + max-width: 100%; + } + /* 相册列表 */ + #albums_html .card-img { + width: inherit; + height: 250px; + } + #albums_html .thumbnail { + width: 100%; + } + /* 相片列表 */ + .photos .card-img { + width: inherit; + height: 250px; + } + .photos .thumbnail { + width: 100%; + } + .photos .lightbox { + height: 250px; + } + /* 视频列表 */ + .videos .lightbox { + height: 250px; + } + /* 九宫格单图样式 */ + .medias-item:nth-last-child(1):first-child { + flex: 0 0 90%; + } + /* 九宫格两列布局 */ + .two { + max-width: 350px; + overflow: hidden; + } + /* 九宫格两列布局 */ + .two .message-lightbox { + width: 150px !important; + height: 150px !important; + overflow: hidden; + } + .two .message-lightbox-external { + width: 150px !important; + height: 150px !important; + overflow: hidden; + } + /* 九宫格三列布局 */ + .three { + max-width: 350px; + overflow: hidden; + } + /* 九宫格两列布局 */ + .three .message-lightbox { + width: 100px !important; + height: 100px !important; + overflow: hidden; + } + .three .message-lightbox-external { + width: 100px !important; + height: 100px !important; + overflow: hidden; + } + /* 相册画廊左侧图片展示区 */ + .lg-outer.lg-comment-active { + right: 0 !important; + } + /* 相册画廊右侧评论展示区 */ + .lg-outer.lg-comment-active .lg-comment-box { + width: 100% !important; + } } -@media screen and (max-width: 640px) { +@media (min-width: 576px) { + /* 头像 */ + .avatar { + width: 35px; + height: 35px; + } + /* 评论人头像 */ + .comment-avatar>.avatar { + width: 35px; + height: 35px; + } + /* 左侧导航 */ + #BlogAnchor { + display: none !important; + } + /* 日志分类 */ + #blogs-types { + display: none; + } + /* 日志列表 */ + #blogs-type-list { + left: 0; + flex: 0 0 auto; + width: 100%; + max-width: 100%; + } + /* 好友分组 */ #friends-types { display: none; } -} - -#friends-type-list { - left: 25%; -} - -@media screen and (max-width: 820px) { + /* 好友列表 */ #friends-type-list { left: 0; flex: 0 0 auto; - width: auto; + width: 100%; max-width: 100%; } + /* 相册列表 */ + #albums_html .card-img { + width: inherit; + height: 250px; + } + #albums_html .thumbnail { + width: 100%; + } + /* 相片列表 */ + .photos .card-img { + width: inherit; + height: 250px; + } + .photos .thumbnail { + width: 100%; + } + .photos .lightbox { + height: 250px; + } + /* 视频列表 */ + .videos .card-img { + width: inherit; + height: 250px; + } + .videos .thumbnail { + width: 250px; + } + .videos .lightbox { + height: 250px; + } + /* 九宫格两列布局 */ + .two { + max-width: 350px; + overflow: hidden; + } + /* 九宫格两列布局 */ + .two .message-lightbox { + width: 150px !important; + height: 150px !important; + overflow: hidden; + } } -@media screen and (max-width: 640px) { +@media (min-width: 768px) { + /* 左侧导航 */ + #BlogAnchor { + display: none !important; + } + /* 日志分类 */ + #blogs-types { + display: none; + } + /* 日志列表 */ + #blogs-type-list { + left: 0; + flex: 0 0 auto; + width: 100%; + max-width: 100%; + } + /* 好友分组 */ + #friends-types { + display: none; + } + /* 好友列表 */ #friends-type-list { left: 0; flex: 0 0 auto; - width: auto; + width: 100%; max-width: 100%; } + /* 相册列表 */ + #albums_html .card-img { + width: inherit; + height: 175px; + } + #albums_html .thumbnail { + width: 175px; + } + #albums_html .pic-num-wrap { + top: 125px; + } + /* 相片列表 */ + .photos .card-img { + width: inherit; + height: 175px; + } + .photos .thumbnail { + width: 175px; + } + .photos .lightbox { + height: 175px; + } + .photos .pic-num-wrap { + top: 125px; + } + /* 视频列表 */ + .videos .card-img { + width: inherit; + height: 175px; + } + .videos .thumbnail { + width: 175px; + } + .videos .lightbox { + height: 175px; + } + .videos .pic-num-wrap { + top: 125px; + } + /* 九宫格两列布局 */ + .two { + max-width: 350px; + overflow: hidden; + } + /* 九宫格两列布局 */ + .two .message-lightbox { + width: 150px !important; + height: 150px !important; + overflow: hidden; + } +} + +@media (min-width: 1000px) { + /* 头像 */ + .avatar { + width: 40px; + height: 40px; + } + /* 评论人头像 */ + .comment-avatar>.avatar { + width: 40px; + height: 40px; + } + /* 左侧导航 */ + #BlogAnchor { + display: block !important; + } + /* 说说 */ + #messages_html, + #albums_html, + #boards_html, + #favorites_html, + #shares_html, + #visitors_html { + max-width: 60vw; + } + /* 日志分类 */ + #blogs-types { + display: block !important; + } + /* 日志列表 */ + #blogs-type-list { + left: 18%; + max-width: 60vw; + flex: auto; + } + /* 好友分组 */ + #friends-types { + display: block !important; + } + /* 好友列表 */ + #friends-type-list { + left: 18%; + max-width: 60vw; + flex: auto; + } + /* 相册列表 */ + #albums_html .card-img { + width: inherit; + height: 180px; + } + #albums_html .thumbnail { + width: 180px; + } + #albums_html .pic-num-wrap { + top: 130px; + } + /* 相片列表 */ + .photos .card-img { + width: inherit; + height: 180px; + } + .photos .thumbnail { + width: 180px; + } + .photos .lightbox { + height: 180px; + } + .photos .pic-num-wrap { + top: 130px; + } + /* 视频列表 */ + .videos .card-img { + width: inherit; + height: 180px; + } + .videos .thumbnail { + width: 180px; + } + .videos .lightbox { + height: 180px; + } + .videos .pic-num-wrap { + top: 130px; + } + /* 九宫格两列布局 */ + .two { + max-width: 31vw; + } + /* 九宫格两列布局 */ + .two .message-lightbox { + width: 14vw !important; + height: 14vw !important; + } +} + +@media (min-width: 1400px) { + /* 相册列表 */ + #albums_html .card-img { + width: inherit; + height: 250px; + } + #albums_html .thumbnail { + width: 250px; + } + #albums_html .pic-num-wrap { + top: 200px; + } + /* 相片列表 */ + .photos .card-img { + width: inherit; + height: 300px; + } + .photos .thumbnail { + width: 300px; + } + .photos .lightbox { + height: 300px; + } + .photos .pic-num-wrap { + top: 250px; + } + /* 视频列表 */ + .videos .card-img { + width: inherit; + height: 300px; + } + .videos .thumbnail { + width: 300px; + } + .videos .lightbox { + height: 300px; + } + .videos .pic-num-wrap { + top: 250px; + } } \ No newline at end of file diff --git a/src/export/js/albums.js b/src/export/js/albums.js index ce27df8..4038dbb 100644 --- a/src/export/js/albums.js +++ b/src/export/js/albums.js @@ -8,4 +8,7 @@ $(function() { // 最近访问 API.Common.registerShowLikeWin(albums); + // 初始化提示 + $('[data-toggle="tooltip"]').tooltip(); + }); \ No newline at end of file diff --git a/src/export/js/boards.js b/src/export/js/boards.js index 9afded6..c004b71 100644 --- a/src/export/js/boards.js +++ b/src/export/js/boards.js @@ -39,7 +39,7 @@ $(function() { mode: 'lg-fade', selector: '.lightgallery', download: false, - thumbnail: true, + thumbnail: false, loop: false }); $galleryDom.galleryIns = galleryIns; diff --git a/src/export/js/common.js b/src/export/js/common.js index b2cb798..fbda27d 100644 --- a/src/export/js/common.js +++ b/src/export/js/common.js @@ -180,7 +180,8 @@ const API = { Videos: {}, // 视频模块 Favorites: {}, // 收藏夹模块 Shares: {}, // 分享模块 - Visitors: {} // 访客模块 + Visitors: {}, // 访客模块 + Statistics: {} // 数据统计模块 }; /** @@ -521,7 +522,7 @@ API.Common = { * 转换HTML特殊字符 */ escHTML(content) { - var l = { "&": /&/g, "<": //g, "'": /\x27/g, """: /\x22/g }; + var l = { "&": /&/g, "<": //g, """: /\x22/g }; for (var i in l) { content = content.replace(l[i], i); } @@ -645,8 +646,9 @@ API.Common = { * @param {string} type 转换类型,默认TEXT,可选HTML,MD * @param {boolean} isRt 是否是处理转发内容 * @param {boolean} isSupportedHtml 内容本身是否支持HTML + * @param {boolean} isEscHTML 是否全部转换HTML标签 */ - formatContent(item, type, isRt, isSupportedHtml) { + formatContent(item, type, isRt, isSupportedHtml, isEscHTML) { if (typeof item === 'string') { // 转换特殊符号 if (!isSupportedHtml) { @@ -660,7 +662,7 @@ API.Common = { item = this.formatMention(item, type); // 转换微信表情 item = API.Common.formatWxEmoji(item, type); - return item; + return isEscHTML ? API.Utils.escHTML(item) : item; } var conlist = (isRt && item.rt_con && item.rt_con['conlist']) || item.conlist || []; var contents = []; @@ -703,7 +705,7 @@ API.Common = { // 普通说说内容? if (info.con) { // 转换话题 - info.custom_display = this.formatTopic(info.con, type); + info.custom_display = this.formatTopic(this.escHTML(info.con), type); // 转换表情 info.custom_display = this.formatEmoticon(info.custom_display, type); // 转换微信表情 @@ -724,9 +726,8 @@ API.Common = { break; } } - let content = contents.join(""); - content = content.replace(/^[\s\xA0]+/, "").replace(/[\s\xA0]+$/, ""); - return content; + const content = contents.join("").replace(/^[\s\xA0]+/, "").replace(/[\s\xA0]+$/, ""); + return isEscHTML ? API.Utils.escHTML(content) : content; }, /** @@ -775,6 +776,9 @@ API.Common = { case 'Photos_HTML': res = '../' + res; break; + case 'Photos_MarkDown': + res = '../../../' + res; + break; case 'Videos_HTML': res = '../' + res; break; @@ -1163,7 +1167,7 @@ API.Common = { break; case 'Shares': - const shareIdx = shares.getIndex(eventTarget.id.replace('Shares-LG-', ''), 'id'); + const shareIdx = shares.getIndex(eventTarget.id.replace('share-medias-', ''), 'id'); // 当前相片的评论 const share = shares[shareIdx]; // 实际上需要显示的评论 @@ -1189,6 +1193,8 @@ API.Common = { const index = $(this).index(); API.Common.renderPhotoPreviews(index, 30); }) + + }); // 画廊切换图片前 @@ -1200,6 +1206,9 @@ API.Common = { gallery.addEventListener('lgAfterSlide', (event) => { // 处理评论信息 API.Common.handleCommentBomEvent(event); + + // 初始化提示信息 + $('.lg-sub-html [data-toggle="tooltip"]').tooltip(); }); }, @@ -1359,7 +1368,7 @@ API.Photos = { photoType = "GIF"; break; case 3: - photoType = "PND"; + photoType = "PNG"; break; case 4: photoType = "BMP"; @@ -1394,12 +1403,20 @@ API.Favorites = { if (!share_info) { return "#"; } + // 相册分享 + if (share_info.album_info && Object.keys(share_info.album_info).length > 0) { + return 'https://user.qzone.qq.com/{owner_uin}/photo/{id}'.format(share_info.album_info); + } + // 日志分享 + if (share_info.blog_info && Object.keys(share_info.blog_info).length > 0) { + return 'https://user.qzone.qq.com/{owner_uin}/blog/{id}'.format(share_info.blog_info); + } + // 音乐分享 if (share_info.music_list && share_info.music_list.length > 0) { - // 音乐分享 return share_info.music_list[0].music_info.play_url; } + // 视频分享 if (share_info.video_list && share_info.video_list.length > 0) { - // 视频分享 return share_info.video_list[0].video_info.play_url; } return share_info.share_url; @@ -1809,81 +1826,83 @@ TPL.VISITOR_LIST = ` * 通用的单条评论模板 */ TPL.COMMON_COMMENT = ` -
` + TPL.COMMON_COMMENT + ` <%}%> <%}%> @@ -1916,175 +1936,181 @@ TPL.MESSAGES_COMMENTS = ` * 说说年今日的单条说说模板 */ TPL.MESSAGES_ITEM = ` -
那年今日
+那年今日
<%for (const [year, yearItems] of yearMaps) {%> <%if (yearItems && yearItems.length > 0) {%> -<%:=year%>年<%:=yearItems.length%>
+<%:=year%>年<%:=yearItems.length%>
<%for (const message of yearItems) {%> ` + TPL.MESSAGES_ITEM + ` <%}%> @@ -2111,50 +2137,51 @@ TPL.MESSAGES_YEAR_ITEMS = ` * 单条留言模板 */ TPL.BOARDS_ITEM = ` -- <%:=API.Utils.formatDate(board.pubtime)%> +
那年今日
+那年今日
<%for (const [year, yearItems] of yearMaps) {%> <%if (yearItems && yearItems.length > 0) {%> -<%:=year%>年<%:=yearItems.length%>
+<%:=year%>年<%:=yearItems.length%>
<%for (const board of yearItems) {%> ` + TPL.BOARDS_ITEM + ` <%}%> @@ -2186,6 +2213,7 @@ TPL.SHARES_COMMENTS = ` <%if(share.comments && share.comments.length > 0){%> <%/* 遍历评论 */%> <%for(let comment of comments.comments){%> +` + TPL.COMMON_COMMENT + ` <%}%> <%}%> @@ -2195,57 +2223,74 @@ TPL.SHARES_COMMENTS = ` * 单条分享的那年今日模板 */ TPL.SHARES_ITEM = ` -
评论
评论
评论
评论
QQ空间导出助手
正在收集QQ空间数据,请不要关闭或刷新当前页面和打开新的QQ空间页面。
+正在采集QQ空间数据,请不要关闭、刷新、或打开新的QQ空间页面。
如若初次使用,请先查看 - 隐私政策 - 与 - 常见问题 - !如遇长时间无动静、卡死等,可点击 - 这里 - 反馈问题 + 隐私政策 与 + 常见问题 !
+如遇长时间无动静、卡死等,可点击这里查看反馈渠道并反馈问题!
备份过程中,建议浏览器停留在当前页面,可加快备份速度!
-
正在采集说说模块数据,请稍后...
+ + + + + + + + + + + +正在采集日志模块数据,请稍后...
+ + + + + + + +正在采集私密日记模块数据,请稍后...
+ + + + + + + +正在采集留言板模块数据,请稍后...
+ + + + +正在采集QQ好友模块数据,请稍后...
+ + + + + +正在采集收藏夹模块数据,请稍后...
+ + + +正在采集分享模块数据,请稍后...
+ + + + + + +正在采集访客模块数据,请稍后...
+ + + +正在采集相册模块数据,请稍后...
+ + + + + + + + + + + + + +正在采集视频模块数据,请稍后...
+ + + + +正在处理其它模块,请稍后...
+ + + + + + + + + + + +公共选项:
公共选项:
日志选项:
公共选项:
日记选项:
公共选项:
公共选项:
相册选项:
+
相册选项:
相片选项:
+
公共选项:
公共选项:
视频选项:
+
公共选项:
好友选项:
公共选项:
公共选项:
公共选项:
文件下载:
文件下载:
文件下载:
QQ空间导出助手
-
登录QQ:
-备份QQ:
-当前模式:
+登录QQ:
+备份QQ:
+备份模式:
QQ空间导出助手
基于已备份的QQ空间数据,添加本地相册,仅适用HTML备份方式
查看与管理已备份的数据,仅适用于增量备份
+相册列表
+ +重置模块:{1}
上次备份:未备份
重置结果:无需重置'.format(uin, moduleName)); - return; - } - // 上次备份文件下载方式 - const downloadType = module.PreBackup.downloadType || QZone_Config.Common.downloadType; - // 上次备份文件下载方式 - const time = module.PreBackup.time; - - // 重置上次备份时间 - module.IncrementTime = '2005-06-06 00:00:00'; - - module.PreBackup.time = '2005-06-06 00:00:00'; - - // 重置配置 - chrome.storage.sync.set(QZone_Config, function() { - // 覆盖配置 - loadOptions(QZone_Config); - - // 重置数据 - // 获取指定模块的上次备份的数据 - const key = uin + "_" + downloadType; - - // 获取数据 - chrome.storage.local.get([key], function(data) { - if (Object.keys(data).length === 0) { - tips('重置QQ:{0}
重置模块:{1}
下载方式:{2}
上次备份:{3}
重置结果:未方式该备份数据'.format(uin, moduleName, downloadType, time)); - return; - } - data[key][moduleName] = undefined; - // 保存数据 - chrome.storage.local.set(data, function(data) { - tips('重置QQ:{0}
重置模块:{1}
下载方式:{2}
上次备份:{3}
重置结果:重置成功'.format(uin, moduleName, downloadType, time)); - return; - }); - }); - }); - - - }) - // 监听个人中心菜单点击事件 $('#v-pills-tab a').on('click', function(e) { e.preventDefault(); @@ -321,7 +269,7 @@ $file_suffix_row.show(); $suffix_timeout_row.show(); - $download_type_help.html('不了解Aria2请忽略该项,仅在Aria2的1.35.0以上版本测试通过,请确保Aria2服务处于启动中,并启用RPC服务,目前仅支持HTTP协议!'); + $download_type_help.html('老司机可用Aria2,小白建议用Motrix,请确保Aria2/Motrix服务处于启动中!'); break; case 'Thunder': $download_status_row.hide(); @@ -335,21 +283,35 @@ $suffix_timeout_row.show(); $download_thread_row.show(); - $download_type_help.html('仅在正版的安装版迅雷(不禁用迅雷基础服务)的10.1.3以上版本测试通过,建议提前启动迅雷,禁用服务或其他版本建议切换迅雷(剪切板)'); + $download_type_help.html('正版的Windows版迅雷10+以上版本测试通过,,建议先启动迅雷,若无法正常唤醒,可切换迅雷(剪切板唤醒)或Aria2等'); + break; + case 'Thunder_Clipboard': + $download_status_row.hide(); + // 隐藏Aria2配置 + $common_aria2_rpc_row.hide(); + $common_aria2_token_row.hide(); + + $task_count_row.show(); + $task_sleep_row.show(); + $file_suffix_row.show(); + $suffix_timeout_row.show(); + $download_thread_row.show(); + + $download_type_help.html('正版的Windows版迅雷10+以上版本测试通过,需要先启动迅雷,并打开迅雷设置中的接管剪切板开关'); break; case 'Thunder_Link': - $task_count_row.hide(); - $task_sleep_row.hide(); $download_status_row.hide(); // 隐藏Aria2配置 $common_aria2_rpc_row.hide(); $common_aria2_token_row.hide(); + $task_count_row.show(); + $task_sleep_row.hide(); $file_suffix_row.show(); $suffix_timeout_row.show(); $download_thread_row.show(); - $download_type_help.html('仅支持迅雷且打开剪切板监听,打开迅雷,复制ZIP包中【迅雷下载链接.txt】文本内容自动新建下载任务'); + $download_type_help.html('打开迅雷设置中的接管剪切板开关,然后复制ZIP包中【迅雷下载链接.txt】中的全部文字内容自动新建下载任务'); break; case 'Browser': $task_count_row.hide(); @@ -368,7 +330,6 @@ case 'QZone': $task_count_row.hide(); $task_sleep_row.hide(); - $download_status_row.hide(); $file_suffix_row.hide(); $suffix_timeout_row.hide(); $download_thread_row.hide(); @@ -523,7 +484,7 @@ let isChecked = $(this).prop("checked"); // 相片列表类型 const listType = $('#photos_images_list_type').val(); - if(listType === 'Detail'){ + if (listType === 'Detail') { $('#photos_images_video').hide(); return; } @@ -724,12 +685,16 @@ $("#photos_list_cost_min").val(options.Photos.randomSeconds.min); $("#photos_list_cost_max").val(options.Photos.randomSeconds.max); $("#photos_list_limit").val(options.Photos.pageSize); + $("#photos_albums_sort_type").val(options.Photos.SortType); + $("#photos_albums_folder_rename_type").val(options.Photos.RenameType); $("#photos_albums_comments_has").prop("checked", options.Photos.Comments.isGet).change(); $("#photos_albums_comments_cost_min").val(options.Photos.Comments.randomSeconds.min); $("#photos_albums_comments_cost_max").val(options.Photos.Comments.randomSeconds.max); $("#photos_albums_comments_limit").val(options.Photos.Comments.pageSize); // 相片列表 $("#photos_images_list_type").val(options.Photos.Images.listType).change(); + // 文件夹结构类型 + $("#photos_file_structure_type").val(options.Photos.Images.fileStructureType); $("#photos_images_cost_min").val(options.Photos.Images.randomSeconds.min); $("#photos_images_cost_max").val(options.Photos.Images.randomSeconds.max); $("#photos_images_limit").val(options.Photos.Images.pageSize); @@ -755,6 +720,7 @@ // 视频模块赋值 $("#videos_exportFormat").val(options.Videos.exportType).change(); + $("#videos_file_structure_type").val(options.Videos.fileStructureType); $("#videos_increment_type").val(options.Videos.IncrementType).change(); $("#videos_increment_time").val(options.Videos.IncrementTime); $("#videos_list_cost_min").val(options.Videos.randomSeconds.min); @@ -829,8 +795,8 @@ $("#common_list_retry_count").val(options.Common.listRetryCount); $("#common_list_retry_sleep").val(options.Common.listRetrySleep); $("#common_download_type").val(options.Common.downloadType).change(); - $('#common_download_status').prop("checked", options.Common.enabledShelf); - chrome.downloads.setShelfEnabled(options.Common.enabledShelf); + $('#common_download_status').prop("checked", options.Common.disabledShelf); + chrome.downloads.setShelfEnabled && chrome.downloads.setShelfEnabled(!options.Common.disabledShelf); $("#common_thunder_task_count").val(options.Common.thunderTaskNum); $("#common_thunder_task_sleep").val(options.Common.thunderTaskSleep); $("#common_download_thread").val(options.Common.downloadThread); @@ -986,6 +952,8 @@ QZone_Config.Photos.IncrementType = $("#photos_increment_type").val(); QZone_Config.Photos.IncrementTime = $("#photos_increment_time").val(); QZone_Config.Photos.pageSize = $("#photos_list_limit").val() * 1; + QZone_Config.Photos.SortType = $("#photos_albums_sort_type").val(); + QZone_Config.Photos.RenameType = $("#photos_albums_folder_rename_type").val(); QZone_Config.Photos.randomSeconds.min = $("#photos_list_cost_min").val() * 1; QZone_Config.Photos.randomSeconds.max = $("#photos_list_cost_max").val() * 1; QZone_Config.Photos.Comments.isGet = $("#photos_albums_comments_has").prop("checked"); @@ -994,6 +962,7 @@ QZone_Config.Photos.Comments.pageSize = $("#photos_albums_comments_limit").val() * 1; QZone_Config.Photos.Images.listType = $("#photos_images_list_type").val(); + QZone_Config.Photos.Images.fileStructureType = $("#photos_file_structure_type").val(); QZone_Config.Photos.Images.randomSeconds.min = $("#photos_images_cost_min").val() * 1; QZone_Config.Photos.Images.randomSeconds.max = $("#photos_images_cost_max").val() * 1; QZone_Config.Photos.Images.pageSize = $("#photos_images_limit").val() * 1; @@ -1020,6 +989,7 @@ // 视频模块赋值 QZone_Config.Videos.exportType = $("#videos_exportFormat").val(); + QZone_Config.Videos.fileStructureType = $("#videos_file_structure_type").val(); QZone_Config.Videos.IncrementType = $("#videos_increment_type").val(); QZone_Config.Videos.IncrementTime = $("#videos_increment_time").val(); QZone_Config.Videos.randomSeconds.min = $("#videos_list_cost_min").val() * 1; @@ -1094,8 +1064,8 @@ QZone_Config.Common.listRetryCount = $("#common_list_retry_count").val() * 1; QZone_Config.Common.listRetrySleep = $("#common_list_retry_sleep").val() * 1; QZone_Config.Common.downloadType = $('#common_download_type').val(); - QZone_Config.Common.enabledShelf = $('#common_download_status').prop("checked"); - chrome.downloads.setShelfEnabled(QZone_Config.Common.enabledShelf); + QZone_Config.Common.disabledShelf = !$('#common_download_status').prop("checked"); + chrome.downloads.setShelfEnabled && chrome.downloads.setShelfEnabled(!QZone_Config.Common.disabledShelf); QZone_Config.Common.thunderTaskNum = $("#common_thunder_task_count").val() * 1; QZone_Config.Common.thunderTaskSleep = $("#common_thunder_task_sleep").val() * 1; QZone_Config.Common.downloadThread = $("#common_download_thread").val() * 1; diff --git a/src/js/popup.js b/src/js/popup.js index d92927d..8790826 100644 --- a/src/js/popup.js +++ b/src/js/popup.js @@ -1,5 +1,9 @@ (function() { + // 上次备份类型 + let PreExportTypes = localStorage.getItem('PreExportTypes') || '[]'; + PreExportTypes = JSON.parse(PreExportTypes); + // 获取当前选项卡ID function getCurrentTabId(callback) { chrome.tabs.query({ active: true, currentWindow: true }, function(tabs) { @@ -32,19 +36,32 @@ const initOwnerOp = (data) => { // 是否为当前用户 - let isOwner = data.Owner.uin == data.Target.uin; + const isOwner = data.Owner.uin == data.Target.uin; // 显示信息 $("#loginUin").text(data.Owner.uin); + $("#loginUin").attr('title', '当前登录账户:' + data.Owner.nickname || data.Owner.name); + $("#targetUin").text(data.Target.uin); + $("#targetUin").attr('title', '当前备份账户:' + data.Target.nickname || data.Target.name); + $("#userType").text(isOwner ? '个人模式' : '他人模式'); + $("#userType").attr('title', isOwner ? '个人模式:将备份自己的空间数据,访问他人空间自动切换他人模式' : '他人模式,将备份他人的空间数据,将会留下访客记录,当然,你有黄钻就当我没说,为什么?真羡慕你看不懂...'); - $("#Diaries").attr("checked", isOwner); - $("#Diaries").attr("disabled", !isOwner); - $("#Friends").attr("checked", isOwner); - $("#Friends").attr("disabled", !isOwner); - $("#Favorites").attr("checked", isOwner); - $("#Favorites").attr("disabled", !isOwner); + // 私有模块 + const privateTypeList = ['Diaries', 'Friends', 'Favorites']; + if (isOwner) { + // 个人模式,取消禁用 + for (const privateType of privateTypeList) { + $("#" + privateType).attr("disabled", false); + } + } else { + // 他人模式,禁用模块 + for (const privateType of privateTypeList) { + $("#" + privateType).prop("checked", false); + $("#" + privateType).attr("disabled", true); + } + } } // 初始化助手配置 @@ -60,7 +77,8 @@ 'File': '助手内部', 'Browser': '浏览器', 'Aria2': 'Aria2', - 'Thunder': '迅雷(自动唤起)', + 'Thunder': '迅雷(助手唤醒)', + 'Thunder_Clipboard': '迅雷(剪切板唤醒)', 'Thunder_Link': '迅雷(下载链接)', 'QZone': 'QQ空间外链', } @@ -84,15 +102,19 @@ break; case 'Aria2': $download_help_reson.text('将调用Aria2服务下载文件'); - $download_help_suggestion.text('点击检查Aria2配置'); + $download_help_suggestion.text('点击这里检查Aria2配置'); break; case 'Thunder': $download_help_reson.text('将调用本地迅雷下载文件'); $download_help_suggestion.text('建议迅雷处于启动状态'); break; + case 'Thunder_Clipboard': + $download_help_reson.text('将自动复制下载链接'); + $download_help_suggestion.text('迅雷需要打开接管剪切板的开关'); + break; case 'Thunder_Link': - $download_help_reson.text('将调用本地迅雷下载文件'); - $download_help_suggestion.text('建议迅雷处于启动状态'); + $download_help_reson.text('仅生成下载链接到备份压缩包中'); + $download_help_suggestion.text('需自行添加下载任务'); break; case 'QZone': $download_help_reson.text('不下载文件,直接使用QQ空间在线文件地址'); @@ -144,9 +166,9 @@ } let contents = []; for (const [className, albums] of albumMap) { - contents.push('