优化引导页数据获取
This commit is contained in:
parent
c1b2fa631c
commit
ece2bcc9e8
|
|
@ -1,3 +1,3 @@
|
|||
package com.cheng.blzb.event
|
||||
|
||||
class PayStatusEvent(var payStatus: com.cheng.blzb.event.PayStatusEnum, var message: String = "")
|
||||
class PayStatusEvent(var payStatus: PayStatusEnum, var message: String? = "")
|
||||
|
|
@ -24,7 +24,7 @@ import com.example.base.ui.BaseFragment
|
|||
import com.example.base.utils.DensityUtils
|
||||
import com.example.base.utils.ScreenUtils
|
||||
|
||||
class GuideItem2Fragment: BaseFragment<FragmentGuideItem2Binding, GuideViewModel>() {
|
||||
class GuideItem2Fragment : BaseFragment<FragmentGuideItem2Binding, GuideViewModel>() {
|
||||
private val area1Adapter by lazy { GuideItem2Area1Adapter() }
|
||||
|
||||
private val area2Adapter by lazy { GuideItem2Area2Adapter() }
|
||||
|
|
@ -41,12 +41,11 @@ class GuideItem2Fragment: BaseFragment<FragmentGuideItem2Binding, GuideViewModel
|
|||
|
||||
override fun onLazyLoad() {
|
||||
super.onLazyLoad()
|
||||
val areaList = UserConfigManager.getAreaList()
|
||||
areaList.add(0, AreaEntity(0, name = "全国地区", isChecked = true))
|
||||
area1Adapter.setList(areaList)
|
||||
area2Adapter.setList(areaList)
|
||||
|
||||
startAnim()
|
||||
if (UserConfigManager.getAreaList().isNotEmpty()) {
|
||||
setData()
|
||||
} else {
|
||||
mViewModel.getCityList()
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressLint("NotifyDataSetChanged")
|
||||
|
|
@ -99,6 +98,22 @@ class GuideItem2Fragment: BaseFragment<FragmentGuideItem2Binding, GuideViewModel
|
|||
}
|
||||
}
|
||||
|
||||
override fun initObserve() {
|
||||
super.initObserve()
|
||||
mViewModel.cityLiveData.observe(this) {
|
||||
UserConfigManager.saveAreaList(it)
|
||||
setData()
|
||||
}
|
||||
}
|
||||
|
||||
private fun setData() {
|
||||
val areaList = UserConfigManager.getAreaList()
|
||||
areaList.add(0, AreaEntity(0, name = "全国地区", isChecked = true))
|
||||
area1Adapter.setList(areaList)
|
||||
area2Adapter.setList(areaList)
|
||||
startAnim()
|
||||
}
|
||||
|
||||
private fun scrollToPosition(position: Int) {
|
||||
binding.rvArea2.layoutManager?.startSmoothScroll(
|
||||
LinearTopSmoothScroller(requireContext(), true)
|
||||
|
|
|
|||
|
|
@ -40,48 +40,12 @@ class GuideItem3Fragment : BaseFragment<FragmentGuideItem3Binding, GuideViewMode
|
|||
|
||||
override fun onLazyLoad() {
|
||||
super.onLazyLoad()
|
||||
val hotWords = UserConfigManager.getGuideKeywords()
|
||||
hotWords.forEachIndexed { index, item ->
|
||||
when(index) {
|
||||
0 -> {
|
||||
binding.tvName1.text = item.name
|
||||
binding.ivIcon1.setImageResource(R.mipmap.ic_guide_item3_icon1)
|
||||
binding.layoutOption1.tag = item.id
|
||||
}
|
||||
1 -> {
|
||||
binding.tvName2.text = item.name
|
||||
binding.ivIcon2.setImageResource(R.mipmap.ic_guide_item3_icon2)
|
||||
binding.layoutOption2.tag = item.id
|
||||
}
|
||||
2 -> {
|
||||
binding.tvName3.text = item.name
|
||||
binding.ivIcon3.setImageResource(R.mipmap.ic_guide_item3_icon3)
|
||||
binding.layoutOption3.tag = item.id
|
||||
}
|
||||
3 -> {
|
||||
binding.tvName4.text = item.name
|
||||
binding.ivIcon4.setImageResource(R.mipmap.ic_guide_item3_icon4)
|
||||
binding.layoutOption4.tag = item.id
|
||||
}
|
||||
4 -> {
|
||||
binding.tvName5.text = item.name
|
||||
binding.ivIcon5.setImageResource(R.mipmap.ic_guide_item3_icon5)
|
||||
binding.layoutOption5.tag = item.id
|
||||
}
|
||||
5 -> {
|
||||
binding.tvName6.text = item.name
|
||||
binding.ivIcon6.setImageResource(R.mipmap.ic_guide_item3_icon6)
|
||||
binding.layoutOption6.tag = item.id
|
||||
}
|
||||
6 -> {
|
||||
binding.tvName7.text = item.name
|
||||
binding.ivIcon7.setImageResource(R.mipmap.ic_guide_item3_icon7)
|
||||
binding.layoutOption7.tag = item.id
|
||||
}
|
||||
}
|
||||
if (UserConfigManager.getGuideKeywords().isNotEmpty()) {
|
||||
setData()
|
||||
} else {
|
||||
mViewModel.getHotWordList()
|
||||
}
|
||||
|
||||
startAnim()
|
||||
}
|
||||
|
||||
override fun initListener() {
|
||||
|
|
@ -194,6 +158,58 @@ class GuideItem3Fragment : BaseFragment<FragmentGuideItem3Binding, GuideViewMode
|
|||
}
|
||||
}
|
||||
|
||||
override fun initObserve() {
|
||||
super.initObserve()
|
||||
mViewModel.hotWordLiveData.observe(this) {
|
||||
UserConfigManager.saveGuideKeywords(it)
|
||||
setData()
|
||||
}
|
||||
}
|
||||
|
||||
private fun setData() {
|
||||
val hotWords = UserConfigManager.getGuideKeywords()
|
||||
hotWords.forEachIndexed { index, item ->
|
||||
when(index) {
|
||||
0 -> {
|
||||
binding.tvName1.text = item.name
|
||||
binding.ivIcon1.setImageResource(R.mipmap.ic_guide_item3_icon1)
|
||||
binding.layoutOption1.tag = item.id
|
||||
}
|
||||
1 -> {
|
||||
binding.tvName2.text = item.name
|
||||
binding.ivIcon2.setImageResource(R.mipmap.ic_guide_item3_icon2)
|
||||
binding.layoutOption2.tag = item.id
|
||||
}
|
||||
2 -> {
|
||||
binding.tvName3.text = item.name
|
||||
binding.ivIcon3.setImageResource(R.mipmap.ic_guide_item3_icon3)
|
||||
binding.layoutOption3.tag = item.id
|
||||
}
|
||||
3 -> {
|
||||
binding.tvName4.text = item.name
|
||||
binding.ivIcon4.setImageResource(R.mipmap.ic_guide_item3_icon4)
|
||||
binding.layoutOption4.tag = item.id
|
||||
}
|
||||
4 -> {
|
||||
binding.tvName5.text = item.name
|
||||
binding.ivIcon5.setImageResource(R.mipmap.ic_guide_item3_icon5)
|
||||
binding.layoutOption5.tag = item.id
|
||||
}
|
||||
5 -> {
|
||||
binding.tvName6.text = item.name
|
||||
binding.ivIcon6.setImageResource(R.mipmap.ic_guide_item3_icon6)
|
||||
binding.layoutOption6.tag = item.id
|
||||
}
|
||||
6 -> {
|
||||
binding.tvName7.text = item.name
|
||||
binding.ivIcon7.setImageResource(R.mipmap.ic_guide_item3_icon7)
|
||||
binding.layoutOption7.tag = item.id
|
||||
}
|
||||
}
|
||||
}
|
||||
startAnim()
|
||||
}
|
||||
|
||||
private fun startAnim() {
|
||||
val scaleXHolder = PropertyValuesHolder.ofFloat("scaleX", 0.85f, 1.15f, 0.9f, 1.1f, 0.95f, 1f)
|
||||
val scaleYHolder = PropertyValuesHolder.ofFloat("scaleY", 0.85f, 1.15f, 0.9f, 1.1f, 0.95f, 1f)
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@ import android.os.Message
|
|||
import android.text.TextUtils
|
||||
import com.alipay.sdk.app.PayTask
|
||||
import com.cheng.blzb.common.Constants
|
||||
import com.cheng.blzb.event.PayStatusEnum
|
||||
import com.cheng.blzb.event.PayStatusEvent
|
||||
import com.example.base.common.RxBus
|
||||
import com.example.base.extensions.toast
|
||||
import com.example.base.utils.L
|
||||
|
|
@ -95,7 +97,7 @@ object PayUtils {
|
|||
override fun handleMessage(msg: Message) {
|
||||
when (msg.what) {
|
||||
1001 -> {//支付宝返回参数
|
||||
val payResult = com.cheng.blzb.utils.pay.PayResult(msg.obj as MutableMap<String, String>?)
|
||||
val payResult = PayResult(msg.obj as MutableMap<String, String>?)
|
||||
|
||||
/**
|
||||
* 对于支付结果,请商户依赖服务端的异步通知结果。同步通知结果,仅作为支付结束的通知。
|
||||
|
|
@ -107,18 +109,18 @@ object PayUtils {
|
|||
when {
|
||||
TextUtils.equals(resultStatus, "9000") -> {
|
||||
// 该笔订单是否真实支付成功,需要依赖服务端的异步通知。
|
||||
RxBus.defaultInstance.post(com.cheng.blzb.event.PayStatusEvent(com.cheng.blzb.event.PayStatusEnum.PAY_SUCCESS))
|
||||
RxBus.defaultInstance.post(PayStatusEvent(PayStatusEnum.PAY_SUCCESS))
|
||||
}
|
||||
|
||||
TextUtils.equals(resultStatus, "6001") -> {
|
||||
// 该笔订单是否真实支付成功,需要依赖服务端的异步通知。
|
||||
RxBus.defaultInstance.post(com.cheng.blzb.event.PayStatusEvent(com.cheng.blzb.event.PayStatusEnum.PAY_CANCEL))
|
||||
RxBus.defaultInstance.post(PayStatusEvent(PayStatusEnum.PAY_CANCEL))
|
||||
}
|
||||
|
||||
else -> {
|
||||
// 该笔订单真实的支付结果,需要依赖服务端的异步通知。
|
||||
L.d("resultStatus=${resultStatus}")
|
||||
RxBus.defaultInstance.post(com.cheng.blzb.event.PayStatusEvent(com.cheng.blzb.event.PayStatusEnum.PAY_ERROR, resultInfo))
|
||||
RxBus.defaultInstance.post(PayStatusEvent(PayStatusEnum.PAY_ERROR, resultInfo))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue