From 2f204867ad034d3a95ba9acc112d6507f296447b Mon Sep 17 00:00:00 2001
From: lmw <125975490@qq.com>
Date: 星期三, 23 十月 2024 18:20:43 +0800
Subject: [PATCH] save

---
 app/src/main/java/com/sinata/xqmuse/ui/mine/MineFragment.kt |  171 +++++++++++++++++++++++---------------------------------
 1 files changed, 71 insertions(+), 100 deletions(-)

diff --git a/app/src/main/java/com/sinata/xqmuse/ui/mine/MineFragment.kt b/app/src/main/java/com/sinata/xqmuse/ui/mine/MineFragment.kt
index b573664..c24b71d 100644
--- a/app/src/main/java/com/sinata/xqmuse/ui/mine/MineFragment.kt
+++ b/app/src/main/java/com/sinata/xqmuse/ui/mine/MineFragment.kt
@@ -1,123 +1,75 @@
 package com.sinata.xqmuse.ui.mine
 
-import androidx.recyclerview.widget.GridLayoutManager
+import android.app.Activity
+import android.content.Intent
 import cn.sinata.xldutils.fragment.BaseFragment
-import cn.sinata.xldutils.utils.SPUtils
-import cn.sinata.xldutils.utils.myToast
-import com.sinata.xqmuse.MainActivity
+import cn.sinata.xldutils.gone
+import cn.sinata.xldutils.utils.SpanBuilder
+import cn.sinata.xldutils.utils.hidePhone
+import cn.sinata.xldutils.visible
 import com.sinata.xqmuse.R
-import com.sinata.xqmuse.JkApplication
-import com.sinata.xqmuse.dialog.PhoneDialog
-import com.sinata.xqmuse.dialog.SingleWheelDialog
-import com.sinata.xqmuse.dialog.TipDialog
 import com.sinata.xqmuse.network.HttpManager
-import com.sinata.xqmuse.network.entity.UserInfo
+import com.sinata.xqmuse.network.entity.MineInfo
 import com.sinata.xqmuse.network.requestByF
-import com.sinata.xqmuse.ui.H5Activity
-import com.sinata.xqmuse.ui.course.MyCourseActivity
-import com.sinata.xqmuse.ui.course.ReceiveGiftActivity
-import com.sinata.xqmuse.ui.login.LoginActivity
-import com.sinata.xqmuse.ui.mine.adapter.MenuAdapter
+import com.sinata.xqmuse.ui.discovery.MsgActivity
 import com.sinata.xqmuse.utils.Const
 import com.sinata.xqmuse.utils.event.EmptyEvent
-import com.sinata.xqmuse.utils.extention.clickDelay
-import com.sinata.xqmuse.utils.interfaces.StringCallback
 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: UserInfo? = null
-
-    private val menus = arrayListOf("我的课程","收藏课程","我的动态","个人钱包","成就等级","优惠券管理","银行绑定","好友推广")
-    private val adapter = MenuAdapter(menus)
+    private var userInfo: MineInfo? = null
 
     override fun onFirstVisibleToUser() {
         EventBus.getDefault().register(this)
-        rv_menu.layoutManager = GridLayoutManager(requireContext(),4)
-        rv_menu.adapter = adapter
-        adapter.setOnItemClickListener { view, position ->
-            when(position){
-                0->startActivity<MyCourseActivity>()
-                1->startActivity<CollectedCourseActivity>()
-                2->startActivity<MyDynamicActivity>()
-                3->startActivity<WalletActivity>()
-                4->startActivity<LevelActivity>("count" to (userInfo?.clockIn?:0))
-                5->startActivity<CouponActivity>()
-                6->startActivity<BindCardActivity>()
-                7->startActivity<ShareActivity>()
-            }
+        queryUnread()
+        showUserInfo()
+        holder_info.setOnClickListener {
+            startActivityForResult<UserInfoActivity>(1)
         }
-        tv_center.clickDelay {
-            startActivity<UserInfoActivity>("user" to userInfo)
+        tv_watch_his.setOnClickListener {
+            startActivity<WatchHisActivity>()
         }
-        tv_feed.clickDelay {
-            startActivity<FeedbackActivity>()
+        tv_collect.setOnClickListener {
+            startActivity<WatchHisActivity>("type" to WatchHisActivity.COLLECTED)
         }
-        tv_about.clickDelay {
-            HttpManager.getH5(4).requestByF(this){ _, data->
-                data?.let {
-                    startActivity<H5Activity>("title" to "关于我们","url" to it)
-                }
-            }
+        tv_has_buy.setOnClickListener {
+            startActivity<WatchHisActivity>("type" to WatchHisActivity.HAS_BUY)
         }
-        tv_contact.clickDelay {
-            HttpManager.getPhone().requestByF(this){_,data->
-                PhoneDialog.show(childFragmentManager,data?:"")
-            }
+        bg_vip.setOnClickListener {
+            startActivityForResult<VipActivity>(1)
         }
-        tv_guide.clickDelay {
-            startActivity<UseGuideActivity>()
+        tv_service.setOnClickListener {
+            startActivity<ServiceActivity>()
         }
-        tv_privacy_rule.clickDelay {
-            HttpManager.getH5(2).requestByF(this){ _, data->
-                data?.let {
-                    startActivity<H5Activity>("title" to "隐私协议","url" to it)
-                }
-            }
+        tv_level.setOnClickListener {
+            startActivity<LevelActivity>()
         }
-        tv_user_rule.clickDelay {
-            HttpManager.getH5(1).requestByF(this){ _, data->
-                data?.let {
-                    startActivity<H5Activity>("title" to "用户协议","url" to it)
-                }
-            }
-        }
-        tv_set_unit.clickDelay {
-            SingleWheelDialog.show(childFragmentManager,"APP体重单位", arrayListOf("斤","公斤","磅"),object :StringCallback{
-                override fun onResult(rst: String) {
-                    HttpManager.setUnit(if (rst == "斤") 2 else if (rst == "公斤") 1 else 3).requestByF(this@MineFragment){_,_->
-                        myToast("设置成功")
-                        EventBus.getDefault().post(EmptyEvent(Const.EventCode.USER_INFO_CHANGED))
-                    }
-                }
-            })
-        }
-        tv_address.clickDelay {
-            startActivity<ReceiveGiftActivity>()
+        iv_setting.setOnClickListener {
+            startActivity<SettingActivity>()
         }
         tv_setting.setOnClickListener {
             startActivity<SettingActivity>()
         }
-        tv_logout.setOnClickListener {
-            TipDialog.show(childFragmentManager,"确认退出登录吗?",object : TipDialog.OnClickCallback{
-                override fun onOk() {
-                    SPUtils.instance().put(Const.User.TOKEN,"").put(Const.User.USER_ID,"")
-                        .put("isHint",false)
-                        .put("MsgTime","")
-                        .apply()
-                    (requireActivity().application as JkApplication).exit()
-                    startActivity<LoginActivity>()
-                }
-
-                override fun onCancel() {
-                }
-            })
+        tv_share.setOnClickListener {
+            startActivity<ShareActivity>()
         }
-        showUserInfo()
+        iv_msg.setOnClickListener {
+            startActivity<MsgActivity>()
+        }
+        tv_rank.setOnClickListener {
+            toast("H5")
+        }
+        tv_account.setOnClickListener {
+            startActivity<WalletActivity>()
+        }
     }
 
     @Subscribe
@@ -128,17 +80,30 @@
     }
 
     private fun showUserInfo() {
-        userInfo = (requireActivity() as MainActivity).homeData
-        userInfo?.apply {
-            iv_avatar.setImageURI(headImg)
-            tv_name.text = name
-            iv_level.setImageResource(getLevelRes())
-            tv_invite_code.text = "邀请码:${code}"
-            tv_height.text = height
-            tv_weight.text = weight
-            tv_bmi.text = bMI
-            tv_unit.text = getUnitName()
-            tv_fat_state.text = bMIInfo
+        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)}到期"
+                }
+                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()
+            }
+        }
+    }
+
+    fun queryUnread(){
+        HttpManager.queryNotice().requestByF(this){_,data->
+            if (data == true) iv_unread.visible() else iv_unread.gone()
         }
     }
 
@@ -146,4 +111,10 @@
         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()
+    }
 }

--
Gitblit v1.7.1