Commit b50f6fcc authored by yinjiacheng's avatar yinjiacheng

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

parent 22886102
package com.yidian.common.http.bean package com.yidian.common.http.bean
import com.google.gson.annotations.SerializedName import com.google.gson.annotations.SerializedName
import java.io.Serializable
/** /**
* author: yinjiacheng * author: yinjiacheng
...@@ -36,14 +37,16 @@ class GetCommonConfigBean { ...@@ -36,14 +37,16 @@ class GetCommonConfigBean {
val updatedAt: String, val updatedAt: String,
@SerializedName("version") @SerializedName("version")
val version: String val version: String
) ) : Serializable
data class Data( data class Data(
@SerializedName("is_show_app_upgrade") @SerializedName("is_show_app_upgrade")
val isShowAppUpgrade: Int, val isShowAppUpgrade: Int,
@SerializedName("is_show_feedback")
val isShowFeedback: Int,
@SerializedName("merchant_manager_center") @SerializedName("merchant_manager_center")
val merchantManagerCenter: MerchantManagerCenter val merchantManagerCenter: MerchantManagerCenter
) ) : Serializable
data class MerchantManagerCenter( data class MerchantManagerCenter(
@SerializedName("disable_text") @SerializedName("disable_text")
...@@ -56,7 +59,7 @@ class GetCommonConfigBean { ...@@ -56,7 +59,7 @@ class GetCommonConfigBean {
val show: Int, val show: Int,
@SerializedName("is_show_wallet") @SerializedName("is_show_wallet")
val isShowWallet: Int val isShowWallet: Int
) ) : Serializable
data class Item( data class Item(
@SerializedName("functions") @SerializedName("functions")
...@@ -67,7 +70,7 @@ class GetCommonConfigBean { ...@@ -67,7 +70,7 @@ class GetCommonConfigBean {
val groupName: String, val groupName: String,
@SerializedName("show") @SerializedName("show")
val show: Int val show: Int
) ) : Serializable
data class Function( data class Function(
@SerializedName("function_id") @SerializedName("function_id")
...@@ -80,6 +83,6 @@ class GetCommonConfigBean { ...@@ -80,6 +83,6 @@ class GetCommonConfigBean {
val linkUrl: Any, val linkUrl: Any,
@SerializedName("show") @SerializedName("show")
val show: Int val show: Int
) ) : Serializable
} }
...@@ -31,6 +31,7 @@ import com.yidian.shenghuoquan.newscontent.ui.auth.LifeAccountAuthActivity ...@@ -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.auth.LifeAccountEnterpriseAuthActivity
import com.yidian.shenghuoquan.newscontent.ui.dialog.HintDialog import com.yidian.shenghuoquan.newscontent.ui.dialog.HintDialog
import com.yidian.shenghuoquan.newscontent.ui.dialog.MerchantCenterBottomHintDialog 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.utils.StorageUtil
import com.yidian.shenghuoquan.newscontent.widget.CommonTopBarView import com.yidian.shenghuoquan.newscontent.widget.CommonTopBarView
import com.yidian.shenghuoquan.newscontent.widget.LifeAccountLabelView import com.yidian.shenghuoquan.newscontent.widget.LifeAccountLabelView
...@@ -144,25 +145,25 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), Me ...@@ -144,25 +145,25 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), Me
*/ */
private fun refreshMerchantCenterData( private fun refreshMerchantCenterData(
lifeAccountData: LifeAccountItemBean.Response, lifeAccountData: LifeAccountItemBean.Response,
configData: GetCommonConfigBean.MerchantManagerCenter configData: GetCommonConfigBean.Data
) { ) {
// 设置标签 // 设置标签
viewBind.lvLifeAccountLabel.setLifeAccountData(lifeAccountData) 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.isVisible = true
viewBind.avMerchantAsset.setMerchantAssetData("0.00", "0.00") viewBind.avMerchantAsset.setMerchantAssetData("0.00", "0.00")
} }
// 展示底部浮窗 // 展示底部浮窗
showMerchantCenterBottomHint(lifeAccountData) showMerchantCenterBottomHint(lifeAccountData)
// 生成FunctionId和XPage页面节点映射 // 生成FunctionId和XPage页面节点映射
generateFunctionPageMap(configData.items) generateFunctionPageMap(configData.merchantManagerCenter.items)
// 生成FunctionId和跳转页面参数映射 // 生成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 ...@@ -216,21 +217,22 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), Me
/** /**
* 生成FunctionId和跳转页面参数映射 * 生成FunctionId和跳转页面参数映射
*/ */
private fun generateFunctionParamsMap(data: List<GetCommonConfigBean.Item>) { private fun generateFunctionParamsMap(data: GetCommonConfigBean.Data) {
if (data.isEmpty()) return if (data.merchantManagerCenter.items.isEmpty()) return
functionParamsMap.clear() 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 // 认证管理传参生活号id和生活号key tag
functionParamsMap[data[2].functions[4].functionId] = functionParamsMap[data.merchantManagerCenter.items[2].functions[4].functionId] =
hashMapOf( hashMapOf(
MerchantAuthManagementActivity.EXTRA_LIFE_ACCOUNT_ID to curLifeAccount.life_account_id, MerchantAuthManagementActivity.EXTRA_LIFE_ACCOUNT_ID to curLifeAccount.life_account_id,
MerchantAuthManagementActivity.EXTRA_LIFE_ACCOUNT_TAG_KEY to curLifeAccount.tag.tag_key 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 ...@@ -590,7 +592,7 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), Me
// 更新本地存储的生活号id // 更新本地存储的生活号id
StorageUtil.putLifeAccountId(lifeAccountResult[0].life_account_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) viewBind.bvTopBar.setActionVisibility(lifeAccountResult.size > 1)
return return
...@@ -603,7 +605,7 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), Me ...@@ -603,7 +605,7 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), Me
if (curLifeAccount.life_account_id == it.life_account_id) { if (curLifeAccount.life_account_id == it.life_account_id) {
curLifeAccount = it 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 ...@@ -4,6 +4,7 @@ import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.text.Html import android.text.Html
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.core.view.isVisible
import com.orhanobut.hawk.Hawk import com.orhanobut.hawk.Hawk
import com.yidian.common.AppConfig import com.yidian.common.AppConfig
import com.yidian.common.HawkConfig import com.yidian.common.HawkConfig
...@@ -12,6 +13,7 @@ import com.yidian.common.XRouterPathConstants.Companion.SYSTEM_SETTING ...@@ -12,6 +13,7 @@ import com.yidian.common.XRouterPathConstants.Companion.SYSTEM_SETTING
import com.yidian.common.base.BaseActivity import com.yidian.common.base.BaseActivity
import com.yidian.common.extensions.clickAntiShake import com.yidian.common.extensions.clickAntiShake
import com.yidian.common.extensions.initTitleBar import com.yidian.common.extensions.initTitleBar
import com.yidian.common.http.bean.GetCommonConfigBean
import com.yidian.common.services.AppUpgradeService import com.yidian.common.services.AppUpgradeService
import com.yidian.common.utils.SystemSettingUtils import com.yidian.common.utils.SystemSettingUtils
import com.yidian.common.widget.CommonInfoDialog import com.yidian.common.widget.CommonInfoDialog
...@@ -34,6 +36,21 @@ import com.yidian.yac.core.zap.ZapTicket ...@@ -34,6 +36,21 @@ import com.yidian.yac.core.zap.ZapTicket
*/ */
class SystemSettingActivity : BaseActivity<ActivitySystemSettingBinding>() { 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 { override fun createViewBinding(): ActivitySystemSettingBinding {
return ActivitySystemSettingBinding.inflate(layoutInflater) return ActivitySystemSettingBinding.inflate(layoutInflater)
} }
...@@ -55,6 +72,9 @@ class SystemSettingActivity : BaseActivity<ActivitySystemSettingBinding>() { ...@@ -55,6 +72,9 @@ class SystemSettingActivity : BaseActivity<ActivitySystemSettingBinding>() {
viewBind.tvUserMobile.text = SensitiveInfoUtil.mobileEncrypt(phone) viewBind.tvUserMobile.text = SensitiveInfoUtil.mobileEncrypt(phone)
// 显示版本号 // 显示版本号
viewBind.tvAppVersion.text = AppUtils.INSTANCE.getCurrentVersionName(this) viewBind.tvAppVersion.text = AppUtils.INSTANCE.getCurrentVersionName(this)
// 根据TowerPro配置展示设置项
viewBind.clCheckUpgrade.isVisible = commonConfig?.isShowAppUpgrade == 1
viewBind.clFeedback.isVisible = commonConfig?.isShowFeedback == 1
} }
private fun initClick() { private fun initClick() {
......
...@@ -142,7 +142,8 @@ ...@@ -142,7 +142,8 @@
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_check_upgrade" android:id="@+id/cl_check_upgrade"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp60"> android:layout_height="@dimen/dp60"
android:visibility="gone">
<TextView <TextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
...@@ -203,7 +204,8 @@ ...@@ -203,7 +204,8 @@
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_feedback" android:id="@+id/cl_feedback"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp60"> android:layout_height="@dimen/dp60"
android:visibility="gone">
<TextView <TextView
android:layout_width="wrap_content" 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