Compare commits

...

3 Commits

Author SHA1 Message Date
dependabot[bot]
e327ffa179
Merge 9130452f06 into 9edc02f696 2024-05-09 21:53:40 +08:00
Horis
9edc02f696 优化 2024-05-08 16:33:21 +08:00
youke2580
9d13b353b8
更新 jsHelp.md (#3922) 2024-05-07 13:43:42 +08:00
4 changed files with 23 additions and 5 deletions

1
.gitignore vendored
View File

@ -3,6 +3,7 @@
local.properties
.DS_Store
/build
build/
/captures
.externalNativeBuild
/release

View File

@ -47,7 +47,7 @@ java.searchBook(bookName: string)
* 添加书架
```js
java.addBook(bookUrl)
java.addBook(bookUrl: String)
```
### [AnalyzeUrl](https://github.com/gedoor/legado/blob/master/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeUrl.kt) 部分函数
@ -181,6 +181,11 @@ java.get*StringContent(url: String, path: String, charsetName: String): String
java.get*ByteArrayContent(url: String, path: String): ByteArray?
```
* URI编码
```js
java.encodeURI(str: String) //默认enc="UTF-8"
java.encodeURI(str: String, enc: String)
```
* base64
> flags参数可省略默认Base64.NO_WRAP查看[flags参数说明](https://blog.csdn.net/zcmain/article/details/97051870)
@ -384,16 +389,23 @@ source.getVariable()
* 登录头操作
```js
获取登录头
source.getLoginHeader()
获取登录头某一键值
source.getLoginHeaderMap().get(key: String)
保存登录头
source.putLoginHeader(header: String)
清除登录头
source.removeLoginHeader()
```
* 用户登录信息操作
> 使用`登录UI`规则并成功登录阅读自动加密保存登录UI规则中除type为button的信息
```js
login函数获取登录信息
source.getLoginInfo()
login函数获取登录信息键值
source.getLoginInfoMap().get(key: String)
清除登录信息
source.removeLoginInfo()
```
## cookie对象的部分可用函数
@ -402,6 +414,10 @@ source.removeLoginInfo()
cookie.getCookie(url)
获取cookie某一键值
cookie.getKey(url,key)
设置cookie
cookie.setCookie(url,cookie)
替换cookie
cookie.replaceCookie(url,cookie)
删除cookie
cookie.removeCookie(url)
```

View File

@ -73,7 +73,7 @@ object AppWebDav {
WebDav(bookProgressUrl, mAuthorization).makeAsDir()
WebDav(exportsWebDavUrl, mAuthorization).makeAsDir()
WebDav(bgWebDavUrl, mAuthorization).makeAsDir()
val rootBooksUrl = "${rootWebDavUrl}books"
val rootBooksUrl = "${rootWebDavUrl}books/"
defaultBookWebDav = RemoteBookWebDav(rootBooksUrl, mAuthorization)
authorization = mAuthorization
}

View File

@ -178,13 +178,14 @@ open class WebDav(
//依然是优化支持 caddy 自建的 WebDav ,其目录后缀都为“/”, 所以删除“/”的判定,不然无法获取该目录项
val href = element.findNS("href", ns)[0].text().replace("+", "%2B")
val hrefDecode = URLDecoder.decode(href, "UTF-8")
.removeSuffix("/")
val fileName = hrefDecode.substringAfterLast("/")
val webDavFile: WebDav
try {
val urlName = hrefDecode.ifEmpty {
url.file.replace("/", "")
}
val displayName = element
.findNS("displayname", ns)
.firstOrNull()?.text().orEmpty()
val contentType = element
.findNS("getcontenttype", ns)
.firstOrNull()?.text().orEmpty()
@ -206,7 +207,7 @@ open class WebDav(
webDavFile = WebDavFile(
fullURL,
authorization,
displayName = fileName,
displayName = displayName,
urlName = urlName,
size = size,
contentType = contentType,