lmw
2024-07-19 cd13751df41c6504b3934cd3f1bd441c4ba172ff
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
package com.dollearn.student.ui.mine
 
import androidx.core.os.bundleOf
import cn.sinata.xldutils.fragment.BaseFragment
import cn.sinata.xldutils.utils.SPUtils
import cn.sinata.xldutils.utils.showAllowingStateLoss
import com.dollearn.student.MainActivity
import com.dollearn.student.R
import com.dollearn.student.dialog.ShareDialog
import com.dollearn.student.dialog.TipDialog
import com.dollearn.student.network.Apis
import com.dollearn.student.network.HttpManager
import com.dollearn.student.network.entity.UserBean
import com.dollearn.student.network.requestByF
import com.dollearn.student.ui.login.LoginActivity
import com.dollearn.student.utils.Const
import com.dollearn.student.utils.event.EmptyEvent
import com.dollearn.student.utils.extention.formatToChinese
import com.dollearn.student.utils.interfaces.StringCallback
import com.share.utils.ShareUtils
import com.umeng.socialize.UMShareListener
import com.umeng.socialize.bean.SHARE_MEDIA
import com.umeng.socialize.media.UMImage
import kotlinx.android.synthetic.main.form_view_layout.*
import kotlinx.android.synthetic.main.fragment_mine.*
import org.greenrobot.eventbus.EventBus
import org.greenrobot.eventbus.Subscribe
import org.jetbrains.anko.support.v4.startActivity
import org.jetbrains.anko.support.v4.toast
 
class MineFragment : BaseFragment() {
    override fun contentViewId() = R.layout.fragment_mine
 
    private var homeData: UserBean? = null
 
    override fun onFirstVisibleToUser() {
        EventBus.getDefault().register(this)
        showInfo()
        tv_logout.setOnClickListener {
            val tipDialog = TipDialog()
            tipDialog.arguments = bundleOf("msg" to "确认退出当前账户吗?")
            tipDialog.setCallback(object :TipDialog.OnClickCallback{
                override fun onOk() {
                    SPUtils.instance().put(Const.User.TOKEN,"").apply()
                    requireActivity().finish()
                    startActivity<LoginActivity>()
                }
 
                override fun onCancel() {
                }
            })
            tipDialog.show(childFragmentManager,"out")
        }
 
        tv_learn_record.setOnClickListener {
            startActivity<LearnRecordActivity>()
        }
 
        tv_score_record.setOnClickListener {
            startActivity<ScoreRecordActivity>()
        }
 
        tv_exchange_record.setOnClickListener {
            startActivity<ExchangeRecordActivity>()
        }
 
        tv_address.setOnClickListener {
            startActivity<AddressManageActivity>()
        }
        tv_share.setOnClickListener {
            val shareDialog = ShareDialog()
            shareDialog.callback = object :StringCallback{
                override fun onResult(rst: String) {
                    HttpManager.shareInfo().requestByF(this@MineFragment){_,data->
                        ShareUtils.share(requireActivity(),if (rst == "wx") SHARE_MEDIA.WEIXIN else SHARE_MEDIA.WEIXIN_CIRCLE,data?.title?:"孩子自己就学会的英语",if (rst == "wx") "哆能智学教育平台" else data?.title?:"孩子自己就学会的英语", Apis.SHARE_URL,
                            UMImage(requireContext(),data?.img?:""),object :UMShareListener{
                                override fun onStart(p0: SHARE_MEDIA?) {
                                }
 
                                override fun onResult(p0: SHARE_MEDIA?) {
                                    toast("已分享")
                                }
 
                                override fun onError(p0: SHARE_MEDIA?, p1: Throwable?) {
                                }
 
                                override fun onCancel(p0: SHARE_MEDIA?) {
                                }
                            },""
                        )
                    }
                }
            }
            shareDialog.showAllowingStateLoss(childFragmentManager,"share")
        }
    }
 
    @Subscribe
    fun refreshUser(e:EmptyEvent){
        if (e.code == Const.EventCode.REFRESH_USER_INFO){
            showInfo()
        }
    }
 
    private fun showInfo(){
        homeData = (requireActivity() as MainActivity).homeData
        homeData?.apply {
            iv_avatar.setImageURI(user.headImg)
            tv_name.text = user.name
            tv_record.text = "剩余积分:%d|学习进度:周目%s|学习总时长:%d小时".format(user.integral,userStudy.week.formatToChinese(),userStudy.totalStudy)
        }
    }
 
    override fun onDestroy() {
        super.onDestroy()
        EventBus.getDefault().unregister(this)
    }
}