mirror of
https://github.com/gedoor/legado.git
synced 2024-07-04 23:36:56 +08:00
commit
e70048690c
|
@ -31,8 +31,21 @@
|
|||
|
||||
* 获取登录后的cookie
|
||||
```
|
||||
java.getCookie("http://baidu.com", null) => userid=1234;pwd=adbcd
|
||||
java.getCookie("http://baidu.com", "userid") => 1234
|
||||
获取全部
|
||||
cookie.getCookie(url)
|
||||
获取某一键值
|
||||
cookie.getKey(url,key)
|
||||
```
|
||||
|
||||
* 缓存网络文件
|
||||
```
|
||||
获取
|
||||
java.cacheFile(url)
|
||||
java.cacheFile(url,saveTime)
|
||||
执行内容
|
||||
eval(String(java.cacheFile(url)))
|
||||
删除缓存文件
|
||||
cache.delete(java.md5Encode16(url))
|
||||
```
|
||||
|
||||
* 请求头,支持http代理,socks4 socks5代理设置
|
||||
|
|
|
@ -11,6 +11,14 @@
|
|||
* 正文出现缺字漏字、内容缺失、排版错乱等情况,有可能是净化规则或简繁转换出现问题。
|
||||
* 漫画源看书显示乱码,**阅读与其他软件的源并不通用**,请导入阅读的支持的漫画源!
|
||||
|
||||
**2022/01/04**
|
||||
|
||||
* 弃用java.getCookie(tag,key),请使用cookie.getKey(url,key)
|
||||
* js添加java.cacheFile(url, saveTime),缓存网络链接,返回文件内容,可实现代码共用和减少代码量
|
||||
```js
|
||||
eval(String(java.cacheFile(url)))
|
||||
```
|
||||
|
||||
**2022/01/03**
|
||||
|
||||
* 修复打开Web服务,切出app后很快崩溃 #1489
|
||||
|
|
|
@ -8,6 +8,7 @@ import io.legado.app.constant.AppConst
|
|||
import io.legado.app.constant.AppConst.dateFormat
|
||||
import io.legado.app.data.entities.BaseSource
|
||||
import io.legado.app.help.http.*
|
||||
import io.legado.app.help.CacheManager
|
||||
import io.legado.app.model.Debug
|
||||
import io.legado.app.model.analyzeRule.AnalyzeUrl
|
||||
import io.legado.app.model.analyzeRule.QueryTTF
|
||||
|
@ -125,6 +126,27 @@ interface JsExtensions {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 缓存网络文件
|
||||
* @param url 网络文件的链接
|
||||
* @param saveTime 缓存时间,单位:秒
|
||||
* @return 返回缓存后的文件内容
|
||||
*/
|
||||
fun cacheFile(url: String): String? {
|
||||
return cacheFile(url, 0)
|
||||
}
|
||||
|
||||
fun cacheFile(url: String, saveTime: Int = 0): String? {
|
||||
val key = md5Encode16(url)
|
||||
val _cache = CacheManager.get(key)
|
||||
if(_cache.isNullOrBlank()) {
|
||||
log("首次下载${url}...")
|
||||
val value = ajax(url) ?: ""
|
||||
CacheManager.put(key, value as Any, saveTime)
|
||||
}
|
||||
return _cache
|
||||
}
|
||||
|
||||
/**
|
||||
* 实现16进制字符串转文件
|
||||
* @param content 需要转成文件的16进制字符串
|
||||
|
@ -174,19 +196,6 @@ interface JsExtensions {
|
|||
.execute()
|
||||
}
|
||||
|
||||
/**
|
||||
*js实现读取cookie
|
||||
*/
|
||||
fun getCookie(tag: String, key: String? = null): String {
|
||||
val cookie = CookieStore.getCookie(tag)
|
||||
val cookieMap = CookieStore.cookieToMap(cookie)
|
||||
return if (key != null) {
|
||||
cookieMap[key] ?: ""
|
||||
} else {
|
||||
cookie
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* js实现解码,不能删
|
||||
*/
|
||||
|
|
|
@ -34,6 +34,12 @@ object CookieStore : CookieManager {
|
|||
val cookieBean = appDb.cookieDao.get(NetworkUtils.getSubDomain(url))
|
||||
return cookieBean?.cookie ?: ""
|
||||
}
|
||||
|
||||
fun getKey(url: String, key: String): String {
|
||||
val cookie = getCookie(url)
|
||||
val cookieMap = cookieToMap(cookie)
|
||||
return cookieMap[key] ?: ""
|
||||
}
|
||||
|
||||
override fun removeCookie(url: String) {
|
||||
appDb.cookieDao.delete(NetworkUtils.getSubDomain(url))
|
||||
|
|
|
@ -176,7 +176,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="@color/secondaryText"
|
||||
android:text="调试详情页>>输入详情页URL,如:"
|
||||
android:text="调试正文页>>输入正文页URL,如:"
|
||||
tools:ignore="HardcodedText" />
|
||||
|
||||
<TextView
|
||||
|
|
Loading…
Reference in New Issue
Block a user