From 83a9971d661493f08b937cc6576c4604d55dcba7 Mon Sep 17 00:00:00 2001 From: Xwite <1797350009@qq.com> Date: Mon, 23 May 2022 19:51:06 +0800 Subject: [PATCH 01/13] fix(EncoderUtils): change default transformation of AES --- .../java/io/legado/app/utils/EncoderUtils.kt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/io/legado/app/utils/EncoderUtils.kt b/app/src/main/java/io/legado/app/utils/EncoderUtils.kt index 9bf400bad..94a96a2ad 100644 --- a/app/src/main/java/io/legado/app/utils/EncoderUtils.kt +++ b/app/src/main/java/io/legado/app/utils/EncoderUtils.kt @@ -47,7 +47,7 @@ object EncoderUtils { * @param data The data. * @param key The key. * @param transformation The name of the transformation, - * 加密算法/加密模式/填充类型, *DES/CBC/PKCS5Padding*. + * 加密算法/加密模式/填充类型, *AES/CBC/PKCS5Padding*. * @param iv The buffer with the IV. The contents of the * buffer are copied to protect against subsequent modification. * @return the Base64-encode bytes of AES encryption @@ -56,7 +56,7 @@ object EncoderUtils { fun encryptAES2Base64( data: ByteArray?, key: ByteArray?, - transformation: String? = "DES/ECB/PKCS5Padding", + transformation: String? = "AES/ECB/PKCS5Padding", iv: ByteArray? = null ): ByteArray? { return Base64.encode(encryptAES(data, key, transformation, iv), Base64.NO_WRAP) @@ -68,7 +68,7 @@ object EncoderUtils { * @param data The data. * @param key The key. * @param transformation The name of the transformation, - * 加密算法/加密模式/填充类型, *DES/CBC/PKCS5Padding*. + * 加密算法/加密模式/填充类型, *AES/CBC/PKCS5Padding*. * @param iv The buffer with the IV. The contents of the * buffer are copied to protect against subsequent modification. * @return the bytes of AES encryption @@ -77,7 +77,7 @@ object EncoderUtils { fun encryptAES( data: ByteArray?, key: ByteArray?, - transformation: String? = "DES/ECB/PKCS5Padding", + transformation: String? = "AES/ECB/PKCS5Padding", iv: ByteArray? = null ): ByteArray? { return symmetricTemplate(data, key, "AES", transformation!!, iv, true) @@ -90,7 +90,7 @@ object EncoderUtils { * @param data The data. * @param key The key. * @param transformation The name of the transformation, - * 加密算法/加密模式/填充类型, *DES/CBC/PKCS5Padding*. + * 加密算法/加密模式/填充类型, *AES/CBC/PKCS5Padding*. * @param iv The buffer with the IV. The contents of the * buffer are copied to protect against subsequent modification. * @return the bytes of AES decryption for Base64-encode bytes @@ -99,7 +99,7 @@ object EncoderUtils { fun decryptBase64AES( data: ByteArray?, key: ByteArray?, - transformation: String = "DES/ECB/PKCS5Padding", + transformation: String = "AES/ECB/PKCS5Padding", iv: ByteArray? = null ): ByteArray? { return decryptAES(Base64.decode(data, Base64.NO_WRAP), key, transformation, iv) @@ -111,7 +111,7 @@ object EncoderUtils { * @param data The data. * @param key The key. * @param transformation The name of the transformation, - * 加密算法/加密模式/填充类型, *DES/CBC/PKCS5Padding*. + * 加密算法/加密模式/填充类型, *AES/CBC/PKCS5Padding*. * @param iv The buffer with the IV. The contents of the * buffer are copied to protect against subsequent modification. * @return the bytes of AES decryption @@ -120,7 +120,7 @@ object EncoderUtils { fun decryptAES( data: ByteArray?, key: ByteArray?, - transformation: String = "DES/ECB/PKCS5Padding", + transformation: String = "AES/ECB/PKCS5Padding", iv: ByteArray? = null ): ByteArray? { return symmetricTemplate(data, key, "AES", transformation, iv, false) From c1fb5b80acafdcfdb8c4b695148c97c173920618 Mon Sep 17 00:00:00 2001 From: Xwite <1797350009@qq.com> Date: Mon, 23 May 2022 21:15:43 +0800 Subject: [PATCH 02/13] feat(EncoderUtils): add DES DESede method --- .../java/io/legado/app/utils/EncoderUtils.kt | 175 +++++++++++++++++- 1 file changed, 174 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/io/legado/app/utils/EncoderUtils.kt b/app/src/main/java/io/legado/app/utils/EncoderUtils.kt index 94a96a2ad..50d67e521 100644 --- a/app/src/main/java/io/legado/app/utils/EncoderUtils.kt +++ b/app/src/main/java/io/legado/app/utils/EncoderUtils.kt @@ -126,6 +126,179 @@ object EncoderUtils { return symmetricTemplate(data, key, "AES", transformation, iv, false) } + //////////DES Start + + /** + * Return the Base64-encode bytes of DES encryption. + * + * @param data The data. + * @param key The key. + * @param transformation The name of the transformation, + * 加密算法/加密模式/填充类型, *DES/CBC/PKCS5Padding*. + * @param iv The buffer with the IV. The contents of the + * buffer are copied to protect against subsequent modification. + * @return the Base64-encode bytes of AES encryption + */ + @Throws(Exception::class) + fun encryptDES2Base64( + data: ByteArray?, + key: ByteArray?, + transformation: String? = "DES/ECB/PKCS5Padding", + iv: ByteArray? = null + ): ByteArray? { + return Base64.encode(encryptDES(data, key, transformation, iv), Base64.NO_WRAP) + } + + /** + * Return the bytes of DES encryption. + * + * @param data The data. + * @param key The key. + * @param transformation The name of the transformation, + * 加密算法/加密模式/填充类型, *DES/CBC/PKCS5Padding*. + * @param iv The buffer with the IV. The contents of the + * buffer are copied to protect against subsequent modification. + * @return the bytes of AES encryption + */ + @Throws(Exception::class) + fun encryptDES( + data: ByteArray?, + key: ByteArray?, + transformation: String? = "DES/ECB/PKCS5Padding", + iv: ByteArray? = null + ): ByteArray? { + return symmetricTemplate(data, key, "DES", transformation!!, iv, true) + } + + + /** + * Return the bytes of DES decryption for Base64-encode bytes. + * + * @param data The data. + * @param key The key. + * @param transformation The name of the transformation, + * 加密算法/加密模式/填充类型, *DES/CBC/PKCS5Padding*. + * @param iv The buffer with the IV. The contents of the + * buffer are copied to protect against subsequent modification. + * @return the bytes of AES decryption for Base64-encode bytes + */ + @Throws(Exception::class) + fun decryptBase64DES( + data: ByteArray?, + key: ByteArray?, + transformation: String = "DES/ECB/PKCS5Padding", + iv: ByteArray? = null + ): ByteArray? { + return decryptDES(Base64.decode(data, Base64.NO_WRAP), key, transformation, iv) + } + + /** + * Return the bytes of DES decryption. + * + * @param data The data. + * @param key The key. + * @param transformation The name of the transformation, + * 加密算法/加密模式/填充类型, *DES/CBC/PKCS5Padding*. + * @param iv The buffer with the IV. The contents of the + * buffer are copied to protect against subsequent modification. + * @return the bytes of AES decryption + */ + @Throws(Exception::class) + fun decryptDES( + data: ByteArray?, + key: ByteArray?, + transformation: String = "DES/ECB/PKCS5Padding", + iv: ByteArray? = null + ): ByteArray? { + return symmetricTemplate(data, key, "DES", transformation, iv, false) + } + + //////////DESede Start + + /** + * Return the Base64-encode bytes of DESede encryption. + * + * @param data The data. + * @param key The key. + * @param transformation The name of the transformation, + * 加密算法/加密模式/填充类型, *DESede/CBC/PKCS5Padding*. + * @param iv The buffer with the IV. The contents of the + * buffer are copied to protect against subsequent modification. + * @return the Base64-encode bytes of AES encryption + */ + @Throws(Exception::class) + fun encryptDESede2Base64( + data: ByteArray?, + key: ByteArray?, + transformation: String? = "DESede/ECB/PKCS5Padding", + iv: ByteArray? = null + ): ByteArray? { + return Base64.encode(encryptDESede(data, key, transformation, iv), Base64.NO_WRAP) + } + + /** + * Return the bytes of DESede encryption. + * + * @param data The data. + * @param key The key. + * @param transformation The name of the transformation, + * 加密算法/加密模式/填充类型, *DESede/CBC/PKCS5Padding*. + * @param iv The buffer with the IV. The contents of the + * buffer are copied to protect against subsequent modification. + * @return the bytes of AES encryption + */ + @Throws(Exception::class) + fun encryptDESede( + data: ByteArray?, + key: ByteArray?, + transformation: String? = "DESede/ECB/PKCS5Padding", + iv: ByteArray? = null + ): ByteArray? { + return symmetricTemplate(data, key, "DESede", transformation!!, iv, true) + } + + + /** + * Return the bytes of DESede decryption for Base64-encode bytes. + * + * @param data The data. + * @param key The key. + * @param transformation The name of the transformation, + * 加密算法/加密模式/填充类型, *DESede/CBC/PKCS5Padding*. + * @param iv The buffer with the IV. The contents of the + * buffer are copied to protect against subsequent modification. + * @return the bytes of AES decryption for Base64-encode bytes + */ + @Throws(Exception::class) + fun decryptBase64DESede( + data: ByteArray?, + key: ByteArray?, + transformation: String = "DESede/ECB/PKCS5Padding", + iv: ByteArray? = null + ): ByteArray? { + return decryptDESede(Base64.decode(data, Base64.NO_WRAP), key, transformation, iv) + } + + /** + * Return the bytes of DESede decryption. + * + * @param data The data. + * @param key The key. + * @param transformation The name of the transformation, + * 加密算法/加密模式/填充类型, *DESede/CBC/PKCS5Padding*. + * @param iv The buffer with the IV. The contents of the + * buffer are copied to protect against subsequent modification. + * @return the bytes of AES decryption + */ + @Throws(Exception::class) + fun decryptDESede( + data: ByteArray?, + key: ByteArray?, + transformation: String = "DESede/ECB/PKCS5Padding", + iv: ByteArray? = null + ): ByteArray? { + return symmetricTemplate(data, key, "DESede", transformation, iv, false) + } /** * Return the bytes of symmetric encryption or decryption. @@ -166,4 +339,4 @@ object EncoderUtils { } -} \ No newline at end of file +} From efd3a275a59d23a0a619a60240857079c7161ea6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 23 May 2022 14:36:06 +0000 Subject: [PATCH 03/13] web bookshelf: v3.22.052322 --- .../css/{detail.12a39aa7.css => detail.ac2331a7.css} | 2 +- app/src/main/assets/web/bookshelf/index.html | 4 ++-- .../bookshelf/js/{about.cee6f6d7.js => about.74ccd735.js} | 0 .../web/bookshelf/js/{app.aa604b87.js => app.7cd09a57.js} | 2 +- ...hunk-vendors.ca94fdd0.js => chunk-vendors.d7fcc132.js} | 8 ++++---- app/src/main/assets/web/bookshelf/js/detail.bb04bd6b.js | 1 - app/src/main/assets/web/bookshelf/js/detail.d5b3eb30.js | 1 + 7 files changed, 9 insertions(+), 9 deletions(-) rename app/src/main/assets/web/bookshelf/css/{detail.12a39aa7.css => detail.ac2331a7.css} (79%) rename app/src/main/assets/web/bookshelf/js/{about.cee6f6d7.js => about.74ccd735.js} (100%) rename app/src/main/assets/web/bookshelf/js/{app.aa604b87.js => app.7cd09a57.js} (73%) rename app/src/main/assets/web/bookshelf/js/{chunk-vendors.ca94fdd0.js => chunk-vendors.d7fcc132.js} (67%) delete mode 100644 app/src/main/assets/web/bookshelf/js/detail.bb04bd6b.js create mode 100644 app/src/main/assets/web/bookshelf/js/detail.d5b3eb30.js diff --git a/app/src/main/assets/web/bookshelf/css/detail.12a39aa7.css b/app/src/main/assets/web/bookshelf/css/detail.ac2331a7.css similarity index 79% rename from app/src/main/assets/web/bookshelf/css/detail.12a39aa7.css rename to app/src/main/assets/web/bookshelf/css/detail.ac2331a7.css index 3696608e8..55f539a65 100644 --- a/app/src/main/assets/web/bookshelf/css/detail.12a39aa7.css +++ b/app/src/main/assets/web/bookshelf/css/detail.ac2331a7.css @@ -1 +1 @@ -@charset "UTF-8";@font-face{font-family:FZZCYSK;src:local("☺"),url(../fonts/popfont.f39ecc1a.ttf);font-style:normal;font-weight:400}.cata-wrapper[data-v-0aacaab8]{margin:-16px;padding:18px 0 24px 25px}.cata-wrapper .title[data-v-0aacaab8]{font-size:18px;font-weight:400;font-family:FZZCYSK;margin:0 0 20px 0;color:#ed4259;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;border-bottom:1px solid #ed4259}.cata-wrapper .data-wrapper[data-v-0aacaab8]{height:300px;overflow:auto}.cata-wrapper .data-wrapper .cata[data-v-0aacaab8]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.cata-wrapper .data-wrapper .cata .selected[data-v-0aacaab8]{color:#eb4259}.cata-wrapper .data-wrapper .cata .log[data-v-0aacaab8]{width:50%;height:40px;cursor:pointer;float:left;font:16px/40px PingFangSC-Regular,HelveticaNeue-Light,Helvetica Neue Light,Microsoft YaHei,sans-serif}.cata-wrapper .data-wrapper .cata .log .log-text[data-v-0aacaab8]{margin-right:26px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cata-wrapper .night[data-v-0aacaab8] .log{border-bottom:1px solid #666}.cata-wrapper .day[data-v-0aacaab8] .log{border-bottom:1px solid #f2f2f2}@media screen and (max-width:500px){.cata-wrapper .data-wrapper .cata .log[data-v-0aacaab8]{width:100%}}@font-face{font-family:iconfont;src:url(../fonts/iconfont.f9a3fb0e.woff) format("woff")}[data-v-65e7f0f4] .iconfont,[data-v-65e7f0f4] .moon-icon{font-family:iconfont;font-style:normal}.settings-wrapper[data-v-65e7f0f4]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin:-13px;height:300px;text-align:left;padding:40px 0 40px 24px;background:#ede7da url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAAD1BMVEX48dr48Nf58tv379X17NJtIBxUAAACFUlEQVQ4y1XRUZakMAgF0Af2AiDWApDZgHZqAV1nZv9rGh7Rj7Y8McUFEg1wvcMESMNVD/neU8Xcaz7nYYkYlYO6Ti82PBI4BvIEg1aj3wKwRvIMgZsUy5LdhCawPFh1sZs4SrlyN9fQKpv8s5dgZ2eLyqqJiu+WkCmUEybXkm3INS01WAiv0PapJ0CZc0SJQUzcWnZYbOOY20iFD8Bk+/j2A3wNxH7GdShFYS5ff237kXh9I9zSkQmIAhOsOSVfJ6DIXTMDaPnzkRJ92S1BQQmXl5LdirgRLLDdcYqcGPwe3QN4xCBiGNbrqq9wpW1XCecChwaQdVOsRDpPCpeoolPdxeXp3WNB9PHVzWBHlygy4NJCCrFHREv6bDt0VGwJZASkpONmm1UseGeFKAQexgaAkrfYWl3AGxWOLL2AIMBNbCXpktmS3k3vHeYjGCPBa43wJTurO3ZFVpQSJdAZGLoHTyk1upkjxMEaIxum3iIARcCa5kSkFAW5fi1mUlL9eyOsaanFmOMruwvEdE3ZYzsRSzo5ewRLXyVPPEvknt8ij4DvCg2O7xOgBCUprEzV4z1WekSpUgI8DT2mrnSOXKRfQavwuKA1F+tFnMKdJSUpMA7wQAifWRkMgjUKKZE4lBl6MCM4B1pq1P4uIjDE6Pq6rL0FnW1nIFmta5vrSvq/Ch4tpqG/ZNyyWa5jZPktq81eYv8Bt5s4iFITOp4AAAAASUVORK5CYII=) repeat}.settings-wrapper .settings-title[data-v-65e7f0f4]{font-size:18px;line-height:22px;margin-bottom:28px;font-family:FZZCYSK;font-weight:400}.settings-wrapper .setting-list ul[data-v-65e7f0f4]{list-style:none outside none;margin:0;padding:0}.settings-wrapper .setting-list ul li[data-v-65e7f0f4]{list-style:none outside none}.settings-wrapper .setting-list ul li i[data-v-65e7f0f4]{font:12px/16px PingFangSC-Regular,-apple-system,Simsun;display:inline-block;min-width:48px;margin-right:16px;vertical-align:middle;color:#666}.settings-wrapper .setting-list ul li .theme-item[data-v-65e7f0f4]{line-height:32px;width:34px;height:34px;margin-right:16px;margin-top:5px;border-radius:100%;display:inline-block;cursor:pointer;text-align:center;vertical-align:middle}.settings-wrapper .setting-list ul li .theme-item .iconfont[data-v-65e7f0f4]{display:none}.settings-wrapper .setting-list ul li .selected[data-v-65e7f0f4]{color:#ed4259}.settings-wrapper .setting-list ul li .selected .iconfont[data-v-65e7f0f4]{display:inline}.settings-wrapper .setting-list ul .font-list[data-v-65e7f0f4]{margin-top:28px}.settings-wrapper .setting-list ul .font-list .font-item[data-v-65e7f0f4]{width:78px;height:34px;cursor:pointer;margin-right:16px;border-radius:2px;text-align:center;vertical-align:middle;display:inline-block;font:14px/34px PingFangSC-Regular,HelveticaNeue-Light,Helvetica Neue Light,Microsoft YaHei,sans-serif}.settings-wrapper .setting-list ul .font-list .font-item[data-v-65e7f0f4]:hover,.settings-wrapper .setting-list ul .font-list .selected[data-v-65e7f0f4]{color:#ed4259;border:1px solid #ed4259}.settings-wrapper .setting-list ul .font-size[data-v-65e7f0f4],.settings-wrapper .setting-list ul .read-width[data-v-65e7f0f4]{margin-top:28px}.settings-wrapper .setting-list ul .font-size .resize[data-v-65e7f0f4],.settings-wrapper .setting-list ul .read-width .resize[data-v-65e7f0f4]{display:inline-block;width:274px;height:34px;vertical-align:middle;border-radius:2px}.settings-wrapper .setting-list ul .font-size .resize span[data-v-65e7f0f4],.settings-wrapper .setting-list ul .read-width .resize span[data-v-65e7f0f4]{width:89px;height:34px;line-height:34px;display:inline-block;cursor:pointer;text-align:center;vertical-align:middle}.settings-wrapper .setting-list ul .font-size .resize span em[data-v-65e7f0f4],.settings-wrapper .setting-list ul .read-width .resize span em[data-v-65e7f0f4]{font-style:normal}.settings-wrapper .setting-list ul .font-size .resize .less[data-v-65e7f0f4]:hover,.settings-wrapper .setting-list ul .font-size .resize .more[data-v-65e7f0f4]:hover,.settings-wrapper .setting-list ul .read-width .resize .less[data-v-65e7f0f4]:hover,.settings-wrapper .setting-list ul .read-width .resize .more[data-v-65e7f0f4]:hover{color:#ed4259}.settings-wrapper .setting-list ul .font-size .resize .lang[data-v-65e7f0f4],.settings-wrapper .setting-list ul .read-width .resize .lang[data-v-65e7f0f4]{color:#a6a6a6;font-weight:400;font-family:FZZCYSK}.settings-wrapper .setting-list ul .font-size .resize b[data-v-65e7f0f4],.settings-wrapper .setting-list ul .read-width .resize b[data-v-65e7f0f4]{display:inline-block;height:20px;vertical-align:middle}.night[data-v-65e7f0f4] .selected,.night[data-v-65e7f0f4] .theme-item{border:1px solid #666}.night[data-v-65e7f0f4] .moon-icon{color:#ed4259}.night[data-v-65e7f0f4] .font-list .font-item,.night[data-v-65e7f0f4] .resize{border:1px solid #666;background:rgba(45,45,45,.5)}.night[data-v-65e7f0f4] .resize b{border-right:1px solid #666}.day[data-v-65e7f0f4] .theme-item{border:1px solid #e5e5e5}.day[data-v-65e7f0f4] .selected{border:1px solid #ed4259}.day[data-v-65e7f0f4] .moon-icon{display:inline;color:hsla(0,0%,100%,.2)}.day[data-v-65e7f0f4] .font-list .font-item{background:hsla(0,0%,100%,.5);border:1px solid rgba(0,0,0,.1)}.day[data-v-65e7f0f4] .resize{border:1px solid #e5e5e5;background:hsla(0,0%,100%,.5)}.day[data-v-65e7f0f4] .resize b{border-right:1px solid #e5e5e5}@media screen and (max-width:500px){.settings-wrapper i[data-v-65e7f0f4]{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-bottom:5px!important}}p[data-v-39060afc]{display:block;word-wrap:break-word;word-break:break-all}img[data-v-39060afc]{margin-left:auto;margin-right:auto;display:block;width:100%}[data-v-8cacf902] .pop-setting{margin-left:68px;top:0}[data-v-8cacf902] .pop-cata{margin-left:10px}[data-v-8cacf902] .scroll-container{overflow-y:hidden!important}.chapter-wrapper[data-v-8cacf902]{padding:0 4%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.chapter-wrapper[data-v-8cacf902] .no-point{pointer-events:none}.chapter-wrapper .tool-bar[data-v-8cacf902]{position:fixed;top:0;left:50%;z-index:100}.chapter-wrapper .tool-bar .tools[data-v-8cacf902]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.chapter-wrapper .tool-bar .tools .tool-icon[data-v-8cacf902]{font-size:18px;width:58px;height:48px;text-align:center;padding-top:12px;cursor:pointer;outline:none}.chapter-wrapper .tool-bar .tools .tool-icon .iconfont[data-v-8cacf902]{font-family:iconfont;width:16px;height:16px;font-size:16px;margin:0 auto 6px}.chapter-wrapper .tool-bar .tools .tool-icon .icon-text[data-v-8cacf902]{font-size:12px}.chapter-wrapper .read-bar[data-v-8cacf902]{position:fixed;bottom:0;right:50%;z-index:100}.chapter-wrapper .read-bar .tools[data-v-8cacf902]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.chapter-wrapper .read-bar .tools .tool-icon[data-v-8cacf902]{font-size:18px;width:42px;height:31px;padding-top:12px;text-align:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;outline:none;margin-top:-1px}.chapter-wrapper .read-bar .tools .tool-icon .iconfont[data-v-8cacf902]{font-family:iconfont;width:16px;height:16px;font-size:16px;margin:0 auto 6px}.chapter-wrapper .chapter-bar .el-breadcrumb .item[data-v-8cacf902]{font-size:14px;color:#606266}.chapter-wrapper .chapter[data-v-8cacf902]{font-family:Microsoft YaHei,PingFangSC-Regular,HelveticaNeue-Light,Helvetica Neue Light,sans-serif;text-align:left;padding:0 65px;min-height:100vh;width:670px;margin:0 auto}.chapter-wrapper .chapter[data-v-8cacf902] .el-icon-loading{font-size:36px;color:#b5b5b5}.chapter-wrapper .chapter[data-v-8cacf902] .el-loading-text{font-weight:500;color:#b5b5b5}.chapter-wrapper .chapter .content[data-v-8cacf902]{font-size:18px;line-height:1.8;overflow:hidden;font-family:Microsoft YaHei,PingFangSC-Regular,HelveticaNeue-Light,Helvetica Neue Light,sans-serif}.chapter-wrapper .chapter .content .title[data-v-8cacf902]{margin-bottom:57px;font:24px/32px PingFangSC-Regular,HelveticaNeue-Light,Helvetica Neue Light,Microsoft YaHei,sans-serif}.chapter-wrapper .chapter .content .bottom-bar[data-v-8cacf902],.chapter-wrapper .chapter .content .top-bar[data-v-8cacf902]{height:64px}.day[data-v-8cacf902] .popup{-webkit-box-shadow:0 2px 4px rgba(0,0,0,.12),0 0 6px rgba(0,0,0,.04);box-shadow:0 2px 4px rgba(0,0,0,.12),0 0 6px rgba(0,0,0,.04)}.day[data-v-8cacf902] .tool-icon{border:1px solid rgba(0,0,0,.1);margin-top:-1px;color:#000}.day[data-v-8cacf902] .tool-icon .icon-text{color:rgba(0,0,0,.4)}.day[data-v-8cacf902] .chapter{border:1px solid #d8d8d8;color:#262626}.night[data-v-8cacf902] .popup{-webkit-box-shadow:0 2px 4px rgba(0,0,0,.48),0 0 6px rgba(0,0,0,.16);box-shadow:0 2px 4px rgba(0,0,0,.48),0 0 6px rgba(0,0,0,.16)}.night[data-v-8cacf902] .tool-icon{border:1px solid #444;margin-top:-1px;color:#666}.night[data-v-8cacf902] .tool-icon .icon-text{color:#666}.night[data-v-8cacf902] .chapter{border:1px solid #444;color:#666}.night[data-v-8cacf902] .popper__arrow{background:#666}@media screen and (max-width:750px){.chapter-wrapper[data-v-8cacf902]{padding:0}.chapter-wrapper .tool-bar[data-v-8cacf902]{left:0;width:100vw;margin-left:0!important}.chapter-wrapper .tool-bar .tools[data-v-8cacf902]{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.chapter-wrapper .tool-bar .tools .tool-icon[data-v-8cacf902]{border:none}.chapter-wrapper .read-bar[data-v-8cacf902]{right:0;width:100vw;margin-right:0!important}.chapter-wrapper .read-bar .tools[data-v-8cacf902]{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:0 15px}.chapter-wrapper .read-bar .tools .tool-icon[data-v-8cacf902]{border:none;width:auto}.chapter-wrapper .read-bar .tools .tool-icon .iconfont[data-v-8cacf902]{display:inline-block}.chapter-wrapper .chapter[data-v-8cacf902]{width:100vw!important;padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box}} \ No newline at end of file +@charset "UTF-8";@font-face{font-family:FZZCYSK;src:local("☺"),url(../fonts/popfont.f39ecc1a.ttf);font-style:normal;font-weight:400}.cata-wrapper[data-v-0aacaab8]{margin:-16px;padding:18px 0 24px 25px}.cata-wrapper .title[data-v-0aacaab8]{font-size:18px;font-weight:400;font-family:FZZCYSK;margin:0 0 20px 0;color:#ed4259;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;border-bottom:1px solid #ed4259}.cata-wrapper .data-wrapper[data-v-0aacaab8]{height:300px;overflow:auto}.cata-wrapper .data-wrapper .cata[data-v-0aacaab8]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.cata-wrapper .data-wrapper .cata .selected[data-v-0aacaab8]{color:#eb4259}.cata-wrapper .data-wrapper .cata .log[data-v-0aacaab8]{width:50%;height:40px;cursor:pointer;float:left;font:16px/40px PingFangSC-Regular,HelveticaNeue-Light,Helvetica Neue Light,Microsoft YaHei,sans-serif}.cata-wrapper .data-wrapper .cata .log .log-text[data-v-0aacaab8]{margin-right:26px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cata-wrapper .night[data-v-0aacaab8] .log{border-bottom:1px solid #666}.cata-wrapper .day[data-v-0aacaab8] .log{border-bottom:1px solid #f2f2f2}@media screen and (max-width:500px){.cata-wrapper .data-wrapper .cata .log[data-v-0aacaab8]{width:100%}}@font-face{font-family:iconfont;src:url(../fonts/iconfont.f9a3fb0e.woff) format("woff")}[data-v-65e7f0f4] .iconfont,[data-v-65e7f0f4] .moon-icon{font-family:iconfont;font-style:normal}.settings-wrapper[data-v-65e7f0f4]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin:-13px;height:300px;text-align:left;padding:40px 0 40px 24px;background:#ede7da url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAAD1BMVEX48dr48Nf58tv379X17NJtIBxUAAACFUlEQVQ4y1XRUZakMAgF0Af2AiDWApDZgHZqAV1nZv9rGh7Rj7Y8McUFEg1wvcMESMNVD/neU8Xcaz7nYYkYlYO6Ti82PBI4BvIEg1aj3wKwRvIMgZsUy5LdhCawPFh1sZs4SrlyN9fQKpv8s5dgZ2eLyqqJiu+WkCmUEybXkm3INS01WAiv0PapJ0CZc0SJQUzcWnZYbOOY20iFD8Bk+/j2A3wNxH7GdShFYS5ff237kXh9I9zSkQmIAhOsOSVfJ6DIXTMDaPnzkRJ92S1BQQmXl5LdirgRLLDdcYqcGPwe3QN4xCBiGNbrqq9wpW1XCecChwaQdVOsRDpPCpeoolPdxeXp3WNB9PHVzWBHlygy4NJCCrFHREv6bDt0VGwJZASkpONmm1UseGeFKAQexgaAkrfYWl3AGxWOLL2AIMBNbCXpktmS3k3vHeYjGCPBa43wJTurO3ZFVpQSJdAZGLoHTyk1upkjxMEaIxum3iIARcCa5kSkFAW5fi1mUlL9eyOsaanFmOMruwvEdE3ZYzsRSzo5ewRLXyVPPEvknt8ij4DvCg2O7xOgBCUprEzV4z1WekSpUgI8DT2mrnSOXKRfQavwuKA1F+tFnMKdJSUpMA7wQAifWRkMgjUKKZE4lBl6MCM4B1pq1P4uIjDE6Pq6rL0FnW1nIFmta5vrSvq/Ch4tpqG/ZNyyWa5jZPktq81eYv8Bt5s4iFITOp4AAAAASUVORK5CYII=) repeat}.settings-wrapper .settings-title[data-v-65e7f0f4]{font-size:18px;line-height:22px;margin-bottom:28px;font-family:FZZCYSK;font-weight:400}.settings-wrapper .setting-list ul[data-v-65e7f0f4]{list-style:none outside none;margin:0;padding:0}.settings-wrapper .setting-list ul li[data-v-65e7f0f4]{list-style:none outside none}.settings-wrapper .setting-list ul li i[data-v-65e7f0f4]{font:12px/16px PingFangSC-Regular,-apple-system,Simsun;display:inline-block;min-width:48px;margin-right:16px;vertical-align:middle;color:#666}.settings-wrapper .setting-list ul li .theme-item[data-v-65e7f0f4]{line-height:32px;width:34px;height:34px;margin-right:16px;margin-top:5px;border-radius:100%;display:inline-block;cursor:pointer;text-align:center;vertical-align:middle}.settings-wrapper .setting-list ul li .theme-item .iconfont[data-v-65e7f0f4]{display:none}.settings-wrapper .setting-list ul li .selected[data-v-65e7f0f4]{color:#ed4259}.settings-wrapper .setting-list ul li .selected .iconfont[data-v-65e7f0f4]{display:inline}.settings-wrapper .setting-list ul .font-list[data-v-65e7f0f4]{margin-top:28px}.settings-wrapper .setting-list ul .font-list .font-item[data-v-65e7f0f4]{width:78px;height:34px;cursor:pointer;margin-right:16px;border-radius:2px;text-align:center;vertical-align:middle;display:inline-block;font:14px/34px PingFangSC-Regular,HelveticaNeue-Light,Helvetica Neue Light,Microsoft YaHei,sans-serif}.settings-wrapper .setting-list ul .font-list .font-item[data-v-65e7f0f4]:hover,.settings-wrapper .setting-list ul .font-list .selected[data-v-65e7f0f4]{color:#ed4259;border:1px solid #ed4259}.settings-wrapper .setting-list ul .font-size[data-v-65e7f0f4],.settings-wrapper .setting-list ul .read-width[data-v-65e7f0f4]{margin-top:28px}.settings-wrapper .setting-list ul .font-size .resize[data-v-65e7f0f4],.settings-wrapper .setting-list ul .read-width .resize[data-v-65e7f0f4]{display:inline-block;width:274px;height:34px;vertical-align:middle;border-radius:2px}.settings-wrapper .setting-list ul .font-size .resize span[data-v-65e7f0f4],.settings-wrapper .setting-list ul .read-width .resize span[data-v-65e7f0f4]{width:89px;height:34px;line-height:34px;display:inline-block;cursor:pointer;text-align:center;vertical-align:middle}.settings-wrapper .setting-list ul .font-size .resize span em[data-v-65e7f0f4],.settings-wrapper .setting-list ul .read-width .resize span em[data-v-65e7f0f4]{font-style:normal}.settings-wrapper .setting-list ul .font-size .resize .less[data-v-65e7f0f4]:hover,.settings-wrapper .setting-list ul .font-size .resize .more[data-v-65e7f0f4]:hover,.settings-wrapper .setting-list ul .read-width .resize .less[data-v-65e7f0f4]:hover,.settings-wrapper .setting-list ul .read-width .resize .more[data-v-65e7f0f4]:hover{color:#ed4259}.settings-wrapper .setting-list ul .font-size .resize .lang[data-v-65e7f0f4],.settings-wrapper .setting-list ul .read-width .resize .lang[data-v-65e7f0f4]{color:#a6a6a6;font-weight:400;font-family:FZZCYSK}.settings-wrapper .setting-list ul .font-size .resize b[data-v-65e7f0f4],.settings-wrapper .setting-list ul .read-width .resize b[data-v-65e7f0f4]{display:inline-block;height:20px;vertical-align:middle}.night[data-v-65e7f0f4] .selected,.night[data-v-65e7f0f4] .theme-item{border:1px solid #666}.night[data-v-65e7f0f4] .moon-icon{color:#ed4259}.night[data-v-65e7f0f4] .font-list .font-item,.night[data-v-65e7f0f4] .resize{border:1px solid #666;background:rgba(45,45,45,.5)}.night[data-v-65e7f0f4] .resize b{border-right:1px solid #666}.day[data-v-65e7f0f4] .theme-item{border:1px solid #e5e5e5}.day[data-v-65e7f0f4] .selected{border:1px solid #ed4259}.day[data-v-65e7f0f4] .moon-icon{display:inline;color:hsla(0,0%,100%,.2)}.day[data-v-65e7f0f4] .font-list .font-item{background:hsla(0,0%,100%,.5);border:1px solid rgba(0,0,0,.1)}.day[data-v-65e7f0f4] .resize{border:1px solid #e5e5e5;background:hsla(0,0%,100%,.5)}.day[data-v-65e7f0f4] .resize b{border-right:1px solid #e5e5e5}@media screen and (max-width:500px){.settings-wrapper i[data-v-65e7f0f4]{display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-bottom:5px!important}}p[data-v-39060afc]{display:block;word-wrap:break-word;word-break:break-all}img[data-v-39060afc]{margin-left:auto;margin-right:auto;display:block;width:100%}[data-v-24bb7b7e] .pop-setting{margin-left:68px;top:0}[data-v-24bb7b7e] .pop-cata{margin-left:10px}[data-v-24bb7b7e] .scroll-container{overflow-y:hidden!important}.chapter-wrapper[data-v-24bb7b7e]{padding:0 4%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.chapter-wrapper[data-v-24bb7b7e] .no-point{pointer-events:none}.chapter-wrapper .tool-bar[data-v-24bb7b7e]{position:fixed;top:0;left:50%;z-index:100}.chapter-wrapper .tool-bar .tools[data-v-24bb7b7e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.chapter-wrapper .tool-bar .tools .tool-icon[data-v-24bb7b7e]{font-size:18px;width:58px;height:48px;text-align:center;padding-top:12px;cursor:pointer;outline:none}.chapter-wrapper .tool-bar .tools .tool-icon .iconfont[data-v-24bb7b7e]{font-family:iconfont;width:16px;height:16px;font-size:16px;margin:0 auto 6px}.chapter-wrapper .tool-bar .tools .tool-icon .icon-text[data-v-24bb7b7e]{font-size:12px}.chapter-wrapper .read-bar[data-v-24bb7b7e]{position:fixed;bottom:0;right:50%;z-index:100}.chapter-wrapper .read-bar .tools[data-v-24bb7b7e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.chapter-wrapper .read-bar .tools .tool-icon[data-v-24bb7b7e]{font-size:18px;width:42px;height:31px;padding-top:12px;text-align:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer;outline:none;margin-top:-1px}.chapter-wrapper .read-bar .tools .tool-icon .iconfont[data-v-24bb7b7e]{font-family:iconfont;width:16px;height:16px;font-size:16px;margin:0 auto 6px}.chapter-wrapper .chapter-bar .el-breadcrumb .item[data-v-24bb7b7e]{font-size:14px;color:#606266}.chapter-wrapper .chapter[data-v-24bb7b7e]{font-family:Microsoft YaHei,PingFangSC-Regular,HelveticaNeue-Light,Helvetica Neue Light,sans-serif;text-align:left;padding:0 65px;min-height:100vh;width:670px;margin:0 auto}.chapter-wrapper .chapter[data-v-24bb7b7e] .el-icon-loading{font-size:36px;color:#b5b5b5}.chapter-wrapper .chapter[data-v-24bb7b7e] .el-loading-text{font-weight:500;color:#b5b5b5}.chapter-wrapper .chapter .content[data-v-24bb7b7e]{font-size:18px;line-height:1.8;overflow:hidden;font-family:Microsoft YaHei,PingFangSC-Regular,HelveticaNeue-Light,Helvetica Neue Light,sans-serif}.chapter-wrapper .chapter .content .title[data-v-24bb7b7e]{margin-bottom:57px;font:24px/32px PingFangSC-Regular,HelveticaNeue-Light,Helvetica Neue Light,Microsoft YaHei,sans-serif}.chapter-wrapper .chapter .content .bottom-bar[data-v-24bb7b7e],.chapter-wrapper .chapter .content .top-bar[data-v-24bb7b7e]{height:64px}.day[data-v-24bb7b7e] .popup{-webkit-box-shadow:0 2px 4px rgba(0,0,0,.12),0 0 6px rgba(0,0,0,.04);box-shadow:0 2px 4px rgba(0,0,0,.12),0 0 6px rgba(0,0,0,.04)}.day[data-v-24bb7b7e] .tool-icon{border:1px solid rgba(0,0,0,.1);margin-top:-1px;color:#000}.day[data-v-24bb7b7e] .tool-icon .icon-text{color:rgba(0,0,0,.4)}.day[data-v-24bb7b7e] .chapter{border:1px solid #d8d8d8;color:#262626}.night[data-v-24bb7b7e] .popup{-webkit-box-shadow:0 2px 4px rgba(0,0,0,.48),0 0 6px rgba(0,0,0,.16);box-shadow:0 2px 4px rgba(0,0,0,.48),0 0 6px rgba(0,0,0,.16)}.night[data-v-24bb7b7e] .tool-icon{border:1px solid #444;margin-top:-1px;color:#666}.night[data-v-24bb7b7e] .tool-icon .icon-text{color:#666}.night[data-v-24bb7b7e] .chapter{border:1px solid #444;color:#666}.night[data-v-24bb7b7e] .popper__arrow{background:#666}@media screen and (max-width:750px){.chapter-wrapper[data-v-24bb7b7e]{padding:0}.chapter-wrapper .tool-bar[data-v-24bb7b7e]{left:0;width:100vw;margin-left:0!important}.chapter-wrapper .tool-bar .tools[data-v-24bb7b7e]{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.chapter-wrapper .tool-bar .tools .tool-icon[data-v-24bb7b7e]{border:none}.chapter-wrapper .read-bar[data-v-24bb7b7e]{right:0;width:100vw;margin-right:0!important}.chapter-wrapper .read-bar .tools[data-v-24bb7b7e]{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:0 15px}.chapter-wrapper .read-bar .tools .tool-icon[data-v-24bb7b7e]{border:none;width:auto}.chapter-wrapper .read-bar .tools .tool-icon .iconfont[data-v-24bb7b7e]{display:inline-block}.chapter-wrapper .chapter[data-v-24bb7b7e]{width:100vw!important;padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box}} \ No newline at end of file diff --git a/app/src/main/assets/web/bookshelf/index.html b/app/src/main/assets/web/bookshelf/index.html index f6191eca0..8a5c4cd28 100644 --- a/app/src/main/assets/web/bookshelf/index.html +++ b/app/src/main/assets/web/bookshelf/index.html @@ -1,3 +1,3 @@ -