drake преди 3 години
родител
ревизия
dbc174e4db
променени са 5 файла, в които са добавени 35 реда и са изтрити 70 реда
  1. 3 3
      docs/convert-data-field.md
  2. 2 6
      docs/error-handle.md
  3. 10 1
      docs/index.md
  4. 13 9
      docs/log-recorder.md
  5. 7 51
      docs/updates.md

+ 3 - 3
docs/convert-data-field.md

@@ -3,7 +3,7 @@
 
 一般的解析过程是以下
 
-1) 后端返回的JSON数据
+1. 后端返回的JSON数据
 
 ```json
 {
@@ -15,7 +15,7 @@
 }
 ```
 
-2) 创建数据模型
+2. 创建数据模型
 
 ```kotlin
 data class UserInfo (
@@ -27,7 +27,7 @@ data class UserInfo (
 }
 ```
 
-3) 发起网络请求
+3. 发起网络请求
 
 ```kotlin
 scopeNetLife {

+ 2 - 6
docs/error-handle.md

@@ -87,18 +87,14 @@ catch里面的`it`属于异常对象, 这里列举可能存在的异常
 <string name="net_network_error">当前网络不可用</string>
 <string name="net_url_error">请求资源地址错误</string>
 <string name="net_host_error">无法找到指定服务器主机</string>
-<string name="net_connect_timeout_error">连接服务器超时,请重试</string>
-<string name="net_connect_exception">请检查网络连接</string>
-<string name="net_read_exception">读取数据错误</string>
-<string name="net_write_exception">发送数据错误</string>
-<string name="net_read_timeout_error">读取服务器数据超时,请检查网络</string>
+<string name="net_connect_timeout_error">连接服务器超时,%s</string>
 <string name="net_download_error">下载过程发生错误</string>
 <string name="net_no_cache_error">读取缓存错误</string>
 <string name="net_parse_error">解析数据时发生异常</string>
 <string name="net_request_error">请求参数错误</string>
 <string name="net_server_error">服务响应错误</string>
-<string name="net_image_error">图片下载错误</string>
 <string name="net_null_error">数据为空</string>
 <string name="net_error">未知网络错误</string>
 <string name="net_other_error">未知错误</string>
+<string name="no_error_message">无错误信息</string>
 ```

+ 10 - 1
docs/index.md

@@ -6,6 +6,15 @@
 
 Net支持使用协程发起网络, 当然即使不会协程也可以使用该框架.
 
+## 建议
+
+1. 禁止写一个函数封装一个请求函数, 如果公司工资不是按行数算钱, 禁止俄罗斯套娃. <br>
+2. Post/Get等函数本身就是高扩展性的`请求动作`. 你有特殊请求可以在拦截器/转换器处理, 或者使用TAG标签区分请求. <br>
+3. 如果想快速改变项目全局的请求URL可以声明为全局常量
+
+
+## 使用
+
 <br>
 这里演示发起网络`请求百度网站`内容的三个步骤
 
@@ -190,7 +199,7 @@ private fun OPTIONS() {
 
 ## 函数
 
-即会在IO线程执行网络请求, 要求在协程作用域内执行
+默认在IO线程执行网络请求(通过作用域参数可以控制Dispatch调度器), 要求在协程作用域内执行.
 
 |请求函数|描述|
 |-|-|

+ 13 - 9
docs/log-recorder.md

@@ -2,16 +2,25 @@
 
 Net扩展`Okhttp Profiler`插件支持更好的网络日志输出, 支持加密的请求和响应信息
 
-## 安装插件
+## 日志记录拦截器
+
+```kotlin hl_lines="2"
+initNet("http://github.com/") {
+    addInterceptor(LogRecordInterceptor(BuildConfig.DEBUG))
+}
+```
 
+这样会可以在LogCat看到日志输出, 但是我们要使用插件预览就需要第 2 步
 
-### 1) 安装插件
+## 安装插件
+
+### 1. 安装插件
 在插件市场搜索: "`Okhttp Profiler`"
 
 <img src="https://i.imgur.com/Pvncs1W.png" width="100%"/>
 
 
-### 2) 打开窗口
+### 2. 打开窗口
 安装以后在AndroidStudio右下角打开窗口
 
 <img src="https://i.imgur.com/lZ0RvN4.png" width="80%"/>
@@ -19,12 +28,7 @@ Net扩展`Okhttp Profiler`插件支持更好的网络日志输出, 支持加密
 > 请在每次使用前都先打开插件窗口, 如果有延迟或者不显示就反复打开下窗口
 
 
-### 3) 初始化
-```kotlin hl_lines="2"
-initNet("http://github.com/") {
-    addInterceptor(LogRecordInterceptor(BuildConfig.DEBUG))
-}
-```
+
 
 使用效果
 

+ 7 - 51
docs/updates.md

@@ -1,58 +1,14 @@
+## 3.0.2
+修复多渠道无法安装问题
+
 ## 3.0.1
-支持kotlin-serialization转换器
-修复JSON请求参数类型问题
+1. 转换器支持KType, 解决JAVA泛型擦除问题
+2. 支持kotlin-serialization转换器
+3. 修复JSON请求参数类型问题
 
 ## 3.0
 1. 重构代码, 提升稳定性和安全性.
 2. 支持OkHttp的所有函数/组件, 可独立升级OkHttp版本
 3. 更加强大的下载功能
 4. 所有IO读写使用OKIO
-5. 更加优雅的函数设计
-
-## 2.3.15
-[json]请求体支持Map和Pair参数
-
-## 2.3.14
-支持在ViewModel中创建绑定ViewModel生命周期的作用域: scopeLife/scopeNetLife
-
-
-## 2.3.13
-增加函数[json]来便于快速构建Json请求参数
-
-```kotlin
-val name = "金城武"
-val age = 29
-val measurements = listOf(100, 100, 100)
-
-scopeNetLife {
-
-    // 创建JSONObject对象
-    tv_fragment.text = Post<String>("api") {
-        json(JSONObject().run {
-            put("name", name)
-            put("age", age)
-            put("measurements", JSONArray(measurements))
-        })
-    }.await()
-
-    // 创建JSON
-    tv_fragment.text = Post<String>("api") {
-        json("{name:$name, age:$age, measurements:$measurements}")
-    }.await()
-```
-
-## 2.3.8
-日志记录器默认支持输出Json参数
-
-## 2.3.7
-
-新增缓存模式: `READ_CACHE_NO_THEN_NETWORK_THEN_WRITE_CACHE`
-
-先本地有缓存则读取缓存,如果没有缓存则读取网络并且写入缓存, <br>该模式请求成功后会永久使用缓存, 但你可以指定动态的cacheKey来让缓存失效 <br>例如一天后失效, 可以做到客户端完全控制缓存
-
-## 2.3.6
-
-1.  支持无限次数的重定向
-2.  默认开启重定向
-
-如果禁止重定向可以创建拦截器取消重定向或者参考`initNet`函数, 但是不添加默认的重定向拦截器
+5. 更加优雅的函数设计