feat(home): 健康资讯模块增加登录校验及未登录态UI处理
所有健康资讯H5跳转入口(文章详情、健康知识、健康咨询、搜索)增加 登录状态校验,未登录时提示"请先登录"并引导至登录页;健康知识模块 未登录时隐藏Tab栏显示"暂未登录"空态。版本号升至 1.0.14。 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.7
parent
7a830c3272
commit
4b5da9269d
@@ -59,7 +59,7 @@ class HomeFragment :
|
|||||||
|
|
||||||
private var mApi = getBankRetrofit().create(HomeApi::class.java)
|
private var mApi = getBankRetrofit().create(HomeApi::class.java)
|
||||||
|
|
||||||
var watchBindDialog: WatchBindDialog ?=null
|
var watchBindDialog: WatchBindDialog? = null
|
||||||
|
|
||||||
var stringList: MutableList<String> = mutableListOf()
|
var stringList: MutableList<String> = mutableListOf()
|
||||||
var mDoctorList = arrayListOf<GuidanceListBean>()
|
var mDoctorList = arrayListOf<GuidanceListBean>()
|
||||||
@@ -71,8 +71,10 @@ class HomeFragment :
|
|||||||
|
|
||||||
/** 健康资讯请求 */
|
/** 健康资讯请求 */
|
||||||
private var mHealthInfoRequest: HealthInfoRequest? = null
|
private var mHealthInfoRequest: HealthInfoRequest? = null
|
||||||
|
|
||||||
/** 健康资讯 Token */
|
/** 健康资讯 Token */
|
||||||
private var mHealthToken: String? = null
|
private var mHealthToken: String? = null
|
||||||
|
|
||||||
/** 健康知识子栏目列表 */
|
/** 健康知识子栏目列表 */
|
||||||
private var mKnowledgeCategories: MutableList<CategoryBean> = mutableListOf()
|
private var mKnowledgeCategories: MutableList<CategoryBean> = mutableListOf()
|
||||||
|
|
||||||
@@ -168,9 +170,9 @@ class HomeFragment :
|
|||||||
}
|
}
|
||||||
mBinding.watchView.mBinding.imgWatchMore.setOnClickListener {
|
mBinding.watchView.mBinding.imgWatchMore.setOnClickListener {
|
||||||
if (DataStoreManager.isLogin()) {
|
if (DataStoreManager.isLogin()) {
|
||||||
if (watchInfo?.hasWatch==true){
|
if (watchInfo?.hasWatch == true) {
|
||||||
EventBus.getDefault().post(HomeTabChangeEvent().apply { index = 3 })
|
EventBus.getDefault().post(HomeTabChangeEvent().apply { index = 3 })
|
||||||
}else {
|
} else {
|
||||||
showWatchBindDialog()
|
showWatchBindDialog()
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -325,7 +327,7 @@ class HomeFragment :
|
|||||||
if (TextUtils.isEmpty(value)) {
|
if (TextUtils.isEmpty(value)) {
|
||||||
mViewModel.getSysEnCryptInfo(UrlConfig.getHomeBankH5Url())
|
mViewModel.getSysEnCryptInfo(UrlConfig.getHomeBankH5Url())
|
||||||
showToast("网络错误")
|
showToast("网络错误")
|
||||||
}else {
|
} else {
|
||||||
requireContext().startWebActivity(
|
requireContext().startWebActivity(
|
||||||
UrlConfig.getHealthCheckH5Url() + "?param=" + value,
|
UrlConfig.getHealthCheckH5Url() + "?param=" + value,
|
||||||
isFull = true,
|
isFull = true,
|
||||||
@@ -469,6 +471,11 @@ class HomeFragment :
|
|||||||
mViewModel.getSysEnCryptInfo(UrlConfig.getHomeBankH5Url())
|
mViewModel.getSysEnCryptInfo(UrlConfig.getHomeBankH5Url())
|
||||||
getBankPointDetail()
|
getBankPointDetail()
|
||||||
loadHealthInfoData()
|
loadHealthInfoData()
|
||||||
|
} else {
|
||||||
|
mBinding.healthKnowledgeView.mBinding.tabLayout.visibility = View.GONE
|
||||||
|
mBinding.healthKnowledgeView.mBinding.tvEmpty.visibility = View.VISIBLE
|
||||||
|
mBinding.healthKnowledgeView.mBinding.tvEmpty.text = "暂未登录"
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -542,6 +549,10 @@ class HomeFragment :
|
|||||||
|
|
||||||
/** 加载健康资讯数据(Token → 栏目 → 文章) */
|
/** 加载健康资讯数据(Token → 栏目 → 文章) */
|
||||||
private fun loadHealthInfoData() {
|
private fun loadHealthInfoData() {
|
||||||
|
mBinding.healthKnowledgeView.mBinding.tabLayout.visibility = View.VISIBLE
|
||||||
|
mBinding.healthKnowledgeView.mBinding.tvEmpty.visibility = View.GONE
|
||||||
|
mBinding.healthKnowledgeView.mBinding.tvEmpty.text = "暂无健康知识"
|
||||||
|
|
||||||
mHealthInfoRequest?.fetchToken(
|
mHealthInfoRequest?.fetchToken(
|
||||||
onSuccess = { token ->
|
onSuccess = { token ->
|
||||||
mHealthToken = token
|
mHealthToken = token
|
||||||
@@ -602,48 +613,93 @@ class HomeFragment :
|
|||||||
|
|
||||||
/** 跳转文章详情 H5 */
|
/** 跳转文章详情 H5 */
|
||||||
private fun navigateToArticleDetail(articleId: Int) {
|
private fun navigateToArticleDetail(articleId: Int) {
|
||||||
val param = mViewModel.enCryptInfoUrl.value
|
if (DataStoreManager.isLogin()) {
|
||||||
if (param.isNullOrEmpty()) {
|
val param = mViewModel.enCryptInfoUrl.value
|
||||||
showToast("网络错误")
|
if (param.isNullOrEmpty()) {
|
||||||
return
|
showToast("网络错误")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
val url = "${UrlConfig.getHealthNewsDetailH5Url()}?param=$param&articleId=$articleId"
|
||||||
|
requireContext().startWebActivity(
|
||||||
|
url,
|
||||||
|
isFull = true,
|
||||||
|
myTitle = "文章详情",
|
||||||
|
hideStatus = true
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
showToast("请先登录")
|
||||||
|
toActivity(LoginActivity::class.java)
|
||||||
}
|
}
|
||||||
val url = "${UrlConfig.getHealthNewsDetailH5Url()}?param=$param&articleId=$articleId"
|
|
||||||
requireContext().startWebActivity(url, isFull = true, myTitle = "文章详情", hideStatus = true)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 跳转健康知识更多 H5 */
|
/** 跳转健康知识更多 H5 */
|
||||||
private fun navigateToHealthKnowledgeMore() {
|
private fun navigateToHealthKnowledgeMore() {
|
||||||
val param = mViewModel.enCryptInfoUrl.value
|
if (DataStoreManager.isLogin()) {
|
||||||
if (param.isNullOrEmpty()) {
|
val param = mViewModel.enCryptInfoUrl.value
|
||||||
mViewModel.getSysEnCryptInfo(UrlConfig.getHomeBankH5Url())
|
if (param.isNullOrEmpty()) {
|
||||||
showToast("网络错误")
|
mViewModel.getSysEnCryptInfo(UrlConfig.getHomeBankH5Url())
|
||||||
return
|
showToast("网络错误")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
val url = "${UrlConfig.getHealthKnowledgeH5Url()}?param=$param"
|
||||||
|
requireContext().startWebActivity(
|
||||||
|
url,
|
||||||
|
isFull = true,
|
||||||
|
myTitle = "健康知识",
|
||||||
|
hideStatus = true
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
showToast("请先登录")
|
||||||
|
toActivity(LoginActivity::class.java)
|
||||||
}
|
}
|
||||||
val url = "${UrlConfig.getHealthKnowledgeH5Url()}?param=$param"
|
|
||||||
requireContext().startWebActivity(url, isFull = true, myTitle = "健康知识", hideStatus = true)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 跳转健康知识 搜索 */
|
/** 跳转健康知识 搜索 */
|
||||||
private fun navigateToHealthKnowledgeSearch(key: String) {
|
private fun navigateToHealthKnowledgeSearch(key: String) {
|
||||||
val param = mViewModel.enCryptInfoUrl.value
|
if (DataStoreManager.isLogin()) {
|
||||||
if (param.isNullOrEmpty()) {
|
|
||||||
mViewModel.getSysEnCryptInfo(UrlConfig.getHomeBankH5Url())
|
val param = mViewModel.enCryptInfoUrl.value
|
||||||
showToast("网络错误")
|
if (param.isNullOrEmpty()) {
|
||||||
return
|
mViewModel.getSysEnCryptInfo(UrlConfig.getHomeBankH5Url())
|
||||||
|
showToast("网络错误")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
val url = "${UrlConfig.getHealthNewsSearchH5Url()}?param=$param&secrchVal=$key"
|
||||||
|
requireContext().startWebActivity(
|
||||||
|
url,
|
||||||
|
isFull = true,
|
||||||
|
myTitle = "搜索",
|
||||||
|
hideStatus = true
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
showToast("请先登录")
|
||||||
|
toActivity(LoginActivity::class.java)
|
||||||
|
|
||||||
}
|
}
|
||||||
val url = "${UrlConfig.getHealthNewsSearchH5Url()}?param=$param&secrchVal=$key"
|
|
||||||
requireContext().startWebActivity(url, isFull = true, myTitle = "搜索", hideStatus = true)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 跳转健康咨询更多 H5 */
|
/** 跳转健康咨询更多 H5 */
|
||||||
private fun navigateToHealthConsultationMore() {
|
private fun navigateToHealthConsultationMore() {
|
||||||
val param = mViewModel.enCryptInfoUrl.value
|
if (DataStoreManager.isLogin()) {
|
||||||
if (param.isNullOrEmpty()) {
|
|
||||||
mViewModel.getSysEnCryptInfo(UrlConfig.getHomeBankH5Url())
|
val param = mViewModel.enCryptInfoUrl.value
|
||||||
showToast("网络错误")
|
if (param.isNullOrEmpty()) {
|
||||||
return
|
mViewModel.getSysEnCryptInfo(UrlConfig.getHomeBankH5Url())
|
||||||
|
showToast("网络错误")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
val url = "${UrlConfig.getHealthConsultationH5Url()}?param=$param"
|
||||||
|
requireContext().startWebActivity(
|
||||||
|
url,
|
||||||
|
isFull = true,
|
||||||
|
myTitle = "健康咨询",
|
||||||
|
hideStatus = true
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
showToast("请先登录")
|
||||||
|
toActivity(LoginActivity::class.java)
|
||||||
|
|
||||||
}
|
}
|
||||||
val url = "${UrlConfig.getHealthConsultationH5Url()}?param=$param"
|
|
||||||
requireContext().startWebActivity(url, isFull = true, myTitle = "健康咨询", hideStatus = true)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -2,8 +2,8 @@ ext {
|
|||||||
minSdkVersion = 26
|
minSdkVersion = 26
|
||||||
targetSdkVersion = 32
|
targetSdkVersion = 32
|
||||||
compileSdkVersion = 33
|
compileSdkVersion = 33
|
||||||
versionCode = 1013
|
versionCode = 1014
|
||||||
versionName = "1.0.13"
|
versionName = "1.0.14"
|
||||||
//Dependencies
|
//Dependencies
|
||||||
junitVersion = "4.12"
|
junitVersion = "4.12"
|
||||||
lifecycleVersion = "2.6.0-alpha01"
|
lifecycleVersion = "2.6.0-alpha01"
|
||||||
|
|||||||
Reference in New Issue
Block a user