优化引导页数据获取
This commit is contained in:
parent
c1b2fa631c
commit
ece2bcc9e8
|
|
@ -1,3 +1,3 @@
|
||||||
package com.cheng.blzb.event
|
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.DensityUtils
|
||||||
import com.example.base.utils.ScreenUtils
|
import com.example.base.utils.ScreenUtils
|
||||||
|
|
||||||
class GuideItem2Fragment: BaseFragment<FragmentGuideItem2Binding, GuideViewModel>() {
|
class GuideItem2Fragment : BaseFragment<FragmentGuideItem2Binding, GuideViewModel>() {
|
||||||
private val area1Adapter by lazy { GuideItem2Area1Adapter() }
|
private val area1Adapter by lazy { GuideItem2Area1Adapter() }
|
||||||
|
|
||||||
private val area2Adapter by lazy { GuideItem2Area2Adapter() }
|
private val area2Adapter by lazy { GuideItem2Area2Adapter() }
|
||||||
|
|
@ -41,12 +41,11 @@ class GuideItem2Fragment: BaseFragment<FragmentGuideItem2Binding, GuideViewModel
|
||||||
|
|
||||||
override fun onLazyLoad() {
|
override fun onLazyLoad() {
|
||||||
super.onLazyLoad()
|
super.onLazyLoad()
|
||||||
val areaList = UserConfigManager.getAreaList()
|
if (UserConfigManager.getAreaList().isNotEmpty()) {
|
||||||
areaList.add(0, AreaEntity(0, name = "全国地区", isChecked = true))
|
setData()
|
||||||
area1Adapter.setList(areaList)
|
} else {
|
||||||
area2Adapter.setList(areaList)
|
mViewModel.getCityList()
|
||||||
|
}
|
||||||
startAnim()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressLint("NotifyDataSetChanged")
|
@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) {
|
private fun scrollToPosition(position: Int) {
|
||||||
binding.rvArea2.layoutManager?.startSmoothScroll(
|
binding.rvArea2.layoutManager?.startSmoothScroll(
|
||||||
LinearTopSmoothScroller(requireContext(), true)
|
LinearTopSmoothScroller(requireContext(), true)
|
||||||
|
|
|
||||||
|
|
@ -40,48 +40,12 @@ class GuideItem3Fragment : BaseFragment<FragmentGuideItem3Binding, GuideViewMode
|
||||||
|
|
||||||
override fun onLazyLoad() {
|
override fun onLazyLoad() {
|
||||||
super.onLazyLoad()
|
super.onLazyLoad()
|
||||||
val hotWords = UserConfigManager.getGuideKeywords()
|
if (UserConfigManager.getGuideKeywords().isNotEmpty()) {
|
||||||
hotWords.forEachIndexed { index, item ->
|
setData()
|
||||||
when(index) {
|
} else {
|
||||||
0 -> {
|
mViewModel.getHotWordList()
|
||||||
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()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun initListener() {
|
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() {
|
private fun startAnim() {
|
||||||
val scaleXHolder = PropertyValuesHolder.ofFloat("scaleX", 0.85f, 1.15f, 0.9f, 1.1f, 0.95f, 1f)
|
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)
|
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 android.text.TextUtils
|
||||||
import com.alipay.sdk.app.PayTask
|
import com.alipay.sdk.app.PayTask
|
||||||
import com.cheng.blzb.common.Constants
|
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.common.RxBus
|
||||||
import com.example.base.extensions.toast
|
import com.example.base.extensions.toast
|
||||||
import com.example.base.utils.L
|
import com.example.base.utils.L
|
||||||
|
|
@ -95,7 +97,7 @@ object PayUtils {
|
||||||
override fun handleMessage(msg: Message) {
|
override fun handleMessage(msg: Message) {
|
||||||
when (msg.what) {
|
when (msg.what) {
|
||||||
1001 -> {//支付宝返回参数
|
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 {
|
when {
|
||||||
TextUtils.equals(resultStatus, "9000") -> {
|
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") -> {
|
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 -> {
|
else -> {
|
||||||
// 该笔订单真实的支付结果,需要依赖服务端的异步通知。
|
// 该笔订单真实的支付结果,需要依赖服务端的异步通知。
|
||||||
L.d("resultStatus=${resultStatus}")
|
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