lmw
2024-10-25 314b67e56f24f7bce040ae2b5d57c7eac7b197a9
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
package com.sinata.xqmuse.ui.mine
 
import android.app.Activity
import android.content.Intent
import cn.sinata.xldutils.fragment.BaseFragment
import cn.sinata.xldutils.gone
import cn.sinata.xldutils.utils.SPUtils
import cn.sinata.xldutils.utils.SpanBuilder
import cn.sinata.xldutils.utils.hidePhone
import cn.sinata.xldutils.visible
import com.sinata.xqmuse.MainActivity
import com.sinata.xqmuse.R
import com.sinata.xqmuse.network.HttpManager
import com.sinata.xqmuse.network.entity.MineInfo
import com.sinata.xqmuse.network.requestByF
import com.sinata.xqmuse.ui.login.LoginActivity
import com.sinata.xqmuse.utils.Const
import com.sinata.xqmuse.utils.event.EmptyEvent
import kotlinx.android.synthetic.main.fragment_mine.*
import org.greenrobot.eventbus.EventBus
import org.greenrobot.eventbus.Subscribe
import org.jetbrains.anko.backgroundResource
import org.jetbrains.anko.support.v4.startActivity
import org.jetbrains.anko.support.v4.startActivityForResult
import org.jetbrains.anko.support.v4.toast
 
class MineFragment : BaseFragment() {
    override fun contentViewId() = R.layout.fragment_mine
 
    private var userInfo: MineInfo? = null
 
    override fun onFirstVisibleToUser() {
        EventBus.getDefault().register(this)
        queryUnread()
        showUserInfo()
        holder_info.setOnClickListener {
            startActivityForResult<UserInfoActivity>(1)
        }
        tv_watch_his.setOnClickListener {
            startActivity<WatchHisActivity>()
        }
        tv_collect.setOnClickListener {
            startActivity<WatchHisActivity>("type" to WatchHisActivity.COLLECTED)
        }
        tv_has_buy.setOnClickListener {
            startActivity<WatchHisActivity>("type" to WatchHisActivity.HAS_BUY)
        }
        bg_vip.setOnClickListener {
            startActivityForResult<VipActivity>(1)
        }
        tv_service.setOnClickListener {
            startActivity<ServiceActivity>()
        }
        tv_level.setOnClickListener {
            startActivity<LevelActivity>()
        }
        iv_setting.setOnClickListener {
            startActivity<SettingActivity>("data" to userInfo)
        }
        tv_setting.setOnClickListener {
            iv_setting.callOnClick()
        }
        tv_share.setOnClickListener {
            startActivity<ShareActivity>()
        }
        iv_msg.setOnClickListener {
            startActivity<MsgActivity>()
        }
        tv_rank.setOnClickListener {
            toast("H5")
        }
        tv_account.setOnClickListener {
            startActivity<WalletActivity>()
        }
    }
 
    @Subscribe
    fun refreshInfo(e: EmptyEvent){
        if (e.code == Const.EventCode.REFRESH_USER_INFO){
            showUserInfo()
        }
    }
 
    private fun showUserInfo() {
        HttpManager.getUserInfo().requestByF(this){_,data->
            userInfo = data
            data?.apply {
                iv_avatar.setImageURI(avatar)
                tv_name.text = nickname
                tv_phone.text = cellPhone.hidePhone()
                tv_vip.text = if (isVip == 2){
                    bg_vip.backgroundResource = R.mipmap.no_vip
                    "你还未开通会员服务"
                } else{
                    bg_vip.backgroundResource = R.mipmap.bg_vip
                    "${vipExpireTime.substring(0,10)}到期"
                }
                iv_vip.setImageURI(data.levelIcon)
                tv_day.text = cumulative
                tv_continue.text = continuity?:"0"
                val format = "%d小时%d分".format(today / 60, today % 60)
                tv_today.text = SpanBuilder(format).size(format.indexOf("小"),format.indexOf("小")+2,11).size(format.length-1,format.length,11).build()
            }
        }
    }
 
    fun queryUnread(){
        HttpManager.queryNotice().requestByF(this){_,data->
            if (data == true) iv_unread.visible() else iv_unread.gone()
        }
    }
 
    override fun onDestroy() {
        super.onDestroy()
        EventBus.getDefault().unregister(this)
    }
 
    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)
        if (resultCode == Activity.RESULT_OK)
            showUserInfo()
    }
}