package com.module.backstage.vm

import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import com.module.backstage.repo.SystemSettingsFragmentRepo
import com.module.pay.common.OtherEnum
import com.quyunshuo.androidbaseframemvvm.base.mvvm.vm.BaseViewModel
import com.quyunshuo.androidbaseframemvvm.base.utils.SpUtils
import com.quyunshuo.androidbaseframemvvm.common.constant.MMKVName
import dagger.hilt.android.lifecycle.HiltViewModel
import javax.inject.Inject

/**
 * HomeFragment 的 VM 层
 *
 * @author Qu Yunshuo
 * @since 2021/8/5 11:11 下午
 */
@HiltViewModel//@HiltViewModel 注解的作用是将 ViewModel 标记为可以由 Hilt 管理的依赖项。当你将 @HiltViewModel 注解添加到 ViewModel 类上时，Hilt 会自动处理 ViewModel 的创建和注入过程。这样，你就不需要手动调用 ViewModelProvider 来获取 ViewModel 实例了。
class SystemSettingsFragmentVM @Inject constructor(private val mRepo: SystemSettingsFragmentRepo) :
    BaseViewModel() {
    private val TAG = "GeneralParamFragmentVM"

    //position
    private var _position = MutableLiveData<Int>()//
    val clickPosition: LiveData<Int> get() = _position

    /**
     * 获取文章数据
     */
    fun getArticleData() {

    }

    fun getGeneralParamData(functionIndex: Int?): MutableList<OtherEnum> {
        when (functionIndex) {
            1 -> {
                return mRepo.serialPortList
            }

            2 -> {
                if (SpUtils.getBoolean(MMKVName.IS_SHOW_CHANGLOGE, false) == true) {
                    return mRepo.functionOpenList
                } else {
                    return mRepo.functionList
                }

            }

            3 -> {
                return mRepo.shoppingCartList
            }

            4 -> {
                return mRepo.changeSetList
            }

            5 -> {
                return mRepo.otherSetList
            }

            else -> {
                return mRepo.arrayList
            }
        }
    }

}