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