Skip to content

Commit

Permalink
docs: 更新文档
Browse files Browse the repository at this point in the history
  • Loading branch information
liangjingkanji committed Aug 16, 2023
1 parent a78d461 commit c1dc307
Show file tree
Hide file tree
Showing 42 changed files with 130 additions and 133 deletions.
8 changes: 4 additions & 4 deletions docs/auto-dialog.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ Net支持发起请求开始时显示加载框, 请求结束时隐藏加载框(

```kotlin hl_lines="1"
scopeDialog {
tvFragment.text = Post<String>("dialog") {
param("u_name", "drake") // 请求参数
tvFragment.text = Post<String>(Api.PATH) {
param("username", "用户名") // 请求参数
param("pwd", "123456")
}.await()
}
Expand All @@ -27,8 +27,8 @@ scopeDialog {
val dialog = BubbleDialog(requireActivity(), "加载中")

scopeDialog(dialog) {
binding.tvFragment.text = Post<String>("dialog") {
param("u_name", "drake")
binding.tvFragment.text = Post<String>(Api.PATH) {
param("username", "用户名")
param("pwd", "123456")
}.await()
}
Expand Down
2 changes: 1 addition & 1 deletion docs/auto-pull.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
```kotlin
page.onRefresh {
scope {
val data = Get<ListModel>("list") {
val data = Get<Game>(Api.PATH) {
param("page", index)
}.await().data
addData(data.list) {
Expand Down
2 changes: 1 addition & 1 deletion docs/auto-refresh.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ rv_push.linear().setup {
page.onRefresh {
scope {
// 请求到数据设置到RecyclerView
rv_push.models = Get<ListModel>("list").await().data.list
rv_push.models = Get<Game>(Api.PATH).await().data.list
}
}.autoRefresh()
```
Expand Down
2 changes: 1 addition & 1 deletion docs/auto-state.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ StateConfig.apply {
```kotlin
state.onRefresh {
scope {
tvFragment.text = Get<String>("api").await()
tvFragment.text = Get<String>(Api.PATH).await()
}
}.showLoading()
```
Expand Down
12 changes: 6 additions & 6 deletions docs/cache.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ OkHttp默认的Http缓存协议控制, 要求以下条件

```kotlin
scopeNetLife {
Post<String>("api") {
Post<String>(Api.PATH) {
setCacheControl(CacheControl.FORCE_CACHE) // 强制使用缓存
// setCacheControl(CacheControl.FORCE_NETWORK) // 强制使用网络
// setCacheControl(CacheControl.Builder().noStore().noCache().build()) // 完全禁止读取/写入缓存
Expand All @@ -55,7 +55,7 @@ scopeNetLife {
```kotlin
scopeNetLife {
binding.tvFragment.text =
Post<String>("api") {
Post<String>(Api.PATH) {
setCacheMode(CacheMode.REQUEST_THEN_READ) // 请求网络失败会读取缓存, 请断网测试
}.await()
}
Expand All @@ -77,7 +77,7 @@ scopeNetLife {
```kotlin
scopeNetLife {
binding.tvFragment.text =
Post<String>("api") {
Post<String>(Api.PATH) {
setCacheMode(CacheMode.REQUEST_THEN_READ) // 请求网络失败会读取缓存, 请断网测试
setCacheKey("请求热门信息" + params) // 具体值都行
}.await()
Expand All @@ -92,7 +92,7 @@ scopeNetLife {
```kotlin
scopeNetLife {
binding.tvFragment.text =
Post<String>("api") {
Post<String>(Api.PATH) {
setCacheMode(CacheMode.REQUEST_THEN_READ) // 请求网络失败会读取缓存, 请断网测试
setCacheValidTime(1, TimeUnit.DAYS) // 缓存仅一天内有效
}.await()
Expand All @@ -106,13 +106,13 @@ scopeNetLife {
```kotlin
scopeNetLife {
// 然后执行这里(网络请求)
binding.tvFragment.text = Get<String>("api") {
binding.tvFragment.text = Get<String>(Api.PATH) {
setCacheMode(CacheMode.WRITE)
}.await()
Log.d("日志", "网络请求")
}.preview(true) {
// 先执行这里(仅读缓存), 任何异常都视为读取缓存失败
binding.tvFragment.text = Get<String>("api") {
binding.tvFragment.text = Get<String>(Api.PATH) {
setCacheMode(CacheMode.READ)
}.await()
Log.d("日志", "读取缓存")
Expand Down
4 changes: 2 additions & 2 deletions docs/cancel.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
```kotlin
downloadScope = scopeNetLife {
// 下载文件
val file = Get<File>("download").await()
val file = Get<File>(Api.DOWNLOAD).await()
}

downloadScope.cancel() // 取消下载
Expand All @@ -14,7 +14,7 @@ downloadScope.cancel() // 取消下载

```kotlin
scopeNetLife {
tvFragment.text = Get<String>("api"){
tvFragment.text = Get<String>(Api.DOWNLOAD){
setId("请求用户信息")
}.await()
}
Expand Down
4 changes: 2 additions & 2 deletions docs/config.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ NetConfig.initialize(Api.HOST, this) {
指定Path(例如`/api/index`)会自动和`NetConfig.host`拼接组成Url, 但指定以`http/https`开头的全路径则直接作为请求Url
```kotlin
scopeNetLife {
val data = Get<String>("https://github.com/path").await()
val data = Get<String>("https://github.com/liangjingkanji/net").await()
}
```

Expand All @@ -81,7 +81,7 @@ NetConfig.initialize(Api.HOST, this) {

```kotlin
scopeNetLife {
val data = Get<String>("/api/index", "User").await() // User即为tag
val data = Get<String>(Api.PATH, "User").await() // User即为tag
}
// 拦截器修改请求URL不做介绍
```
Expand Down
4 changes: 2 additions & 2 deletions docs/converter-customize.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Net自定义转换器可支持任何数据类型, 甚至`Bitmap`

```kotlin
scopeNetLife {
val userList = Get<List<UserModel>>("list") {
val userList = Get<List<UserModel>>(Api.PATH) {
converter = GsonConverter()
}.await()
}
Expand All @@ -26,7 +26,7 @@ Net由于低耦合原则不自带任何序列化框架
=== "单例"
```kotlin hl_lines="3"
scopeNetLife {
tvFragment.text = Get<String>("api"){
tvFragment.text = Get<String>(Api.PATH){
converter = SerializationConverter()
}.await()
}
Expand Down
4 changes: 2 additions & 2 deletions docs/converter-struct.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
=== "网络请求"
```kotlin
scopeNetLife {
val data = Get<UserModel>("api").await().data
val data = Get<UserModel>(Api.USER).await().data
}
```

Expand Down Expand Up @@ -81,7 +81,7 @@ class GsonConvert : JSONConvert(code = "code", message = "msg", success = "200")

```kotlin
scopeNetLife {
val data = Get<UserModel>("api").await()
val data = Get<UserModel>(Api.USER).await()
}
```

Expand Down
4 changes: 2 additions & 2 deletions docs/converter.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Net支持请求返回的数据类型取决于你的转换器实现

# Get<任何对象>("path").await()
# Get<任何对象>(Api.PATH).await()

默认转换器支持返回以下数据类型

Expand All @@ -16,7 +16,7 @@ Net支持请求返回的数据类型取决于你的转换器实现

```kotlin
scopeNetLife {
Get<Response>("api").await().headers("响应头名称") // 返回响应头
Get<Response>(Api.PATH).await().headers("响应头名称") // 返回响应头
}
```

Expand Down
2 changes: 1 addition & 1 deletion docs/coroutine-request.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ val job = scopeNetLife {
repeat(10000) {
// 这里将返回的数据显示在TextView上
launch {
tvFragment.text = Get<String>("https://github.com/liangjingkanji/Net/").await()
tvFragment.text = Get<String>(Api.PATH).await()
}
}
}
Expand Down
4 changes: 3 additions & 1 deletion docs/debounce.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,6 @@ binding.etInput.debounce().distinctUntilChanged().launchIn(this) {
指定参数设置节流阀超时时间
```kotlin
fun EditText.debounce(timeoutMillis: Long = 800)
```
```
<br>
1. [示例-自动搜索分页列表](https://github.com/liangjingkanji/Net/blob/a78d46118666a3509d3fcc79c1d28ad81e2d5a57/sample/src/main/java/com/drake/net/sample/ui/fragment/EditDebounceFragment.kt)
4 changes: 2 additions & 2 deletions docs/download-file.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

```kotlin
scopeNetLife {
val file = Get<File>("download").await()
val file = Get<File>(Api.DOWNLOAD).await()
}
```

Expand All @@ -13,7 +13,7 @@ scopeNetLife {
```kotlin
scopeNetLife {
val file =
Get<File>("https://download.sublimetext.com/Sublime%20Text%20Build%203211.dmg") {
Get<File>("https://github.com/liangjingkanji/Net/releases/latest/download/net-sample.apk") {
setDownloadFileName("net.apk")
setDownloadDir(requireContext().filesDir)
setDownloadMd5Verify()
Expand Down
14 changes: 7 additions & 7 deletions docs/error-single.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,28 +7,28 @@
例如
```kotlin
scopeNetLife {
Get<String>("api").await() // 失败
Get<String>("api2").await() // 上面失败, 此处也不会执行
Get<String>("path").await() // 失败
Get<String>("path2").await() // 上面失败, 此处也不会执行
}
```

捕获第一个协程避免终止后续执行
```kotlin
scopeNetLife {
try {
Get<String>("api").await() // 失败
Get<String>("path").await() // 失败
} catch(e:Exception) {
}
Get<String>("api2").await() // 上面失败, 此处继续执行
Get<String>("path2").await() // 上面失败, 此处继续执行
}
```
当然如果创建不同的作用域分别请求那是互不影响的
```kotlin
scopeNetLife {
Get<String>("api").await() // 失败
Get<String>("path").await() // 失败
}
scopeNetLife {
Get<String>("api2").await() // 上面失败, 此处完全不受影响
Get<String>("path2").await() // 上面失败, 此处完全不受影响
}
```

Expand All @@ -38,7 +38,7 @@ scopeNetLife {

```kotlin
scope {
val data = Get<String>("http://www.thisiserror.com/").await()
val data = Get<String>("http://www.error.com/").await()
}.catch {
// 协程内发生错误回调, it为异常对象
}.finally {
Expand Down
32 changes: 16 additions & 16 deletions docs/fastest.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@
scopeNetLife {

// 同时发起四个网络请求
val deferred = Get<String>("api0") // 错误接口
val deferred1 = Get<String>("api1") // 错误接口
val deferred2 = Get<String>("api")
val deferred3 = Post<String>("api")
val deferred = Get<String>("path") // 错误接口
val deferred1 = Get<String>("path1") // 错误接口
val deferred2 = Get<String>("path2")
val deferred3 = Post<String>("path3")

// 只返回最快的请求结果
tvFragment.text = fastest(deferred, deferred1, deferred2, deferred3)
Expand All @@ -29,10 +29,10 @@ scopeNetLife {
```kotlin
scopeNetLife {
// 同时发起四个网络请求
val deferred2 = Get<String>("api") { setGroup("初始化") }
val deferred3 = Post<String>("api") { setGroup("初始化") }
val deferred = Get<String>("api0") { setGroup("初始化") } // 错误接口
val deferred1 = Get<String>("api1") { setGroup("初始化") } // 错误接口
val deferred2 = Get<String>("path") { setGroup("初始化") }
val deferred3 = Post<String>("path1") { setGroup("初始化") }
val deferred = Get<String>("path2") { setGroup("初始化") } // 错误接口
val deferred1 = Get<String>("path3") { setGroup("初始化") } // 错误接口

// 只返回最快的请求结果
tvFragment.text = fastest(listOf(deferred, deferred1, deferred2, deferred3), "初始化")
Expand All @@ -46,12 +46,12 @@ scopeNetLife {
```kotlin
scopeNetLife {

val fastest = Post<String>("api").transform {
val fastest = Post<String>("path").transform {
Log.d("日志", "Post") // 如果该接口最快则会回调这里
it // 这里可以返回其他数据结果
}

val fastest2 = Get<String>("api").transform {
val fastest2 = Get<String>("path").transform {
Log.d("日志", "Get") // 如果该接口最快则会回调这里
it
}
Expand All @@ -65,17 +65,17 @@ scopeNetLife {
## 捕获错误
```kotlin
scopeNetLife {
val task = Get<String>("api2")
val task1 = Get<String>("api2")
val task2 = Get<String>("api2")
val task = Get<String>("path")
val task1 = Get<String>("path1")
val task2 = Get<String>("path2")

val data = try {
fastest(listOf(task, task1, task2))
// 当task/task1/task2全部错误后才并发执行backupTask/backupTask1
} catch (e: Exception) {
val backupTask = Get<String>("api2")
val backupTask1 = Get<String>("api")
fastest(listOf(backupTask, backupTask1))
val task3 = Get<String>("path3")
val task4 = Get<String>("path4")
fastest(listOf(task3, task4))
}
}
```
6 changes: 3 additions & 3 deletions docs/https.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Https如果使用的CA证书, 不需要任何配置可以直接访问

```kotlin
scopeNetLife {
tvFragment.text = Get<String>("https://github.com/liangjingkanji/Net/").await()
tvFragment.text = Get<String>(Api.PATH).await()
}
```

Expand All @@ -25,7 +25,7 @@ scopeNetLife {

```kotlin
scopeNetLife {
Get<String>("https://github.com/liangjingkanji/Net/"){
Get<String>(Api.PATH){
setClient {
trustSSLCertificate()
}
Expand All @@ -50,7 +50,7 @@ scopeNetLife {

```kotlin
scopeNetLife {
Get<String>("https://github.com/liangjingkanji/Net/") {
Get<String>(Api.PATH) {
setClient {
val privateCertificate = resources.assets.open("https.certificate") // 这里的证书是放到应用的资产目录下
setSSLCertificate(privateCertificate)
Expand Down
Loading

0 comments on commit c1dc307

Please sign in to comment.