五个act 以及跳转

This commit is contained in:
renhaoting 2025-11-25 16:33:32 +08:00
parent 2c28f2b459
commit 8b1add722e
10 changed files with 176 additions and 6 deletions

View File

@ -8,6 +8,16 @@ import com.gamedog.vididin.features.withdraw.DefaultWithdrawRouter
import com.gamedog.vididin.features.withdraw.WithdrawRouter import com.gamedog.vididin.features.withdraw.WithdrawRouter
import com.gamedog.vididin.features.zero.DefaultZeroBuyRouter import com.gamedog.vididin.features.zero.DefaultZeroBuyRouter
import com.gamedog.vididin.features.zero.ZeroBuyRouter import com.gamedog.vididin.features.zero.ZeroBuyRouter
import com.gamedog.vididin.router.DefaultFeedbackRouter
import com.gamedog.vididin.router.DefaultPrivacyRouter
import com.gamedog.vididin.router.DefaultSplashRouter
import com.gamedog.vididin.router.DefaultVersionRouter
import com.gamedog.vididin.router.DefaultWithdrawRecordRouter
import com.gamedog.vididin.router.IRouterFeedback
import com.gamedog.vididin.router.IRouterPrivacy
import com.gamedog.vididin.router.IRouterSplash
import com.gamedog.vididin.router.IRouterVersion
import com.gamedog.vididin.router.IRouterWithdrawRecord
import dagger.Module import dagger.Module
import dagger.Provides import dagger.Provides
import dagger.hilt.InstallIn import dagger.hilt.InstallIn
@ -44,8 +54,48 @@ object WithdrawModule {
@Module @Module
@InstallIn(SingletonComponent::class) @InstallIn(SingletonComponent::class)
object WinRecordModule { object WinRecordModule {
@Provides @Provides
@Singleton @Singleton
fun provideRouter(): WinRecordRouter = DefaultWinRecordRouter() fun provideRouter(): WinRecordRouter = DefaultWinRecordRouter()
} }
@Module
@InstallIn(SingletonComponent::class)
object PrivacyModule {
@Provides
@Singleton
fun provideRouter(): IRouterPrivacy = DefaultPrivacyRouter()
}
@Module
@InstallIn(SingletonComponent::class)
object FeedbackModule {
@Provides
@Singleton
fun provideRouter(): IRouterFeedback = DefaultFeedbackRouter()
}
@Module
@InstallIn(SingletonComponent::class)
object WithdrawRecordModule {
@Provides
@Singleton
fun provideRouter(): IRouterWithdrawRecord = DefaultWithdrawRecordRouter()
}
@Module
@InstallIn(SingletonComponent::class)
object SplashModule {
@Provides
@Singleton
fun provideRouter(): IRouterSplash = DefaultSplashRouter()
}
@Module
@InstallIn(SingletonComponent::class)
object VersionModule {
@Provides
@Singleton
fun provideRouter(): IRouterVersion = DefaultVersionRouter()
}

View File

@ -8,6 +8,11 @@ import com.gamedog.vididin.features.benefit.BenefitRouter
import com.gamedog.vididin.features.winrecords.WinRecordRouter import com.gamedog.vididin.features.winrecords.WinRecordRouter
import com.gamedog.vididin.features.withdraw.WithdrawRouter import com.gamedog.vididin.features.withdraw.WithdrawRouter
import com.gamedog.vididin.features.zero.ZeroBuyRouter import com.gamedog.vididin.features.zero.ZeroBuyRouter
import com.gamedog.vididin.router.IRouterFeedback
import com.gamedog.vididin.router.IRouterPrivacy
import com.gamedog.vididin.router.IRouterSplash
import com.gamedog.vididin.router.IRouterVersion
import com.gamedog.vididin.router.IRouterWithdrawRecord
import dagger.hilt.EntryPoint import dagger.hilt.EntryPoint
import dagger.hilt.InstallIn import dagger.hilt.InstallIn
import dagger.hilt.components.SingletonComponent import dagger.hilt.components.SingletonComponent
@ -28,5 +33,11 @@ interface RouterEntryPoint {
fun winRecordBuyRouter(): WinRecordRouter fun winRecordBuyRouter(): WinRecordRouter
fun privacyRouter(): IRouterPrivacy
fun versionRouter(): IRouterVersion
fun feedbackRouter(): IRouterFeedback
fun splashRouter(): IRouterSplash
fun withdrawRecordRouter(): IRouterWithdrawRecord
} }

View File

@ -9,6 +9,7 @@ import com.ama.core.architecture.util.ResUtil
import com.ama.core.architecture.util.setOnClickBatch import com.ama.core.architecture.util.setOnClickBatch
import com.gamedog.vididin.R import com.gamedog.vididin.R
import com.gamedog.vididin.main.interfaces.OnTabStyleListener import com.gamedog.vididin.main.interfaces.OnTabStyleListener
import com.gamedog.vididin.router.Router
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import kotlin.getValue import kotlin.getValue
import com.gamedog.vididin.databinding.ActivityWithdrawBinding as ViewBinding import com.gamedog.vididin.databinding.ActivityWithdrawBinding as ViewBinding
@ -58,8 +59,18 @@ class WithDrawActivity : AppViewsActivity<ViewBinding, UiState, ViewModel>(), On
}) })
tvSacar.setOnClickListener {
setOnClickBatch(tvSacar, withdrawRecord) {
when(this) {
tvSacar -> {
}
withdrawRecord -> {
Router.WithdrawRecord.startActivity(this@WithDrawActivity)
}
}
} }
} }

View File

@ -10,8 +10,10 @@ import androidx.core.view.updatePadding
import androidx.fragment.app.viewModels import androidx.fragment.app.viewModels
import com.ama.core.architecture.appBase.AppViewsFragment import com.ama.core.architecture.appBase.AppViewsFragment
import com.ama.core.architecture.appBase.OnFragmentBackgroundListener import com.ama.core.architecture.appBase.OnFragmentBackgroundListener
import com.ama.core.architecture.util.setOnClickBatch
import com.ama.core.architecture.util.setStatusBarDarkFont import com.ama.core.architecture.util.setStatusBarDarkFont
import com.ama.core.common.util.dp import com.ama.core.common.util.dp
import com.gamedog.vididin.router.Router
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import kotlin.getValue import kotlin.getValue
import com.gamedog.vididin.databinding.VididinappFeatureMineFragmentMineBinding as ViewBinding import com.gamedog.vididin.databinding.VididinappFeatureMineFragmentMineBinding as ViewBinding
@ -46,7 +48,19 @@ class MineFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(),
} }
override fun ViewBinding.initViews() { override fun ViewBinding.initViews() {
setOnClickBatch(rlPrivacy, rlVersion, rlFeedback) {
when (this) {
rlPrivacy -> {
Router.Privacy.startActivity(requireActivity())
}
rlVersion -> {
Router.Version.startActivity(requireActivity())
}
rlFeedback -> {
Router.Feedback.startActivity(requireActivity())
}
}
}
} }
override fun ViewBinding.initListeners() { override fun ViewBinding.initListeners() {

View File

@ -26,12 +26,20 @@ object Router : RouterContract {
override val Task: TaskRouter by lazy { routerEntryPoint.taskRouter() } override val Task: TaskRouter by lazy { routerEntryPoint.taskRouter() }
override val Mine: MineRouter by lazy { routerEntryPoint.mineRouter() } override val Mine: MineRouter by lazy { routerEntryPoint.mineRouter() }
override val Login: LoginRouter by lazy { routerEntryPoint.loginRouter() } override val Login: LoginRouter by lazy { routerEntryPoint.loginRouter() }
override val Benefit: BenefitRouter by lazy { routerEntryPoint.benefitRouter() } override val Benefit: BenefitRouter by lazy { routerEntryPoint.benefitRouter() }
override val ZeroBuy: ZeroBuyRouter by lazy { routerEntryPoint.zeroBuyRouter() } override val ZeroBuy: ZeroBuyRouter by lazy { routerEntryPoint.zeroBuyRouter() }
override val Withdraw: WithdrawRouter by lazy { routerEntryPoint.withdrawRouter() } override val Withdraw: WithdrawRouter by lazy { routerEntryPoint.withdrawRouter() }
override val WinRecord: WinRecordRouter by lazy { routerEntryPoint.winRecordBuyRouter() } override val WinRecord: WinRecordRouter by lazy { routerEntryPoint.winRecordBuyRouter() }
override val Privacy: IRouterPrivacy
get() = routerEntryPoint.privacyRouter()
override val Version: IRouterVersion
get() = routerEntryPoint.versionRouter()
override val Feedback: IRouterFeedback
get() = routerEntryPoint.feedbackRouter()
override val WithdrawRecord: IRouterWithdrawRecord
get() = routerEntryPoint.withdrawRecordRouter()
override val Splash: IRouterSplash
get() = routerEntryPoint.splashRouter()
} }

View File

@ -22,4 +22,10 @@ interface RouterContract {
val Withdraw: WithdrawRouter val Withdraw: WithdrawRouter
val WinRecord: WinRecordRouter val WinRecord: WinRecordRouter
val Privacy: IRouterPrivacy
val Version: IRouterVersion
val Feedback: IRouterFeedback
val WithdrawRecord: IRouterWithdrawRecord
val Splash: IRouterSplash
} }

View File

@ -0,0 +1,40 @@
package com.gamedog.vididin.router
import android.app.Activity
import com.gamedog.vididin.features.feedback.FeedbackActivity
import com.gamedog.vididin.features.privacy.PrivacyActivity
import com.gamedog.vididin.features.splash.SplashActivity
import com.gamedog.vididin.features.version.VersionActivity
import com.gamedog.vididin.features.withdrawrecord.WithdrawRecordActivity
class DefaultPrivacyRouter: IRouterPrivacy {
override fun startActivity(activity: Activity) {
PrivacyActivity.Companion.startActivity(activity)
}
}
class DefaultSplashRouter: IRouterSplash {
override fun startActivity(activity: Activity) {
SplashActivity.Companion.startActivity(activity)
}
}
class DefaultWithdrawRecordRouter: IRouterWithdrawRecord {
override fun startActivity(activity: Activity) {
WithdrawRecordActivity.Companion.startActivity(activity)
}
}
class DefaultFeedbackRouter: IRouterFeedback {
override fun startActivity(activity: Activity) {
FeedbackActivity.Companion.startActivity(activity)
}
}
class DefaultVersionRouter: IRouterVersion {
override fun startActivity(activity: Activity) {
VersionActivity.Companion.startActivity(activity)
}
}

View File

@ -0,0 +1,26 @@
package com.gamedog.vididin.router
import android.app.Activity
interface IRouterPrivacy {
fun startActivity(activity: Activity)
}
interface IRouterVersion {
fun startActivity(activity: Activity)
}
interface IRouterFeedback {
fun startActivity(activity: Activity)
}
interface IRouterWithdrawRecord {
fun startActivity(activity: Activity)
}
interface IRouterSplash {
fun startActivity(activity: Activity)
}

View File

@ -85,6 +85,7 @@
</LinearLayout> </LinearLayout>
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/withdraw_record"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="15dp" android:layout_marginTop="15dp"

View File

@ -77,6 +77,7 @@
android:orientation="vertical"> android:orientation="vertical">
<RelativeLayout <RelativeLayout
android:id="@+id/rl_privacy"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:padding="20dp" android:padding="20dp"
@ -116,6 +117,7 @@
<RelativeLayout <RelativeLayout
android:id="@+id/rl_version"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:padding="20dp" android:padding="20dp"
@ -155,6 +157,7 @@
</RelativeLayout> </RelativeLayout>
<RelativeLayout <RelativeLayout
android:id="@+id/rl_feedback"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:padding="20dp" android:padding="20dp"