From 8444e4454fb546127146dc6192354c11006c9987 Mon Sep 17 00:00:00 2001 From: Xwite <1797350009@qq.com> Date: Mon, 2 May 2022 19:41:18 +0800 Subject: [PATCH] feat:add java.startBrowser --- app/src/main/assets/help/jsHelp.md | 6 +++++ app/src/main/assets/updateLog.md | 1 + .../java/io/legado/app/help/JsExtensions.kt | 23 +++++++++++++++++++ 3 files changed, 30 insertions(+) diff --git a/app/src/main/assets/help/jsHelp.md b/app/src/main/assets/help/jsHelp.md index bbdd559ca..ae0bb3ad1 100644 --- a/app/src/main/assets/help/jsHelp.md +++ b/app/src/main/assets/help/jsHelp.md @@ -62,6 +62,12 @@ java.connect(urlStr): Response * @param js 用来取返回值的js语句, 没有就返回整个源代码 * @return 返回js获取的内容 java.webView(html: String?, url: String?, js: String?): String + +* 使用内置浏览器打开链接,可用于获取验证码 手动验证网站防爬 +* @param url 要打开的链接 +* @param title 对话框的标题 +* @param message 对话框的详细提示信息 +java.startBrowser(url: String, title: String, message: String) ``` * 调试 ``` diff --git a/app/src/main/assets/updateLog.md b/app/src/main/assets/updateLog.md index ddbe59153..d3b29e621 100644 --- a/app/src/main/assets/updateLog.md +++ b/app/src/main/assets/updateLog.md @@ -15,6 +15,7 @@ * 优化强调色和文字颜色一样的情况下一些文字的显示 * 修复bug +* js添加 java.startBrowser **2022/05/01** 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 8e8c46e65..9c39fc3c9 100644 --- a/app/src/main/java/io/legado/app/help/JsExtensions.kt +++ b/app/src/main/java/io/legado/app/help/JsExtensions.kt @@ -6,15 +6,18 @@ import androidx.annotation.Keep import cn.hutool.crypto.digest.DigestUtil import cn.hutool.crypto.symmetric.AES import cn.hutool.crypto.symmetric.DESede +import io.legado.app.R import io.legado.app.constant.AppConst import io.legado.app.constant.AppConst.dateFormat import io.legado.app.constant.AppLog import io.legado.app.data.entities.BaseSource import io.legado.app.exception.NoStackTraceException import io.legado.app.help.http.* +import io.legado.app.lib.dialogs.alert import io.legado.app.model.Debug import io.legado.app.model.analyzeRule.AnalyzeUrl import io.legado.app.model.analyzeRule.QueryTTF +import io.legado.app.ui.browser.WebViewActivity import io.legado.app.utils.* import kotlinx.coroutines.Dispatchers.IO import kotlinx.coroutines.async @@ -131,6 +134,26 @@ interface JsExtensions { } } + /** + * 使用内置浏览器打开链接,可用于获取验证码 手动验证网站防爬 + * @param url 要打开的链接 + * @param title 对话框的标题 + * @param message 对话框的详细提示信息 + */ + fun startBrowser(url: String, title: String, message: String) { + appCtx.alert(title) { + setMessage(message) + positiveButton(R.string.yes) { + appCtx.startActivity { + putExtra("title", title) + putExtra("url", url) + IntentData.put(url, getSource()?.getHeaderMap(true)) + } + } + negativeButton(R.string.no) + } + } + /** * 可从网络,本地文件(阅读私有缓存目录和书籍保存位置支持相对路径)导入JavaScript脚本 */