Prechádzať zdrojové kódy

1.添加获取游戏详情接口

王鹏鹏 2 rokov pred
rodič
commit
ed41613576

+ 0 - 8
baselib/src/main/java/com/yingyangfly/baselib/utils/JumpUtil.kt

@@ -17,14 +17,6 @@ object JumpUtil {
             .navigation()
     }
 
-    fun jumpActivityWithUrlAndDesnAndLevel(path: String, url: String, desn: String, level: String) {
-        ARouter.getInstance().build(path)
-            .withString("url", url)
-            .withString("desn", desn)
-            .withString("level", level)
-            .navigation()
-    }
-
     fun jumpActivityWithString(path: String, string: Map.Entry<String, String>) {
         ARouter.getInstance().build(path)
             .withString(string.key, string.value)

+ 2 - 9
webview/src/main/java/com/yingyangfly/webview/BridgeWebActivity.kt

@@ -13,7 +13,6 @@ import com.github.lzyzsd.jsbridge.BridgeHandler
 import com.github.lzyzsd.jsbridge.CallBackFunction
 import com.yingyangfly.baselib.base.BaseActivity
 import com.yingyangfly.baselib.router.RouterUrlCommon
-import com.yingyangfly.baselib.utils.User
 import com.yingyangfly.webview.databinding.ActivityBridgeWebBinding
 
 /**
@@ -23,20 +22,14 @@ import com.yingyangfly.webview.databinding.ActivityBridgeWebBinding
 class BridgeWebActivity : BaseActivity<ActivityBridgeWebBinding>() {
 
     private lateinit var webSettings: WebSettings
-    private var gameUrl: String = ""
     private var url: String = ""
-    private var desn: String = ""
-    private var level: String = ""
 
     override fun onCreate(savedInstanceState: Bundle?) {
         url = intent.getStringExtra("url") ?: ""
-        desn = intent.getStringExtra("desn") ?: ""
-        level = intent.getStringExtra("level") ?: ""
         super.onCreate(savedInstanceState)
     }
 
     override fun initViews() {
-        gameUrl = url + "?level=" + level + "&" + "isGoOn=yes&userToken=" + User.getToken()
         initWebView()
     }
 
@@ -91,7 +84,7 @@ class BridgeWebActivity : BaseActivity<ActivityBridgeWebBinding>() {
                 view: WebView?,
                 request: WebResourceRequest?
             ): Boolean {
-                gameUrl.let {
+                url.let {
                     view?.loadUrl(it)
                 }
                 return true
@@ -101,7 +94,7 @@ class BridgeWebActivity : BaseActivity<ActivityBridgeWebBinding>() {
                 super.onPageFinished(view, url)
             }
         }
-        binding.webView.loadUrl(gameUrl)
+        binding.webView.loadUrl(url)
     }
 
     override fun onDestroy() {

+ 34 - 12
workbenches/src/main/java/com/yingyang/workbenches/WorkbenchesActivity.kt

@@ -6,6 +6,8 @@ import com.alibaba.android.arouter.facade.annotation.Route
 import com.bumptech.glide.Glide
 import com.yingyang.workbenches.adapter.GameAdapter
 import com.yingyang.workbenches.databinding.ActivityWorkbenchesBinding
+import com.yingyang.workbenches.entity.MyTaskBean
+import com.yingyang.workbenches.entity.Record
 import com.yingyangfly.baselib.dialog.TipDialogFragment
 import com.yingyangfly.baselib.ext.setOnSingleClickListener
 import com.yingyangfly.baselib.ext.show
@@ -13,6 +15,7 @@ import com.yingyangfly.baselib.ext.toast
 import com.yingyangfly.baselib.mvvm.BaseMVVMActivity
 import com.yingyangfly.baselib.router.RouterUrlCommon
 import com.yingyangfly.baselib.utils.JumpUtil
+import com.yingyangfly.baselib.utils.User
 import com.yingyangfly.baselib.voice.PlayVoice
 
 /**
@@ -21,6 +24,11 @@ import com.yingyangfly.baselib.voice.PlayVoice
 @Route(path = RouterUrlCommon.workbenches)
 class WorkbenchesActivity : BaseMVVMActivity<ActivityWorkbenchesBinding, WorkbenchesViewModel>() {
 
+    /**
+     * 进行中的任务
+     */
+    private var taskBean = mutableListOf<MyTaskBean>()
+
     /**
      * 游戏adapter
      */
@@ -43,10 +51,7 @@ class WorkbenchesActivity : BaseMVVMActivity<ActivityWorkbenchesBinding, Workben
                     .leftBtnText("确定")
                     .rightBtnText("取消")
                     .leftClick({
-                        jumpWebView(
-                            bean.gameUrl, bean.desn ?: "",
-                            "1"
-                        )
+                        jumpWebView(bean)
                         null
                     }, true)
                     .rightClick({
@@ -55,10 +60,7 @@ class WorkbenchesActivity : BaseMVVMActivity<ActivityWorkbenchesBinding, Workben
                     .outCancel(true)
                     .show(supportFragmentManager)
             } else {
-                jumpWebView(
-                    bean.gameUrl, bean.desn ?: "",
-                    bean.currentLevel ?: ""
-                )
+                jumpWebView(bean)
             }
         }
     }
@@ -105,6 +107,12 @@ class WorkbenchesActivity : BaseMVVMActivity<ActivityWorkbenchesBinding, Workben
             btnCheck.setOnSingleClickListener {
                 JumpUtil.jumpActivity(RouterUrlCommon.trainData)
             }
+            //点击跳转正在进行中的任务
+            taskBtn.setOnSingleClickListener {
+                if (taskBean.isNotEmpty()) {
+                    getGameDetail(taskBean[0].id)
+                }
+            }
         }
 
     }
@@ -153,10 +161,12 @@ class WorkbenchesActivity : BaseMVVMActivity<ActivityWorkbenchesBinding, Workben
      * 查询是否有进行中的任务
      */
     private fun getFindMyTask() {
+        taskBean.clear()
         viewModel.getFindMyTask(fail = {
             it.toast()
         }, success = {
             if (it.isNullOrEmpty().not()) {
+                taskBean.addAll(it)
                 binding.rvGame.show(false)
                 binding.taskLayout.show(true)
             } else {
@@ -171,10 +181,10 @@ class WorkbenchesActivity : BaseMVVMActivity<ActivityWorkbenchesBinding, Workben
     /**
      * 跳转游戏列表
      */
-    private fun jumpWebView(url: String, desn: String, level: String) {
-        JumpUtil.jumpActivityWithUrlAndDesnAndLevel(
-            RouterUrlCommon.WEB_VIEW_INTERACTION_JS, url, desn, level,
-        )
+    private fun jumpWebView(bean: Record) {
+        val str = bean.gameUrl + "?gameCode=" + bean.gameCode + "&gameLevel=" + bean.gameLevel +
+                "&playClass=" + bean.playClass + "&userToken=" + User.getToken()
+        JumpUtil.jumpActivityWithUrl(RouterUrlCommon.WEB_VIEW_INTERACTION_JS, str)
     }
 
     override fun onDestroy() {
@@ -184,4 +194,16 @@ class WorkbenchesActivity : BaseMVVMActivity<ActivityWorkbenchesBinding, Workben
         super.onDestroy()
     }
 
+    /**
+     * 获取游戏详情
+     */
+    private fun getGameDetail(id: String) {
+        viewModel.getGameDetail(id, fail = {
+            it.toast()
+        }, success = {
+            jumpWebView(it)
+        })
+    }
+
+
 }

+ 14 - 0
workbenches/src/main/java/com/yingyang/workbenches/WorkbenchesViewModel.kt

@@ -50,4 +50,18 @@ class WorkbenchesViewModel : BaseViewModel() {
         success,
         fail
     )
+
+    /**
+     * 获取游戏详情
+     */
+    fun getGameDetail(
+        id: String,
+        fail: ((msg: String) -> Unit)? = null,
+        success: ((success: Record) -> Unit)? = null,
+    ) = launchFlow(true) {
+        WORKBENCHES_API.getGameDetail(id)
+    }.runUI(
+        success,
+        fail
+    )
 }

+ 3 - 1
workbenches/src/main/java/com/yingyang/workbenches/entity/Record.kt

@@ -24,5 +24,7 @@ data class Record(
     val updateTime: String,
     val currentLevel: String,//当前等级
     val totalLevel: String,//  总共等级
-    val status: String //0 通关
+    val status: String, //0 通关
+    val duration: String, //0 持续时长
+    val playClass: String//游戏玩耍分类  其他 是可以继续 关卡,A 是只有一关
 )

+ 6 - 0
workbenches/src/main/java/com/yingyang/workbenches/net/WorkbenchesApiService.kt

@@ -37,4 +37,10 @@ interface WorkbenchesApiService {
      */
     @POST("app/task/findMyTask")
     suspend fun getFindMyTask(): BaseResp<List<MyTaskBean>>
+
+    /**
+     * 获取游戏详情
+     */
+    @POST("app/game/detail")
+    suspend fun getGameDetail(@Query("id") id: String): BaseResp<Record>
 }

+ 2 - 1
workbenches/src/main/res/layout/activity_workbenches.xml

@@ -188,10 +188,11 @@
                     app:layout_constraintLeft_toLeftOf="parent" />
 
                 <Button
+                    android:id="@+id/taskBtn"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_marginBottom="@dimen/divider_30px"
-                    android:text="@string/service_package"
+                    android:text="@string/task_in_progress"
                     android:padding="@dimen/divider_10px"
                     android:background="@drawable/bg_home_btn"
                     android:textColor="@android:color/black"

+ 1 - 0
workbenches/src/main/res/values/strings.xml

@@ -20,4 +20,5 @@
     <string name="training_weekly_report" tools:ignore="ResourceName">训练周报</string>
     <string name="report_number" tools:ignore="ResourceName">报告编号</string>
     <string name="date" tools:ignore="ResourceName">日期</string>
+    <string name="task_in_progress" tools:ignore="ResourceName">进入正在进行任务</string>
 </resources>