|
|
@ -8,6 +8,7 @@ import io.legado.app.constant.AppConst |
|
|
|
import io.legado.app.constant.AppConst.dateFormat |
|
|
|
import io.legado.app.constant.AppConst.dateFormat |
|
|
|
import io.legado.app.data.entities.BaseSource |
|
|
|
import io.legado.app.data.entities.BaseSource |
|
|
|
import io.legado.app.help.http.* |
|
|
|
import io.legado.app.help.http.* |
|
|
|
|
|
|
|
import io.legado.app.help.CacheManager |
|
|
|
import io.legado.app.model.Debug |
|
|
|
import io.legado.app.model.Debug |
|
|
|
import io.legado.app.model.analyzeRule.AnalyzeUrl |
|
|
|
import io.legado.app.model.analyzeRule.AnalyzeUrl |
|
|
|
import io.legado.app.model.analyzeRule.QueryTTF |
|
|
|
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进制字符串转文件 |
|
|
|
* 实现16进制字符串转文件 |
|
|
|
* @param content 需要转成文件的16进制字符串 |
|
|
|
* @param content 需要转成文件的16进制字符串 |
|
|
@ -174,19 +196,6 @@ interface JsExtensions { |
|
|
|
.execute() |
|
|
|
.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实现解码,不能删 |
|
|
|
* js实现解码,不能删 |
|
|
|
*/ |
|
|
|
*/ |
|
|
|