diff --git a/app/src/main/assets/help/jsHelp.md b/app/src/main/assets/help/jsHelp.md index 84f9c3f8d..9285dc661 100644 --- a/app/src/main/assets/help/jsHelp.md +++ b/app/src/main/assets/help/jsHelp.md @@ -159,6 +159,11 @@ java.hexDecodeToString(hex: String) utf8 编码为hexString java.hexEncodeToString(utf8: String) ``` +* 标识id +``` +java.randomUUID() +java.androidId() +``` * 文件 > 所有对于文件的读写删操作都是相对路径,只能操作阅读缓存/android/data/{package}/cache/内的文件 ``` @@ -206,11 +211,10 @@ cipher.encryptBase64(data) cipher.encryptHex(data) ``` * 非对称加密 RSA/ECIES(不支持) -> algorithm: RSA, RSA/ECB/PKCS1Padding, RSA/ECB/NoPadding, RSA/None/NoPadding, RSA/None/NoPadding > 输入参数密钥 支持ByteArray|**Utf8String** ``` //创建cipher -java.createAsymmetricCrypto(algorithm, privateKey, publicKey) +java.createAsymmetricCrypto(transformation, privateKey, publicKey) ``` > 解密加密参数 data支持ByteArray|Base64String|HexString|InputStream > keyType: 1 使用公钥 2 使用私钥 diff --git a/app/src/main/java/io/legado/app/help/JsEncodeUtils.kt b/app/src/main/java/io/legado/app/help/JsEncodeUtils.kt index e360fde7b..ab068b43d 100644 --- a/app/src/main/java/io/legado/app/help/JsEncodeUtils.kt +++ b/app/src/main/java/io/legado/app/help/JsEncodeUtils.kt @@ -71,20 +71,20 @@ interface JsEncodeUtils { /* keys都为null时使用随机密钥 */ fun createAsymmetricCrypto( - algorithm: String, + transformation: String, privateKey: ByteArray?, publicKey: ByteArray? ): AsymmetricCrypto { - return AsymmetricCrypto(algorithm, privateKey, publicKey) + return AsymmetricCrypto(transformation, privateKey, publicKey) } fun createAsymmetricCrypto( - algorithm: String, + transformation: String, privateKey: String?, publicKey: String? ): AsymmetricCrypto { return createAsymmetricCrypto( - algorithm, + transformation, privateKey?.encodeToByteArray(), publicKey?.encodeToByteArray() ) diff --git a/app/src/main/java/io/legado/app/help/JsExtensions.kt b/app/src/main/java/io/legado/app/help/JsExtensions.kt index 520817885..fa8d61388 100644 --- a/app/src/main/java/io/legado/app/help/JsExtensions.kt +++ b/app/src/main/java/io/legado/app/help/JsExtensions.kt @@ -523,8 +523,9 @@ interface JsExtensions : JsEncodeUtils { fun unArchiveFile(zipPath: String): String { if (zipPath.isEmpty()) return "" val zipFile = getFile(zipPath) - return ArchiveUtils.deCompress(zipFile.absolutePath).toString() - .substring(FileUtils.getCachePath().length) + return ArchiveUtils.deCompress(zipFile.absolutePath).let { + ArchiveUtils.TEMP_FOLDER_NAME + File.separator + MD5Utils.md5Encode16(zipFile.name) + } } /** diff --git a/app/src/main/java/io/legado/app/ui/book/info/BookInfoActivity.kt b/app/src/main/java/io/legado/app/ui/book/info/BookInfoActivity.kt index 4b9c281da..c3763fb56 100644 --- a/app/src/main/java/io/legado/app/ui/book/info/BookInfoActivity.kt +++ b/app/src/main/java/io/legado/app/ui/book/info/BookInfoActivity.kt @@ -540,7 +540,7 @@ class BookInfoActivity : onClick?.invoke(it) } } else { - showDecompressFileImportAlert(files) + showDecompressFileImportAlert(files, onClick) } } } diff --git a/app/src/main/java/io/legado/app/utils/ArchiveUtils.kt b/app/src/main/java/io/legado/app/utils/ArchiveUtils.kt index 1d092f373..e16a73a1e 100644 --- a/app/src/main/java/io/legado/app/utils/ArchiveUtils.kt +++ b/app/src/main/java/io/legado/app/utils/ArchiveUtils.kt @@ -12,9 +12,10 @@ import java.io.File @Suppress("unused", "MemberVisibilityCanBePrivate") object ArchiveUtils { + const val TEMP_FOLDER_NAME = "ArchiveTemp" // 临时目录 下次启动自动删除 val TEMP_PATH: String by lazy { - appCtx.externalCache.getFile("ArchiveTemp").createFolderReplace().absolutePath + appCtx.externalCache.getFile(TEMP_FOLDER_NAME).createFolderReplace().absolutePath } fun deCompress(