Commit 4fbede89 authored by yinjiacheng's avatar yinjiacheng

update 生活号认证流程首页、生活号个人认证页、生活号企业认证页TopBar

parent 5ab3c176
...@@ -38,9 +38,8 @@ class LifeAccountAuthActivity : BaseActivity<ActivityLifeAccountAuthBinding>(), ...@@ -38,9 +38,8 @@ class LifeAccountAuthActivity : BaseActivity<ActivityLifeAccountAuthBinding>(),
} }
private fun initView() { private fun initView() {
viewBind.layoutCommonHeader.ivBack.visibility = View.GONE // 此页面默认不可返回
viewBind.bvTopBar.setBackVisibility(false)
viewBind.layoutCommonHeader.tvTitle.text = resources.getString(R.string.join_life_circle)
viewBind.viewPersonalAuth.setData( viewBind.viewPersonalAuth.setData(
resources.getString(R.string.personal_auth), resources.getString(R.string.personal_auth),
resources.getString(R.string.personal_auth_condition), resources.getString(R.string.personal_auth_condition),
...@@ -54,15 +53,15 @@ class LifeAccountAuthActivity : BaseActivity<ActivityLifeAccountAuthBinding>(), ...@@ -54,15 +53,15 @@ class LifeAccountAuthActivity : BaseActivity<ActivityLifeAccountAuthBinding>(),
) )
if (intent.getSerializableExtra(XRouterPathConstants.ParamsKey) != null) { if (intent.getSerializableExtra(XRouterPathConstants.ParamsKey) != null) {
val paramsMap = intent.getSerializableExtra(XRouterPathConstants.ParamsKey) as HashMap<*, *> val paramsMap = intent.getSerializableExtra(XRouterPathConstants.ParamsKey) as HashMap<*, *>
var fromTag = paramsMap["from"] as String val fromTag = paramsMap["from"] as String
if (fromTag == "auth") { if (fromTag == "auth") {
viewBind.layoutCommonHeader.ivBack.visibility = View.VISIBLE // 如果由商户基本信息跳转至此页面 则此页面可返回
viewBind.bvTopBar.setBackVisibility(true)
} }
} }
} }
private fun initListener() { private fun initListener() {
viewBind.layoutCommonHeader.ivBack.setOnClickListener(this)
viewBind.tvJoinStrategy.setOnClickListener(this) viewBind.tvJoinStrategy.setOnClickListener(this)
viewBind.viewPersonalAuth.setOnClickListener(this) viewBind.viewPersonalAuth.setOnClickListener(this)
viewBind.viewEnterpriseAuth.setOnClickListener(this) viewBind.viewEnterpriseAuth.setOnClickListener(this)
...@@ -70,9 +69,6 @@ class LifeAccountAuthActivity : BaseActivity<ActivityLifeAccountAuthBinding>(), ...@@ -70,9 +69,6 @@ class LifeAccountAuthActivity : BaseActivity<ActivityLifeAccountAuthBinding>(),
override fun onClick(v: View?) { override fun onClick(v: View?) {
when (v?.id) { when (v?.id) {
R.id.iv_back -> {
XPageManager.pop(null)
}
R.id.tv_join_strategy -> { R.id.tv_join_strategy -> {
// TODO: 5/26/21 入驻攻略 // TODO: 5/26/21 入驻攻略
} }
......
...@@ -22,6 +22,7 @@ import com.yidian.shenghuoquan.newscontent.http.httpbean.AuthEnterpriseLegalIden ...@@ -22,6 +22,7 @@ import com.yidian.shenghuoquan.newscontent.http.httpbean.AuthEnterpriseLegalIden
import com.yidian.shenghuoquan.newscontent.http.httpbean.AuthIndividualBusinessCompleteBean import com.yidian.shenghuoquan.newscontent.http.httpbean.AuthIndividualBusinessCompleteBean
import com.yidian.shenghuoquan.newscontent.http.httpbean.AuthMerchantCheckBean import com.yidian.shenghuoquan.newscontent.http.httpbean.AuthMerchantCheckBean
import com.yidian.shenghuoquan.newscontent.ui.dialog.BottomSelectDialog import com.yidian.shenghuoquan.newscontent.ui.dialog.BottomSelectDialog
import com.yidian.shenghuoquan.newscontent.widget.CommonTopBarView
import com.yidian.shenghuoquan.newscontent.widget.LifeAccountAuthProcessView import com.yidian.shenghuoquan.newscontent.widget.LifeAccountAuthProcessView
import com.yidian.xpage.XPageManager import com.yidian.xpage.XPageManager
...@@ -31,337 +32,338 @@ import com.yidian.xpage.XPageManager ...@@ -31,337 +32,338 @@ import com.yidian.xpage.XPageManager
* description: 生活号企业认证 * description: 生活号企业认证
*/ */
class LifeAccountEnterpriseAuthActivity : BaseActivity<ActivityLifeAccountEnterpriseAuthBinding>(), class LifeAccountEnterpriseAuthActivity : BaseActivity<ActivityLifeAccountEnterpriseAuthBinding>(),
View.OnClickListener, BottomSelectAdapter.OnItemClickListener<BottomSelectBean>, View.OnClickListener, BottomSelectAdapter.OnItemClickListener<BottomSelectBean>,
IAuthBusinessLicenseCommitCallback, IAuthEnterpriseLegalIdentityCommitCallback, IAuthBusinessLicenseCommitCallback, IAuthEnterpriseLegalIdentityCommitCallback,
IAuthIndividualBusinessCompleteCallback { IAuthIndividualBusinessCompleteCallback, CommonTopBarView.OnCommonTopBarBackCallback {
companion object { companion object {
// 生活号id 个人生活号主动升级企业生活号的认证流程传入 // 生活号id 个人生活号主动升级企业生活号的认证流程传入
const val EXTRA_LIFE_ACCOUNT_ID = "life_account_id" const val EXTRA_LIFE_ACCOUNT_ID = "life_account_id"
// 认证数据 // 认证数据
const val EXTRA_AUTH_DATA = "authData" const val EXTRA_AUTH_DATA = "authData"
} }
private val fragmentList: ArrayList<Fragment> by lazy { private val fragmentList: ArrayList<Fragment> by lazy {
arrayListOf( arrayListOf(
LifeAccountBusinessLicenseAuthFragment(), LifeAccountBusinessLicenseAuthFragment(),
LifeAccountIDCardAuthFragment() LifeAccountIDCardAuthFragment()
) )
} }
/** /**
* 当前显示的fragment * 当前显示的fragment
*/ */
private var curFragment: Fragment? = null private var curFragment: Fragment? = null
/** /**
* 个人生活号id 企业升级用 * 个人生活号id 企业升级用
*/ */
private val personalLifeAccountId by lazy { private val personalLifeAccountId by lazy {
intent.getSerializableExtra(XRouterPathConstants.ParamsKey)?.let { intent.getSerializableExtra(XRouterPathConstants.ParamsKey)?.let {
(it as HashMap<*, *>)[EXTRA_LIFE_ACCOUNT_ID]?.let { id -> (it as HashMap<*, *>)[EXTRA_LIFE_ACCOUNT_ID]?.let { id ->
id as String id as String
} ?: Hawk.get(HawkConfig.LifeAccountId, null) } ?: Hawk.get(HawkConfig.LifeAccountId, null)
}
} }
}
/** /**
* 认证数据 还原认证流程用 * 认证数据 还原认证流程用
*/ */
private val authData by lazy { private val authData by lazy {
intent.getSerializableExtra(XRouterPathConstants.ParamsKey)?.let { intent.getSerializableExtra(XRouterPathConstants.ParamsKey)?.let {
(it as HashMap<*, *>)[EXTRA_AUTH_DATA]?.let { data -> (it as HashMap<*, *>)[EXTRA_AUTH_DATA]?.let { data ->
data as AuthMerchantCheckBean.Response data as AuthMerchantCheckBean.Response
} }
}
} }
}
override fun createViewBinding(): ActivityLifeAccountEnterpriseAuthBinding { override fun createViewBinding(): ActivityLifeAccountEnterpriseAuthBinding {
return ActivityLifeAccountEnterpriseAuthBinding.inflate(layoutInflater) return ActivityLifeAccountEnterpriseAuthBinding.inflate(layoutInflater)
} }
override fun getXPageName(): String { override fun getXPageName(): String {
return XRouterPathConstants.LIFE_ACCOUNT_ENTERPRISE_AUTH return XRouterPathConstants.LIFE_ACCOUNT_ENTERPRISE_AUTH
} }
override fun init(savedInstanceState: Bundle?) { override fun init(savedInstanceState: Bundle?) {
super.init(savedInstanceState) super.init(savedInstanceState)
initView() initView()
initListener() initListener()
initData() initData()
} }
private fun initView() { private fun initView() {
viewBind.viewCommonHeader.tvTitle.text = resources.getString(R.string.enterprise_auth) viewBind.pvAuthProcess.setProcess(LifeAccountAuthProcessView.PROCESS_ENTERPRISE_QUALIFICATION)
viewBind.pvAuthProcess.setProcess(LifeAccountAuthProcessView.PROCESS_ENTERPRISE_QUALIFICATION) }
}
private fun initListener() { private fun initListener() {
viewBind.viewCommonHeader.ivBack.setOnClickListener(this) viewBind.bvTopBar.setOnCommonTopBarCallback(this, null)
viewBind.svMerchantType.setOnClickListener(this) viewBind.svMerchantType.setOnClickListener(this)
viewBind.btnNext.setOnClickListener(this) viewBind.btnNext.setOnClickListener(this)
} }
/** /**
* 检查是否可以进行下一步 * 检查是否可以进行下一步
*/ */
fun checkNextCondition() { fun checkNextCondition() {
if (viewBind.pvAuthProcess.curProcess == LifeAccountAuthProcessView.PROCESS_ENTERPRISE_QUALIFICATION if (viewBind.pvAuthProcess.curProcess == LifeAccountAuthProcessView.PROCESS_ENTERPRISE_QUALIFICATION
&& LifeAccountAuthDataManager.merchantAuthData.merchantType != 0 && LifeAccountAuthDataManager.merchantAuthData.merchantType != 0
&& LifeAccountAuthDataManager.merchantAuthData.isBusinessLicenseUpload && LifeAccountAuthDataManager.merchantAuthData.isBusinessLicenseUpload
&& !LifeAccountAuthDataManager.merchantAuthData.registrationName.isNullOrEmpty() && !LifeAccountAuthDataManager.merchantAuthData.registrationName.isNullOrEmpty()
&& !LifeAccountAuthDataManager.merchantAuthData.registrationCode.isNullOrEmpty() && !LifeAccountAuthDataManager.merchantAuthData.registrationCode.isNullOrEmpty()
) { ) {
viewBind.btnNext.alpha = 1f viewBind.btnNext.alpha = 1f
viewBind.btnNext.isEnabled = true viewBind.btnNext.isEnabled = true
} else if (viewBind.pvAuthProcess.curProcess == LifeAccountAuthProcessView.PROCESS_ENTERPRISE_MANAGER } else if (viewBind.pvAuthProcess.curProcess == LifeAccountAuthProcessView.PROCESS_ENTERPRISE_MANAGER
&& LifeAccountAuthDataManager.merchantAuthData.merchantType == Constant.TYPE_INDIVIDUAL_BUSINESS && LifeAccountAuthDataManager.merchantAuthData.merchantType == Constant.TYPE_INDIVIDUAL_BUSINESS
&& LifeAccountAuthDataManager.personalAuthData.isFaceAuthPass && LifeAccountAuthDataManager.personalAuthData.isFaceAuthPass
) { ) {
viewBind.btnNext.alpha = 1f viewBind.btnNext.alpha = 1f
viewBind.btnNext.isEnabled = true viewBind.btnNext.isEnabled = true
} else if (viewBind.pvAuthProcess.curProcess == LifeAccountAuthProcessView.PROCESS_ENTERPRISE_MANAGER } else if (viewBind.pvAuthProcess.curProcess == LifeAccountAuthProcessView.PROCESS_ENTERPRISE_MANAGER
&& LifeAccountAuthDataManager.merchantAuthData.merchantType == Constant.TYPE_COMMON_ENTERPRISE && LifeAccountAuthDataManager.merchantAuthData.merchantType == Constant.TYPE_COMMON_ENTERPRISE
&& LifeAccountAuthDataManager.personalAuthData.isIDCardPortraitFaceUpload && LifeAccountAuthDataManager.personalAuthData.isIDCardPortraitFaceUpload
&& LifeAccountAuthDataManager.personalAuthData.isIDCardNationalEmblemFaceUpload && LifeAccountAuthDataManager.personalAuthData.isIDCardNationalEmblemFaceUpload
&& !LifeAccountAuthDataManager.personalAuthData.realName.isNullOrEmpty() && !LifeAccountAuthDataManager.personalAuthData.realName.isNullOrEmpty()
&& !LifeAccountAuthDataManager.personalAuthData.idCardNum.isNullOrEmpty() && !LifeAccountAuthDataManager.personalAuthData.idCardNum.isNullOrEmpty()
&& !LifeAccountAuthDataManager.personalAuthData.phoneNum.isNullOrEmpty() && !LifeAccountAuthDataManager.personalAuthData.phoneNum.isNullOrEmpty()
) { ) {
viewBind.btnNext.alpha = 1f viewBind.btnNext.alpha = 1f
viewBind.btnNext.isEnabled = true viewBind.btnNext.isEnabled = true
} else { } else {
viewBind.btnNext.alpha = 0.32f viewBind.btnNext.alpha = 0.32f
viewBind.btnNext.isEnabled = false viewBind.btnNext.isEnabled = false
}
} }
}
/** /**
* 禁止修改商户类型 * 禁止修改商户类型
*/ */
fun disableModifyMerchantType() { fun disableModifyMerchantType() {
viewBind.svMerchantType.enableSelect(false) viewBind.svMerchantType.enableSelect(false)
} }
private fun initData() { private fun initData() {
// 如果有已存在的认证流程则还原进度 // 如果有已存在的认证流程则还原进度
authData?.let { LifeAccountAuthDataManager.generateMerchantAuthData(it) } authData?.let { LifeAccountAuthDataManager.generateMerchantAuthData(it) }
authData?.data_type?.let { authData?.data_type?.let {
viewBind.svMerchantType.setContentResult( viewBind.svMerchantType.setContentResult(
if (it == Constant.TYPE_INDIVIDUAL_BUSINESS) { if (it == Constant.TYPE_INDIVIDUAL_BUSINESS) {
Constant.ITEM_INDIVIDUAL_BUSINESSES Constant.ITEM_INDIVIDUAL_BUSINESSES
} else { } else {
Constant.ITEM_COMMON_ENTERPRISE Constant.ITEM_COMMON_ENTERPRISE
}
)
} }
val bundle = Bundle() )
bundle.putSerializable(LifeAccountBusinessLicenseAuthFragment.EXTRA_AUTH_DATA, authData)
fragmentList[0].arguments = bundle
switchFragment(fragmentList[0])
} }
val bundle = Bundle()
bundle.putSerializable(LifeAccountBusinessLicenseAuthFragment.EXTRA_AUTH_DATA, authData)
fragmentList[0].arguments = bundle
switchFragment(fragmentList[0])
}
/** /**
* fragment切换 * fragment切换
*/ */
private fun switchFragment(targetFragment: Fragment) { private fun switchFragment(targetFragment: Fragment) {
when { when {
// 当前无fragment被添加 // 当前无fragment被添加
curFragment == null -> { curFragment == null -> {
supportFragmentManager.beginTransaction() supportFragmentManager.beginTransaction()
.add(R.id.fragment_container, targetFragment) .add(R.id.fragment_container, targetFragment)
.commit() .commit()
} }
// 目标fragment已被添加 // 目标fragment已被添加
targetFragment.isAdded -> { targetFragment.isAdded -> {
curFragment?.let { curFragment?.let {
supportFragmentManager.beginTransaction().hide(it).show(targetFragment) supportFragmentManager.beginTransaction().hide(it).show(targetFragment)
.commit() .commit()
}
}
// 目前fragment没被添加
else -> {
curFragment?.let {
supportFragmentManager.beginTransaction().hide(it)
.add(R.id.fragment_container, targetFragment).commit()
}
}
} }
curFragment = targetFragment }
} // 目前fragment没被添加
else -> {
override fun onClick(v: View?) { curFragment?.let {
when (v?.id) { supportFragmentManager.beginTransaction().hide(it)
R.id.iv_back -> { .add(R.id.fragment_container, targetFragment).commit()
if (viewBind.pvAuthProcess.curProcess == 0) {
// 当前是第一个fragment 则退出当前activity
XPageManager.pop(null)
} else {
viewBind.pvAuthProcess.setProcess(--viewBind.pvAuthProcess.curProcess)
if (viewBind.pvAuthProcess.curProcess == 0) {
viewBind.svMerchantType.enableSelect(true)
}
// 回退fragment
switchFragment(fragmentList[viewBind.pvAuthProcess.curProcess])
checkNextCondition()
}
}
R.id.sv_merchant_type -> {
// 弹出商户类型选择
BottomSelectDialog(
this,
this,
arrayListOf(
BottomSelectBean(Constant.ITEM_INDIVIDUAL_BUSINESSES),
BottomSelectBean(Constant.ITEM_COMMON_ENTERPRISE)
)
).show()
}
R.id.btn_next -> {
if (viewBind.pvAuthProcess.curProcess == LifeAccountAuthProcessView.PROCESS_ENTERPRISE_QUALIFICATION) {
// personalLifeAccountId不为null则是由个人生活号升级为企业生活号情况
// personalLifeAccountId为null则是直接进行企业认证情况
ApiService.authBusinessLicenseCommit(
this,
LifeAccountAuthDataManager.generateAuthBusinessLicenseCommitRequest(
personalLifeAccountId
)
)
} else if (viewBind.pvAuthProcess.curProcess == LifeAccountAuthProcessView.PROCESS_ENTERPRISE_MANAGER) {
if (LifeAccountAuthDataManager.merchantAuthData.merchantType == Constant.TYPE_INDIVIDUAL_BUSINESS) {
ApiService.authIndividualBusinessComplete(
this,
LifeAccountAuthDataManager.generateAuthIndividualBusinessCompleteRequest(
personalLifeAccountId
)
)
} else if (LifeAccountAuthDataManager.merchantAuthData.merchantType == Constant.TYPE_COMMON_ENTERPRISE) {
ApiService.authEnterpriseLegalIdentityCommit(
this,
LifeAccountAuthDataManager.generateAuthEnterpriseLegalIdentityCommitRequest(
personalLifeAccountId
)
)
}
}
}
} }
}
} }
curFragment = targetFragment
}
override fun onItemClick(view: View, position: Int, data: BottomSelectBean) { override fun onClick(v: View?) {
if (viewBind.svMerchantType.getCurSelectItem().isNotEmpty()) { when (v?.id) {
// 更换商户类型,清空营业执照图片、清空注册名称和注册码 R.id.sv_merchant_type -> {
(fragmentList[0] as LifeAccountBusinessLicenseAuthFragment).clearBusinessLicenseInfo() // 弹出商户类型选择
BottomSelectDialog(
this,
this,
arrayListOf(
BottomSelectBean(Constant.ITEM_INDIVIDUAL_BUSINESSES),
BottomSelectBean(Constant.ITEM_COMMON_ENTERPRISE)
)
).show()
}
R.id.btn_next -> {
if (viewBind.pvAuthProcess.curProcess == LifeAccountAuthProcessView.PROCESS_ENTERPRISE_QUALIFICATION) {
// personalLifeAccountId不为null则是由个人生活号升级为企业生活号情况
// personalLifeAccountId为null则是直接进行企业认证情况
ApiService.authBusinessLicenseCommit(
this,
LifeAccountAuthDataManager.generateAuthBusinessLicenseCommitRequest(
personalLifeAccountId
)
)
} else if (viewBind.pvAuthProcess.curProcess == LifeAccountAuthProcessView.PROCESS_ENTERPRISE_MANAGER) {
if (LifeAccountAuthDataManager.merchantAuthData.merchantType == Constant.TYPE_INDIVIDUAL_BUSINESS) {
ApiService.authIndividualBusinessComplete(
this,
LifeAccountAuthDataManager.generateAuthIndividualBusinessCompleteRequest(
personalLifeAccountId
)
)
} else if (LifeAccountAuthDataManager.merchantAuthData.merchantType == Constant.TYPE_COMMON_ENTERPRISE) {
ApiService.authEnterpriseLegalIdentityCommit(
this,
LifeAccountAuthDataManager.generateAuthEnterpriseLegalIdentityCommitRequest(
personalLifeAccountId
)
)
}
} }
// 回显选择的商户类型 }
viewBind.svMerchantType.setContentResult(data.item)
// 保存选择的商户类型
LifeAccountAuthDataManager.merchantAuthData.merchantType =
if (data.item == Constant.ITEM_INDIVIDUAL_BUSINESSES) Constant.TYPE_INDIVIDUAL_BUSINESS else Constant.TYPE_COMMON_ENTERPRISE
// 检查下一步条件
checkNextCondition()
} }
}
override fun authBusinessLicenseCommitSuccess(result: AuthBusinessLicenseCommitBean.Response?) { override fun onItemClick(view: View, position: Int, data: BottomSelectBean) {
// 营业执照提交成功 if (viewBind.svMerchantType.getCurSelectItem().isNotEmpty()) {
LifeAccountAuthDataManager.merchantAuthData.authRecordId = result?.enterprise_auth_record_id // 更换商户类型,清空营业执照图片、清空注册名称和注册码
viewBind.pvAuthProcess.setProcess(++viewBind.pvAuthProcess.curProcess) (fragmentList[0] as LifeAccountBusinessLicenseAuthFragment).clearBusinessLicenseInfo()
viewBind.svMerchantType.enableSelect(false)
// 向身份信息fragment传参
val fragment = fragmentList[viewBind.pvAuthProcess.curProcess]
val bundle = Bundle()
bundle.putInt(
Constant.TYPE_AUTH,
LifeAccountAuthDataManager.merchantAuthData.merchantType
)
bundle.putSerializable(LifeAccountIDCardAuthFragment.EXTRA_AUTH_DATA, authData)
fragment.arguments = bundle
switchFragment(fragment)
} }
// 回显选择的商户类型
viewBind.svMerchantType.setContentResult(data.item)
// 保存选择的商户类型
LifeAccountAuthDataManager.merchantAuthData.merchantType =
if (data.item == Constant.ITEM_INDIVIDUAL_BUSINESSES) Constant.TYPE_INDIVIDUAL_BUSINESS else Constant.TYPE_COMMON_ENTERPRISE
// 检查下一步条件
checkNextCondition()
}
override fun authBusinessLicenseCommitFailure(message: String?) { override fun authBusinessLicenseCommitSuccess(result: AuthBusinessLicenseCommitBean.Response?) {
Log.e( // 营业执照提交成功
Constant.LIFE_ACCOUNT_AUTH_TAG, LifeAccountAuthDataManager.merchantAuthData.authRecordId = result?.enterprise_auth_record_id
"request auth business license commit failure, message: $message" viewBind.pvAuthProcess.setProcess(++viewBind.pvAuthProcess.curProcess)
) viewBind.svMerchantType.enableSelect(false)
} // 向身份信息fragment传参
val fragment = fragmentList[viewBind.pvAuthProcess.curProcess]
val bundle = Bundle()
bundle.putInt(
Constant.TYPE_AUTH,
LifeAccountAuthDataManager.merchantAuthData.merchantType
)
bundle.putSerializable(LifeAccountIDCardAuthFragment.EXTRA_AUTH_DATA, authData)
fragment.arguments = bundle
switchFragment(fragment)
}
override fun authEnterpriseLegalIdentityCommitSuccess(result: AuthEnterpriseLegalIdentityCommitBean.Response?) { override fun authBusinessLicenseCommitFailure(message: String?) {
// 本地保存生活号id Log.e(
Hawk.put(HawkConfig.LifeAccountId, result?.life_account_id) Constant.LIFE_ACCOUNT_AUTH_TAG,
// 普通企业法人身份信息提交成功 "request auth business license commit failure, message: $message"
XPageManager.push( )
XRouterPathConstants.LIFE_ACCOUNT_ENTERPRISE_AUTH_COMPLETE, }
hashMapOf(
Pair(
LifeAccountEnterpriseAuthCompleteActivity.REGISTRATION_NAME,
LifeAccountAuthDataManager.merchantAuthData.registrationName
),
Pair(
LifeAccountEnterpriseAuthCompleteActivity.REGISTRATION_CODE,
LifeAccountAuthDataManager.merchantAuthData.registrationCode
),
Pair(
LifeAccountEnterpriseAuthCompleteActivity.ID_CARD_NAME,
LifeAccountAuthDataManager.personalAuthData.realName
),
Pair(
LifeAccountEnterpriseAuthCompleteActivity.ID_CARD_NUM,
LifeAccountAuthDataManager.personalAuthData.idCardNum
),
Pair(
LifeAccountEnterpriseAuthCompleteActivity.EXTRA_LIFE_ACCOUNT_ID,
result?.life_account_id
)
)
)
}
override fun authEnterpriseLegalIdentityCommitFailure(message: String?) { override fun authEnterpriseLegalIdentityCommitSuccess(result: AuthEnterpriseLegalIdentityCommitBean.Response?) {
Log.e( // 本地保存生活号id
Constant.LIFE_ACCOUNT_AUTH_TAG, Hawk.put(HawkConfig.LifeAccountId, result?.life_account_id)
"request auth enterprise legal identity commit failure, message: $message" // 普通企业法人身份信息提交成功
XPageManager.push(
XRouterPathConstants.LIFE_ACCOUNT_ENTERPRISE_AUTH_COMPLETE,
hashMapOf(
Pair(
LifeAccountEnterpriseAuthCompleteActivity.REGISTRATION_NAME,
LifeAccountAuthDataManager.merchantAuthData.registrationName
),
Pair(
LifeAccountEnterpriseAuthCompleteActivity.REGISTRATION_CODE,
LifeAccountAuthDataManager.merchantAuthData.registrationCode
),
Pair(
LifeAccountEnterpriseAuthCompleteActivity.ID_CARD_NAME,
LifeAccountAuthDataManager.personalAuthData.realName
),
Pair(
LifeAccountEnterpriseAuthCompleteActivity.ID_CARD_NUM,
LifeAccountAuthDataManager.personalAuthData.idCardNum
),
Pair(
LifeAccountEnterpriseAuthCompleteActivity.EXTRA_LIFE_ACCOUNT_ID,
result?.life_account_id
) )
} )
)
}
override fun authIndividualBusinessCompleteSuccess(result: AuthIndividualBusinessCompleteBean.Response?) { override fun authEnterpriseLegalIdentityCommitFailure(message: String?) {
// 本地保存生活号id Log.e(
Hawk.put(HawkConfig.LifeAccountId, result?.life_account_id) Constant.LIFE_ACCOUNT_AUTH_TAG,
// 个体工商户认证完成 "request auth enterprise legal identity commit failure, message: $message"
XPageManager.push( )
XRouterPathConstants.LIFE_ACCOUNT_ENTERPRISE_AUTH_COMPLETE, }
hashMapOf(
Pair(
LifeAccountEnterpriseAuthCompleteActivity.REGISTRATION_NAME,
LifeAccountAuthDataManager.merchantAuthData.registrationName
),
Pair(
LifeAccountEnterpriseAuthCompleteActivity.REGISTRATION_CODE,
LifeAccountAuthDataManager.merchantAuthData.registrationCode
),
Pair(
LifeAccountEnterpriseAuthCompleteActivity.ID_CARD_NAME,
LifeAccountAuthDataManager.personalAuthData.realName
),
Pair(
LifeAccountEnterpriseAuthCompleteActivity.ID_CARD_NUM,
LifeAccountAuthDataManager.personalAuthData.idCardNum
),
Pair(
LifeAccountEnterpriseAuthCompleteActivity.EXTRA_LIFE_ACCOUNT_ID,
result?.life_account_id
)
)
)
}
override fun authIndividualBusinessCompleteFailure(message: String?) { override fun authIndividualBusinessCompleteSuccess(result: AuthIndividualBusinessCompleteBean.Response?) {
Log.e( // 本地保存生活号id
Constant.LIFE_ACCOUNT_AUTH_TAG, Hawk.put(HawkConfig.LifeAccountId, result?.life_account_id)
"request auth enterprise complete failure, message: $message" // 个体工商户认证完成
XPageManager.push(
XRouterPathConstants.LIFE_ACCOUNT_ENTERPRISE_AUTH_COMPLETE,
hashMapOf(
Pair(
LifeAccountEnterpriseAuthCompleteActivity.REGISTRATION_NAME,
LifeAccountAuthDataManager.merchantAuthData.registrationName
),
Pair(
LifeAccountEnterpriseAuthCompleteActivity.REGISTRATION_CODE,
LifeAccountAuthDataManager.merchantAuthData.registrationCode
),
Pair(
LifeAccountEnterpriseAuthCompleteActivity.ID_CARD_NAME,
LifeAccountAuthDataManager.personalAuthData.realName
),
Pair(
LifeAccountEnterpriseAuthCompleteActivity.ID_CARD_NUM,
LifeAccountAuthDataManager.personalAuthData.idCardNum
),
Pair(
LifeAccountEnterpriseAuthCompleteActivity.EXTRA_LIFE_ACCOUNT_ID,
result?.life_account_id
) )
)
)
}
override fun authIndividualBusinessCompleteFailure(message: String?) {
Log.e(
Constant.LIFE_ACCOUNT_AUTH_TAG,
"request auth enterprise complete failure, message: $message"
)
}
override fun onDoBack() {
// 返回上一步/上一页
if (viewBind.pvAuthProcess.curProcess == 0) {
// 当前是第一个fragment 则退出当前activity
XPageManager.pop(null)
} else {
viewBind.pvAuthProcess.setProcess(--viewBind.pvAuthProcess.curProcess)
if (viewBind.pvAuthProcess.curProcess == 0) {
viewBind.svMerchantType.enableSelect(true)
}
// 回退fragment
switchFragment(fragmentList[viewBind.pvAuthProcess.curProcess])
checkNextCondition()
} }
}
} }
...@@ -71,11 +71,10 @@ class LifeAccountPersonalAuthActivity : ...@@ -71,11 +71,10 @@ class LifeAccountPersonalAuthActivity :
} }
private fun initView() { private fun initView() {
viewBind.viewCommonHeader.tvTitle.text = resources.getString(R.string.personal_auth)
} }
private fun initListener() { private fun initListener() {
viewBind.viewCommonHeader.ivBack.setOnClickListener(this)
viewBind.svOccupation.setOnClickListener(this) viewBind.svOccupation.setOnClickListener(this)
viewBind.cbProtocol.setOnCheckedChangeListener(this) viewBind.cbProtocol.setOnCheckedChangeListener(this)
viewBind.btnNext.setOnClickListener(this) viewBind.btnNext.setOnClickListener(this)
...@@ -119,7 +118,6 @@ class LifeAccountPersonalAuthActivity : ...@@ -119,7 +118,6 @@ class LifeAccountPersonalAuthActivity :
override fun onClick(v: View?) { override fun onClick(v: View?) {
when (v?.id) { when (v?.id) {
R.id.iv_back -> XPageManager.pop(null)
R.id.sv_occupation -> { R.id.sv_occupation -> {
XPageManager.push(XRouterPathConstants.CHOOSE_CAREER, null) XPageManager.push(XRouterPathConstants.CHOOSE_CAREER, null)
} }
......
...@@ -19,81 +19,81 @@ import com.yidian.xpage.XPageManager ...@@ -19,81 +19,81 @@ import com.yidian.xpage.XPageManager
* description: 生活号名称修改 * description: 生活号名称修改
*/ */
class LifeAccountModifyNameActivity : BaseActivity<ActivityLifeAccountModifyNameBinding>(), class LifeAccountModifyNameActivity : BaseActivity<ActivityLifeAccountModifyNameBinding>(),
CommonTopBarView.OnCommonTopBarCallback, CommonTopBarView.OnCommonTopBarActionCallback,
LifeAccountAuthIdentityInfoEditView.OnLifeAccountAuthIdentityInfoEditViewCallback, LifeAccountAuthIdentityInfoEditView.OnLifeAccountAuthIdentityInfoEditViewCallback,
ICreateLifeAccountCallback { ICreateLifeAccountCallback {
companion object { companion object {
const val EXTRA_LIFE_ACCOUNT_ID = "life_account_id" const val EXTRA_LIFE_ACCOUNT_ID = "life_account_id"
const val EXTRA_LIFE_ACCOUNT_NAME = "life_account_name" const val EXTRA_LIFE_ACCOUNT_NAME = "life_account_name"
} }
private var lifeAccountId: String? = null private var lifeAccountId: String? = null
private var lifeAccountName: String? = null private var lifeAccountName: String? = null
override fun createViewBinding(): ActivityLifeAccountModifyNameBinding { override fun createViewBinding(): ActivityLifeAccountModifyNameBinding {
return ActivityLifeAccountModifyNameBinding.inflate(layoutInflater) return ActivityLifeAccountModifyNameBinding.inflate(layoutInflater)
} }
override fun getXPageName(): String { override fun getXPageName(): String {
return XRouterPathConstants.LIFE_ACCOUNT_MODIFY_NAME return XRouterPathConstants.LIFE_ACCOUNT_MODIFY_NAME
} }
override fun init(savedInstanceState: Bundle?) { override fun init(savedInstanceState: Bundle?) {
super.init(savedInstanceState) super.init(savedInstanceState)
initView() initView()
initListener() initListener()
initData() initData()
} }
private fun initView() { private fun initView() {
// 只允许输入中文并且最长20汉字 // 只允许输入中文并且最长20汉字
viewBind.evLifeAccountName.setInputFilters(InputFilterUtil.getChineseFilter(), InputFilter.LengthFilter(20)) viewBind.evLifeAccountName.setInputFilters(InputFilterUtil.getChineseFilter(), InputFilter.LengthFilter(20))
} }
private fun initListener() { private fun initListener() {
viewBind.bvTopBar.setOnCommonTopBarCallback(this) viewBind.bvTopBar.setOnCommonTopBarCallback(null, this)
viewBind.evLifeAccountName.setOnLifeAccountAuthIdentityInfoEditViewCallback(this) viewBind.evLifeAccountName.setOnLifeAccountAuthIdentityInfoEditViewCallback(this)
}
private fun initData() {
intent.getSerializableExtra(XRouterPathConstants.ParamsKey)?.let { params ->
(params as HashMap<*, *>).let {
lifeAccountId = it[EXTRA_LIFE_ACCOUNT_ID] as String
lifeAccountName = it[EXTRA_LIFE_ACCOUNT_NAME] as String
}
} }
viewBind.evLifeAccountName.fillEditContent(lifeAccountName)
private fun initData() { // 获取焦点弹出软键盘
intent.getSerializableExtra(XRouterPathConstants.ParamsKey)?.let { params -> viewBind.evLifeAccountName.requestEditTextFocus()
(params as HashMap<*, *>).let { }
lifeAccountId = it[EXTRA_LIFE_ACCOUNT_ID] as String
lifeAccountName = it[EXTRA_LIFE_ACCOUNT_NAME] as String override fun onDoAction() {
} // 请求接口检查并修改生活号名称
} ApiService.createLifeAccount(
viewBind.evLifeAccountName.fillEditContent(lifeAccountName) this,
// 获取焦点弹出软键盘 hashMapOf(
viewBind.evLifeAccountName.requestEditTextFocus() Pair(EXTRA_LIFE_ACCOUNT_ID, lifeAccountId.toString()),
} Pair(EXTRA_LIFE_ACCOUNT_NAME, viewBind.evLifeAccountName.getEditContent())
)
override fun onDoAction() { )
// 请求接口检查并修改生活号名称 }
ApiService.createLifeAccount(
this, override fun onTextClear(from: LifeAccountAuthIdentityInfoEditView) {
hashMapOf(
Pair(EXTRA_LIFE_ACCOUNT_ID, lifeAccountId.toString()), }
Pair(EXTRA_LIFE_ACCOUNT_NAME, viewBind.evLifeAccountName.getEditContent())
) override fun onTextChange(from: LifeAccountAuthIdentityInfoEditView, text: String) {
)
} }
override fun onTextClear(from: LifeAccountAuthIdentityInfoEditView) { override fun createLifeAccountCallback(result: Boolean) {
if (result) {
} // 生活号名称修改成功
XPageManager.pop(null)
override fun onTextChange(from: LifeAccountAuthIdentityInfoEditView, text: String) { } else {
// 生活号名称修改失败 提示
} viewBind.evLifeAccountName.showErrorTips(resources.getString(R.string.life_account_name_already_exist))
override fun createLifeAccountCallback(result: Boolean) {
if (result) {
// 生活号名称修改成功
XPageManager.pop(null)
} else {
// 生活号名称修改失败 提示
viewBind.evLifeAccountName.showErrorTips(resources.getString(R.string.life_account_name_already_exist))
}
} }
} }
\ No newline at end of file }
...@@ -33,7 +33,7 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), ...@@ -33,7 +33,7 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(),
IGetConfigListCallback, IGetLifeAccountListCallback, MerchantSwitchDialog.OnMerchantSwitchCallback, IGetConfigListCallback, IGetLifeAccountListCallback, MerchantSwitchDialog.OnMerchantSwitchCallback,
LifeAccountLabelView.OnLifeAccountLabelCallback, IGetLifeAccountInfoByIdCallback, LifeAccountLabelView.OnLifeAccountLabelCallback, IGetLifeAccountInfoByIdCallback,
MerchantCenterBottomHintDialog.OnMerchantCenterBottomHintCallback, IAuthMerchantCheckCallback, MerchantCenterBottomHintDialog.OnMerchantCenterBottomHintCallback, IAuthMerchantCheckCallback,
MerchantServiceFunctionAdapter.OnItemClickListener, CommonTopBarView.OnCommonTopBarCallback { MerchantServiceFunctionAdapter.OnItemClickListener, CommonTopBarView.OnCommonTopBarActionCallback {
companion object { companion object {
// 传递的生活号信息 // 传递的生活号信息
......
...@@ -30,7 +30,15 @@ class CommonTopBarView @JvmOverloads constructor( ...@@ -30,7 +30,15 @@ class CommonTopBarView @JvmOverloads constructor(
) )
} }
private var callback: OnCommonTopBarCallback? = null /**
* 返回按钮点击回调
*/
private var backCallback: OnCommonTopBarBackCallback? = null
/**
* 操作按钮点击回调
*/
private var actionCallback: OnCommonTopBarActionCallback? = null
init { init {
val typeArray = context.obtainStyledAttributes(attrs, R.styleable.CommonTopBarView) val typeArray = context.obtainStyledAttributes(attrs, R.styleable.CommonTopBarView)
...@@ -62,20 +70,36 @@ class CommonTopBarView @JvmOverloads constructor( ...@@ -62,20 +70,36 @@ class CommonTopBarView @JvmOverloads constructor(
override fun onClick(v: View?) { override fun onClick(v: View?) {
if (v?.id == R.id.iv_back) { if (v?.id == R.id.iv_back) {
XPageManager.pop(null) // 若没有设置返回点击回调则默认pop
backCallback?.onDoBack() ?: XPageManager.pop(null)
} else if (v?.id == R.id.tv_action) { } else if (v?.id == R.id.tv_action) {
callback?.onDoAction() actionCallback?.onDoAction()
} }
} }
fun setOnCommonTopBarCallback(callback: OnCommonTopBarCallback) { /**
this.callback = callback * 设置回调
* @param backCallback 返回按钮点击回调
* @param actionCallback 操作按钮点击回调
*/
fun setOnCommonTopBarCallback(backCallback: OnCommonTopBarBackCallback?, actionCallback: OnCommonTopBarActionCallback?) {
this.backCallback = backCallback
this.actionCallback = actionCallback
} }
interface OnCommonTopBarCallback { interface OnCommonTopBarActionCallback {
/** /**
* 操作回调 * 操作按钮回调
*/ */
fun onDoAction() fun onDoAction()
} }
interface OnCommonTopBarBackCallback {
/**
* 返回按钮回调
*/
fun onDoBack()
}
} }
...@@ -2,15 +2,14 @@ ...@@ -2,15 +2,14 @@
<com.yidian.nightmode.widget.YdConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <com.yidian.nightmode.widget.YdConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent"
android:fitsSystemWindows="true">
<include <com.yidian.shenghuoquan.newscontent.widget.CommonTopBarView
android:id="@+id/layout_common_header" android:id="@+id/bv_top_bar"
layout="@layout/layout_common_header"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="42dp" android:layout_height="wrap_content"
android:layout_marginTop="10dp" app:CommonTopBarView_title_text="@string/join_life_circle"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<com.yidian.nightmode.widget.YdTextView <com.yidian.nightmode.widget.YdTextView
...@@ -24,7 +23,7 @@ ...@@ -24,7 +23,7 @@
android:textColor="#DE000000" android:textColor="#DE000000"
android:textSize="15sp" android:textSize="15sp"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/layout_common_header" /> app:layout_constraintTop_toBottomOf="@id/bv_top_bar" />
<com.yidian.nightmode.widget.YdTextView <com.yidian.nightmode.widget.YdTextView
android:id="@+id/tv_provide_services" android:id="@+id/tv_provide_services"
......
...@@ -2,15 +2,14 @@ ...@@ -2,15 +2,14 @@
<com.yidian.nightmode.widget.YdConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <com.yidian.nightmode.widget.YdConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent"
android:fitsSystemWindows="true">
<include <com.yidian.shenghuoquan.newscontent.widget.CommonTopBarView
android:id="@+id/view_common_header" android:id="@+id/bv_top_bar"
layout="@layout/layout_common_header"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="42dp" android:layout_height="wrap_content"
android:layout_marginTop="10dp" app:CommonTopBarView_title_text="@string/enterprise_auth"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<com.yidian.shenghuoquan.newscontent.widget.LifeAccountAuthProcessView <com.yidian.shenghuoquan.newscontent.widget.LifeAccountAuthProcessView
...@@ -19,7 +18,7 @@ ...@@ -19,7 +18,7 @@
android:layout_height="61dp" android:layout_height="61dp"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/view_common_header" /> app:layout_constraintTop_toBottomOf="@id/bv_top_bar" />
<com.yidian.shenghuoquan.newscontent.widget.LifeAccountAuthSelectView <com.yidian.shenghuoquan.newscontent.widget.LifeAccountAuthSelectView
android:id="@+id/sv_merchant_type" android:id="@+id/sv_merchant_type"
......
...@@ -2,15 +2,14 @@ ...@@ -2,15 +2,14 @@
<com.yidian.nightmode.widget.YdConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <com.yidian.nightmode.widget.YdConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent"
android:fitsSystemWindows="true">
<include <com.yidian.shenghuoquan.newscontent.widget.CommonTopBarView
android:id="@+id/view_common_header" android:id="@+id/bv_top_bar"
layout="@layout/layout_common_header"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="42dp" android:layout_height="wrap_content"
android:layout_marginTop="10dp" app:CommonTopBarView_title_text="@string/personal_auth"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<com.yidian.shenghuoquan.newscontent.widget.LifeAccountAuthSelectView <com.yidian.shenghuoquan.newscontent.widget.LifeAccountAuthSelectView
...@@ -19,7 +18,7 @@ ...@@ -19,7 +18,7 @@
android:layout_height="58dp" android:layout_height="58dp"
app:LifeAccountAuthSelectView_content_hint_text="@string/describe_yourself" app:LifeAccountAuthSelectView_content_hint_text="@string/describe_yourself"
app:LifeAccountAuthSelectView_name_text="@string/occupation_label" app:LifeAccountAuthSelectView_name_text="@string/occupation_label"
app:layout_constraintTop_toBottomOf="@id/view_common_header" /> app:layout_constraintTop_toBottomOf="@id/bv_top_bar" />
<com.yidian.nightmode.widget.YdFrameLayout <com.yidian.nightmode.widget.YdFrameLayout
android:id="@+id/fragment_container" android:id="@+id/fragment_container"
......
<?xml version="1.0" encoding="utf-8"?>
<com.yidian.nightmode.widget.YdConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app='http://schemas.android.com/apk/res-auto'
android:layout_width="match_parent"
android:layout_height="@dimen/toolbar_height"
android:fitsSystemWindows="true">
<com.yidian.nightmode.widget.YdImageView
android:id="@+id/iv_back"
android:layout_width="27dp"
android:layout_height="27dp"
android:layout_marginStart="19dp"
android:src="@drawable/icon_back"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.yidian.nightmode.widget.YdTextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:includeFontPadding="false"
android:textColor="#FF333333"
android:textSize="17sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</com.yidian.nightmode.widget.YdConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/addressBar"
android:layout_width="match_parent"
android:layout_height="44dp"
android:background="@color/white">
<ImageButton
android:id="@+id/back"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerVertical="true"
android:background="@null"
android:paddingStart="@dimen/back_button_padding_left"
android:paddingEnd="@dimen/back_button_padding_right"
android:scaleType="fitCenter"
android:src="@drawable/selector_big_back_black_button" />
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:layout_marginStart="5dp"
android:textColor="#333333"
android:textSize="18sp" />
</RelativeLayout>
\ No newline at end of file
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