Commit b50f6fcc authored by yinjiacheng's avatar yinjiacheng

update 系统设置检查更新项和用户反馈项接入TowerPro配置

parent 22886102
package com.yidian.common.http.bean
import com.google.gson.annotations.SerializedName
import java.io.Serializable
/**
* author: yinjiacheng
......@@ -36,14 +37,16 @@ class GetCommonConfigBean {
val updatedAt: String,
@SerializedName("version")
val version: String
)
) : Serializable
data class Data(
@SerializedName("is_show_app_upgrade")
val isShowAppUpgrade: Int,
@SerializedName("is_show_feedback")
val isShowFeedback: Int,
@SerializedName("merchant_manager_center")
val merchantManagerCenter: MerchantManagerCenter
)
) : Serializable
data class MerchantManagerCenter(
@SerializedName("disable_text")
......@@ -56,7 +59,7 @@ class GetCommonConfigBean {
val show: Int,
@SerializedName("is_show_wallet")
val isShowWallet: Int
)
) : Serializable
data class Item(
@SerializedName("functions")
......@@ -67,7 +70,7 @@ class GetCommonConfigBean {
val groupName: String,
@SerializedName("show")
val show: Int
)
) : Serializable
data class Function(
@SerializedName("function_id")
......@@ -80,6 +83,6 @@ class GetCommonConfigBean {
val linkUrl: Any,
@SerializedName("show")
val show: Int
)
) : Serializable
}
......@@ -31,6 +31,7 @@ import com.yidian.shenghuoquan.newscontent.ui.auth.LifeAccountAuthActivity
import com.yidian.shenghuoquan.newscontent.ui.auth.LifeAccountEnterpriseAuthActivity
import com.yidian.shenghuoquan.newscontent.ui.dialog.HintDialog
import com.yidian.shenghuoquan.newscontent.ui.dialog.MerchantCenterBottomHintDialog
import com.yidian.shenghuoquan.newscontent.ui.setting.SystemSettingActivity
import com.yidian.shenghuoquan.newscontent.utils.StorageUtil
import com.yidian.shenghuoquan.newscontent.widget.CommonTopBarView
import com.yidian.shenghuoquan.newscontent.widget.LifeAccountLabelView
......@@ -144,25 +145,25 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), Me
*/
private fun refreshMerchantCenterData(
lifeAccountData: LifeAccountItemBean.Response,
configData: GetCommonConfigBean.MerchantManagerCenter
configData: GetCommonConfigBean.Data
) {
// 设置标签
viewBind.lvLifeAccountLabel.setLifeAccountData(lifeAccountData)
// 设置钱包
if (configData.isShowWallet == Constant.MERCHANT_SERVICE_SHOW) {
if (configData.merchantManagerCenter.isShowWallet == Constant.MERCHANT_SERVICE_SHOW) {
viewBind.avMerchantAsset.isVisible = true
viewBind.avMerchantAsset.setMerchantAssetData("0.00", "0.00")
}
// 展示底部浮窗
showMerchantCenterBottomHint(lifeAccountData)
// 生成FunctionId和XPage页面节点映射
generateFunctionPageMap(configData.items)
generateFunctionPageMap(configData.merchantManagerCenter.items)
// 生成FunctionId和跳转页面参数映射
generateFunctionParamsMap(configData.items)
generateFunctionParamsMap(configData)
// 生成当前生活号状态下的功能集
generateFunctionPermissionMap(configData.items)
generateFunctionPermissionMap(configData.merchantManagerCenter.items)
// 过滤商户服务数据
filterMerchantServiceData(configData.items)
filterMerchantServiceData(configData.merchantManagerCenter.items)
}
/**
......@@ -216,21 +217,22 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), Me
/**
* 生成FunctionId和跳转页面参数映射
*/
private fun generateFunctionParamsMap(data: List<GetCommonConfigBean.Item>) {
if (data.isEmpty()) return
private fun generateFunctionParamsMap(data: GetCommonConfigBean.Data) {
if (data.merchantManagerCenter.items.isEmpty()) return
functionParamsMap.clear()
// 进入发布商品的url
val pageUrl = XBirdPageConstants.COMMODITY_PUBLISH_COMMODITY + "?life_account_id=${curLifeAccount.life_account_id}"
functionParamsMap[data.merchantManagerCenter.items[0].functions[0].functionId] =
hashMapOf(XBirdPageConstants.PAGE_URL to pageUrl)
// 系统设置传参TowerPro配置数据
functionParamsMap[data.merchantManagerCenter.items[2].functions[3].functionId] =
hashMapOf(SystemSettingActivity.EXTRA_COMMON_CONFIG to data)
// 认证管理传参生活号id和生活号key tag
functionParamsMap[data[2].functions[4].functionId] =
functionParamsMap[data.merchantManagerCenter.items[2].functions[4].functionId] =
hashMapOf(
MerchantAuthManagementActivity.EXTRA_LIFE_ACCOUNT_ID to curLifeAccount.life_account_id,
MerchantAuthManagementActivity.EXTRA_LIFE_ACCOUNT_TAG_KEY to curLifeAccount.tag.tag_key
)
// 进入发布商品的url
val pageUrl = XBirdPageConstants.COMMODITY_PUBLISH_COMMODITY + "?life_account_id=${curLifeAccount.life_account_id}"
functionParamsMap[data[0].functions[0].functionId] =
hashMapOf(
XBirdPageConstants.PAGE_URL to pageUrl
)
}
/**
......@@ -590,7 +592,7 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), Me
// 更新本地存储的生活号id
StorageUtil.putLifeAccountId(lifeAccountResult[0].life_account_id)
// 刷新数据
configResult?.data?.merchantManagerCenter?.let { refreshMerchantCenterData(lifeAccountResult[0], it) }
configResult?.data?.let { refreshMerchantCenterData(lifeAccountResult[0], it) }
// 切换主体入口是否展示判断
viewBind.bvTopBar.setActionVisibility(lifeAccountResult.size > 1)
return
......@@ -603,7 +605,7 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), Me
if (curLifeAccount.life_account_id == it.life_account_id) {
curLifeAccount = it
// 刷新数据
configResult?.data?.merchantManagerCenter?.let { configData -> refreshMerchantCenterData(it, configData) }
configResult?.let { configData -> refreshMerchantCenterData(it, configData.data) }
}
}
}
......
......@@ -4,6 +4,7 @@ import android.os.Build
import android.os.Bundle
import android.text.Html
import androidx.core.content.ContextCompat
import androidx.core.view.isVisible
import com.orhanobut.hawk.Hawk
import com.yidian.common.AppConfig
import com.yidian.common.HawkConfig
......@@ -12,6 +13,7 @@ import com.yidian.common.XRouterPathConstants.Companion.SYSTEM_SETTING
import com.yidian.common.base.BaseActivity
import com.yidian.common.extensions.clickAntiShake
import com.yidian.common.extensions.initTitleBar
import com.yidian.common.http.bean.GetCommonConfigBean
import com.yidian.common.services.AppUpgradeService
import com.yidian.common.utils.SystemSettingUtils
import com.yidian.common.widget.CommonInfoDialog
......@@ -34,6 +36,21 @@ import com.yidian.yac.core.zap.ZapTicket
*/
class SystemSettingActivity : BaseActivity<ActivitySystemSettingBinding>() {
companion object {
const val EXTRA_COMMON_CONFIG = "commonConfig"
}
/**
* TowerPro通用配置
*/
private val commonConfig by lazy {
intent.getSerializableExtra(XRouterPathConstants.ParamsKey)?.let { serializable ->
(serializable as HashMap<*, *>)[EXTRA_COMMON_CONFIG]?.let {
it as GetCommonConfigBean.Data
}
}
}
override fun createViewBinding(): ActivitySystemSettingBinding {
return ActivitySystemSettingBinding.inflate(layoutInflater)
}
......@@ -55,6 +72,9 @@ class SystemSettingActivity : BaseActivity<ActivitySystemSettingBinding>() {
viewBind.tvUserMobile.text = SensitiveInfoUtil.mobileEncrypt(phone)
// 显示版本号
viewBind.tvAppVersion.text = AppUtils.INSTANCE.getCurrentVersionName(this)
// 根据TowerPro配置展示设置项
viewBind.clCheckUpgrade.isVisible = commonConfig?.isShowAppUpgrade == 1
viewBind.clFeedback.isVisible = commonConfig?.isShowFeedback == 1
}
private fun initClick() {
......
......@@ -142,7 +142,8 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_check_upgrade"
android:layout_width="match_parent"
android:layout_height="@dimen/dp60">
android:layout_height="@dimen/dp60"
android:visibility="gone">
<TextView
android:layout_width="wrap_content"
......@@ -203,7 +204,8 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_feedback"
android:layout_width="match_parent"
android:layout_height="@dimen/dp60">
android:layout_height="@dimen/dp60"
android:visibility="gone">
<TextView
android:layout_width="wrap_content"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment