瀏覽代碼

feat: Me钱包

DoggyZhang 3 月之前
父節點
當前提交
64acfc445a

+ 6 - 0
app/src/main/java/com/adealink/weparty/module/wallet/Router.kt

@@ -11,6 +11,12 @@ interface Wallet {
 
     }
 
+    interface Wallet {
+        companion object {
+            const val PATH = Common.PATH
+        }
+    }
+
     interface TopUpDialog {
         companion object {
             const val PATH = "${Common.PATH}/top_up_dialog"

+ 8 - 2
module/profile/src/main/java/com/adealink/weparty/profile/me/comp/MeWalletComp.kt

@@ -3,10 +3,13 @@ package com.adealink.weparty.profile.me.comp
 import androidx.lifecycle.LifecycleOwner
 import com.adealink.frame.base.fastLazy
 import com.adealink.frame.mvvm.view.ViewComponent
+import com.adealink.frame.router.Router
 import com.adealink.frame.util.onClick
+import com.adealink.weparty.module.wallet.Wallet
 import com.adealink.weparty.module.wallet.WalletModule
 import com.adealink.weparty.module.wallet.data.Currency
 import com.adealink.weparty.profile.databinding.LayoutMeWalletBinding
+import com.adealink.weparty.util.formatNumberStr
 
 class MeWalletComp(
     lifecycleOwner: LifecycleOwner,
@@ -36,10 +39,10 @@ class MeWalletComp(
 
     private fun observeViewModel() {
         walletViewModel?.coinLD?.observe(viewLifecycleOwner) {
-
+            binding.tvCoin.text = formatNumberStr(it)
         }
         walletViewModel?.diamondLD?.observe(viewLifecycleOwner) {
-
+            binding.tvDiamond.text = formatNumberStr(it)
         }
     }
 
@@ -48,12 +51,15 @@ class MeWalletComp(
     }
 
     private fun goWallet(currency: Currency) {
+        val act = activity ?: return
         when (currency) {
             Currency.COIN -> {
+                Router.build(act, Wallet.Wallet.PATH).start()
 
             }
 
             Currency.DIAMOND -> {
+                Router.build(act, Wallet.Wallet.PATH).start()
             }
         }
     }

+ 39 - 0
module/wallet/src/main/java/com/adealink/weparty/wallet/WalletActivity.kt

@@ -0,0 +1,39 @@
+package com.adealink.weparty.wallet
+
+import androidx.activity.viewModels
+import androidx.constraintlayout.widget.ConstraintLayout
+import androidx.core.view.updateLayoutParams
+import com.adealink.frame.mvvm.view.viewBinding
+import com.adealink.frame.router.Router
+import com.adealink.frame.router.annotation.RouterUri
+import com.adealink.frame.util.statusBarHeight
+import com.adealink.weparty.commonui.BaseActivity
+import com.adealink.weparty.module.wallet.Wallet
+import com.adealink.weparty.wallet.databinding.ActivityWalletBinding
+import com.adealink.weparty.wallet.viewmodel.WalletViewModel
+import com.adealink.weparty.wallet.viewmodel.WalletViewModelFactory
+
+@RouterUri(
+    path = [Wallet.Wallet.PATH],
+    desc = "钱包首页"
+)
+class WalletActivity : BaseActivity() {
+
+    private val binding by viewBinding(ActivityWalletBinding::inflate)
+    private val viewModel by viewModels<WalletViewModel> { WalletViewModelFactory() }
+
+    override fun onBeforeCreate() {
+        super.onBeforeCreate()
+        Router.bind(this)
+    }
+
+    override fun initViews() {
+        super.initViews()
+        setContentView(binding.root)
+        binding.topBar.updateLayoutParams<ConstraintLayout.LayoutParams> {
+            topMargin = this@WalletActivity.statusBarHeight()
+        }
+
+    }
+
+}

+ 1 - 1
module/wallet/src/main/java/com/adealink/weparty/wallet/viewmodel/WalletViewModel.kt

@@ -14,7 +14,7 @@ class WalletViewModel : BaseViewModel(), IWalletViewModel {
     override val diamondLD: LiveData<Long> = MutableLiveData()
 
     private val walletHttpService by lazy {
-        App.instance.networkService.getReportHttpService(WalletHttpService::class.java)
+        App.instance.networkService.getHttpService(WalletHttpService::class.java)
     }
 
     override fun refreshWalletData() {

+ 15 - 0
module/wallet/src/main/res/layout/activity_wallet.xml

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+
+    <com.adealink.weparty.commonui.widget.CommonTopBar
+        android:id="@+id/top_bar"
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/common_top_bar_height"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
+
+</androidx.constraintlayout.widget.ConstraintLayout>