From 53ab5a294fb9edfab1dece8d24500fcc05a20f78 Mon Sep 17 00:00:00 2001 From: renhaoting <370797079@qq.com> Date: Tue, 25 Nov 2025 19:29:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9A=E4=B9=89=E5=A4=9A=E7=A7=8Dtask=20?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vididin/main/fragments/task/TaskBean.kt | 12 +++- .../gamedog/vididin/manager/TaskManager.kt | 62 ++++++++++++++++++- 2 files changed, 69 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/gamedog/vididin/main/fragments/task/TaskBean.kt b/app/src/main/java/com/gamedog/vididin/main/fragments/task/TaskBean.kt index cdbcf57..89bad08 100644 --- a/app/src/main/java/com/gamedog/vididin/main/fragments/task/TaskBean.kt +++ b/app/src/main/java/com/gamedog/vididin/main/fragments/task/TaskBean.kt @@ -7,7 +7,11 @@ data class TaskBean( data class TaskModuleConfig( val basic_info: BasicInfo, val task_categories: List -) +) { + fun getTaskCategoryById(categoryId: String): TaskCategory? { + return task_categories.find { it.category_id == categoryId } + } +} data class BasicInfo( val currency_display: List, @@ -22,7 +26,11 @@ data class TaskCategory( val display_priority: Int, val tasks: List, val valid_period: String -) +) { + fun getTaskById(taskId: String): Task? { + return tasks.find { it.task_id == taskId } + } +} data class Task( val daily_limit: Int, diff --git a/app/src/main/java/com/gamedog/vididin/manager/TaskManager.kt b/app/src/main/java/com/gamedog/vididin/manager/TaskManager.kt index fc7226a..2bf6c4b 100644 --- a/app/src/main/java/com/gamedog/vididin/manager/TaskManager.kt +++ b/app/src/main/java/com/gamedog/vididin/manager/TaskManager.kt @@ -1,6 +1,7 @@ package com.gamedog.vididin.manager import com.ama.core.architecture.util.FileUtil +import com.gamedog.vididin.main.fragments.task.Task import com.gamedog.vididin.main.fragments.task.TaskBean import com.google.gson.GsonBuilder import kotlinx.coroutines.sync.Mutex @@ -19,13 +20,29 @@ class TaskManager private constructor() { } } } + + + + // 新手任务分类及其子类 + private const val TAG_CATEGORY_NEWBIE_TASK = "newbie_task" + private const val TAG_TASK_NEWBIE_FIRST_WITHDRAW = "newbie_first_withdraw" + private const val TAG_TASK_NEWBIE_PUSH_NOTIFY = "newbie_push_notify" + private const val TAG_TASK_NEWBIE_JOIN_DISCORD = "newbie_join_discord" + private const val TAG_TASK_NEWBIE_7DAY_CHECKIN = "newbie_7day_checkin" + + // 日常任务分类及其子类 + private const val TAG_CATEGORY_DAILY_TASK = "daily_task" + private const val TAG_TASK_DAILY_CHECKIN = "daily_checkin" + private const val TAG_TASK_DAILY_VIDEO = "daily_video_ladder" + private const val TAG_TASK_DAILY_AD = "daily_ad_ladder" + } private val mutex = Mutex() @Volatile private var initialized = false - private var mTaskConfigBean: TaskBean? = null + private var mTaskConfig: TaskBean? = null private val mGson = GsonBuilder().create() @@ -38,7 +55,7 @@ class TaskManager private constructor() { if (!initialized) { loadTaskConfigFromAsset() } - return mTaskConfigBean + return mTaskConfig } private fun loadTaskConfigAsync() { @@ -54,7 +71,7 @@ class TaskManager private constructor() { private suspend fun loadTaskConfigFromAsset() { return withContext(Dispatchers.IO) { val configStr = FileUtil.readAssetsFile("taskConfig.json") - mTaskConfigBean = mGson.fromJson(configStr, TaskBean::class.java) + mTaskConfig = mGson.fromJson(configStr, TaskBean::class.java) initialized = true } } @@ -62,6 +79,45 @@ class TaskManager private constructor() { fun getHomeWatchDurationRewardNum(): Int { return 28; // TODO - mTaskConfigBean.xxxx } + + + + + + //------------------------- New ------------------------------- + // 日常任务 + fun getDailyCheckInTask(): Task? { + return mTaskConfig?.task_module_config?.getTaskCategoryById(TAG_CATEGORY_DAILY_TASK)?.getTaskById(TAG_TASK_DAILY_CHECKIN) + } + + fun getDailyVideoTask(): Task? { + return mTaskConfig?.task_module_config?.getTaskCategoryById(TAG_CATEGORY_DAILY_TASK)?.getTaskById(TAG_TASK_DAILY_VIDEO) + } + + fun getDailyAdTask(): Task? { + return mTaskConfig?.task_module_config?.getTaskCategoryById(TAG_CATEGORY_DAILY_TASK)?.getTaskById(TAG_TASK_DAILY_AD) + } + + // 新手任务 + fun getNewbieFirstWithdrawTask(): Task? { + return mTaskConfig?.task_module_config?.getTaskCategoryById(TAG_CATEGORY_NEWBIE_TASK)?.getTaskById(TAG_TASK_NEWBIE_FIRST_WITHDRAW) + } + + fun getNewbieEnableNotifyTask(): Task? { + return mTaskConfig?.task_module_config?.getTaskCategoryById(TAG_CATEGORY_NEWBIE_TASK)?.getTaskById(TAG_TASK_NEWBIE_PUSH_NOTIFY) + } + + fun getNewbieJoinDiscordTask(): Task? { + return mTaskConfig?.task_module_config?.getTaskCategoryById(TAG_CATEGORY_NEWBIE_TASK)?.getTaskById(TAG_TASK_NEWBIE_JOIN_DISCORD) + } + + fun getNewbieCheckInTask(): Task? { + return mTaskConfig?.task_module_config?.getTaskCategoryById(TAG_CATEGORY_NEWBIE_TASK)?.getTaskById(TAG_TASK_NEWBIE_7DAY_CHECKIN) + } + + + + }