lmw
2025-04-24 718f31c92e2029d05260810435a2c70cef6e6ce5
app/src/main/java/com/sinata/xqmuse/ui/mine/MineFragment.kt
@@ -4,14 +4,20 @@
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.Apis
import com.sinata.xqmuse.network.HttpManager
import com.sinata.xqmuse.network.entity.MineInfo
import com.sinata.xqmuse.network.requestByF
import com.sinata.xqmuse.ui.discovery.MsgActivity
import com.sinata.xqmuse.ui.H5Activity
import com.sinata.xqmuse.ui.OnlyWebActivity
import com.sinata.xqmuse.ui.course.MyCourseActivity
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.*
@@ -44,7 +50,7 @@
            startActivity<WatchHisActivity>("type" to WatchHisActivity.HAS_BUY)
        }
        bg_vip.setOnClickListener {
            startActivityForResult<VipActivity>(1)
            startActivity<VipActivity>()
        }
        tv_service.setOnClickListener {
            startActivity<ServiceActivity>()
@@ -53,58 +59,87 @@
            startActivity<LevelActivity>()
        }
        iv_setting.setOnClickListener {
            startActivity<SettingActivity>()
            startActivity<SettingActivity>("data" to userInfo)
        }
        tv_setting.setOnClickListener {
            startActivity<SettingActivity>()
            iv_setting.callOnClick()
        }
        tv_share.setOnClickListener {
            startActivity<ShareActivity>()
            userInfo?.apply {
                startActivity<ShareActivity>("userId" to userInfo?.id)
            }
        }
        iv_msg.setOnClickListener {
            startActivity<MsgActivity>()
        }
        tv_rank.setOnClickListener {
            toast("H5")
            userInfo?.apply {
                startActivity<OnlyWebActivity>("title" to "爱心助力榜单","url" to Apis.RANK.format(id),"type" to 0,"pushList" to Apis.PUSH_LIST.format(id))
            }
        }
        tv_account.setOnClickListener {
            startActivity<WalletActivity>()
            userInfo?.apply {
                startActivity<WalletActivity>("userId" to userInfo?.id)
            }
        }
        tv_more_record.setOnClickListener {
            startActivity<MyCourseActivity>()
        }
        tv_study_record.setOnClickListener {
            startActivity<MyCourseActivity>()
        }
    }
    @Subscribe
    fun refreshInfo(e: EmptyEvent){
        if (e.code == Const.EventCode.REFRESH_USER_INFO){
        if (e.code == Const.EventCode.CHANGE_USER){
            showUserInfo()
        } else if (e.code == Const.EventCode.USER_INFO_CHANGED){
            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)}到期"
    fun showUserInfo() {
        if (!isAdded)
            return
        if (!SPUtils.instance().getString(Const.User.TOKEN).isNullOrEmpty())
            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
                        tv_describe.text = "升级为会员,解锁会员专属体验"
                        "你还未开通会员服务"
                    } else{
                        bg_vip.backgroundResource = R.mipmap.bg_vip
                        tv_describe.text = "您将享受所有会员专享音频,尽情畅游泉疗愈世界"
                        "${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()
                }
                tv_day.text = cumulative
                tv_continue.text = continuity
                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()
            }
        else{
            userInfo = null
            iv_avatar.setImageURI("")
            tv_name.text = ""
            tv_phone.text = ""
            tv_vip.text = "你还未开通会员服务"
            tv_describe.text = "升级为会员,解锁会员专属体验"
        }
    }
    fun queryUnread(){
        HttpManager.queryNotice().requestByF(this){_,data->
            if (data == true) iv_unread.visible() else iv_unread.gone()
        }
        if (!SPUtils.instance().getString(Const.User.TOKEN).isNullOrEmpty())
            HttpManager.queryNotice().requestByF(this){_,data->
                if (data == true) iv_unread.visible() else iv_unread.gone()
            }
    }
    override fun onDestroy() {