fix: 特定情况下登录UI无法保存登录状态

数据库中存在cookie,登录头也有cookie,后者会被前者覆盖
pull/1852/head
Xwite 3 years ago
parent d79b5e8139
commit 39f368817b
  1. 6
      app/src/main/java/io/legado/app/data/entities/BaseSource.kt

@ -95,11 +95,17 @@ interface BaseSource : JsExtensions {
* 保存登录头部信息,map格式,访问时自动添加 * 保存登录头部信息,map格式,访问时自动添加
*/ */
fun putLoginHeader(header: String) { fun putLoginHeader(header: String) {
val headerMap = GSON.fromJsonObject<Map<String, String>>(header).getOrNull()
val cookie = headerMap?.get("Cookie") ?: headerMap?.get("cookie")
cookie?.let {
CookieStore.replaceCookie(getKey(), it)
}
CacheManager.put("loginHeader_${getKey()}", header) CacheManager.put("loginHeader_${getKey()}", header)
} }
fun removeLoginHeader() { fun removeLoginHeader() {
CacheManager.delete("loginHeader_${getKey()}") CacheManager.delete("loginHeader_${getKey()}")
CookieStore.removeCookie(getKey())
} }
/** /**

Loading…
Cancel
Save