refactor(home): 重构首页健康银行入口及 URL 环境配置
- 移除健康银行 H5 入口的环境限制,统一适配测试与生产环境 - 新增 getBankH5Url() 方法,按环境分别返回对应 H5 地址 - 将 selectDoctorRecommendHome() 移至登录状态判断内,避免未登录时发起无效请求 - 重构首页头部布局,改为双图片 + 渐变背景的组合方式 - 新增 home_head_img1/2 图片资源 - 删除废弃的 UrlH5RouteUtils 工具类 - 清理 UrlConfig 中大量废弃注释代码
This commit is contained in:
@@ -172,25 +172,23 @@ class HomeFragment :
|
||||
}
|
||||
|
||||
R.id.home_head_tab4 -> {
|
||||
if (UrlConfig.baseUrlType == UrlConfig.BaseUrlType.TEST) {
|
||||
if (DataStoreManager.isLogin()) {
|
||||
val value = mViewModel.enCryptInfoUrl.value
|
||||
if (TextUtils.isEmpty(value)) {
|
||||
mViewModel.getSysEnCryptInfo(UrlConfig.getHomeBankH5Url())
|
||||
showToast("网络错误")
|
||||
return
|
||||
}
|
||||
requireContext().startWebActivity(UrlConfig.HOME_BANK_H5+"?param="+ value,isFull=true,myTitle = "健康银行",hideStatus=true)
|
||||
} else {
|
||||
startLoginActivity(requireContext())
|
||||
if (DataStoreManager.isLogin()) {
|
||||
val value = mViewModel.enCryptInfoUrl.value
|
||||
if (TextUtils.isEmpty(value)) {
|
||||
mViewModel.getSysEnCryptInfo(UrlConfig.getHomeBankH5Url())
|
||||
showToast("网络错误")
|
||||
return
|
||||
}
|
||||
return
|
||||
requireContext().startWebActivity(
|
||||
UrlConfig.getBankH5Url()+ "?param=" + value,
|
||||
isFull = true,
|
||||
myTitle = "健康银行",
|
||||
hideStatus = true
|
||||
)
|
||||
} else {
|
||||
startLoginActivity(requireContext())
|
||||
}
|
||||
|
||||
val bundle = Bundle()
|
||||
bundle.putString("title", "健康银行")
|
||||
toActivity(EmptyActivity::class.java, bundle)
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -356,10 +354,10 @@ class HomeFragment :
|
||||
|
||||
override fun initData() {
|
||||
mViewModel.getHomeBannerList()
|
||||
mViewModel.selectDoctorRecommendHome()
|
||||
|
||||
if (DataStoreManager.isLogin()) {
|
||||
homeNoticeStartRepeat()
|
||||
mViewModel.selectDoctorRecommendHome()
|
||||
mViewModel.getHomeWatchInfo(DataStoreManager.getUserId())
|
||||
mViewModel.getSysEnCryptInfo(UrlConfig.getHomeBankH5Url())
|
||||
}
|
||||
@@ -385,6 +383,7 @@ class HomeFragment :
|
||||
}
|
||||
if (DataStoreManager.isLogin()) {
|
||||
mViewModel.getHomeNoticeListRepeat()
|
||||
mViewModel.selectDoctorRecommendHome()
|
||||
mViewModel.getHomeWatchInfo(DataStoreManager.getUserId())
|
||||
mViewModel.getSysEnCryptInfo(UrlConfig.getHomeBankH5Url())
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.xjjk.healthyclients.retrofit
|
||||
|
||||
import com.sw.healthyclients.data.local.DataStoreManager
|
||||
import com.xjjk.healthyclients.utils.UrlH5RouteUtils
|
||||
import okhttp3.HttpUrl.Companion.toHttpUrl
|
||||
|
||||
object UrlConfig {
|
||||
@@ -28,7 +27,9 @@ object UrlConfig {
|
||||
|
||||
// 安眼修改密码
|
||||
const val ANYAN_CHANGE_PASSWORD_H5 = "https://sso.iosp.ydpt.tech/SSOManageClient/userController/changePassword"
|
||||
const val HOME_BANK_H5 = "https://gstest.superwx.cn/healthbank/index.html"
|
||||
|
||||
private const val TEST_HOME_BANK_H5 = "https://gstest.superwx.cn/healthbank/index.html"
|
||||
private const val PRODUCT_HOME_BANK_H5 = "https://console-jkglpt.iosp.ydpt.tech/hb/healthweb/index.html"
|
||||
|
||||
|
||||
val baseUrlType: BaseUrlType = BaseUrlType.PRODUCT
|
||||
@@ -71,6 +72,17 @@ object UrlConfig {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun getBankH5Url(baseUrlType: BaseUrlType = BaseUrlType.PRODUCT): String {
|
||||
return when (baseUrlType) {
|
||||
BaseUrlType.DEBUG, BaseUrlType.TEST-> {
|
||||
TEST_HOME_BANK_H5
|
||||
}
|
||||
BaseUrlType.PRODUCT -> {
|
||||
PRODUCT_HOME_BANK_H5
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 方便后续加一些其他逻辑
|
||||
*/
|
||||
@@ -111,67 +123,26 @@ object UrlConfig {
|
||||
|
||||
}
|
||||
|
||||
private fun urlReplace(): String {
|
||||
return getDefaultBaseUrl().replace("http://", "")
|
||||
.replace("https://", "")
|
||||
.replace("/", "")
|
||||
|
||||
/**
|
||||
* 获取评估报告模块地址
|
||||
* @param type 0,健康风险 1,心理评估
|
||||
*/
|
||||
|
||||
// fun getEvaluationReportUrl(type: Int): String {
|
||||
// var httpUrl = getDefaultBaseUrl().toHttpUrl()
|
||||
// return getH5Url() +
|
||||
// "/?scheme=" + httpUrl.scheme +
|
||||
// "&host=" + httpUrl.host +
|
||||
// "&mobile=0" +
|
||||
// "&tokenF=" + DataStoreManager.getToken() +
|
||||
// "&type=" + type
|
||||
// }
|
||||
fun getKnowledgeDetailUrl(@UrlH5RouteUtils.RouteType routeType: String, map: MutableMap<String, Any?> = mutableMapOf()):String{
|
||||
// return "http://192.168.1.22:9000/#/rich-text?id=sacsacasc&value=123132132"
|
||||
var params=""
|
||||
map.mapKeys {
|
||||
params += "&${it.key}=${it.value}"
|
||||
}
|
||||
var httpUrl = getDefaultBaseUrl().toHttpUrl()
|
||||
return getH5Url() + "/" +routeType+
|
||||
"?scheme=" + httpUrl.scheme +
|
||||
"&host=" + httpUrl.host +
|
||||
"&tokenF=" + DataStoreManager.getToken() +
|
||||
params
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取健康干预-膳食 接口地址
|
||||
*/
|
||||
// fun getInterventionFoodUrl():String {
|
||||
// return when (baseUrlType) {
|
||||
// BaseUrlType.DEBUG,BaseUrlType.TEST -> {
|
||||
// "https://vip.shuziweidao.com"
|
||||
// }
|
||||
// BaseUrlType.PRODUCT -> {
|
||||
// "https://yyjk.shuziweidao.com/"
|
||||
// }
|
||||
// fun getKnowledgeDetailUrl(@UrlH5RouteUtils.RouteType routeType: String, map: MutableMap<String, Any?> = mutableMapOf()):String{
|
||||
//// return "http://192.168.1.22:9000/#/rich-text?id=sacsacasc&value=123132132"
|
||||
// var params=""
|
||||
// map.mapKeys {
|
||||
// params += "&${it.key}=${it.value}"
|
||||
// }
|
||||
// var httpUrl = getDefaultBaseUrl().toHttpUrl()
|
||||
// return getH5Url() + "/" +routeType+
|
||||
// "?scheme=" + httpUrl.scheme +
|
||||
// "&host=" + httpUrl.host +
|
||||
// "&tokenF=" + DataStoreManager.getToken() +
|
||||
// params
|
||||
// }
|
||||
|
||||
/**
|
||||
* H5访问地址
|
||||
*/
|
||||
fun getH5PdfUrl(): String {
|
||||
// https://jkgy.wcrcnet.cn/static/mobile/indexSon?
|
||||
// // scheme=http
|
||||
// // s&host=jkgy.wcrcnet.cn
|
||||
// // &hostAfter=gateway
|
||||
// // &pdfUrl=temp/20240530/AED%E4%BD%BF%E7%94%A8.pdf_1717056401896.pdf
|
||||
|
||||
val baseUrl = getH5BaseUrl(baseUrlType) + "/static/mobile/indexSon?"
|
||||
var httpUrl = getDefaultBaseUrl().toHttpUrl()
|
||||
return baseUrl +
|
||||
"scheme=" + httpUrl.scheme +
|
||||
"&host=" + httpUrl.host +
|
||||
"&title=" + "文件详情" +
|
||||
"&pdfUrl="
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,190 +0,0 @@
|
||||
package com.xjjk.healthyclients.utils
|
||||
|
||||
import androidx.annotation.StringDef
|
||||
|
||||
object UrlH5RouteUtils {
|
||||
/**
|
||||
* 知识库文章详情
|
||||
*/
|
||||
const val RICH_TEXT = "knowledge-page"
|
||||
/**
|
||||
* 岗位健康详情页
|
||||
*/
|
||||
const val JOBDETAILS = "jobDetails"
|
||||
|
||||
/**
|
||||
* 知识库健-康答题
|
||||
*/
|
||||
const val HEALTH_QUESTION = "mergeQuestion/physical-questions"
|
||||
|
||||
/**
|
||||
* 知识库答题记录
|
||||
*/
|
||||
const val ANSWER_RECORDSLIST = "answer-recordsList"
|
||||
|
||||
/**
|
||||
* 膳食-慢病预警测评结果
|
||||
*/
|
||||
const val DISEASE_ASSESSMENT_RESULT = "disease-assessment-result"
|
||||
|
||||
/**
|
||||
* 膳食-体重管理
|
||||
*/
|
||||
const val FOOD_OVERWEIGHT_INTERVENTION = "overweightIntervention"
|
||||
|
||||
/**
|
||||
* 运动-运动平台
|
||||
*/
|
||||
const val SPORT_PLATFORM = "sports-platform"
|
||||
|
||||
/**
|
||||
* 运动-运动排名
|
||||
*/
|
||||
const val SPORT_RANKING = "sport-ranking"
|
||||
|
||||
/**
|
||||
* 步数
|
||||
*/
|
||||
const val STEP_STATISTICS = "step-statistics"
|
||||
|
||||
/**
|
||||
* 心理-心理评估
|
||||
*/
|
||||
const val MENTAL_PSYCHOLOGICAL_ASSESSMENT = "assessment-home"
|
||||
/**
|
||||
* 心理-心理评估-基础信息basic-information
|
||||
*/
|
||||
const val MENTAL_PSYCHOLOGICAL_ASSESSMENT_BASIC_INFORMATION = "basic-information"
|
||||
/**
|
||||
* 心理-心理评估-测评模式self-evaluation
|
||||
*/
|
||||
const val MENTAL_PSYCHOLOGICAL_ASSESSMENT_SELF_EVALUATION = "self-evaluation"
|
||||
/**
|
||||
* 心理-知识答题-答题模式
|
||||
*/
|
||||
const val MENTAL_KNOWLEDGE_CHOOSE_TOPIC = "choose-topic"
|
||||
/**
|
||||
* 心理-心理评估-测评历史reportHistory
|
||||
*/
|
||||
const val MENTAL_PSYCHOLOGICAL_ASSESSMENT_REPORTHISTORY = "reportHistory"
|
||||
/**
|
||||
* 心理-知识答题-答题历史
|
||||
*/
|
||||
const val MENTAL_KNOWLEDGE_ANSWER_HISTORY = "answer-history"
|
||||
/**
|
||||
* 心理-心理评估-单位组织task
|
||||
*/
|
||||
const val MENTAL_PSYCHOLOGICAL_ASSESSMENT_TASK = "task"
|
||||
/**
|
||||
* 心理-知识答题-单位组织task
|
||||
*/
|
||||
const val MENTAL_KNOWLEDGE_TASK_TOPIC = "task-topic"
|
||||
|
||||
/**
|
||||
* 心理-规律起居
|
||||
*/
|
||||
const val MENTAL_REGULAR_LIVING = "livingIndependent"
|
||||
|
||||
/**
|
||||
* 糖尿病-血糖监测
|
||||
*/
|
||||
const val DIABETES_BLOOD_GLUCOSE_MONITORING = "bloodGlucose"
|
||||
|
||||
/**
|
||||
* 糖尿病-信号预警
|
||||
*/
|
||||
const val DIABETES_SIGNAL_WARNING = "health"
|
||||
|
||||
/**
|
||||
* 癌症-病因溯源
|
||||
*/
|
||||
const val CANCER_ETIOLOGICAL_TRACING = "etiological"
|
||||
|
||||
/**
|
||||
* 癌症-免疫预警
|
||||
*/
|
||||
const val CANCER_IMMUNE_EARLY_WARNING = "immuneWarning"
|
||||
/**
|
||||
* 知识-体检可视化
|
||||
*/
|
||||
const val PHYSICAL_EXAMINATION_HOME = "physicalExaminationIndex"
|
||||
/**
|
||||
* 心血管-吃动平衡
|
||||
*/
|
||||
const val CARDIOVASCULAR_EATING_BALANCE = "healthIndependentC"
|
||||
/**
|
||||
* 随访记录详情
|
||||
*/
|
||||
const val INTERVENTION_FOLLOW = "follow"
|
||||
/**
|
||||
* 就诊记录详情
|
||||
*/
|
||||
const val INTERVENTION_TREATMENTDETAIL = "treatmentDetail"
|
||||
/**
|
||||
* 急救培训开始答题
|
||||
*/
|
||||
const val HEALTH_ANSWER = "mergeQuestion/physical-answer"
|
||||
/**
|
||||
* 癌症-信号预判
|
||||
*/
|
||||
const val CANCER_SIGNAL_PREDICTION = "mergeQuestion/home-prediction"
|
||||
/**
|
||||
* 癌症-免疫预警
|
||||
*/
|
||||
const val INTERVENTION_IMMUNE_WARNING = "mergeQuestion/immune-warning"
|
||||
/**
|
||||
* 病因溯源填写问卷
|
||||
*/
|
||||
const val IMAGE_TRACEABILITY = "mergeQuestion/image-traceability"
|
||||
/**
|
||||
* 急救培训答题回顾
|
||||
*/
|
||||
const val HEALTH_ANSWER_REVIEW = "mergeQuestion/physical-review"
|
||||
/**
|
||||
* 吃动平衡问卷调查
|
||||
*/
|
||||
const val Eating_ANSWER_REVIEW = "mergeQuestion/eating-balance"
|
||||
/**
|
||||
* 心理知识答题-知识详情
|
||||
*/
|
||||
const val KNOWLEDGE_DETAIL = "knowledge-detail"
|
||||
/**
|
||||
* 心血管-防范心梗问卷
|
||||
*/
|
||||
const val HEART_ATTACK = "heart-attack"
|
||||
/**
|
||||
* 心血管-风险详情
|
||||
*/
|
||||
const val HEART_FACTORS = "heart-factors"
|
||||
|
||||
|
||||
@Target(AnnotationTarget.VALUE_PARAMETER, AnnotationTarget.FIELD, AnnotationTarget.FUNCTION)
|
||||
@MustBeDocumented
|
||||
@StringDef(
|
||||
RICH_TEXT,
|
||||
JOBDETAILS, HEALTH_QUESTION, ANSWER_RECORDSLIST, DISEASE_ASSESSMENT_RESULT,
|
||||
SPORT_RANKING, STEP_STATISTICS, MENTAL_PSYCHOLOGICAL_ASSESSMENT, SPORT_PLATFORM, MENTAL_REGULAR_LIVING,
|
||||
DIABETES_BLOOD_GLUCOSE_MONITORING, DIABETES_SIGNAL_WARNING, CANCER_ETIOLOGICAL_TRACING,
|
||||
CANCER_IMMUNE_EARLY_WARNING, FOOD_OVERWEIGHT_INTERVENTION, PHYSICAL_EXAMINATION_HOME,
|
||||
CARDIOVASCULAR_EATING_BALANCE,
|
||||
INTERVENTION_FOLLOW,
|
||||
INTERVENTION_TREATMENTDETAIL,
|
||||
HEALTH_ANSWER,
|
||||
CANCER_SIGNAL_PREDICTION,
|
||||
INTERVENTION_IMMUNE_WARNING,
|
||||
IMAGE_TRACEABILITY,
|
||||
HEALTH_ANSWER_REVIEW,
|
||||
Eating_ANSWER_REVIEW
|
||||
,
|
||||
INTERVENTION_TREATMENTDETAIL,
|
||||
MENTAL_PSYCHOLOGICAL_ASSESSMENT_BASIC_INFORMATION,
|
||||
MENTAL_PSYCHOLOGICAL_ASSESSMENT_SELF_EVALUATION,
|
||||
MENTAL_PSYCHOLOGICAL_ASSESSMENT_REPORTHISTORY,
|
||||
MENTAL_PSYCHOLOGICAL_ASSESSMENT_TASK,
|
||||
KNOWLEDGE_DETAIL,MENTAL_KNOWLEDGE_CHOOSE_TOPIC,MENTAL_KNOWLEDGE_ANSWER_HISTORY,MENTAL_KNOWLEDGE_TASK_TOPIC,HEART_ATTACK,HEART_FACTORS
|
||||
)
|
||||
@kotlin.annotation.Retention(AnnotationRetention.SOURCE)
|
||||
annotation class RouteType
|
||||
|
||||
|
||||
}
|
||||
@@ -26,26 +26,57 @@
|
||||
android:orientation="vertical"
|
||||
android:paddingBottom="30dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/head_img"
|
||||
<com.allen.library.shape.ShapeRelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="450dp"
|
||||
app:shapeGradientAngle="top_bottom"
|
||||
app:shapeGradientCenterColor="#3BBCB7"
|
||||
app:shapeGradientEndColor="#FFFFFF"
|
||||
app:shapeGradientStartColor="#22C8A0"/>
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:adjustViewBounds="true"
|
||||
android:scaleType="fitXY"
|
||||
android:src="@drawable/icon_home_head" />
|
||||
android:layout_marginTop="45dp">
|
||||
|
||||
<ImageView
|
||||
android:layout_marginTop="20dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="15dp"
|
||||
android:adjustViewBounds="true"
|
||||
android:background="@mipmap/home_head_img1" />
|
||||
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_marginRight="15dp"
|
||||
android:adjustViewBounds="true"
|
||||
android:background="@mipmap/home_head_img2" />
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<!-- <ImageView-->
|
||||
<!-- android:id="@+id/head_img"-->
|
||||
<!-- android:layout_width="match_parent"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:adjustViewBounds="true"-->
|
||||
<!-- android:scaleType="fitXY"-->
|
||||
<!-- android:src="@drawable/icon_home_head" />-->
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="130dp"
|
||||
android:layout_marginTop="135dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.allen.library.shape.ShapeRelativeLayout
|
||||
android:visibility="gone"
|
||||
android:id="@+id/layout_notice"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="40dp"
|
||||
android:layout_marginHorizontal="12dp"
|
||||
android:visibility="gone"
|
||||
app:shapeCornersRadius="8dp"
|
||||
app:shapeGradientAngle="top_bottom"
|
||||
app:shapeGradientEndColor="#F2FFFD"
|
||||
@@ -111,10 +142,11 @@
|
||||
android:layout_height="60dp"
|
||||
android:layout_marginHorizontal="12dp"
|
||||
android:layout_marginTop="10dp" />
|
||||
|
||||
<com.xjjk.healthyclients.view.HomeWatchView
|
||||
android:id="@+id/watch_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"/>
|
||||
android:layout_height="wrap_content" />
|
||||
|
||||
<com.youth.banner.Banner
|
||||
android:id="@+id/banner3"
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 9.3 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 91 KiB |
Reference in New Issue
Block a user