tj
2025-04-07 3433f3e9a0254b24cec2836b112267b1af3f9101
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
package com.example.firstapp.ui.vip
 
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.example.firstapp.R
import com.example.firstapp.database.response.UserInfo
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.launch
 
class MemberInfoCardViewModel : ViewModel() {
 
    // 联系方式
    private val _phoneNumber = MutableStateFlow("18099999999")
    val phoneNumber: StateFlow<String> = _phoneNumber
 
    // 开通状态
    private val _memberStatus = MutableStateFlow("未开通")
    val memberStatus: StateFlow<String> = _memberStatus
 
    // 头像
    private val _cover = MutableStateFlow("http://192.168.1.201:9000/sms/avatar/avatar_default.png")
    val cover: StateFlow<String> = _cover
 
    // vip头像
    private val _vipCover = MutableStateFlow("")
    val vipCover: StateFlow<String> = _vipCover
 
    // 背景色
    private val _background = MutableStateFlow(R.drawable.dialog_background)
    val background: StateFlow<Int> = _background
 
    // 手机号字体颜色
    private val _phoneTextColor = MutableStateFlow("#37393B")
    val phoneTextColor: StateFlow<String> = _phoneTextColor
 
    // 到期时间字体颜色
    private val _memberStatusColor = MutableStateFlow("#37393B")
    val memberStatusColor: StateFlow<String> = _memberStatusColor
 
 
    // 更新数据的方法
    fun updatePhoneNumber(phoneNumber: String) {
        viewModelScope.launch {
            _phoneNumber.value = phoneNumber
        }
    }
 
    fun updateMemberStatus(userInfo: UserInfo) {
        viewModelScope.launch {
 
            // 电话号码
            _phoneNumber.value=userInfo.contactTel
 
            // 开通状态
            if(userInfo.isMember){
                // 判断userInfo.memberOvertime是否为空,如果不为空,则截取字符串到年月日
//                if(userInfo.memberOvertime.isNotEmpty()){
//                    _memberStatus.value = userInfo.memberOvertime.substring(0,10)+" 到期"
//                }
 
                _memberStatus.value = " 到期"
                userInfo.memberOvertime?.let {
                    if (it.isNotEmpty()) {
                        _memberStatus.value = it.substring(0, 10) + " 到期"
                    }
                }
                // vip头像
                _vipCover.value ="http://192.168.1.201:9000/sms/member/vip.png"
                _background.value = R.drawable.vip_black_background
                _phoneTextColor.value ="#F2F2F2"
                _memberStatusColor.value ="#AAAAAA"
 
            }else{
                _memberStatus.value = "未开通"
                _vipCover.value ="http://192.168.1.201:9000/sms/member/vip_no.png"
                _background.value =R.drawable.vip_white_background
                _phoneTextColor.value ="#37393B"
                _memberStatusColor.value ="#37393B"
            }
 
            // 头像
            // 如果头像不为空的话,则更新头像
//            if(userInfo.cover.isNotEmpty()){
//                _cover.value = userInfo.cover
//            }
            userInfo.cover?.let {
                if (it.isNotEmpty()) {
                    _cover.value = it
                }
            }
 
 
        }
    }
 
 
}