Selaa lähdekoodia

优化后端接口返回封装

Frankensteinly 1 vuosi sitten
vanhempi
sitoutus
0827d3cd27

+ 3 - 1
app/src/main/java/com/grkj/iscs/activity/HttpActivity.kt

@@ -12,6 +12,8 @@ class HttpActivity : BaseActivity<ActivityHttpBinding>() {
         get() = ActivityHttpBinding.inflate(layoutInflater)
 
     override fun initView() {
-        NetApi.getSopPage(1, 10)
+        NetApi.getSopPage(1, 10) {
+            println("haha : $it")
+        }
     }
 }

+ 7 - 0
app/src/main/java/com/grkj/iscs/model/vo/BaseVO.kt

@@ -0,0 +1,7 @@
+package com.grkj.iscs.model.vo
+
+open class BaseVO<T> {
+    val code = 0
+    val data: T? = null
+    val msg: String? = null
+}

+ 33 - 2
app/src/main/java/com/grkj/iscs/model/vo/SopPageVO.kt

@@ -1,4 +1,35 @@
 package com.grkj.iscs.model.vo
 
-class SopPageVO {
-}
+data class SopPageVO(
+    val current: Int,
+    val optimizeCountSql: Boolean,
+    val orders: List<Any>,
+    val pages: Int,
+    val records: List<Record>,
+    val searchCount: Boolean,
+    val size: Int,
+    val total: Int
+) {
+    override fun toString(): String {
+        return "SopPageVO(current=$current, optimizeCountSql=$optimizeCountSql, orders=$orders, pages=$pages, records=$records, searchCount=$searchCount, size=$size, total=$total)"
+    }
+}
+
+data class Record(
+    val createBy: String,
+    val createTime: String,
+    val delFlag: String,
+    val pointCount: Int,
+    val sopCode: String,
+    val sopContent: String,
+    val sopId: String,
+    val sopName: String,
+    val sopStatus: String,
+    val sopType: String,
+    val updateBy: String,
+    val updateTime: String,
+    val workareaId: String,
+    val workareaName: String,
+    val workshopId: String,
+    val workshopName: String
+)

+ 7 - 0
app/src/main/java/com/grkj/iscs/util/Funcs.kt

@@ -2,7 +2,10 @@ package com.grkj.iscs.util
 
 import android.content.Context
 import android.os.Environment
+import cn.zhxu.data.TypeRef
 import com.google.gson.Gson
+import com.grkj.iscs.model.vo.BaseVO
+import com.grkj.iscs.model.vo.SopPageVO
 import java.io.Closeable
 import java.io.File
 
@@ -52,4 +55,8 @@ fun dp2px(context: Context, dpValue: Float): Int {
 fun px2dp(context: Context, pxValue: Float): Int {
     val scale: Float = context.resources.displayMetrics.density
     return (pxValue / scale + 0.5f).toInt()
+}
+
+inline fun <reified T> getRef(): TypeRef<BaseVO<T>> {
+    return object : TypeRef<BaseVO<T>>() {}
 }

+ 8 - 6
app/src/main/java/com/grkj/iscs/util/NetApi.kt

@@ -1,7 +1,11 @@
 package com.grkj.iscs.util
 
+import cn.zhxu.data.TypeRef
 import com.grkj.iscs.model.AreaTree
 import com.grkj.iscs.model.UrlConsts
+import com.grkj.iscs.model.vo.BaseVO
+import com.grkj.iscs.model.vo.SopPageVO
+
 
 /**
  * 网络请求
@@ -17,11 +21,10 @@ object NetApi {
             ),
             { res, errMsg, codeInt ->
                 // TODO 待完善
-            }, isGet = false, isAuth = false
-        )
+            }, isGet = false, isAuth = false)
     }
 
-    fun getSopPage(current: Int, size: Int) {
+    fun getSopPage(current: Int, size: Int, callBack: (SopPageVO?) -> Unit) {
         NetHttpManager.getInstance().doRequestNet(
             UrlConsts.SOP_PAGE,
             false,
@@ -31,9 +34,8 @@ object NetApi {
             ),
             { res, errMsg, codeInt ->
                 res?.let {
-
+                    callBack.invoke(it.toBean(getRef<SopPageVO>()).data)
                 }
-            }, isGet = true, isAuth = true
-        )
+            }, isGet = true, isAuth = true)
     }
 }

+ 1 - 1
gradle/libs.versions.toml

@@ -1,5 +1,5 @@
 [versions]
-agp = "8.5.1"
+agp = "8.5.2"
 kotlin = "1.9.0"
 coreKtx = "1.13.0"
 junit = "4.13.2"