中建365-优化

develop
wlh 1 year ago
parent 0913f3115c
commit ddb7b5f2ed

@ -9,6 +9,7 @@ def androidId = rootProject.ext.defaultSetting
def url = rootProject.ext.url def url = rootProject.ext.url
def imagePrefix =rootProject.ext.image_preifx def imagePrefix =rootProject.ext.image_preifx
android { android {
compileSdkVersion androidId.compileSdk compileSdkVersion androidId.compileSdk
buildToolsVersion androidId.buildToolsVersion buildToolsVersion androidId.buildToolsVersion
@ -105,8 +106,16 @@ repositories {
flatDir { flatDir {
dirs 'libs' dirs 'libs'
} }
project.afterEvaluate {
com.android.build.gradle.BaseExtension android = project.extensions.getByName("android")
android.getPackagingOptions().exclude("META-INF/*.kotlin_module")
}
} }
dependencies { dependencies {
implementation (name: 'ycbtsdk-release', ext: 'aar') implementation (name: 'ycbtsdk-release', ext: 'aar')
@ -121,5 +130,4 @@ dependencies {
kapt rely.GifDrawable kapt rely.GifDrawable
kapt rely.xutil kapt rely.xutil
} }

@ -152,6 +152,7 @@
android:launchMode="singleTop" android:launchMode="singleTop"
android:screenOrientation="portrait" /> android:screenOrientation="portrait" />
<activity <activity
android:name="com.zj365.health.act.BindFamilyAct" android:name="com.zj365.health.act.BindFamilyAct"
android:launchMode="singleTop" android:launchMode="singleTop"

@ -19,6 +19,7 @@ import com.xty.common.*
import com.xty.common.arouter.ARouterUrl import com.xty.common.arouter.ARouterUrl
import com.xty.common.arouter.RouteManager import com.xty.common.arouter.RouteManager
import com.xty.common.event.LoginOrRegisterEvent import com.xty.common.event.LoginOrRegisterEvent
import com.xty.common.event.RegisterSuccessEvent
import com.xty.common.event.WxLoginEvent import com.xty.common.event.WxLoginEvent
import com.xty.common.util.CommonToastUtils import com.xty.common.util.CommonToastUtils
import com.xty.network.model.WxInfoBean import com.xty.network.model.WxInfoBean
@ -379,4 +380,9 @@ class LoginAct : BaseVmAct<LoginVm>() {
mViewModel.getWxLoginInfo(event.code) mViewModel.getWxLoginInfo(event.code)
} }
@Subscribe(threadMode = ThreadMode.MAIN)
fun registerSuccess(event: RegisterSuccessEvent){
finish()
}
} }

@ -23,6 +23,7 @@ import com.xty.common.TimeSelect
import com.xty.common.arouter.ARouterUrl import com.xty.common.arouter.ARouterUrl
import com.xty.common.arouter.RouteManager import com.xty.common.arouter.RouteManager
import com.xty.common.event.LoginOrRegisterEvent import com.xty.common.event.LoginOrRegisterEvent
import com.xty.common.event.RegisterSuccessEvent
import com.xty.common.util.CommonToastUtils import com.xty.common.util.CommonToastUtils
import com.xty.common.xqr_code.XQRCodeAct import com.xty.common.xqr_code.XQRCodeAct
@ -189,11 +190,8 @@ class RegisterAct : BaseVmAct<RegisterVm>() {
timer = null timer = null
} }
mViewModel.login(binding.mAccount.text.toString().trim(),binding.mPsw.text.toString().trim()) mViewModel.login(binding.mAccount.text.toString().trim(),binding.mPsw.text.toString().trim())
runOnUiThread { EventBus.getDefault().post(RegisterSuccessEvent())
RxActivityTool.finishActivity(LoginAct::class.java) // RxActivityTool.finishActivity(LoginAct::class.java)
}
} }
mViewModel.codeLive.observe(this) { mViewModel.codeLive.observe(this) {
timeStart() timeStart()

@ -914,8 +914,11 @@ class DynamicManagementFrag : BaseVmFrag<DynamicManagementVm>() , EasyPermission
binding.mHeader.tvLanuDate.text = bean.chinaDay binding.mHeader.tvLanuDate.text = bean.chinaDay
// setWeatherInfo(bean.weather) // setWeatherInfo(bean.weather)
binding.mHeader.mBMI.text = "BMI ${bean.bmiInfo.bmi}" bean.bmiInfo?.let {
binding.mHeader.mBMIStatus.text = "${bean.bmiInfo.levelName}" binding.mHeader.mBMI.text = "BMI ${it.bmi}"
binding.mHeader.mBMIStatus.text = "${it.levelName}"
}
binding.mHeader.tvWarningNum.text ="预警次数:${if (bean.warningCount == 0) "--" else bean.warningCount}" binding.mHeader.tvWarningNum.text ="预警次数:${if (bean.warningCount == 0) "--" else bean.warningCount}"
binding.mHeader.tvMonitorNum.text ="监测次数:${if (bean.healthCount == 0) "--" else bean.healthCount}" binding.mHeader.tvMonitorNum.text ="监测次数:${if (bean.healthCount == 0) "--" else bean.healthCount}"

@ -589,13 +589,14 @@ class DynamicManagementVm : BaseVm() {
uricAcidData.time uricAcidData.time
} else { } else {
"${ "${
RxTimeTool.simpleDateFormat( milliseconds2String(uricAcidData.time)
/* RxTimeTool.simpleDateFormat(
"yyyy-MM-dd HH", "yyyy-MM-dd HH",
RxTimeTool.string2Date( RxTimeTool.string2Date(
"yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm:ss",
uricAcidData.time uricAcidData.time
) )
) )*/
}:00" }:00"
} }
} }

@ -56,14 +56,16 @@ class LoginVm() : BaseVm() {
} }
saveToken(login.raw().headers) saveToken(login.raw().headers)
val bodys = login.body() as RespBody val bodys = login.body() as RespBody
if (bodys != null){
MMkvHelper.put(Const.USER_ID, bodys.data.id) MMkvHelper.put(Const.USER_ID, bodys.data.id)
val deviceType = bodys.data.deviceType val deviceType = bodys.data.deviceType
if (TextUtils.isEmpty(deviceType)) { if (TextUtils.isEmpty(deviceType)) {
MMkvHelper.remove(Const.DEVICE_TYPE) MMkvHelper.remove(Const.DEVICE_TYPE)
} else { } else {
MMkvHelper.put(Const.DEVICE_TYPE, bodys.data.deviceType) MMkvHelper.put(Const.DEVICE_TYPE, bodys.data.deviceType)
}
} }
bodys.getCodeStatus(mLogin, nowData, loading) bodys.getCodeStatus(mLogin, nowData, loading)
} }
} }
@ -82,15 +84,22 @@ class LoginVm() : BaseVm() {
} }
startHttp { startHttp {
val login = apiInterface().loginCode(account, code) val login = apiInterface().loginCode(account, code)
if (login.body()?.code == 500) {
login.body()?.msg?.let { CommonToastUtils.showToast(it) }
return@startHttp
}
saveToken(login.raw().headers) saveToken(login.raw().headers)
val bodys = login.body() as RespBody val bodys = login.body() as RespBody
MMkvHelper.put(Const.USER_ID, bodys.data.id) if(bodys != null){
val deviceType = bodys.data.deviceType MMkvHelper.put(Const.USER_ID, bodys.data.id)
if (TextUtils.isEmpty(deviceType)) { val deviceType = bodys.data.deviceType
MMkvHelper.remove(Const.DEVICE_TYPE) if (TextUtils.isEmpty(deviceType)) {
} else { MMkvHelper.remove(Const.DEVICE_TYPE)
MMkvHelper.put(Const.DEVICE_TYPE, bodys.data.deviceType) } else {
MMkvHelper.put(Const.DEVICE_TYPE, bodys.data.deviceType)
}
} }
bodys.getCodeStatus(mLogin, nowData, loading) bodys.getCodeStatus(mLogin, nowData, loading)
} }
} }

@ -36,7 +36,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:layout_marginLeft="@dimen/dp_14" android:layout_marginLeft="@dimen/dp_14"
android:text="BMI 24" tools:text="BMI 24"
android:textColor="@color/col_313" android:textColor="@color/col_313"
android:textSize="@dimen/sp_17" android:textSize="@dimen/sp_17"
android:textStyle="bold" android:textStyle="bold"
@ -59,7 +59,7 @@
android:paddingTop="@dimen/dp_2" android:paddingTop="@dimen/dp_2"
android:paddingRight="@dimen/dp_8" android:paddingRight="@dimen/dp_8"
android:paddingBottom="@dimen/dp_2" android:paddingBottom="@dimen/dp_2"
android:text="正常" tools:text="正常"
android:textColor="@color/col_D9BD" android:textColor="@color/col_D9BD"
android:textSize="@dimen/sp_14" android:textSize="@dimen/sp_14"
android:textStyle="bold" android:textStyle="bold"

@ -17,9 +17,14 @@ import com.tencent.smtt.sdk.WebViewClient
import com.xty.base.databinding.ActBaseTencentWebviewBinding import com.xty.base.databinding.ActBaseTencentWebviewBinding
import com.xty.base.h5.CloudJSBridge import com.xty.base.h5.CloudJSBridge
import com.xty.base.h5.IJsBridge import com.xty.base.h5.IJsBridge
import com.xty.base.h5.WebUtils
import com.xty.base.utils.ContextUtils
import com.xty.base.vm.BaseVm import com.xty.base.vm.BaseVm
import com.xty.common.Const
import com.xty.common.LogUtils import com.xty.common.LogUtils
import com.xty.common.MMkvHelper
import com.xty.common.arouter.ARouterUrl import com.xty.common.arouter.ARouterUrl
import org.json.JSONObject
@Route(path = ARouterUrl.H5_ACT) @Route(path = ARouterUrl.H5_ACT)
@ -41,6 +46,7 @@ import com.xty.common.arouter.ARouterUrl
override fun initView() { override fun initView() {
super.initView() super.initView()
initWebViewSettings() initWebViewSettings()
ContextUtils.init(this)
getWindow().setFlags( getWindow().setFlags(
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED, WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED); WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
@ -64,6 +70,20 @@ import com.xty.common.arouter.ARouterUrl
} }
binding.webView.addJavascriptInterface(cloudJSBridge,"business") binding.webView.addJavascriptInterface(cloudJSBridge,"business")
val userId = if (MMkvHelper.getLong(Const.USER_ID).toString() == "0") {
""
} else { LogUtils.e("CloudJSBridge","str")
MMkvHelper.getLong(Const.USER_ID).toString()
}
/* val jsonObject = JSONObject()
jsonObject.put("statuHeight", WebUtils.getStatesBar())
jsonObject.put("token", MMkvHelper.getString(Const.Auth_Token))
jsonObject.put("userId", userId)
jsonObject.put("isAPP", 1)
LogUtils.e("CloudJSBridge",jsonObject.toString())
sendDataToJS("sendBaseInfo", jsonObject.toString())*/
} }
override fun liveObserver() { override fun liveObserver() {
@ -195,7 +215,7 @@ import com.xty.common.arouter.ARouterUrl
java.lang.String.format( java.lang.String.format(
"javascript:%s('%s')", "javascript:%s('%s')",
functionName, functionName,
R.attr.data data
) )
) )
} }

@ -0,0 +1,85 @@
package com.xty.base.dialog
import android.content.DialogInterface
import android.os.Bundle
import android.view.Gravity
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.view.Window
import android.view.WindowManager
import androidx.fragment.app.DialogFragment
import androidx.lifecycle.ViewModelProvider
import com.xty.base.vm.BaseVm
import com.xty.common.ReflexUtils
abstract class BaseDialogFragment :DialogFragment(){
protected lateinit var mView: View
private var dismissListener: OnDismissListener? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
getStyle()?.let {
setStyle(STYLE_NORMAL, it)
}
}
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
dialog?.requestWindowFeature(Window.FEATURE_NO_TITLE)
mView = onCreateView()
initView()
initData()
initListener()
return mView
}
override fun onStart() {
super.onStart()
//设置 dialog 的宽高
dialog?.window?.let {
it.setBackgroundDrawable(null)
val lp: WindowManager.LayoutParams = it.attributes
lp.gravity = getGravity()
lp.width = getWidth()
lp.height = getHeight()
if (isBGTransparent()) {
lp.dimAmount = 0.0f
} else {
lp.dimAmount = 0.5f
}
it.attributes = lp
}
}
override fun onDismiss(dialog: DialogInterface) {
super.onDismiss(dialog)
dismissListener?.onDismiss()
}
fun setOnDismissListener(dismissListener: OnDismissListener) {
this.dismissListener = dismissListener
}
protected abstract fun onCreateView(): View
protected open fun getStyle(): Int? = null //弹框样式 动画
protected open fun getGravity(): Int = Gravity.BOTTOM //弹框位置
protected open fun isBGTransparent() = false //是否全透明背景
protected open fun getHeight(): Int = WindowManager.LayoutParams.WRAP_CONTENT //弹框最大高度
protected open fun getWidth(): Int = WindowManager.LayoutParams.MATCH_PARENT //弹框最大高度
protected abstract fun initView()
protected abstract fun initData()
protected abstract fun initListener()
interface OnDismissListener {
fun onDismiss()
}
}

@ -2,8 +2,8 @@ package com.xty.base.h5
import android.content.Context import android.content.Context
import android.webkit.JavascriptInterface import android.webkit.JavascriptInterface
import com.google.gson.Gson
import com.xty.base.act.BaseVmAct import com.xty.base.act.BaseVmAct
import com.xty.base.act.IBaseAct
import com.xty.common.Const import com.xty.common.Const
import com.xty.common.LogUtils import com.xty.common.LogUtils
import com.xty.common.MMkvHelper import com.xty.common.MMkvHelper
@ -27,6 +27,8 @@ open class CloudJSBridge(val context: Context, val listener: IJsBridge) {
jsonObject.put("token", MMkvHelper.getString(Const.Auth_Token)) jsonObject.put("token", MMkvHelper.getString(Const.Auth_Token))
jsonObject.put("userId", userId) jsonObject.put("userId", userId)
jsonObject.put("isAPP", 1)
LogUtils.e("CloudJSBridge",jsonObject.toString())
listener.sendDataToJS("sendBaseInfo", jsonObject.toString()) listener.sendDataToJS("sendBaseInfo", jsonObject.toString())
} }
} }

@ -15,7 +15,7 @@
<com.ruffian.library.widget.RImageView <com.ruffian.library.widget.RImageView
android:id="@+id/img_activies" android:id="@+id/img_activies"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="@dimen/dp_500"
android:maxWidth="@dimen/dp_312" android:maxWidth="@dimen/dp_312"
android:scaleType="centerCrop" android:scaleType="centerCrop"
android:maxHeight="@dimen/dp_500" android:maxHeight="@dimen/dp_500"

@ -1,5 +1,9 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules. // Top-level build file where you can add configuration options common to all sub-projects/modules.
apply from : 'config.gradle' apply from : 'config.gradle'
def SUPPORT_VERSION = "26.1.0"
def MULTIDEX_VERSION = "1.0.2"
def GSON_VERSION = "2.8.6"
buildscript { buildscript {
ext.kotlin_version = "1.7.10" ext.kotlin_version = "1.7.10"
repositories { repositories {
@ -40,6 +44,29 @@ allprojects {
} }
} }
ConfigurationContainer container = project.configurations
container.all { Configuration conf ->
ResolutionStrategy rs = conf.resolutionStrategy
//
rs.eachDependency { details ->
def requested = details.requested
if (requested.group == "com.android.support") {
// com.android.support
if (requested.name.startsWith("multidex")) {
details.useVersion(MULTIDEX_VERSION)
} else {
details.useVersion(SUPPORT_VERSION)
}
} else if (requested.group == "com.google.code.gson") {
// Gson
details.useVersion(GSON_VERSION)
} else if (requested.group == "org.jetbrains.kotlin") {
// kotlin
details.useVersion(kotlin_version)
}
}
}
} }
task clean(type: Delete) { task clean(type: Delete) {

@ -0,0 +1,4 @@
package com.xty.common.event
class RegisterSuccessEvent {
}

@ -6,7 +6,7 @@ ext {
appId : "com.zj365.dc", appId : "com.zj365.dc",
minSdk : 23, minSdk : 23,
targetSdk : 32, targetSdk : 32,
versionCode : 2, versionCode : 114,
versionName : "1.0.0" versionName : "1.0.0"
] ]
@ -29,10 +29,10 @@ ext {
release_url: "https://auprty.com/app/"*/ release_url: "https://auprty.com/app/"*/
// //
debug_url : "http://java01.zhongjian365.com/app/", debug_url : "http://java01.zhongjian365.com/app/",
release_url: "http://175.6.39.20:8181/app/", release_url: "http://java01.zhongjian365.com/app/",
h5_debug_url : "http://testbuilt.zhongjian365.com/", h5_debug_url : "http://testbuilt.zhongjian365.com/",
h5_release_url : "http://built.zhongjian365.com/" h5_release_url : "http://testbuilt.zhongjian365.com/"
] ]

@ -6,7 +6,7 @@
# http://www.gradle.org/docs/current/userguide/build_environment.html # http://www.gradle.org/docs/current/userguide/build_environment.html
# Specifies the JVM arguments used for the daemon process. # Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings. # The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 org.gradle.jvmargs=-Xmx5120m -XX:MaxPermSize=2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
# When configured, Gradle will run in incubating parallel mode. # When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit # This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
@ -22,4 +22,3 @@ kotlin.code.style=official
kotlin.incremental=true kotlin.incremental=true
org.gradle.parallel=true org.gradle.parallel=true
android.injected.testOnly=false android.injected.testOnly=false
android.defaults.buildfeatures.buildconfig=true

@ -259,6 +259,16 @@
<activity android:name=".act.BloodCalibrationHistoryAct" <activity android:name=".act.BloodCalibrationHistoryAct"
android:launchMode="singleTop" android:launchMode="singleTop"
android:screenOrientation="portrait" /> android:screenOrientation="portrait" />
<activity android:name=".act.MedicalHistoryAct"
android:launchMode="singleTop"
android:screenOrientation="portrait" />
<activity android:name=".act.NSuanOpenAct"
android:launchMode="singleTop"
android:screenOrientation="portrait" />
<activity android:name=".act.NSuanHowOpenAct"
android:launchMode="singleTop"
android:screenOrientation="portrait" />
</application> </application>
</manifest> </manifest>

@ -65,7 +65,12 @@ class HealthMainAct : IBaseAct() {
super.initView() super.initView()
val deviceType = MMkvHelper.getString(Const.DEVICE_TYPE) val deviceType = MMkvHelper.getString(Const.DEVICE_TYPE)
tabName = when (deviceType) { tabName = arrayOf(
R.string.info_1, R.string.info_3, R.string.info_7,
R.string.info_4, R.string.info_6, R.string.info_2,
R.string.info_8, R.string.info_11/*, R.string.info_5,
R.string.info_10*/
) /*when (deviceType) {
"", "U32" -> { "", "U32" -> {
arrayOf( arrayOf(
R.string.info_1, R.string.info_3, R.string.info_7, R.string.info_1, R.string.info_3, R.string.info_7,
@ -79,7 +84,7 @@ class HealthMainAct : IBaseAct() {
arrayOf( arrayOf(
R.string.info_1, R.string.info_3, R.string.info_7, R.string.info_1, R.string.info_3, R.string.info_7,
R.string.info_4, R.string.info_6, R.string.info_2, R.string.info_4, R.string.info_6, R.string.info_2,
R.string.info_8, R.string.info_11/*, R.string.info_10*/ R.string.info_8, R.string.info_11*//*, R.string.info_10*//*
) )
} }
@ -87,10 +92,10 @@ class HealthMainAct : IBaseAct() {
arrayOf( arrayOf(
R.string.info_1, R.string.info_3, R.string.info_7, R.string.info_1, R.string.info_3, R.string.info_7,
R.string.info_6, R.string.info_2, R.string.info_8, R.string.info_6, R.string.info_2, R.string.info_8,
R.string.info_11/*, R.string.info_10*/ R.string.info_11*//*, R.string.info_10*//*
) )
} }
} }*/
statusBar(binding.title.mView) statusBar(binding.title.mView)
initTitle() initTitle()
@ -161,8 +166,8 @@ class HealthMainAct : IBaseAct() {
private fun initVp2() { private fun initVp2() {
listFragment.clear() listFragment.clear()
when (MMkvHelper.getString(Const.DEVICE_TYPE)) { /*when (MMkvHelper.getString(Const.DEVICE_TYPE)) {
"", "U32" -> { "", "U32" -> {*/
listFragment.add(setArgumentFrag(XinlvFrag(), id)) listFragment.add(setArgumentFrag(XinlvFrag(), id))
listFragment.add(setArgumentFrag(XueyangFrag(), id)) listFragment.add(setArgumentFrag(XueyangFrag(), id))
listFragment.add(setArgumentFrag(BreathFrag(), id)) listFragment.add(setArgumentFrag(BreathFrag(), id))
@ -173,7 +178,7 @@ class HealthMainAct : IBaseAct() {
listFragment.add(setArgumentFrag(UricAcidFrag(), id, sex)) listFragment.add(setArgumentFrag(UricAcidFrag(), id, sex))
// listFragment.add(setArgumentFrag(XdFrag(), id)) // listFragment.add(setArgumentFrag(XdFrag(), id))
// listFragment.add(setArgumentFrag(BloodFatFrag(), id)) // listFragment.add(setArgumentFrag(BloodFatFrag(), id))
} /* }
"A3" -> { "A3" -> {
listFragment.add(setArgumentFrag(XinlvFrag(), id)) listFragment.add(setArgumentFrag(XinlvFrag(), id))
@ -197,7 +202,7 @@ class HealthMainAct : IBaseAct() {
listFragment.add(setArgumentFrag(UricAcidFrag(), id, sex)) listFragment.add(setArgumentFrag(UricAcidFrag(), id, sex))
// listFragment.add(setArgumentFrag(BloodFatFrag(), id)) // listFragment.add(setArgumentFrag(BloodFatFrag(), id))
} }
} }*/
binding.mVp2.adapter = VpAdapter(listFragment, this) binding.mVp2.adapter = VpAdapter(listFragment, this)
binding.mVp2.isUserInputEnabled = false binding.mVp2.isUserInputEnabled = false

@ -3,7 +3,7 @@
<solid <solid
android:color="@color/white"/> android:color="@color/white"/>
<stroke <stroke
android:color="@color/col_25C" android:color="@color/col_02c"
android:width="1dp" android:width="1dp"
/> />
<corners <corners

@ -63,7 +63,7 @@
android:gravity="center_vertical" android:gravity="center_vertical"
android:text="添加" android:text="添加"
android:textStyle="bold" android:textStyle="bold"
android:textColor="@color/col_25C" android:textColor="@color/col_02c"
android:textSize="@dimen/sp_16" android:textSize="@dimen/sp_16"
tools:ignore="HardcodedText,UseCompatTextViewDrawableXml" /> tools:ignore="HardcodedText,UseCompatTextViewDrawableXml" />
@ -94,7 +94,7 @@
android:textSize="@dimen/sp_16" android:textSize="@dimen/sp_16"
android:textStyle="bold" android:textStyle="bold"
android:text="@string/blood_align_history" android:text="@string/blood_align_history"
android:textColor="@color/col_02b" /> android:textColor="@color/col_02c" />
<!-- 保存上传 --> <!-- 保存上传 -->
<TextView <TextView

@ -135,7 +135,7 @@
android:layout_marginRight="20dp" android:layout_marginRight="20dp"
android:textSize="18sp" android:textSize="18sp"
android:gravity="center" android:gravity="center"
android:textColor="@color/col_25C" android:textColor="@color/col_02c"
android:textStyle="bold" android:textStyle="bold"
android:background="@drawable/shape_bind_device_history"/> android:background="@drawable/shape_bind_device_history"/>
<TextView <TextView

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

@ -32,7 +32,7 @@ data class MainBean(
val uricAcidData: UricAcidData,//尿酸 val uricAcidData: UricAcidData,//尿酸
val caloriesData: String,//卡路里 val caloriesData: String,//卡路里
val bloodFatData: BloodFatData,//血脂 val bloodFatData: BloodFatData,//血脂
val bmiInfo: BMIInfoBean //bmi信息 val bmiInfo: BMIInfoBean? //bmi信息
) { ) {
//血脂 //血脂

Loading…
Cancel
Save