ソースを参照

pref: 统一URL

drake 2 年 前
コミット
2f43ea42b7
21 ファイル変更67 行追加36 行削除
  1. 2 1
      sample/src/main/java/com/drake/net/sample/base/App.kt
  2. 11 0
      sample/src/main/java/com/drake/net/sample/constants/Api.kt
  3. 2 1
      sample/src/main/java/com/drake/net/sample/ui/fragment/AutoDialogFragment.kt
  4. 2 1
      sample/src/main/java/com/drake/net/sample/ui/fragment/CallbackRequestFragment.kt
  5. 3 2
      sample/src/main/java/com/drake/net/sample/ui/fragment/FastestFragment.kt
  6. 2 1
      sample/src/main/java/com/drake/net/sample/ui/fragment/InterceptorFragment.kt
  7. 4 3
      sample/src/main/java/com/drake/net/sample/ui/fragment/ParallelNetworkFragment.kt
  8. 3 2
      sample/src/main/java/com/drake/net/sample/ui/fragment/PreviewCacheFragment.kt
  9. 2 1
      sample/src/main/java/com/drake/net/sample/ui/fragment/PullRefreshFragment.kt
  10. 2 1
      sample/src/main/java/com/drake/net/sample/ui/fragment/PushRefreshFragment.kt
  11. 2 1
      sample/src/main/java/com/drake/net/sample/ui/fragment/ReadCacheFragment.kt
  12. 11 10
      sample/src/main/java/com/drake/net/sample/ui/fragment/RequestMethodFragment.kt
  13. 2 1
      sample/src/main/java/com/drake/net/sample/ui/fragment/StateLayoutFragment.kt
  14. 3 2
      sample/src/main/java/com/drake/net/sample/ui/fragment/SyncRequestFragment.kt
  15. 2 1
      sample/src/main/java/com/drake/net/sample/ui/fragment/UniqueRequestFragment.kt
  16. 2 1
      sample/src/main/java/com/drake/net/sample/ui/fragment/UploadFileFragment.kt
  17. 2 1
      sample/src/main/java/com/drake/net/sample/ui/fragment/converter/FastJsonConvertFragment.kt
  18. 2 1
      sample/src/main/java/com/drake/net/sample/ui/fragment/converter/GsonConvertFragment.kt
  19. 2 1
      sample/src/main/java/com/drake/net/sample/ui/fragment/converter/MoshiConvertFragment.kt
  20. 2 1
      sample/src/main/java/com/drake/net/sample/ui/fragment/converter/SerializationConvertFragment.kt
  21. 4 3
      sample/src/main/java/com/drake/net/sample/vm/UserViewModel.kt

+ 2 - 1
sample/src/main/java/com/drake/net/sample/base/App.kt

@@ -30,6 +30,7 @@ import com.drake.net.okhttp.setRequestInterceptor
 import com.drake.net.sample.BR
 import com.drake.net.sample.BR
 import com.drake.net.sample.BuildConfig
 import com.drake.net.sample.BuildConfig
 import com.drake.net.sample.R
 import com.drake.net.sample.R
+import com.drake.net.sample.constants.Api
 import com.drake.net.sample.converter.SerializationConverter
 import com.drake.net.sample.converter.SerializationConverter
 import com.drake.net.sample.interfaces.MyRequestInterceptor
 import com.drake.net.sample.interfaces.MyRequestInterceptor
 import com.drake.statelayout.StateConfig
 import com.drake.statelayout.StateConfig
@@ -45,7 +46,7 @@ class App : Application() {
     override fun onCreate() {
     override fun onCreate() {
         super.onCreate()
         super.onCreate()
 
 
-        NetConfig.initialize("https://www.wanandroid.com/", this) {
+        NetConfig.initialize(Api.HOST, this) {
 
 
             // 超时设置
             // 超时设置
             connectTimeout(30, TimeUnit.SECONDS)
             connectTimeout(30, TimeUnit.SECONDS)

+ 11 - 0
sample/src/main/java/com/drake/net/sample/constants/Api.kt

@@ -0,0 +1,11 @@
+package com.drake.net.sample.constants
+
+object Api {
+    const val HOST = "https://www.wanandroid.com/"
+
+    const val BANNER = "banner/json"
+    const val LOGIN = "user/login"
+    const val UPLOAD = "upload"
+    const val FRIEND = "friend/json"
+    const val ARTICLE = "article/list/%s/json" // %s为分页索引
+}

+ 2 - 1
sample/src/main/java/com/drake/net/sample/ui/fragment/AutoDialogFragment.kt

@@ -19,6 +19,7 @@ package com.drake.net.sample.ui.fragment
 import com.drake.engine.base.EngineFragment
 import com.drake.engine.base.EngineFragment
 import com.drake.net.Post
 import com.drake.net.Post
 import com.drake.net.sample.R
 import com.drake.net.sample.R
+import com.drake.net.sample.constants.Api
 import com.drake.net.sample.databinding.FragmentAutoDialogBinding
 import com.drake.net.sample.databinding.FragmentAutoDialogBinding
 import com.drake.net.utils.scopeDialog
 import com.drake.net.utils.scopeDialog
 import com.drake.tooltip.toast
 import com.drake.tooltip.toast
@@ -30,7 +31,7 @@ class AutoDialogFragment :
 
 
     override fun initView() {
     override fun initView() {
         scopeDialog {
         scopeDialog {
-            binding.tvFragment.text = Post<String>("user/login") {
+            binding.tvFragment.text = Post<String>(Api.LOGIN) {
                 param("username", "你的账号")
                 param("username", "你的账号")
                 param("password", "123456")
                 param("password", "123456")
             }.await()
             }.await()

+ 2 - 1
sample/src/main/java/com/drake/net/sample/ui/fragment/CallbackRequestFragment.kt

@@ -3,6 +3,7 @@ package com.drake.net.sample.ui.fragment
 import com.drake.engine.base.EngineFragment
 import com.drake.engine.base.EngineFragment
 import com.drake.net.Net
 import com.drake.net.Net
 import com.drake.net.sample.R
 import com.drake.net.sample.R
+import com.drake.net.sample.constants.Api
 import com.drake.net.sample.databinding.FragmentCallbackRequestBinding
 import com.drake.net.sample.databinding.FragmentCallbackRequestBinding
 import com.drake.net.utils.runMain
 import com.drake.net.utils.runMain
 import okhttp3.Call
 import okhttp3.Call
@@ -18,7 +19,7 @@ class CallbackRequestFragment :
 
 
     override fun initView() {
     override fun initView() {
         // Net同样支持OkHttp原始的队列任务
         // Net同样支持OkHttp原始的队列任务
-        Net.post("banner/json").enqueue(object : Callback {
+        Net.post(Api.BANNER).enqueue(object : Callback {
             override fun onFailure(call: Call, e: IOException) {
             override fun onFailure(call: Call, e: IOException) {
             }
             }
 
 

+ 3 - 2
sample/src/main/java/com/drake/net/sample/ui/fragment/FastestFragment.kt

@@ -20,6 +20,7 @@ import com.drake.engine.base.EngineFragment
 import com.drake.net.Get
 import com.drake.net.Get
 import com.drake.net.Post
 import com.drake.net.Post
 import com.drake.net.sample.R
 import com.drake.net.sample.R
+import com.drake.net.sample.constants.Api
 import com.drake.net.sample.databinding.FragmentFastestBinding
 import com.drake.net.sample.databinding.FragmentFastestBinding
 import com.drake.net.utils.fastest
 import com.drake.net.utils.fastest
 import com.drake.net.utils.scopeNetLife
 import com.drake.net.utils.scopeNetLife
@@ -34,7 +35,7 @@ class FastestFragment : EngineFragment<FragmentFastestBinding>(R.layout.fragment
             */
             */
 
 
             // 同时发起四个网络请求
             // 同时发起四个网络请求
-            val deferred2 = Get<String>("banner/json") { setGroup("最快") }
+            val deferred2 = Get<String>(Api.BANNER) { setGroup("最快") }
             val deferred3 = Post<String>("navi/json") { setGroup("最快") }
             val deferred3 = Post<String>("navi/json") { setGroup("最快") }
             val deferred = Get<String>("api0") { setGroup("最快") } // 错误接口
             val deferred = Get<String>("api0") { setGroup("最快") } // 错误接口
             val deferred1 = Get<String>("api1") { setGroup("最快") } // 错误接口
             val deferred1 = Get<String>("api1") { setGroup("最快") } // 错误接口
@@ -53,7 +54,7 @@ class FastestFragment : EngineFragment<FragmentFastestBinding>(R.layout.fragment
         //     // 同时发起四个网络请求
         //     // 同时发起四个网络请求
         //     val requestList = mutableListOf<DeferredTransform<String, String>>().apply {
         //     val requestList = mutableListOf<DeferredTransform<String, String>>().apply {
         //         for (i in 0..28) {
         //         for (i in 0..28) {
-        //             val request = Get<String>("banner/json").transform {
+        //             val request = Get<String>(Api.BANNER).transform {
         //                 Log.d("日志", "(FastestFragment.kt:73)    it = ${it}")
         //                 Log.d("日志", "(FastestFragment.kt:73)    it = ${it}")
         //                 it
         //                 it
         //             }
         //             }

+ 2 - 1
sample/src/main/java/com/drake/net/sample/ui/fragment/InterceptorFragment.kt

@@ -19,6 +19,7 @@ package com.drake.net.sample.ui.fragment
 import com.drake.engine.base.EngineFragment
 import com.drake.engine.base.EngineFragment
 import com.drake.net.Get
 import com.drake.net.Get
 import com.drake.net.sample.R
 import com.drake.net.sample.R
+import com.drake.net.sample.constants.Api
 import com.drake.net.sample.databinding.FragmentInterceptorBinding
 import com.drake.net.sample.databinding.FragmentInterceptorBinding
 import com.drake.net.utils.scopeNetLife
 import com.drake.net.utils.scopeNetLife
 
 
@@ -28,7 +29,7 @@ class InterceptorFragment :
 
 
     override fun initView() {
     override fun initView() {
         scopeNetLife {
         scopeNetLife {
-            binding.tvFragment.text = Get<String>("banner/json") {
+            binding.tvFragment.text = Get<String>(Api.BANNER) {
                 // 拦截器只支持全局, 无法单例, 请查看[com.drake.net.sample.interceptor.NetInterceptor]
                 // 拦截器只支持全局, 无法单例, 请查看[com.drake.net.sample.interceptor.NetInterceptor]
             }.await()
             }.await()
         }
         }

+ 4 - 3
sample/src/main/java/com/drake/net/sample/ui/fragment/ParallelNetworkFragment.kt

@@ -21,6 +21,7 @@ import com.drake.net.Get
 import com.drake.net.Post
 import com.drake.net.Post
 import com.drake.net.Trace
 import com.drake.net.Trace
 import com.drake.net.sample.R
 import com.drake.net.sample.R
+import com.drake.net.sample.constants.Api
 import com.drake.net.sample.databinding.FragmentParallelNetworkBinding
 import com.drake.net.sample.databinding.FragmentParallelNetworkBinding
 import com.drake.net.utils.scopeNetLife
 import com.drake.net.utils.scopeNetLife
 
 
@@ -32,9 +33,9 @@ class ParallelNetworkFragment :
         scopeNetLife {
         scopeNetLife {
 
 
             // 同时发起三个请求
             // 同时发起三个请求
-            val deferred = Get<String>("banner/json")
-            val deferred1 = Post<String>("banner/json")
-            val deferred2 = Trace<String>("banner/json")
+            val deferred = Get<String>(Api.BANNER)
+            val deferred1 = Post<String>(Api.BANNER)
+            val deferred2 = Trace<String>(Api.BANNER)
 
 
             // 同时接收三个请求数据
             // 同时接收三个请求数据
             deferred.await()
             deferred.await()

+ 3 - 2
sample/src/main/java/com/drake/net/sample/ui/fragment/PreviewCacheFragment.kt

@@ -21,6 +21,7 @@ import com.drake.engine.base.EngineFragment
 import com.drake.net.Get
 import com.drake.net.Get
 import com.drake.net.cache.CacheMode
 import com.drake.net.cache.CacheMode
 import com.drake.net.sample.R
 import com.drake.net.sample.R
+import com.drake.net.sample.constants.Api
 import com.drake.net.sample.databinding.FragmentReadCacheBinding
 import com.drake.net.sample.databinding.FragmentReadCacheBinding
 import com.drake.net.utils.scopeNetLife
 import com.drake.net.utils.scopeNetLife
 
 
@@ -34,13 +35,13 @@ class PreviewCacheFragment : EngineFragment<FragmentReadCacheBinding>(R.layout.f
 
 
         scopeNetLife {
         scopeNetLife {
             // 然后执行这里(网络请求)
             // 然后执行这里(网络请求)
-            binding.tvFragment.text = Get<String>("banner/json") {
+            binding.tvFragment.text = Get<String>(Api.BANNER) {
                 setCacheMode(CacheMode.WRITE)
                 setCacheMode(CacheMode.WRITE)
             }.await()
             }.await()
             Log.d("日志", "网络请求")
             Log.d("日志", "网络请求")
         }.preview(true) {
         }.preview(true) {
             // 先执行这里(仅读缓存), 任何异常都视为读取缓存失败
             // 先执行这里(仅读缓存), 任何异常都视为读取缓存失败
-            binding.tvFragment.text = Get<String>("banner/json") {
+            binding.tvFragment.text = Get<String>(Api.BANNER) {
                 setCacheMode(CacheMode.READ)
                 setCacheMode(CacheMode.READ)
             }.await()
             }.await()
             Log.d("日志", "读取缓存")
             Log.d("日志", "读取缓存")

+ 2 - 1
sample/src/main/java/com/drake/net/sample/ui/fragment/PullRefreshFragment.kt

@@ -21,6 +21,7 @@ import com.drake.brv.utils.setup
 import com.drake.engine.base.EngineFragment
 import com.drake.engine.base.EngineFragment
 import com.drake.net.Get
 import com.drake.net.Get
 import com.drake.net.sample.R
 import com.drake.net.sample.R
+import com.drake.net.sample.constants.Api
 import com.drake.net.sample.databinding.FragmentPullRefreshBinding
 import com.drake.net.sample.databinding.FragmentPullRefreshBinding
 import com.drake.net.sample.model.HomeArticleModel
 import com.drake.net.sample.model.HomeArticleModel
 import com.drake.net.utils.scope
 import com.drake.net.utils.scope
@@ -36,7 +37,7 @@ class PullRefreshFragment :
 
 
         binding.page.onRefresh {
         binding.page.onRefresh {
             scope {
             scope {
-                val response = Get<HomeArticleModel>("article/list/${index}/json").await()
+                val response = Get<HomeArticleModel>(String.format(Api.ARTICLE, index)).await()
                 addData(response.datas) {
                 addData(response.datas) {
                     index < response.pageCount
                     index < response.pageCount
                 }
                 }

+ 2 - 1
sample/src/main/java/com/drake/net/sample/ui/fragment/PushRefreshFragment.kt

@@ -22,6 +22,7 @@ import com.drake.brv.utils.setup
 import com.drake.engine.base.EngineFragment
 import com.drake.engine.base.EngineFragment
 import com.drake.net.Get
 import com.drake.net.Get
 import com.drake.net.sample.R
 import com.drake.net.sample.R
+import com.drake.net.sample.constants.Api
 import com.drake.net.sample.databinding.FragmentPushRefreshBinding
 import com.drake.net.sample.databinding.FragmentPushRefreshBinding
 import com.drake.net.sample.model.CommonWebsite
 import com.drake.net.sample.model.CommonWebsite
 import com.drake.net.utils.scope
 import com.drake.net.utils.scope
@@ -37,7 +38,7 @@ class PushRefreshFragment :
 
 
         binding.page.onRefresh {
         binding.page.onRefresh {
             scope {
             scope {
-                binding.rv.models = Get<List<CommonWebsite>>("friend/json").await()
+                binding.rv.models = Get<List<CommonWebsite>>(Api.FRIEND).await()
             }
             }
         }.autoRefresh()
         }.autoRefresh()
     }
     }

+ 2 - 1
sample/src/main/java/com/drake/net/sample/ui/fragment/ReadCacheFragment.kt

@@ -20,6 +20,7 @@ import com.drake.engine.base.EngineFragment
 import com.drake.net.Post
 import com.drake.net.Post
 import com.drake.net.cache.CacheMode
 import com.drake.net.cache.CacheMode
 import com.drake.net.sample.R
 import com.drake.net.sample.R
+import com.drake.net.sample.constants.Api
 import com.drake.net.sample.databinding.FragmentReadCacheBinding
 import com.drake.net.sample.databinding.FragmentReadCacheBinding
 import com.drake.net.utils.scopeNetLife
 import com.drake.net.utils.scopeNetLife
 
 
@@ -34,7 +35,7 @@ class ReadCacheFragment : EngineFragment<FragmentReadCacheBinding>(R.layout.frag
     override fun initView() {
     override fun initView() {
         scopeNetLife {
         scopeNetLife {
             binding.tvFragment.text =
             binding.tvFragment.text =
-                Post<String>("banner/json") {
+                Post<String>(Api.BANNER) {
                     setCacheMode(CacheMode.REQUEST_THEN_READ) // 请求网络失败会读取缓存, 请断网测试
                     setCacheMode(CacheMode.REQUEST_THEN_READ) // 请求网络失败会读取缓存, 请断网测试
                     // setCacheKey("自定义缓存KEY")
                     // setCacheKey("自定义缓存KEY")
                 }.await()
                 }.await()

+ 11 - 10
sample/src/main/java/com/drake/net/sample/ui/fragment/RequestMethodFragment.kt

@@ -24,6 +24,7 @@ import android.view.MenuItem
 import com.drake.engine.base.EngineFragment
 import com.drake.engine.base.EngineFragment
 import com.drake.net.*
 import com.drake.net.*
 import com.drake.net.sample.R
 import com.drake.net.sample.R
+import com.drake.net.sample.constants.Api
 import com.drake.net.sample.databinding.FragmentRequestMethodBinding
 import com.drake.net.sample.databinding.FragmentRequestMethodBinding
 import com.drake.net.utils.scopeNetLife
 import com.drake.net.utils.scopeNetLife
 
 
@@ -40,49 +41,49 @@ class RequestMethodFragment :
 
 
     private fun GET() {
     private fun GET() {
         scopeNetLife {
         scopeNetLife {
-            binding.tvFragment.text = Get<String>("banner/json").await()
+            binding.tvFragment.text = Get<String>(Api.BANNER).await()
         }
         }
     }
     }
 
 
     private fun POST() {
     private fun POST() {
         scopeNetLife {
         scopeNetLife {
-            binding.tvFragment.text = Post<String>("banner/json").await()
+            binding.tvFragment.text = Post<String>(Api.BANNER).await()
         }
         }
     }
     }
 
 
     private fun HEAD() {
     private fun HEAD() {
         scopeNetLife {
         scopeNetLife {
-            binding.tvFragment.text = Head<String>("banner/json").await()
+            binding.tvFragment.text = Head<String>(Api.BANNER).await()
         }
         }
     }
     }
 
 
     private fun PUT() {
     private fun PUT() {
         scopeNetLife {
         scopeNetLife {
-            binding.tvFragment.text = Put<String>("banner/json").await()
+            binding.tvFragment.text = Put<String>(Api.BANNER).await()
         }
         }
     }
     }
 
 
     private fun PATCH() {
     private fun PATCH() {
         scopeNetLife {
         scopeNetLife {
-            binding.tvFragment.text = Patch<String>("banner/json").await()
+            binding.tvFragment.text = Patch<String>(Api.BANNER).await()
         }
         }
     }
     }
 
 
     private fun DELETE() {
     private fun DELETE() {
         scopeNetLife {
         scopeNetLife {
-            binding.tvFragment.text = Delete<String>("banner/json").await()
+            binding.tvFragment.text = Delete<String>(Api.BANNER).await()
         }
         }
     }
     }
 
 
     private fun TRACE() {
     private fun TRACE() {
         scopeNetLife {
         scopeNetLife {
-            binding.tvFragment.text = Trace<String>("banner/json").await()
+            binding.tvFragment.text = Trace<String>(Api.BANNER).await()
         }
         }
     }
     }
 
 
     private fun OPTIONS() {
     private fun OPTIONS() {
         scopeNetLife {
         scopeNetLife {
-            binding.tvFragment.text = Options<String>("banner/json").await()
+            binding.tvFragment.text = Options<String>(Api.BANNER).await()
         }
         }
     }
     }
 
 
@@ -98,7 +99,7 @@ class RequestMethodFragment :
         scopeNetLife {
         scopeNetLife {
 
 
             // 创建JSONObject对象
             // 创建JSONObject对象
-            // binding.tvFragment.text = Post<String>("banner/json") {
+            // binding.tvFragment.text = Post<String>(Api.BANNER) {
             //     json(JSONObject().run {
             //     json(JSONObject().run {
             //         put("name", name)
             //         put("name", name)
             //         put("age", age)
             //         put("age", age)
@@ -107,7 +108,7 @@ class RequestMethodFragment :
             // }.await()
             // }.await()
 
 
             // 创建JSON
             // 创建JSON
-            binding.tvFragment.text = Post<String>("banner/json") {
+            binding.tvFragment.text = Post<String>(Api.BANNER) {
                 json("name" to name, "age" to age, "measurements" to measurements) // 同时支持Map集合
                 json("name" to name, "age" to age, "measurements" to measurements) // 同时支持Map集合
             }.await()
             }.await()
         }
         }

+ 2 - 1
sample/src/main/java/com/drake/net/sample/ui/fragment/StateLayoutFragment.kt

@@ -19,6 +19,7 @@ package com.drake.net.sample.ui.fragment
 import com.drake.engine.base.EngineFragment
 import com.drake.engine.base.EngineFragment
 import com.drake.net.Get
 import com.drake.net.Get
 import com.drake.net.sample.R
 import com.drake.net.sample.R
+import com.drake.net.sample.constants.Api
 import com.drake.net.sample.databinding.FragmentStateLayoutBinding
 import com.drake.net.sample.databinding.FragmentStateLayoutBinding
 import com.drake.net.utils.scope
 import com.drake.net.utils.scope
 
 
@@ -32,7 +33,7 @@ class StateLayoutFragment :
     override fun initView() {
     override fun initView() {
         binding.state.onRefresh {
         binding.state.onRefresh {
             scope {
             scope {
-                binding.tvFragment.text = Get<String>("banner/json").await()
+                binding.tvFragment.text = Get<String>(Api.BANNER).await()
             }
             }
         }.showLoading()
         }.showLoading()
     }
     }

+ 3 - 2
sample/src/main/java/com/drake/net/sample/ui/fragment/SyncRequestFragment.kt

@@ -3,6 +3,7 @@ package com.drake.net.sample.ui.fragment
 import com.drake.engine.base.EngineFragment
 import com.drake.engine.base.EngineFragment
 import com.drake.net.Net
 import com.drake.net.Net
 import com.drake.net.sample.R
 import com.drake.net.sample.R
+import com.drake.net.sample.constants.Api
 import com.drake.net.sample.databinding.FragmentSyncRequestBinding
 import com.drake.net.sample.databinding.FragmentSyncRequestBinding
 import kotlin.concurrent.thread
 import kotlin.concurrent.thread
 
 
@@ -12,12 +13,12 @@ class SyncRequestFragment :
     override fun initView() {
     override fun initView() {
         thread { // 网络请求不允许在主线程
         thread { // 网络请求不允许在主线程
             val result = try {
             val result = try {
-                Net.post("banner/json").execute<String>()
+                Net.post(Api.BANNER).execute<String>()
             } catch (e: Exception) { // 同步请求失败会导致崩溃要求捕获异常
             } catch (e: Exception) { // 同步请求失败会导致崩溃要求捕获异常
                 "请求错误 = ${e.message}"
                 "请求错误 = ${e.message}"
             }
             }
 
 
-            // val result = Net.post("banner/json").toResult<String>().getOrDefault("请求发生错误, 我这是默认值")
+            // val result = Net.post(Api.BANNER).toResult<String>().getOrDefault("请求发生错误, 我这是默认值")
 
 
             binding.tvFragment?.post { // 这里用?号是避免界面被销毁依然赋值
             binding.tvFragment?.post { // 这里用?号是避免界面被销毁依然赋值
                 binding.tvFragment?.text = result  // view要求在主线程更新
                 binding.tvFragment?.text = result  // view要求在主线程更新

+ 2 - 1
sample/src/main/java/com/drake/net/sample/ui/fragment/UniqueRequestFragment.kt

@@ -4,6 +4,7 @@ import android.util.Log
 import com.drake.engine.base.EngineFragment
 import com.drake.engine.base.EngineFragment
 import com.drake.net.Post
 import com.drake.net.Post
 import com.drake.net.sample.R
 import com.drake.net.sample.R
+import com.drake.net.sample.constants.Api
 import com.drake.net.sample.databinding.FragmentUniqueRequestBinding
 import com.drake.net.sample.databinding.FragmentUniqueRequestBinding
 import com.drake.net.scope.AndroidScope
 import com.drake.net.scope.AndroidScope
 import com.drake.net.utils.scopeNetLife
 import com.drake.net.utils.scopeNetLife
@@ -19,7 +20,7 @@ class UniqueRequestFragment :
             scope?.cancel() // 如果存在则取消
             scope?.cancel() // 如果存在则取消
 
 
             scope = scopeNetLife {
             scope = scopeNetLife {
-                val result = Post<String>("banner/json").await()
+                val result = Post<String>(Api.BANNER).await()
                 Log.d("日志", "请求到结果") // 你一直重复点击"发起请求"按钮会发现永远无法拿到请求结果, 因为每次发起新的请求会取消未完成的
                 Log.d("日志", "请求到结果") // 你一直重复点击"发起请求"按钮会发现永远无法拿到请求结果, 因为每次发起新的请求会取消未完成的
                 binding.tvResult.text = result
                 binding.tvResult.text = result
             }
             }

+ 2 - 1
sample/src/main/java/com/drake/net/sample/ui/fragment/UploadFileFragment.kt

@@ -21,6 +21,7 @@ import com.drake.net.Post
 import com.drake.net.component.Progress
 import com.drake.net.component.Progress
 import com.drake.net.interfaces.ProgressListener
 import com.drake.net.interfaces.ProgressListener
 import com.drake.net.sample.R
 import com.drake.net.sample.R
+import com.drake.net.sample.constants.Api
 import com.drake.net.sample.databinding.FragmentUploadFileBinding
 import com.drake.net.sample.databinding.FragmentUploadFileBinding
 import com.drake.net.utils.scopeNetLife
 import com.drake.net.utils.scopeNetLife
 import okio.buffer
 import okio.buffer
@@ -34,7 +35,7 @@ class UploadFileFragment :
 
 
     override fun initView() {
     override fun initView() {
         scopeNetLife {
         scopeNetLife {
-            Post<String>("upload") {
+            Post<String>(Api.UPLOAD) {
                 param("file", assetsFile())
                 param("file", assetsFile())
                 addUploadListener(object : ProgressListener() {
                 addUploadListener(object : ProgressListener() {
                     override fun onProgress(p: Progress) {
                     override fun onProgress(p: Progress) {

+ 2 - 1
sample/src/main/java/com/drake/net/sample/ui/fragment/converter/FastJsonConvertFragment.kt

@@ -18,6 +18,7 @@ package com.drake.net.sample.ui.fragment.converter
 
 
 import com.drake.net.Get
 import com.drake.net.Get
 import com.drake.net.sample.R
 import com.drake.net.sample.R
+import com.drake.net.sample.constants.Api
 import com.drake.net.sample.converter.FastJsonConverter
 import com.drake.net.sample.converter.FastJsonConverter
 import com.drake.net.sample.databinding.FragmentCustomConvertBinding
 import com.drake.net.sample.databinding.FragmentCustomConvertBinding
 import com.drake.net.sample.model.HomeBannerModel
 import com.drake.net.sample.model.HomeBannerModel
@@ -34,7 +35,7 @@ class FastJsonConvertFragment :
         """.trimIndent()
         """.trimIndent()
 
 
         scopeNetLife {
         scopeNetLife {
-            binding.tvFragment.text = Get<List<HomeBannerModel>>("banner/json") {
+            binding.tvFragment.text = Get<List<HomeBannerModel>>(Api.BANNER) {
                 converter = FastJsonConverter() // 单例转换器, 此时会忽略全局转换器
                 converter = FastJsonConverter() // 单例转换器, 此时会忽略全局转换器
             }.await()[0].desc
             }.await()[0].desc
         }
         }

+ 2 - 1
sample/src/main/java/com/drake/net/sample/ui/fragment/converter/GsonConvertFragment.kt

@@ -18,6 +18,7 @@ package com.drake.net.sample.ui.fragment.converter
 
 
 import com.drake.net.Get
 import com.drake.net.Get
 import com.drake.net.sample.R
 import com.drake.net.sample.R
+import com.drake.net.sample.constants.Api
 import com.drake.net.sample.converter.GsonConverter
 import com.drake.net.sample.converter.GsonConverter
 import com.drake.net.sample.databinding.FragmentCustomConvertBinding
 import com.drake.net.sample.databinding.FragmentCustomConvertBinding
 import com.drake.net.sample.model.HomeBannerModel
 import com.drake.net.sample.model.HomeBannerModel
@@ -36,7 +37,7 @@ class GsonConvertFragment :
         """.trimIndent()
         """.trimIndent()
 
 
         scopeNetLife {
         scopeNetLife {
-            binding.tvFragment.text = Get<List<HomeBannerModel>>("banner/json") {
+            binding.tvFragment.text = Get<List<HomeBannerModel>>(Api.BANNER) {
                 converter = GsonConverter() // 单例转换器, 此时会忽略全局转换器, 在Net中可以直接解析List等嵌套泛型数据
                 converter = GsonConverter() // 单例转换器, 此时会忽略全局转换器, 在Net中可以直接解析List等嵌套泛型数据
             }.await()[0].desc
             }.await()[0].desc
         }
         }

+ 2 - 1
sample/src/main/java/com/drake/net/sample/ui/fragment/converter/MoshiConvertFragment.kt

@@ -18,6 +18,7 @@ package com.drake.net.sample.ui.fragment.converter
 
 
 import com.drake.net.Get
 import com.drake.net.Get
 import com.drake.net.sample.R
 import com.drake.net.sample.R
+import com.drake.net.sample.constants.Api
 import com.drake.net.sample.converter.MoshiConverter
 import com.drake.net.sample.converter.MoshiConverter
 import com.drake.net.sample.databinding.FragmentCustomConvertBinding
 import com.drake.net.sample.databinding.FragmentCustomConvertBinding
 import com.drake.net.sample.model.HomeBannerModel
 import com.drake.net.sample.model.HomeBannerModel
@@ -37,7 +38,7 @@ class MoshiConvertFragment :
         """.trimIndent()
         """.trimIndent()
 
 
         scopeNetLife {
         scopeNetLife {
-            binding.tvFragment.text = Get<List<HomeBannerModel>>("banner/json") {
+            binding.tvFragment.text = Get<List<HomeBannerModel>>(Api.BANNER) {
                 converter = MoshiConverter() // 单例转换器, 此时会忽略全局转换器
                 converter = MoshiConverter() // 单例转换器, 此时会忽略全局转换器
             }.await()[0].desc
             }.await()[0].desc
         }
         }

+ 2 - 1
sample/src/main/java/com/drake/net/sample/ui/fragment/converter/SerializationConvertFragment.kt

@@ -18,6 +18,7 @@ package com.drake.net.sample.ui.fragment.converter
 
 
 import com.drake.net.Get
 import com.drake.net.Get
 import com.drake.net.sample.R
 import com.drake.net.sample.R
+import com.drake.net.sample.constants.Api
 import com.drake.net.sample.converter.SerializationConverter
 import com.drake.net.sample.converter.SerializationConverter
 import com.drake.net.sample.databinding.FragmentCustomConvertBinding
 import com.drake.net.sample.databinding.FragmentCustomConvertBinding
 import com.drake.net.sample.model.HomeBannerModel
 import com.drake.net.sample.model.HomeBannerModel
@@ -37,7 +38,7 @@ class SerializationConvertFragment :
         """.trimIndent()
         """.trimIndent()
 
 
         scopeNetLife {
         scopeNetLife {
-            val data = Get<List<HomeBannerModel>>("banner/json") {
+            val data = Get<List<HomeBannerModel>>(Api.BANNER) {
                 // 该转换器直接解析JSON中的data字段, 而非返回的整个JSON字符串
                 // 该转换器直接解析JSON中的data字段, 而非返回的整个JSON字符串
                 converter = SerializationConverter() // 单例转换器, 此时会忽略全局转换器
                 converter = SerializationConverter() // 单例转换器, 此时会忽略全局转换器
             }.await()
             }.await()

+ 4 - 3
sample/src/main/java/com/drake/net/sample/vm/UserViewModel.kt

@@ -4,6 +4,7 @@ import androidx.lifecycle.MutableLiveData
 import androidx.lifecycle.ViewModel
 import androidx.lifecycle.ViewModel
 import androidx.lifecycle.scopeNetLife
 import androidx.lifecycle.scopeNetLife
 import com.drake.net.Get
 import com.drake.net.Get
+import com.drake.net.sample.constants.Api
 import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.coroutineScope
 import kotlinx.coroutines.coroutineScope
 
 
@@ -18,15 +19,15 @@ class UserViewModel : ViewModel() {
      * scopeNetLife/scopeDialog不推荐写在ViewModel中
      * scopeNetLife/scopeDialog不推荐写在ViewModel中
      */
      */
     fun fetchUserInfo() = scopeNetLife {
     fun fetchUserInfo() = scopeNetLife {
-        userInfo.value = Get<String>("banner/json").await()
+        userInfo.value = Get<String>(Api.BANNER).await()
     }
     }
 
 
     /** 返回Deferred, 可以灵活使用, 支持并发组合 */
     /** 返回Deferred, 可以灵活使用, 支持并发组合 */
-    fun CoroutineScope.fetchList() = Get<String>("banner/json")
+    fun CoroutineScope.fetchList() = Get<String>(Api.BANNER)
 
 
     /** 直接返回数据, 会阻塞直至数据返回 */
     /** 直接返回数据, 会阻塞直至数据返回 */
     suspend fun fetchPrecessData() = coroutineScope {
     suspend fun fetchPrecessData() = coroutineScope {
-        val response = Get<String>("banner/json").await()
+        val response = Get<String>(Api.BANNER).await()
         response + "处理数据"
         response + "处理数据"
     }
     }
 }
 }