From 485b67d188bcefad3a68bd34d511d8675e25427a Mon Sep 17 00:00:00 2001 From: wlh <646507849@qq.com> Date: Tue, 19 Dec 2023 18:10:12 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=AD=E5=BB=BA365-=E7=BB=91=E5=AE=9A?= =?UTF-8?q?=E8=AE=BE=E5=A4=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/zj365/dc/activity/DeviceChoiceAct.kt | 16 +-- .../java/com/zj365/dc/activity/LoginAct.kt | 2 +- .../com/zj365/dc/activity/MainActivity.kt | 49 ++++++- .../zj365/dc/activity/MessageDetailNewAct.kt | 3 +- .../dc/activity/OneKeyBinderDeviceAct.kt | 12 +- .../java/com/zj365/dc/activity/WelcomeAct.kt | 4 +- .../zj365/dc/adapter/DeviceChoiceAdapter.kt | 6 +- .../zj365/dc/adapter/HomeMessageAdapter.kt | 3 +- .../dc/fragment/DynamicManagementFrag.kt | 12 +- .../com/zj365/dc/fragment/HealthHomeFrag.kt | 7 +- .../java/com/zj365/dc/fragment/MineFrag.kt | 10 +- .../java/com/zj365/dc/vm/DeviceChoiceVm.kt | 14 ++ .../com/zj365/dc/vm/DynamicManagementVm.kt | 16 +-- app/src/main/java/com/zj365/dc/vm/MainVm.kt | 91 +++++++++++++ app/src/main/res/menu/bottom_nav_bar.xml | 2 +- .../res/mipmap-xhdpi/icon_mine_select.png | Bin 884 -> 886 bytes .../com/xty/base/dialog/DialogActivities.kt | 44 +++++++ .../src/main/res/layout/dialog_activities.xml | 26 ++++ base/src/main/res/values/colors.xml | 2 + .../com/xty/common/event/AddSuccessEvent.kt | 4 + .../main/res/drawable/shape_r7_5f2_481.xml | 7 + .../main/res/mipmap-xxhdpi/ic_bloodsugar.png | Bin .../main/res/mipmap-xxhdpi/ic_h_breath.png | Bin .../src/main/res/mipmap-xxhdpi/ic_h_sleep.png | Bin .../main/res/mipmap-xxhdpi/ic_niaosuan.png | Bin .../src/main/res/mipmap-xxhdpi/ic_oo.png | Bin .../src/main/res/mipmap-xxhdpi/ic_steps.png | Bin .../src/main/res/mipmap-xxhdpi/ic_temp.png | Bin .../src/main/res/mipmap-xxhdpi/ic_xl.png | Bin .../src/main/res/mipmap-xxhdpi/ic_xya.png | Bin .../res/mipmap-xxhdpi/icon_about_logo.png | Bin 0 -> 21207 bytes .../res/mipmap-xxhdpi/icon_arrow_right.png | Bin 0 -> 1068 bytes .../src/main/res/mipmap-xxhdpi/icon_close.png | Bin 0 -> 5760 bytes .../res/mipmap-xxhdpi/icon_power_gray.png | Bin 0 -> 573 bytes .../res/mipmap-xxhdpi/icon_power_green.png | Bin 0 -> 587 bytes .../act/familyhealth/AddFamilyGuardianAct.kt | 5 +- .../act/familyhealth/FamilyHealthAct.kt | 55 +++++++- .../FamilyHealth/HealthFamilyAdapter.kt | 80 ++++++++++- .../FamilyHealth/HealthFamilyTargetAdapter.kt | 108 ++++++++++++++- .../HealthFamilyUserAvatorAdapter.kt | 8 +- .../com/zj365/health/fragment/SleepFrag.kt | 6 +- .../com/zj365/health/vm/FamilyHealthVm.kt | 31 +++++ .../com/zj365/health/weight/DialogTipNew.kt | 10 +- .../main/res/drawable/shape_title_section.xml | 2 +- .../src/main/res/layout/act_health_family.xml | 24 +++- .../src/main/res/layout/dialog_tip_toast.xml | 1 + .../main/res/layout/item_health_family.xml | 35 ++++- .../res/layout/item_health_family_target.xml | 13 +- .../main/java/com/zj365/mime/act/AboutAct.kt | 29 ++-- .../java/com/zj365/mime/act/DevInfoAct.kt | 17 ++- .../java/com/zj365/mime/act/SettingNewAct.kt | 6 +- .../com/zj365/mime/adapter/MessageAdapter.kt | 3 +- mine/src/main/res/layout/act_about.xml | 124 +++++------------- .../main/res/mipmap-xxhdpi/ic_bloodsugar.png | Bin 4865 -> 0 bytes .../main/res/mipmap-xxhdpi/ic_h_breath.png | Bin 8182 -> 0 bytes mine/src/main/res/mipmap-xxhdpi/ic_oo.png | Bin 5520 -> 0 bytes mine/src/main/res/mipmap-xxhdpi/ic_temp.png | Bin 5428 -> 0 bytes mine/src/main/res/mipmap-xxhdpi/ic_xl.png | Bin 4971 -> 0 bytes mine/src/main/res/mipmap-xxhdpi/ic_xya.png | Bin 4147 -> 0 bytes .../main/java/com/xty/network/ApiInterface.kt | 37 ++++++ .../java/com/xty/network/model/DeviceBean.kt | 2 +- .../com/xty/network/model/FamilyHealthBean.kt | 24 ++++ .../xty/network/model/InviteCustodyBean.kt | 4 + 63 files changed, 779 insertions(+), 175 deletions(-) create mode 100644 base/src/main/java/com/xty/base/dialog/DialogActivities.kt create mode 100644 base/src/main/res/layout/dialog_activities.xml create mode 100644 common/src/main/java/com/xty/common/event/AddSuccessEvent.kt create mode 100644 common/src/main/res/drawable/shape_r7_5f2_481.xml rename {app => common}/src/main/res/mipmap-xxhdpi/ic_bloodsugar.png (100%) rename {app => common}/src/main/res/mipmap-xxhdpi/ic_h_breath.png (100%) rename {app => common}/src/main/res/mipmap-xxhdpi/ic_h_sleep.png (100%) rename {app => common}/src/main/res/mipmap-xxhdpi/ic_niaosuan.png (100%) rename {app => common}/src/main/res/mipmap-xxhdpi/ic_oo.png (100%) rename {app => common}/src/main/res/mipmap-xxhdpi/ic_steps.png (100%) rename {app => common}/src/main/res/mipmap-xxhdpi/ic_temp.png (100%) rename {app => common}/src/main/res/mipmap-xxhdpi/ic_xl.png (100%) rename {app => common}/src/main/res/mipmap-xxhdpi/ic_xya.png (100%) create mode 100644 common/src/main/res/mipmap-xxhdpi/icon_about_logo.png create mode 100644 common/src/main/res/mipmap-xxhdpi/icon_arrow_right.png create mode 100644 common/src/main/res/mipmap-xxhdpi/icon_close.png create mode 100644 common/src/main/res/mipmap-xxhdpi/icon_power_gray.png create mode 100644 common/src/main/res/mipmap-xxhdpi/icon_power_green.png create mode 100644 health/src/main/java/com/zj365/health/vm/FamilyHealthVm.kt delete mode 100644 mine/src/main/res/mipmap-xxhdpi/ic_bloodsugar.png delete mode 100644 mine/src/main/res/mipmap-xxhdpi/ic_h_breath.png delete mode 100644 mine/src/main/res/mipmap-xxhdpi/ic_oo.png delete mode 100644 mine/src/main/res/mipmap-xxhdpi/ic_temp.png delete mode 100644 mine/src/main/res/mipmap-xxhdpi/ic_xl.png delete mode 100644 mine/src/main/res/mipmap-xxhdpi/ic_xya.png create mode 100644 network/src/main/java/com/xty/network/model/FamilyHealthBean.kt create mode 100644 network/src/main/java/com/xty/network/model/InviteCustodyBean.kt diff --git a/app/src/main/java/com/zj365/dc/activity/DeviceChoiceAct.kt b/app/src/main/java/com/zj365/dc/activity/DeviceChoiceAct.kt index 9dba305..25e68e0 100644 --- a/app/src/main/java/com/zj365/dc/activity/DeviceChoiceAct.kt +++ b/app/src/main/java/com/zj365/dc/activity/DeviceChoiceAct.kt @@ -1,7 +1,6 @@ package com.zj365.dc.activity import android.view.View -import androidx.core.content.ContextCompat import androidx.recyclerview.widget.LinearLayoutManager import com.alibaba.android.arouter.facade.annotation.Route import com.tamsiree.rxkit.RxActivityTool @@ -29,20 +28,18 @@ class DeviceChoiceAct : BaseVmAct() { private val deviceAdapter by lazy { DeviceChoiceAdapter() } private var isLogin = false - private val data = mutableListOf( - DeviceBean(R.mipmap.ic_watch_gs29u, "4G(GS29U)", 1), - DeviceBean(R.mipmap.ic_watch_ps360, "4G(PS360)", 1) - /* DeviceBean(R.mipmap.ic_watch_x1, "4G手表(X1)", 1), - DeviceBean(R.mipmap.ic_blutooth_watch, "蓝牙手表(U32)", 0)*/ - ) override fun liveObserver() { + mViewModel.deviceTypeListLiveData.observe(this){ + deviceAdapter.setNewInstance(it.data) + } } override fun initData() { super.initData() isLogin = intent.getBooleanExtra("isLogin", false) + } override fun initView() { @@ -62,11 +59,11 @@ class DeviceChoiceAct : BaseVmAct() { layoutManager = LinearLayoutManager(this@DeviceChoiceAct) adapter = deviceAdapter } - deviceAdapter.setNewInstance(data) + deviceAdapter.setOnItemClickListener { adapter, _, position -> val device = adapter.data[position] as DeviceBean - val type = device.type + val type = device.watchType if (type != 0) { bundle.clear() bundle.putInt("type", type) @@ -92,6 +89,7 @@ class DeviceChoiceAct : BaseVmAct() { } } } + mViewModel.getDeviceType() } override fun onBackPressed() { diff --git a/app/src/main/java/com/zj365/dc/activity/LoginAct.kt b/app/src/main/java/com/zj365/dc/activity/LoginAct.kt index 7118e11..f8d03fa 100644 --- a/app/src/main/java/com/zj365/dc/activity/LoginAct.kt +++ b/app/src/main/java/com/zj365/dc/activity/LoginAct.kt @@ -47,7 +47,7 @@ class LoginAct : BaseVmAct() { val dialogBind by lazy { - DialogTipNew(this, "恭喜您成为中健三六五大家庭的医院,为了提供更好的信息服务,请完善您的基本信息。", "前往","取消",false,{ + DialogTipNew(this,"温馨提示", "恭喜您成为中健三六五大家庭的医院,为了提供更好的信息服务,请完善您的基本信息。", "前往","取消",false,{ RouteManager.goAct(ARouterUrl.BASE_INFO_CHANGE) }){ EventBus.getDefault().post(LoginOrRegisterEvent()) diff --git a/app/src/main/java/com/zj365/dc/activity/MainActivity.kt b/app/src/main/java/com/zj365/dc/activity/MainActivity.kt index 8f208c5..80b1216 100644 --- a/app/src/main/java/com/zj365/dc/activity/MainActivity.kt +++ b/app/src/main/java/com/zj365/dc/activity/MainActivity.kt @@ -21,6 +21,7 @@ import com.alibaba.android.arouter.facade.annotation.Route import com.alibaba.fastjson.JSON import com.amap.api.location.AMapLocationClient import com.amap.api.location.AMapLocationClientOption +import com.blankj.utilcode.util.ArrayUtils import com.google.android.material.bottomnavigation.BottomNavigationItemView import com.google.android.material.bottomnavigation.BottomNavigationMenuView import com.lifesense.android.ble.core.serializer.AbstractMeasureData @@ -31,6 +32,7 @@ import com.tencent.qcloud.tuicore.TUIConstants import com.tencent.qcloud.tuikit.tuichat.util.PermissionHelper import com.xty.base.act.BaseVmAct import com.xty.base.dialog.AppUpdateDialog +import com.xty.base.dialog.DialogActivities import com.xty.base.vp2.VpAdapter import com.xty.common.Const import com.xty.common.MMkvHelper @@ -38,10 +40,13 @@ import com.xty.common.aMapUtils.AmapInit import com.xty.common.arouter.ARouterUrl import com.xty.common.arouter.RouteManager import com.xty.common.bracelet.checkBlueConnectPermission +import com.xty.common.event.LoginOrRegisterEvent import com.xty.common.event.MeasureWeightEvent import com.xty.common.event.MqttReceive import com.xty.common.util.CommonToastUtils +import com.xty.common.util.CommonUtils import com.xty.common.util.ViewScreenshotUtils +import com.xty.network.model.InviteCustodyBean import com.zj365.dc.BuildConfig import com.zj365.dc.R import com.zj365.dc.databinding.ActivityMainBinding @@ -52,6 +57,7 @@ import com.zj365.dc.fragment.MineFrag import com.zj365.dc.vm.MainVm import com.zj365.health.act.binddevice.BaseDeviceBindListAct import com.zj365.health.act.binddevice.BlueUtil +import com.zj365.health.weight.DialogTipNew import com.zj365.mime.act.DevInfoAct import io.reactivex.functions.Consumer import kotlinx.coroutines.delay @@ -79,6 +85,8 @@ class MainActivity : BaseVmAct(), Consumer { private var mLocationClient: AMapLocationClient? = null private var mLocationOption: AMapLocationClientOption? = null + var inviteCustodyBean:InviteCustodyBean? = null + private val dialog by lazy { AppUpdateDialog(this) { if (it) { @@ -87,6 +95,19 @@ class MainActivity : BaseVmAct(), Consumer { } } + val dialogInvite by lazy { + DialogTipNew(this, "监护邀请","138****3415用户邀请您成为 监护人", "确认","取消",false,{ + inviteCustodyBean?.let { + mViewModel.confirmInvite(it.id,"1") + } + }){ + inviteCustodyBean?.let { + mViewModel.confirmInvite(it.id,"0") + } + } + + } + private fun initUnreadCountReceiver() { unreadCountReceiver = object : BroadcastReceiver() { override fun onReceive(context: Context, intent: Intent) { @@ -124,7 +145,7 @@ class MainActivity : BaseVmAct(), Consumer { initVp2() initBottomNav() addNv() -// mViewModel.getVersionNew() + mViewModel.getVersionNew() initUnreadCountReceiver() JPushInterface.setBadgeNumber(this, 0) @@ -135,6 +156,9 @@ class MainActivity : BaseVmAct(), Consumer { MMkvHelper.getLong(Const.USER_ID).toString() } mViewModel.getUserEquipmentInformationizationRequest(userId) + mViewModel.getBanners(userId,3) + mViewModel.getIsDemonstate() + mViewModel.searchInviteInfo() // mViewModel.getBindList(BaseDeviceBindListAct.DeviceType.BODYFAT.type) } @@ -261,6 +285,29 @@ class MainActivity : BaseVmAct(), Consumer { } } + mViewModel.isDemonstrateData.observe(this){ + isDemonstrate = it.data == "1" + } + + mViewModel.findInfoLiveData.observe(this){ + if (it.data != null){ + inviteCustodyBean = it.data + dialogInvite.setContentNew("${CommonUtils.replaceMiddleNumber(it.data.phone)}用户邀请您成为 监护人") + dialogInvite.show() + } + + } + + mViewModel.bannerLive.observe(this){ + + it[3]?.let { + if(it != null && it.size > 0){ + // DialogActivities(this,it[0].imgUrl).show() + } + } + + } + //未读消息操作 /* mViewModel.countLive.observe(this) { setUnreadcount(it.data.count) diff --git a/app/src/main/java/com/zj365/dc/activity/MessageDetailNewAct.kt b/app/src/main/java/com/zj365/dc/activity/MessageDetailNewAct.kt index 6b82632..1d23dd6 100644 --- a/app/src/main/java/com/zj365/dc/activity/MessageDetailNewAct.kt +++ b/app/src/main/java/com/zj365/dc/activity/MessageDetailNewAct.kt @@ -1,5 +1,6 @@ package com.zj365.dc.activity +import android.text.Html import android.view.View import com.alibaba.android.arouter.facade.annotation.Route import com.xty.base.act.BaseVmAct @@ -39,7 +40,7 @@ class MessageDetailNewAct: BaseVmAct() { msgBean?.let { binding.tvMsgTitle.text = it.notifyTitle binding.tvMsgTime.text = Dateutils.formatTime(it.notifyCreateTime,Dateutils.YYYY_MM_DD_HH_MM) - binding.tvMsgContent.text = it.notifyContent + binding.tvMsgContent.text = Html.fromHtml(it.notifyContent) } diff --git a/app/src/main/java/com/zj365/dc/activity/OneKeyBinderDeviceAct.kt b/app/src/main/java/com/zj365/dc/activity/OneKeyBinderDeviceAct.kt index 1d3905f..0139149 100644 --- a/app/src/main/java/com/zj365/dc/activity/OneKeyBinderDeviceAct.kt +++ b/app/src/main/java/com/zj365/dc/activity/OneKeyBinderDeviceAct.kt @@ -4,10 +4,12 @@ import android.content.Intent import android.view.View import com.alibaba.android.arouter.facade.annotation.Route import com.google.gson.Gson +import com.tamsiree.rxkit.RxActivityTool import com.tencent.qcloud.tuikit.tuichat.util.PermissionHelper import com.xty.base.act.BaseVmAct import com.xty.common.LogUtils import com.xty.common.arouter.ARouterUrl +import com.xty.common.util.CommonToastUtils import com.xty.common.xqr_code.XQRCodeAct import com.xuexiang.xqrcode.XQRCode import com.zj365.dc.databinding.ActBinderDeviceOneKeyBinding @@ -19,6 +21,10 @@ class OneKeyBinderDeviceAct : BaseVmAct() { val binding by lazy { ActBinderDeviceOneKeyBinding.inflate(layoutInflater) } override fun liveObserver() { + mViewModel.bindResult.observe(this){ + CommonToastUtils.showToast("绑定成功") + finish() + } } @@ -33,7 +39,8 @@ class OneKeyBinderDeviceAct : BaseVmAct() { startScan() } binding.tvBackHome.setOnClickListener { - + RxActivityTool.finishActivity(DeviceChoiceAct::class.java) + finish() } } @@ -74,8 +81,7 @@ class OneKeyBinderDeviceAct : BaseVmAct() { LogUtils.d("扫描结果:$result") binding.tvErrorMsg.visibility = View.GONE if (!result.isNullOrEmpty()) { - val gson = Gson() - var scanInfoBean = gson.fromJson(result, ScanInfoBean::class.java) + mViewModel.binderDevice(result) } else { binding.tvErrorMsg.visibility = View.VISIBLE binding.tvScan.text = "继续绑定" diff --git a/app/src/main/java/com/zj365/dc/activity/WelcomeAct.kt b/app/src/main/java/com/zj365/dc/activity/WelcomeAct.kt index 099642d..81a300c 100644 --- a/app/src/main/java/com/zj365/dc/activity/WelcomeAct.kt +++ b/app/src/main/java/com/zj365/dc/activity/WelcomeAct.kt @@ -137,8 +137,8 @@ class WelcomeAct : BaseVmAct() { mainScope.launch(Dispatchers.IO) { LogUtils.d("BlueTooth Connect!!!") - YCBBlueConnectHelper.connectionBlueTooth(mac, true) { - } + /* YCBBlueConnectHelper.connectionBlueTooth(mac, true) { + }*/ } } diff --git a/app/src/main/java/com/zj365/dc/adapter/DeviceChoiceAdapter.kt b/app/src/main/java/com/zj365/dc/adapter/DeviceChoiceAdapter.kt index 42a74c5..1520b05 100644 --- a/app/src/main/java/com/zj365/dc/adapter/DeviceChoiceAdapter.kt +++ b/app/src/main/java/com/zj365/dc/adapter/DeviceChoiceAdapter.kt @@ -1,15 +1,17 @@ package com.zj365.dc.adapter +import android.widget.ImageView import com.chad.library.adapter.base.viewholder.BaseViewHolder import com.xty.base.adapter.BaseAdapter +import com.xty.common.setImage import com.xty.network.model.DeviceBean import com.zj365.dc.R class DeviceChoiceAdapter:BaseAdapter(R.layout.item_device_choice) { override fun convert(holder: BaseViewHolder, item: DeviceBean) { - holder.setImageResource(R.id.iv_device_icon,item.resId) - holder.setText(R.id.tv_device_name,item.name) + holder.getView(R.id.iv_device_icon).setImage(context,item.imageUrl) + holder.setText(R.id.tv_device_name,"${item.watchTypeName}(${item.deviceType})") } } \ No newline at end of file diff --git a/app/src/main/java/com/zj365/dc/adapter/HomeMessageAdapter.kt b/app/src/main/java/com/zj365/dc/adapter/HomeMessageAdapter.kt index 7bea6f7..5f0bff7 100644 --- a/app/src/main/java/com/zj365/dc/adapter/HomeMessageAdapter.kt +++ b/app/src/main/java/com/zj365/dc/adapter/HomeMessageAdapter.kt @@ -1,5 +1,6 @@ package com.zj365.dc.adapter +import android.text.Html import android.text.TextUtils import android.view.View import android.view.ViewGroup @@ -23,7 +24,7 @@ class HomeMessageAdapter : BaseAdapter(R.layout.item_home_message holder.getView(R.id.img_msg).setImageDrawable(context.resources.getDrawable(R.mipmap.icon_msg_welfare)) } holder.setText(R.id.tv_msg_title,item.name) - holder.setText(R.id.tv_msg_content,item.msg) + holder.setText(R.id.tv_msg_content, Html.fromHtml(item.msg)) if(!TextUtils.isEmpty(item.time)){ holder.setText(R.id.tv_msg_time,Dateutils.formatTime(item.time.toLong(),Dateutils.YYYY_MM_DD_HH_MM)) } diff --git a/app/src/main/java/com/zj365/dc/fragment/DynamicManagementFrag.kt b/app/src/main/java/com/zj365/dc/fragment/DynamicManagementFrag.kt index 321a603..50f0a5b 100644 --- a/app/src/main/java/com/zj365/dc/fragment/DynamicManagementFrag.kt +++ b/app/src/main/java/com/zj365/dc/fragment/DynamicManagementFrag.kt @@ -36,6 +36,7 @@ import com.xty.common.bracelet.YCBOrder import com.xty.common.bracelet.checkBlueConnectPermission import com.xty.common.bracelet.getBluePermission import com.xty.common.bracelet.isGpsOpen +import com.xty.common.event.AddSuccessEvent import com.xty.common.event.BlueToothConnectEvent import com.xty.common.event.ChangeFamilyEvent import com.xty.common.event.FamilyEvent @@ -1104,7 +1105,7 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission signDialog.show() } } - if (CommonUtils.isBlueTooth(MMkvHelper.getInt(Const.Watch_Device_Type))) {//如果是蓝牙设备 + /* if (CommonUtils.isBlueTooth(MMkvHelper.getInt(Const.Watch_Device_Type))) {//如果是蓝牙设备 startGetDeviceInfoLive() if (settingBean.user.bluetooth != MMkvHelper.getString(Const.Blue_Tooth)) {//如果不是同一设备 YCBBlueConnectHelper.disconnect()//断开蓝牙,断开后收到BlueToothConnectEvent会自动连接 @@ -1114,7 +1115,7 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission mainUIUpdate(YCBBlueConnectHelper.BLEConnectState.Connecting)//刷新蓝牙连接状态 connect(settingBean.user.bluetooth) } - } + }*/ } if (Const.Companion.WatchDevice.LightA3.ordinal == Const.watchType) {//如果是4G设备,设置连接状态与电量信息 @@ -1669,7 +1670,7 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission //家人信息改变 刷新 @Subscribe(threadMode = ThreadMode.MAIN) fun familyChange(event: FamilyEvent) { - mViewModel.getMyFamilyList() + // mViewModel.getMyFamilyList() } /** @@ -1741,4 +1742,9 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission override fun onPermissionsDenied(requestCode: Int, perms: MutableList) { } + + @Subscribe(threadMode = ThreadMode.MAIN) + fun addSuccess(event: AddSuccessEvent){ + request() + } } \ No newline at end of file diff --git a/app/src/main/java/com/zj365/dc/fragment/HealthHomeFrag.kt b/app/src/main/java/com/zj365/dc/fragment/HealthHomeFrag.kt index 000bddb..3d009c1 100644 --- a/app/src/main/java/com/zj365/dc/fragment/HealthHomeFrag.kt +++ b/app/src/main/java/com/zj365/dc/fragment/HealthHomeFrag.kt @@ -290,7 +290,7 @@ HealthHomeFrag : BaseVmFrag() { } else ->{ - + CommonToastUtils.showToast("敬请期待") } } } @@ -507,7 +507,7 @@ HealthHomeFrag : BaseVmFrag() { private fun request() { mViewModel.getBanners(CommonUtils.getMyUserId(),1)//当期登录用户id - mViewModel.getMyFamilyList() + // mViewModel.getMyFamilyList() mViewModel.getScinceList() @@ -596,6 +596,7 @@ HealthHomeFrag : BaseVmFrag() { if (position == mFamilyAdapter.data.size - 1) { //第一期暂不做 /* onEventObject(requireContext(), UmengEventId.Family) RouteManager.goAct(ARouterUrl.BIND_FAMILY)*/ + RouteManager.goAct(ARouterUrl.FAMILY_HEALTH_ACT) } else { var bean = adapter.getItem(position) as FamilyBean showIdInfo = if (bean.id == 0) { @@ -643,7 +644,7 @@ HealthHomeFrag : BaseVmFrag() { //家人信息改变 刷新 @Subscribe(threadMode = ThreadMode.MAIN) fun familyChange(event: FamilyEvent) { - mViewModel.getMyFamilyList() + // mViewModel.getMyFamilyList() } diff --git a/app/src/main/java/com/zj365/dc/fragment/MineFrag.kt b/app/src/main/java/com/zj365/dc/fragment/MineFrag.kt index 3600b37..6c816cb 100644 --- a/app/src/main/java/com/zj365/dc/fragment/MineFrag.kt +++ b/app/src/main/java/com/zj365/dc/fragment/MineFrag.kt @@ -12,6 +12,7 @@ import com.xty.common.* import com.xty.common.arouter.ARouterUrl import com.xty.common.arouter.RouteManager import com.xty.common.bracelet.YCBBlueConnectHelper +import com.xty.common.event.AddSuccessEvent import com.xty.common.event.LoginOrRegisterEvent import com.xty.common.event.LoginOutEvent import com.xty.common.event.MyInfoEvent @@ -339,8 +340,8 @@ class MineFrag : BaseVmFrag(),EasyPermissions.PermissionCallbacks { mViewModel.unbindLive.observe(this) { user!!.bluetooth = "" - YCBBlueConnectHelper.disconnect() - YCBBlueConnectHelper.cancelTimer() + /* YCBBlueConnectHelper.disconnect() + YCBBlueConnectHelper.cancelTimer()*/ EventBus.getDefault().post(MyInfoEvent()) //刷新个人信息 } /* mViewModel.signLive.observe(this) { @@ -382,6 +383,11 @@ class MineFrag : BaseVmFrag(),EasyPermissions.PermissionCallbacks { refreshLogoutUI() } + @Subscribe(threadMode = ThreadMode.MAIN) + fun addSuccess(event: AddSuccessEvent){ + mViewModel.getMySetting() + mViewModel.getScore(1) + } diff --git a/app/src/main/java/com/zj365/dc/vm/DeviceChoiceVm.kt b/app/src/main/java/com/zj365/dc/vm/DeviceChoiceVm.kt index 07561f3..3f091ac 100644 --- a/app/src/main/java/com/zj365/dc/vm/DeviceChoiceVm.kt +++ b/app/src/main/java/com/zj365/dc/vm/DeviceChoiceVm.kt @@ -1,7 +1,21 @@ package com.zj365.dc.vm +import androidx.lifecycle.MutableLiveData import com.xty.base.vm.BaseVm +import com.xty.network.model.DeviceBean +import com.xty.network.model.RespBody +import org.json.JSONObject class DeviceChoiceVm:BaseVm() { + val deviceTypeListLiveData by lazy { MutableLiveData>> ()} + + fun getDeviceType(){ + startHttp { + var json = JSONObject() + val response = apiInterface().getDeviceTypeList(retrofits.getRequestBody(json.toString())) + response.getCodeStatus(deviceTypeListLiveData, nowData) + } + } + } \ No newline at end of file diff --git a/app/src/main/java/com/zj365/dc/vm/DynamicManagementVm.kt b/app/src/main/java/com/zj365/dc/vm/DynamicManagementVm.kt index d8a27c2..78b56a3 100644 --- a/app/src/main/java/com/zj365/dc/vm/DynamicManagementVm.kt +++ b/app/src/main/java/com/zj365/dc/vm/DynamicManagementVm.kt @@ -261,8 +261,8 @@ class DynamicManagementVm : BaseVm() { ): MutableList { val healthMonitoringList: MutableList = mutableListOf() bean.apply { - when (deviceType) { - "U32", "" -> { //其他界面要用到是否为x1,x2的设备判断,这里坐下缓存 + /*when (deviceType) { + "U32", "" -> { //其他界面要用到是否为x1,x2的设备判断,这里坐下缓存*/ MMkvHelper.put(Const.X1_X2_Device, false) //心率 val statusXL = if (hrData.hr == 0) { @@ -702,9 +702,9 @@ class DynamicManagementVm : BaseVm() { 10 ) )*/ - } +// } - "A3" -> { + /*"A3" -> { //其他界面要用到是否为x1,x2的设备判断,这里坐下缓存 MMkvHelper.put(Const.X1_X2_Device, false) //心率 @@ -1106,8 +1106,8 @@ class DynamicManagementVm : BaseVm() { 10 ) ) - } - + }*/ +/* "X2", "X1" -> { //其他界面要用到是否为x1,x2的设备判断,这里坐下缓存 MMkvHelper.put(Const.X1_X2_Device, true) @@ -1474,8 +1474,8 @@ class DynamicManagementVm : BaseVm() { 10 ) ) - } - } + }*/ +// } } return healthMonitoringList } diff --git a/app/src/main/java/com/zj365/dc/vm/MainVm.kt b/app/src/main/java/com/zj365/dc/vm/MainVm.kt index 03b2f7f..c6a6753 100644 --- a/app/src/main/java/com/zj365/dc/vm/MainVm.kt +++ b/app/src/main/java/com/zj365/dc/vm/MainVm.kt @@ -5,13 +5,20 @@ import android.content.Context import androidx.lifecycle.MutableLiveData import androidx.lifecycle.viewModelScope import com.xty.base.vm.BaseVm +import com.xty.common.Const +import com.xty.common.MMkvHelper import com.xty.common.util.CommonUtils +import com.xty.network.model.BannerBean import com.xty.network.model.BindDeviceListBean +import com.xty.network.model.InviteCustodyBean import com.xty.network.model.RespBody import com.xty.network.model.UnReadMessageBean import com.xty.network.model.Update import com.xty.network.model.UserEquipmentInformationizationBean +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.async import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext import org.json.JSONObject class MainVm : BaseVm() { @@ -24,6 +31,15 @@ class MainVm : BaseVm() { val saveSuccess by lazy { MutableLiveData>() } val boundDevices by lazy{MutableLiveData>>()} + + val bannerLive by lazy { MutableLiveData>>() } + + val isDemonstrateData by lazy { MutableLiveData>() } + + val findInfoLiveData by lazy { MutableLiveData>() } + + val confirmInviteLiveData by lazy { MutableLiveData>() } + /** * 设备类型1,血压计,2,血糖仪.3体脂秤 */ @@ -91,4 +107,79 @@ class MainVm : BaseVm() { response.getCodeStatus(getUserEquipmentInformationization, nowData) } } + + fun getBanners(id: String?,location:Int){ + startHttp(false) { + + withContext(Dispatchers.IO){ + val userId = if (MMkvHelper.getLong(Const.USER_ID).toString() == "0") { + "" + } else { + MMkvHelper.getLong(Const.USER_ID).toString() + } + var nowLine = async{apiInterface().getBanners(userId,location)} + var showInfo = nowLine.await() + // var value=apiInterface().getBanners(retrofits.getRequestBody(json.toString())) + var dataMap = setMapValue(bannerLive.value,showInfo.data,location) + if (dataMap != null){ + bannerLive.postValue(dataMap) + } + // value.getCodeStatus(bannerLive,nowData) + } + + } + } + + fun getIsDemonstate(){ + startHttp(false) { + + withContext(Dispatchers.IO){ + val userId = if (MMkvHelper.getLong(Const.USER_ID).toString() == "0") { + "" + } else { + MMkvHelper.getLong(Const.USER_ID).toString() + } + var json = JSONObject() + json.put("id", userId) + val response = apiInterface().getIsDemonstrate(retrofits.getRequestBody(json.toString())) + // value.getCodeStatus(bannerLive,nowData) + response.getCodeStatus(isDemonstrateData,nowData) + } + + } + } + + fun searchInviteInfo(){ + startHttp(false) { + var json = JSONObject() + val response = apiInterface().findConfirmInfo(retrofits.getRequestBody(json.toString())) + response.getCodeStatus(findInfoLiveData, nowData) + } + } + + fun confirmInvite(id:String, status:String){ + startHttp(false) { + var json = JSONObject() + json.put("id",id) + json.put("status",status) + val response = apiInterface().confirmInvited(retrofits.getRequestBody(json.toString())) + response.getCodeStatus(confirmInviteLiveData,nowData) + } + + } + + fun setMapValue(map: MutableMap>?, list: MutableList?, type: Int): MutableMap>? { + if (list == null) { + return null + } else { //当得到的值不是空的时候 + var mapNew = mutableMapOf>() + if (map == null) { + mapNew[type] = list + return mapNew + } else { + map[type] = list + return map + } + } + } } \ No newline at end of file diff --git a/app/src/main/res/menu/bottom_nav_bar.xml b/app/src/main/res/menu/bottom_nav_bar.xml index 8c12d14..980abb8 100644 --- a/app/src/main/res/menu/bottom_nav_bar.xml +++ b/app/src/main/res/menu/bottom_nav_bar.xml @@ -16,7 +16,7 @@ gL_t(oN4=O!XcJKwh0nQZMNpw)1wj{rVqJ&}AJj+9M8Sm$ z3L>Qo-3UGq&7=zTu`w!wB9a+VBqHcm+^C2fp~h_-4o zcQUtTJLmt-mwUOnNr*VFZm&fpa0K950F(ZK`UK*Z9*`_nWq+PUtzy)HYF-s`StuR^ zI4+za-$9<#N%t@S3C~v&(d7!+2CAkj1UH(NRC7XJlfIr!XumpWG8qgz@vRXvdFQ zS#!B!ZjGY46@ON2`dkC+;J7t;#&W9YT>!bwv^+E?xTsTZO`fqFOa222T0=_>0|Go0 z$6aD&TUqp9l9*-K9U2qCD@nPt?Z^fGGaHBD*Job&P&jUjExEe{mW3{fVL*U;;<(GL z$f=Tl8iKus-3Br7w3F$yB8P(4rWAV&T8$!Fm_#aFlYeJ?TFdt^gEMytS!&c?BP8H` zanj{2t@$M&iX70LTdor7PE0w`KpPzQUKl5u8~|1H4uL!#1|Ib}*`<@|Qzr9~<;qYM zcqahvHz^pAAy4UKy32H~F1aCi(cePiG=ZsMWdigI*@a~Ka#(iw^ZMn=ltQjaDU}hC z4w8R;pnnSRlv-cafQOZxAEJnrv+?AHxAmNz13fSe!YQD#23-> zNSHVVXHWOY15wB}C{E6U*c$Dfk3m}Gs7_@L|9{$63qSd+T57E~SLAxUR;BsCDm^Al zAn%6cRN$Wjuq!6d`uLC>i+(SOh1TgYfz_3J17Lbgmi6(<$_4&w0yC}CV*;yk0fA&p zmi6(z0mm)xJk(Y9r^=CU9=)7MDQYEbm%HwD#AfZ=AWC=ljoolr zNq4?!N8IN6J@51U`2NpFDB`P|eA84WyKWND4PfU6R^I@OCx4Tx1M?kivv#A%Zo!&f z(INvxbR9ssfX51edvVp<4}b;qS&4nPU{H2fR*eBTAsVu#W8jJTF?JF?Jt>h|+i-5( z7zJ=n#C#(SgGWr&cTuF?7M!9*j}h@x5#vG{=Jath(DKa6M;vZu#-$|XcLX$AnOe0o z5HscE0kpQR7Jt$T!!>B(E{UXZt6bPV@PbliPM86o;tZT_%sR0c^7g!#sd}57fzymB zA{=(E=P+#syzNfG4H4mrV{o8hQ}tYS1g>5;I?8}oPJh7>QD@BWDd;D>S~KUc5{ga{ zbD&s2Celp5Co`l4F9CMo(4a-yC8Eh9;W#aEN8*rg+RDckT*gcZMQ;%E9V_Ea+ll+) ze&3)-y=}NZfW}>7ToVacuc5)X>gf}$`zN?8pl+Nd#t;ZKmSK!ffYcWcG(WP`<_Z28 zF5^)fiGS>pSENhC+zVi%4fQ=UKTcL)_=C^))ecxjTNGS=SbfN7EF)W)~=5?-*P$5S!KhpKwYzTtmOOI>jt+MX%&M%gcde>LA^@BKb4KJnda~4j~qay^qP)cOEIj88683G+FNjSG|ECASBs&Mm}qq0Qd zqAvmNEKRtOaUP8OB?(s>oUd?IF2@1vD-}Rygmas4{Zyo_Ori-8c5F8wGnQ5*QrF!| z>Phss%`)UMfcI|~AOqnvxOYzV#s9uCW!~XdU0p=n4Nx@$TYmTxkYw;8r|EfOVfMw^ av+Qr3HVVC}Fu=?J0000() { + override fun onResourceReady( + resource: Bitmap, + transition: Transition? + ) { + if (resource != null) { + binding.imgActivies.setImageBitmap(resource) + } + } + })*/ + } + binding.imgClose.setOnClickListener { dismiss() } + + binding.imgActivies.setOnClickListener { + + } + } +} \ No newline at end of file diff --git a/base/src/main/res/layout/dialog_activities.xml b/base/src/main/res/layout/dialog_activities.xml new file mode 100644 index 0000000..e41d590 --- /dev/null +++ b/base/src/main/res/layout/dialog_activities.xml @@ -0,0 +1,26 @@ + + + + + + + + \ No newline at end of file diff --git a/base/src/main/res/values/colors.xml b/base/src/main/res/values/colors.xml index 011e5fd..2da36ac 100644 --- a/base/src/main/res/values/colors.xml +++ b/base/src/main/res/values/colors.xml @@ -39,4 +39,6 @@ #00000000 #f74c31 #6EA8F6 + #FDA481 + #F7891D \ No newline at end of file diff --git a/common/src/main/java/com/xty/common/event/AddSuccessEvent.kt b/common/src/main/java/com/xty/common/event/AddSuccessEvent.kt new file mode 100644 index 0000000..968b61a --- /dev/null +++ b/common/src/main/java/com/xty/common/event/AddSuccessEvent.kt @@ -0,0 +1,4 @@ +package com.xty.common.event + +class AddSuccessEvent { +} \ No newline at end of file diff --git a/common/src/main/res/drawable/shape_r7_5f2_481.xml b/common/src/main/res/drawable/shape_r7_5f2_481.xml new file mode 100644 index 0000000..1a60f8e --- /dev/null +++ b/common/src/main/res/drawable/shape_r7_5f2_481.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-xxhdpi/ic_bloodsugar.png b/common/src/main/res/mipmap-xxhdpi/ic_bloodsugar.png similarity index 100% rename from app/src/main/res/mipmap-xxhdpi/ic_bloodsugar.png rename to common/src/main/res/mipmap-xxhdpi/ic_bloodsugar.png diff --git a/app/src/main/res/mipmap-xxhdpi/ic_h_breath.png b/common/src/main/res/mipmap-xxhdpi/ic_h_breath.png similarity index 100% rename from app/src/main/res/mipmap-xxhdpi/ic_h_breath.png rename to common/src/main/res/mipmap-xxhdpi/ic_h_breath.png diff --git a/app/src/main/res/mipmap-xxhdpi/ic_h_sleep.png b/common/src/main/res/mipmap-xxhdpi/ic_h_sleep.png similarity index 100% rename from app/src/main/res/mipmap-xxhdpi/ic_h_sleep.png rename to common/src/main/res/mipmap-xxhdpi/ic_h_sleep.png diff --git a/app/src/main/res/mipmap-xxhdpi/ic_niaosuan.png b/common/src/main/res/mipmap-xxhdpi/ic_niaosuan.png similarity index 100% rename from app/src/main/res/mipmap-xxhdpi/ic_niaosuan.png rename to common/src/main/res/mipmap-xxhdpi/ic_niaosuan.png diff --git a/app/src/main/res/mipmap-xxhdpi/ic_oo.png b/common/src/main/res/mipmap-xxhdpi/ic_oo.png similarity index 100% rename from app/src/main/res/mipmap-xxhdpi/ic_oo.png rename to common/src/main/res/mipmap-xxhdpi/ic_oo.png diff --git a/app/src/main/res/mipmap-xxhdpi/ic_steps.png b/common/src/main/res/mipmap-xxhdpi/ic_steps.png similarity index 100% rename from app/src/main/res/mipmap-xxhdpi/ic_steps.png rename to common/src/main/res/mipmap-xxhdpi/ic_steps.png diff --git a/app/src/main/res/mipmap-xxhdpi/ic_temp.png b/common/src/main/res/mipmap-xxhdpi/ic_temp.png similarity index 100% rename from app/src/main/res/mipmap-xxhdpi/ic_temp.png rename to common/src/main/res/mipmap-xxhdpi/ic_temp.png diff --git a/app/src/main/res/mipmap-xxhdpi/ic_xl.png b/common/src/main/res/mipmap-xxhdpi/ic_xl.png similarity index 100% rename from app/src/main/res/mipmap-xxhdpi/ic_xl.png rename to common/src/main/res/mipmap-xxhdpi/ic_xl.png diff --git a/app/src/main/res/mipmap-xxhdpi/ic_xya.png b/common/src/main/res/mipmap-xxhdpi/ic_xya.png similarity index 100% rename from app/src/main/res/mipmap-xxhdpi/ic_xya.png rename to common/src/main/res/mipmap-xxhdpi/ic_xya.png diff --git a/common/src/main/res/mipmap-xxhdpi/icon_about_logo.png b/common/src/main/res/mipmap-xxhdpi/icon_about_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..4dd0970db587952ad356cc2eea896fdc0c154e36 GIT binary patch literal 21207 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 XzyR6&bvK$+NoQ(gdA;7iE#dzF2~6ZO literal 0 HcmV?d00001 diff --git a/common/src/main/res/mipmap-xxhdpi/icon_arrow_right.png b/common/src/main/res/mipmap-xxhdpi/icon_arrow_right.png new file mode 100644 index 0000000000000000000000000000000000000000..e5c2aaec34705a01a02c889f649256a4d13d7fc3 GIT binary patch literal 1068 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 LNkvXXu0mjfWo!a6 literal 0 HcmV?d00001 diff --git a/common/src/main/res/mipmap-xxhdpi/icon_power_green.png b/common/src/main/res/mipmap-xxhdpi/icon_power_green.png new file mode 100644 index 0000000000000000000000000000000000000000..99a713f7e01d17704e5710c3304c80b1bd5e5601 GIT binary patch literal 587 zcmV-R0<`^!P)Px%1xZ9fR7gwhl}~FEQ540`xi5*dQL)sD#Z`;eMFpWt1t%^d=*o}Kox4QDRY6h^ zM2ZV%>c&qX_z6UWWFl%8f(wO;(9#M*(Keg3lBAh?C4WlOL=AP}Di7XbF8BTB%z4AP zME9DX7vyr*EEg8fIEO`3O9Qqhlsk1V^AZ5t$C`b64?yT&65~zKhCwLI3`P$_iHoSz z01-g74B#1rWtb6aRL9p%h|34FCiVpJSQ1WvmJYzIwf9z|oBQu=maFv&u@oGaD)NZQ z45DZO##Io~^O-$`hEh2J=p0cD#sszw#fGM`ll>1L>~KYYiO4@XDH2-+xT)ShK*Hcn z8xmgutfb!Ui9;(1gSQLEasiR{vB%09A?+L%dLhN& z6NS_LAthU5AC}6VWx@YUC+DI4q5#`!?wVutu$A^^ zYi3xtRCb!7|BXk7#`{J=r3wX8&g@=09ur?0Q%a9;0$)$>U~FR?asFM(ZncK1cQ+;U zmx<@Ogq#|AietmG*#5Z;@;wZVeC--_UCy#G3pr)P@#;$=M ZegWQUu>LRPYZd?i002ovPDHLkV1h4X2() { @@ -21,7 +23,8 @@ class AddFamilyGuardianAct : BaseVmAct() { override fun liveObserver() { mViewModel.submitLiveData.observe(this){ - + EventBus.getDefault().post(AddSuccessEvent()) + finish() } } diff --git a/health/src/main/java/com/zj365/health/act/familyhealth/FamilyHealthAct.kt b/health/src/main/java/com/zj365/health/act/familyhealth/FamilyHealthAct.kt index 012daec..0721f07 100644 --- a/health/src/main/java/com/zj365/health/act/familyhealth/FamilyHealthAct.kt +++ b/health/src/main/java/com/zj365/health/act/familyhealth/FamilyHealthAct.kt @@ -1,17 +1,34 @@ package com.zj365.health.act.familyhealth +import androidx.recyclerview.widget.LinearLayoutManager import com.alibaba.android.arouter.facade.annotation.Route -import com.xty.base.act.BaseVmAct -import com.xty.base.vm.BaseVm +import com.blankj.utilcode.util.GsonUtils +import com.xty.base.act.BaseListAct import com.xty.common.arouter.ARouterUrl +import com.xty.common.arouter.RouteManager +import com.xty.common.event.AddSuccessEvent +import com.xty.network.model.CancerGoodsBean +import com.xty.network.model.FamilyHealthBean +import com.zj365.health.R import com.zj365.health.adapter.familyhealth.HealthFamilyAdapter import com.zj365.health.databinding.ActHealthFamilyBinding +import com.zj365.health.vm.FamilyHealthVm +import org.greenrobot.eventbus.Subscribe +import org.greenrobot.eventbus.ThreadMode @Route(path = ARouterUrl.FAMILY_HEALTH_ACT) -class FamilyHealthAct : BaseVmAct() { +class FamilyHealthAct : BaseListAct() { val binding by lazy { ActHealthFamilyBinding.inflate(layoutInflater) } - val adapter by lazy { HealthFamilyAdapter() } + val mAdapter by lazy { HealthFamilyAdapter() } override fun liveObserver() { + mViewModel.familyHealthListData.observe(this){ + mAdapter.setNewInstance(it.data) + } + + mViewModel.exitCustody.observe(this){ + page =1 + loadData() + } } override fun setLayout() = binding.root @@ -25,7 +42,37 @@ class FamilyHealthAct : BaseVmAct() { } } + override fun initAdapter() { + setRecycleRefresh(binding.recyclerView, binding.mRefresh, true) + binding.recyclerView.layoutManager = LinearLayoutManager(this) + binding.recyclerView.adapter = mAdapter + mAdapter.addChildClickViewIds(R.id.tv_add_cancel, R.id.tv_watch,R.id.tv_current_time) + mAdapter.setOnItemChildClickListener { adapter, view, position -> + val familyHealthBean = adapter.data[position] as FamilyHealthBean + when (view.id) { + R.id.tv_add_cancel -> { + if(familyHealthBean.isMy == 1){ + RouteManager.goAct(ARouterUrl.ADD_FAMILY_GUARDIAN_ACT) + }else{ + mViewModel.exitCustody(familyHealthBean.id.toString()) + } + } + } + } + } + + override fun loadData() { + mViewModel.getFamilyHealthList() + } + override fun initData() { super.initData() } + + @Subscribe(threadMode = ThreadMode.MAIN) + fun addSuccess(event: AddSuccessEvent){ + page = 1 + loadData() + } + } \ No newline at end of file diff --git a/health/src/main/java/com/zj365/health/adapter/FamilyHealth/HealthFamilyAdapter.kt b/health/src/main/java/com/zj365/health/adapter/FamilyHealth/HealthFamilyAdapter.kt index b165729..12a8556 100644 --- a/health/src/main/java/com/zj365/health/adapter/FamilyHealth/HealthFamilyAdapter.kt +++ b/health/src/main/java/com/zj365/health/adapter/FamilyHealth/HealthFamilyAdapter.kt @@ -1,12 +1,88 @@ package com.zj365.health.adapter.familyhealth +import android.widget.TextView +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView import com.chad.library.adapter.base.viewholder.BaseViewHolder +import com.tencent.qcloud.tuikit.timcommon.component.impl.GlideEngine import com.xty.base.adapter.BaseAdapter +import com.xty.common.setImageUser +import com.xty.network.model.FamilyHealthBean import com.zj365.health.R +import de.hdodenhof.circleimageview.CircleImageView -class HealthFamilyAdapter: BaseAdapter(R.layout.item_health_family) { - override fun convert(holder: BaseViewHolder, item: Any) { +class HealthFamilyAdapter: BaseAdapter(R.layout.item_health_family) { + val mAdapterTaget by lazy { HealthFamilyTargetAdapter() } + val mAvatarAdapter by lazy { HealthFamilyUserAvatorAdapter() } + + override fun convert(holder: BaseViewHolder, item: FamilyHealthBean) { + + var tvRelation = holder.getView(R.id.tv_relation) + + var tvPower = holder.getView(R.id.tv_power) + + var recycler = holder.getView(R.id.recycler) + + var tvAddOrCancel = holder.getView(R.id.tv_add_cancel) + + var avatarRecycler = holder.getView(R.id.user_avatar_recycler) + + avatarRecycler.layoutManager = LinearLayoutManager(context,LinearLayoutManager.HORIZONTAL,false) + avatarRecycler.adapter = mAvatarAdapter + + holder.setText(R.id.tv_family_name,item.name) + holder.getView(R.id.img_avator).setImageUser(context,item.avatarUrl) + tvRelation.text = item.relation + if(item.isMy == 1){ ////是否本人0,否,1,是 + + tvRelation.background = context.resources.getDrawable(R.drawable.shape_r7_3fe_8f6) + tvRelation.setTextColor(context.resources.getColor(R.color.col_6ea)) + + tvAddOrCancel.text ="添加监护人" + tvAddOrCancel.background = context.resources.getDrawable(R.drawable.shape_r25_02c) + tvAddOrCancel.setTextColor(context.resources.getColor(R.color.white)) + + holder.setGone(R.id.user_avatar_recycler,false) + holder.setGone(R.id.tv_num,false) + holder.setGone(R.id.tv_watch_him,true) + item.avatarList?.let { + mAvatarAdapter.setNewInstance(it) + holder.setText(R.id.tv_num,"${it.size}/10") + } + + }else { + tvRelation.background = context.resources.getDrawable(R.drawable.shape_r7_5f2_481) + tvRelation.setTextColor(context.resources.getColor(R.color.col_481)) + + tvAddOrCancel.text ="退出监护" + tvAddOrCancel.background = context.resources.getDrawable(R.drawable.shape_r25_stroke_02c) + tvAddOrCancel.setTextColor(context.resources.getColor(R.color.col_02c)) + + holder.setGone(R.id.user_avatar_recycler,true) + holder.setGone(R.id.tv_num,true) + holder.setGone(R.id.tv_watch_him,false) + + + } + if(item.power != null){ + item.power?.let { + tvPower.text = "${it}%" + } + }else{ + tvPower.text = "--%" + } + + + val drawableLeft = context.resources.getDrawable(R.mipmap.icon_power_green) + drawableLeft.setBounds(0,0,drawableLeft.minimumWidth,drawableLeft.minimumHeight) + tvPower.setCompoundDrawables(drawableLeft,null,null,null) + tvPower.compoundDrawablePadding = 5 + + + recycler.layoutManager = LinearLayoutManager(context,LinearLayoutManager.HORIZONTAL,false) + recycler.adapter = mAdapterTaget + mAdapterTaget.setNewInstance(item.dataList) } } \ No newline at end of file diff --git a/health/src/main/java/com/zj365/health/adapter/FamilyHealth/HealthFamilyTargetAdapter.kt b/health/src/main/java/com/zj365/health/adapter/FamilyHealth/HealthFamilyTargetAdapter.kt index 8eb01bf..3a618f6 100644 --- a/health/src/main/java/com/zj365/health/adapter/FamilyHealth/HealthFamilyTargetAdapter.kt +++ b/health/src/main/java/com/zj365/health/adapter/FamilyHealth/HealthFamilyTargetAdapter.kt @@ -1,11 +1,113 @@ package com.zj365.health.adapter.familyhealth +import android.graphics.Color +import android.graphics.Typeface +import android.widget.ImageView +import android.widget.TextView +import androidx.core.content.ContextCompat import com.chad.library.adapter.base.viewholder.BaseViewHolder +import com.tencent.qcloud.tuikit.timcommon.component.impl.GlideEngine import com.xty.base.adapter.BaseAdapter +import com.xty.common.util.SpannableUtils +import com.xty.network.model.FamilyHealthBean import com.zj365.health.R -class HealthFamilyTargetAdapter : BaseAdapter(R.layout.item_health_family_target) { - override fun convert(holder: BaseViewHolder, item: String) { - TODO("Not yet implemented") +class HealthFamilyTargetAdapter : BaseAdapter(R.layout.item_health_family_target) { + + //器官名 + private val units = arrayOf( + R.string.info_1_unit, R.string.info_3_unit, R.string.info_7_unit, + R.string.info_4_unit, R.string.info_2_unit, R.string.info_9_unit, + R.string.info_8_unit, + R.string.info_10_unit, R.string.info_6_unit + ) + + override fun convert(holder: BaseViewHolder, item: FamilyHealthBean.FamilyTargetBean) { + var imgTarget = holder.getView(R.id.img_target) + var tvValue = holder.getView(R.id.tv_value) + holder.setText(R.id.tv_name,item.name) + var contentValue ="" + if(item.type == 5){ + if(item.value == "0/0"){ + contentValue = "--" + }else{ + contentValue = item.value + } + }else{ + contentValue = if (item.value == "0") "--" else item.value + } + + + if(item.status == 1){ + tvValue.setTextColor(Color.parseColor("#7C7C7C")) + tvValue.text = SpannableUtils.setStrSpan( + "${contentValue}${context.getString(units[item.type-1])}", + 14, + ContextCompat.getColor( + context, R.color.col_c7c + ), + Typeface.BOLD, + 0, + "${contentValue}${context.getString(units[item.type-1])}".length - + context.getString(units[item.type-1]).length) + }else{ + tvValue.setTextColor(Color.parseColor("#F7891D")) + tvValue.text = SpannableUtils.setStrSpan( + "${contentValue}${context.getString(units[item.type-1])}", + 14, + ContextCompat.getColor( + context, R.color.col_91d + ), + Typeface.BOLD, + 0, + "${contentValue}${context.getString(units[item.type-1])}".length - + context.getString(units[item.type-1]).length) + } + + + when(item.type){ + 1 ->{ + imgTarget.setImageResource(R.mipmap.ic_xl) + + + } + + 2 ->{ + imgTarget.setImageResource(R.mipmap.ic_oo) + + } + + 3 ->{ + imgTarget.setImageResource(R.mipmap.ic_h_breath) + + } + + 4 ->{ + imgTarget.setImageResource(R.mipmap.ic_temp) + + } + + 5 ->{ + imgTarget.setImageResource(R.mipmap.ic_xya) + + } + + 6 ->{ + imgTarget.setImageResource(R.mipmap.ic_steps) + + + } + 7 ->{ + imgTarget.setImageResource(R.mipmap.ic_bloodsugar) + + + } + 8 ->{ + imgTarget.setImageResource(R.mipmap.ic_niaosuan) + + + } + } + } } \ No newline at end of file diff --git a/health/src/main/java/com/zj365/health/adapter/FamilyHealth/HealthFamilyUserAvatorAdapter.kt b/health/src/main/java/com/zj365/health/adapter/FamilyHealth/HealthFamilyUserAvatorAdapter.kt index a34ba9c..a6d0090 100644 --- a/health/src/main/java/com/zj365/health/adapter/FamilyHealth/HealthFamilyUserAvatorAdapter.kt +++ b/health/src/main/java/com/zj365/health/adapter/FamilyHealth/HealthFamilyUserAvatorAdapter.kt @@ -15,7 +15,13 @@ class HealthFamilyUserAvatorAdapter : BaseAdapter(R.layout.item_health_f if (position == 0){ setMargins(holder.itemView,0,0,0,0) } - holder.getView(R.id.img_user_avator).setImageUser(context,item) + if (item != null){ + holder.getView(R.id.img_user_avator).setImageUser(context,item) + + }else{ + holder.getView(R.id.img_user_avator).setImageResource(R.mipmap.icon_default_avator) + + } } diff --git a/health/src/main/java/com/zj365/health/fragment/SleepFrag.kt b/health/src/main/java/com/zj365/health/fragment/SleepFrag.kt index 3d0450c..1c29b63 100644 --- a/health/src/main/java/com/zj365/health/fragment/SleepFrag.kt +++ b/health/src/main/java/com/zj365/health/fragment/SleepFrag.kt @@ -96,7 +96,7 @@ class SleepFrag : BaseVmFrag() { var listFrag = mutableListOf() val tabs = arrayOf("日", "周", "月","年") - private val activeColor: Int = Color.parseColor("#25C8D0") + private val activeColor: Int = Color.parseColor("#02C191") private val normalColor: Int = Color.parseColor("#7C7C7C") private val activeSize = 15F private val normalSize = 15F @@ -243,10 +243,10 @@ class SleepFrag : BaseVmFrag() { }else{ isAudioPlay = true musicInfoBinding.mImagePlay.setImageResource(R.mipmap.ic_pause) - musicInfoBinding.mName.setTextColor(resources.getColor(R.color.col_25C)) + musicInfoBinding.mName.setTextColor(resources.getColor(R.color.col_02c)) musicInfoBinding.mName.setTypeface(null, Typeface.BOLD) musicInfoBinding.mPosition.setTypeface(null, Typeface.BOLD) - musicInfoBinding.mPosition.setTextColor(resources.getColor(R.color.col_25C)) + musicInfoBinding.mPosition.setTextColor(resources.getColor(R.color.col_02c)) file.path?.let { it1 -> diff --git a/health/src/main/java/com/zj365/health/vm/FamilyHealthVm.kt b/health/src/main/java/com/zj365/health/vm/FamilyHealthVm.kt new file mode 100644 index 0000000..7ac2a21 --- /dev/null +++ b/health/src/main/java/com/zj365/health/vm/FamilyHealthVm.kt @@ -0,0 +1,31 @@ +package com.zj365.health.vm + +import androidx.lifecycle.MutableLiveData +import com.xty.base.vm.BaseVm +import com.xty.network.model.FamilyHealthBean +import com.xty.network.model.RespBody +import org.json.JSONObject + +class FamilyHealthVm :BaseVm() { + + val familyHealthListData by lazy { MutableLiveData>>() } + + val exitCustody by lazy { MutableLiveData>() } + fun getFamilyHealthList(){ + startHttp (true){ + + val json = JSONObject() + val request = apiInterface().getFamilyList(retrofits.getRequestBody(json.toString())) + request.getCodeStatus(familyHealthListData,nowData) + } + } + + fun exitCustody(id:String){ + startHttp (true){ + val request = apiInterface().exitCustody(id) + request.getCodeStatus(exitCustody,nowData) + } + } + + +} \ No newline at end of file diff --git a/health/src/main/java/com/zj365/health/weight/DialogTipNew.kt b/health/src/main/java/com/zj365/health/weight/DialogTipNew.kt index 5d92ac8..dc94f00 100644 --- a/health/src/main/java/com/zj365/health/weight/DialogTipNew.kt +++ b/health/src/main/java/com/zj365/health/weight/DialogTipNew.kt @@ -10,7 +10,8 @@ import com.zj365.health.databinding.DialogTipToastBinding class DialogTipNew( context: Context, - var title: String, + var title: String? = "温馨提示", + var content:String, var confirmText: String? = "确定", var cancelText:String? = "取消", var isSingleBtn:Boolean = false, @@ -22,7 +23,8 @@ class DialogTipNew( override fun initView() { super.initView() setDialogPadding(SizeUtil.dp2px(context, 40f), 0, SizeUtil.dp2px(context, 40f), 0) - binding.mTitle.text = title + // binding.mTitle.text = content + binding.tvTitle.text = title if (isSingleBtn) { binding.clTwoBtnLayout.visibility = View.GONE @@ -46,4 +48,8 @@ class DialogTipNew( } } + + fun setContentNew(content:String){ + binding.mTitle.text= content + } } \ No newline at end of file diff --git a/health/src/main/res/drawable/shape_title_section.xml b/health/src/main/res/drawable/shape_title_section.xml index 9422167..f5840bf 100644 --- a/health/src/main/res/drawable/shape_title_section.xml +++ b/health/src/main/res/drawable/shape_title_section.xml @@ -1,7 +1,7 @@ - + - + android:layout_height="match_parent" + android:background="@color/col_f4f"> + + + + + + + + \ No newline at end of file diff --git a/health/src/main/res/layout/dialog_tip_toast.xml b/health/src/main/res/layout/dialog_tip_toast.xml index f5a6f64..2aa299c 100644 --- a/health/src/main/res/layout/dialog_tip_toast.xml +++ b/health/src/main/res/layout/dialog_tip_toast.xml @@ -11,6 +11,7 @@ android:orientation="vertical"> @@ -52,6 +52,7 @@ + /> @@ -92,6 +95,9 @@ + + + \ No newline at end of file diff --git a/health/src/main/res/layout/item_health_family_target.xml b/health/src/main/res/layout/item_health_family_target.xml index ee72caa..3284200 100644 --- a/health/src/main/res/layout/item_health_family_target.xml +++ b/health/src/main/res/layout/item_health_family_target.xml @@ -3,27 +3,30 @@ xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical" android:gravity="center" - android:layout_width="wrap_content" - android:layout_height="wrap_content"> + android:layout_width="@dimen/dp_71" + android:layout_height="@dimen/dp_71"> + android:textSize="@dimen/sp_10"/> \ No newline at end of file diff --git a/mine/src/main/java/com/zj365/mime/act/AboutAct.kt b/mine/src/main/java/com/zj365/mime/act/AboutAct.kt index 34c7a27..46df3ff 100644 --- a/mine/src/main/java/com/zj365/mime/act/AboutAct.kt +++ b/mine/src/main/java/com/zj365/mime/act/AboutAct.kt @@ -6,6 +6,7 @@ import com.blankj.utilcode.util.ArrayUtils import com.xty.base.act.BaseVmAct import com.xty.common.MMkvHelper import com.xty.common.arouter.ARouterUrl +import com.xty.common.arouter.RouteManager import com.xty.common.getImageUrl import com.xty.common.setImage import com.xty.common.util.CommonToastUtils @@ -33,7 +34,25 @@ class AboutAct: BaseVmAct() { statusBar(binding.title.mView) binding.title.mIvBack.setOnClickListener { finish() } binding.title.mTvTitle.text = getString(R.string.about) - mViewModel.getAbout() + + binding.mVersion.text="版本号: V${packageManager.getPackageInfo(this.packageName,0).versionName}" + + binding.tvUserPrivate.setOnClickListener { + bundle.clear() + bundle.putString("title", "用户协议") + bundle.putBoolean("isAgree", false) + bundle.putString("url","https://dc.zhongjian365.com/agreement.html") + RouteManager.goAct(ARouterUrl.AGREEMNT_READ_WEB_ACT, bundle) + } + + binding.tvPrivate.setOnClickListener { + bundle.clear() + bundle.putString("title", "隐私政策") + bundle.putBoolean("isAgree", false) + bundle.putString("url","https://dc.zhongjian365.com/privacy.html") + RouteManager.goAct(ARouterUrl.AGREEMNT_READ_WEB_ACT, bundle) + } + // mViewModel.getAbout() binding.mVersion.setOnClickListener { openLogFlag++ @@ -48,13 +67,7 @@ class AboutAct: BaseVmAct() { mViewModel.prevLive.observe(this){ if (!ArrayUtils.isEmpty(it.data)){ it.data[0].let { - binding.mVersion.text="版本号: V${packageManager.getPackageInfo(this.packageName,0).versionName}" - binding.mWebSite.text=Html.fromHtml(String.format(getString(R.string.about_info),"公司网址:",it.website)) - binding.mPhone.text=Html.fromHtml(String.format(getString(R.string.about_info),"联系电话:",it.phone)) - binding.mEmail.text=Html.fromHtml(String.format(getString(R.string.about_info),"邮箱地址:",it.email)) - binding.mCode.apply { - setImage(context,getImageUrl(it.qrCode)) - } + } } diff --git a/mine/src/main/java/com/zj365/mime/act/DevInfoAct.kt b/mine/src/main/java/com/zj365/mime/act/DevInfoAct.kt index 82e6882..e12eac7 100644 --- a/mine/src/main/java/com/zj365/mime/act/DevInfoAct.kt +++ b/mine/src/main/java/com/zj365/mime/act/DevInfoAct.kt @@ -58,7 +58,7 @@ class DevInfoAct : BaseVmAct(),EasyPermissions.PermissionCallbacks { if (userBean != null) { user = userBean as SettingBean.User } - userId = intent.getStringExtra("userId") + // userId = intent.getStringExtra("userId") } override fun initView() { @@ -79,16 +79,17 @@ class DevInfoAct : BaseVmAct(),EasyPermissions.PermissionCallbacks { } } user?.let { - binding.mNickName.text = "设备名称:${it.watchName}" + mViewModel.getUserDeviceInfo(it.id) + /* binding.mNickName.text = "设备名称:${it.watchName}" binding.mNum.text = "设备地址:${it.bluetooth}" binding.mCode.text = "设备编号:${it.deviceId}" binding.mActiveCode.text = "设备激活码:${it.activationCode}" - binding.mActiveCode.visibility = View.VISIBLE + binding.mActiveCode.visibility = View.VISIBLE*/ // setDevicePic(it.deviceType, binding.ivDevice) } userId?.let { - mViewModel.getUserDeviceInfo(userId!!) + } @@ -115,6 +116,8 @@ class DevInfoAct : BaseVmAct(),EasyPermissions.PermissionCallbacks { }, 8, span.length, Spanned.SPAN_INCLUSIVE_INCLUSIVE) + binding.tvContactKefu.text = span + } @@ -127,8 +130,8 @@ class DevInfoAct : BaseVmAct(),EasyPermissions.PermissionCallbacks { Const.watchType = -1//将手表型号恢复初始值 Const.battery = ""//电池信息恢复初始值 MMkvHelper.remove(Const.Blue_Tooth)//清除蓝牙信息 - YCBBlueConnectHelper.disconnect() - YCBBlueConnectHelper.cancelTimer() + /* YCBBlueConnectHelper.disconnect() + YCBBlueConnectHelper.cancelTimer()*/ MMkvHelper.clearWhatchInfo()//删除手表信息 EventBus.getDefault().post(BlueToothConnectEvent())//刷新蓝牙连接信息 EventBus.getDefault().post(MyInfoEvent()) //刷新个人信息 @@ -140,7 +143,7 @@ class DevInfoAct : BaseVmAct(),EasyPermissions.PermissionCallbacks { binding.mNickName.text = "设备名称:${it.data.watchName?:""}" binding.mNum.text = "设备编码:${it.data.bluetooth?:""}" binding.mCode.text = "物联网卡:${it.data.deviceCode?:""}" - binding.mActiveCode.text = "流量到期:${it.data.activationCode?:""}" + binding.mActiveCode.text = "流量到期:${it.data.activationTime?:""}" binding.mActiveCode.visibility = View.VISIBLE setDevicePic(it.data.deviceType, binding.ivDevice) diff --git a/mine/src/main/java/com/zj365/mime/act/SettingNewAct.kt b/mine/src/main/java/com/zj365/mime/act/SettingNewAct.kt index bf10e2a..f6f9646 100644 --- a/mine/src/main/java/com/zj365/mime/act/SettingNewAct.kt +++ b/mine/src/main/java/com/zj365/mime/act/SettingNewAct.kt @@ -148,10 +148,10 @@ class SettingNewAct: BaseVmAct() { MyRetrofit.get().BLUETOOTH_MAC = ""//清除蓝牙信息 MMkvHelper.remove(Const.Blue_Tooth)//清除蓝牙信息 MMkvHelper.clearUserInfo()//清除用户登录信息 - YCBBlueConnectHelper.disconnect()//断开蓝牙连接 - YCBBlueConnectHelper.cancelTimer()//断开重连定时器 + /*YCBBlueConnectHelper.disconnect()//断开蓝牙连接 + YCBBlueConnectHelper.cancelTimer()//断开重连定时器*/ EventBus.getDefault().post(LoginOutEvent()) - EventBus.getDefault().post(BlueToothConnectEvent())//刷新蓝牙连接信息 + // EventBus.getDefault().post(BlueToothConnectEvent())//刷新蓝牙连接信息 RouteManager.goAct(ARouterUrl.LOGIN_ACT) finish() } diff --git a/mine/src/main/java/com/zj365/mime/adapter/MessageAdapter.kt b/mine/src/main/java/com/zj365/mime/adapter/MessageAdapter.kt index 9ed2075..9212d4d 100644 --- a/mine/src/main/java/com/zj365/mime/adapter/MessageAdapter.kt +++ b/mine/src/main/java/com/zj365/mime/adapter/MessageAdapter.kt @@ -2,6 +2,7 @@ package com.zj365.mime.adapter import android.content.Context import android.graphics.drawable.GradientDrawable +import android.text.Html import android.view.View import android.view.ViewGroup import android.widget.CheckBox @@ -39,7 +40,7 @@ class MessageAdapter():BaseAdapter(R.layout.item_message) { // }else if(item is MessageTypeDataBean.MessageTypeBean){ holder.setGone(R.id.mRelMsg,false).setGone(R.id.mChat,true) - holder.setText(R.id.mContent,item.notifyContent) + holder.setText(R.id.mContent, Html.fromHtml(item.notifyContent)) .setText(R.id.mTvTime,RxTimeTool.milliseconds2String(item.notifyCreateTime)) .setText(R.id.notifyTitle,item.notifyTitle) // changeStatus(holder.getView(R.id.mContent),item.notifyStatus) diff --git a/mine/src/main/res/layout/act_about.xml b/mine/src/main/res/layout/act_about.xml index f02640f..1a6e676 100644 --- a/mine/src/main/res/layout/act_about.xml +++ b/mine/src/main/res/layout/act_about.xml @@ -23,14 +23,14 @@ android:layout_height="@dimen/dp_76" android:layout_gravity="center" android:layout_marginTop="@dimen/dp_43" - android:src="@mipmap/ic_logo" /> + android:src="@mipmap/icon_about_logo" /> @@ -43,8 +43,35 @@ android:layout_marginTop="@dimen/dp_14" android:text="版本号" android:textColor="@color/col_c7c" + android:textStyle="bold" android:textSize="@dimen/sp_15" /> + + + + + + @@ -75,106 +102,27 @@ android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginTop="@dimen/dp_14" - android:text="湖南中健三六五健康科技有限公司 版权所有" + android:text="中健三六五健康科技有限公司 版权所有" android:textColor="@color/col_c7c" - android:textSize="@dimen/sp_15" /> + android:textSize="@dimen/sp_13" /> + android:textSize="@dimen/sp_13" /> - - - - - - - - - - - - - - - - - - - - - - - - + android:textSize="@dimen/sp_13" /> \ No newline at end of file diff --git a/mine/src/main/res/mipmap-xxhdpi/ic_bloodsugar.png b/mine/src/main/res/mipmap-xxhdpi/ic_bloodsugar.png deleted file mode 100644 index 1cf7071a1a3ab5778c9610b71569e1ac07108dd0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4865 zcmV+c6aMUpP)Px{yGcYrRCr$PU3+{S)ph>PtR%m{JdzMz##ow}l`(G&0Rjo6g+NJ3X>2IAv@5_R zCFEhC0SW~K2~D7BOMxWRO@7vlj3GEpTHptPLQGmnfi%I!2=B~YS-8SHYAE$flC`^Y z`Wrp$U0KrJnVp#(shU4`&*MAio5!6y=blTLIwo}nXi`Tv6&$7rp5!ON6v0yjPx1^* z^6;jv;3`f!xWoX(R@k(oa&`cbHTU(XXk|oa&;rC0@N93@>*PFWj z_wh;VAd+U=ZXw`pQ`euX7Pg5&Ff*mISrg!fuD?%aL?d%mqIa!^c=YzZE?5(qDXS(gcO}n#FU$XkKB{(hY z#{evr4P;+A`ih}xKlHEfO*18|WdN-p_laBPV9;Vy(|%e`E{Oljf(gQjR~sqYzKsZX zdDR;s-$zQ~w6=zZ4HeoctDdr~(@3Eg0o0Zi9u#<=@`cme=FfjiQr@>%>fASK$Q2S=TSIT1Yd4h zAFm~Pl?d}Z#xagK{ld_+3xl&)YAJ2oD?w=SWuI`jq3VC>OIK1UJ_IvUs#82mJYuFw zGLUh_2;VSN{r(_K728PL_C+8(>DMj;4959k&UD3w;IznG11LZ6o2)W=PQl@GRwa}F z9+ds&OlBS>l;09?P=z+dv|0O|xZ?1`dn&Xus(LI4P6=_w(9F-YFoGPixshsWPi~tx zuP+E6X<`2hfI!}9nX%H;^(%wGHPS}a32y1?n(pLt|4D%RjW^tb&}OLm6_q+kXRWKj z^beKV8P<1i)r7(YhBiO&x%8?NoEFxP0Jxv|p8z8|(iin>Nj@&F4Bm zG|R7zG4$SadU{W5KjDO3LE5bOYC5c%;Z2&K{Mf9B{6WT_VwzNw(Zp*Tpkpj zVmo2Xz*UXl)W(e;qnd;}&paoLWQ}K&89y_1{Yzf`HVg5G3izJ^C|-4Cj65n(nM6Q&p$S_{gA}g` zVc>%TsNrEv+di7ETZ7Hu4N;Ethj8@uCu)v3r` z(IfoaQ1w6dYbz3h)53ZYpilb+8MYpSHk+zikD?_oDa*Q$6nZLb-xBtBQ@+sXxB4S= zf}1j#3zUTNR22p(61f``+2_5pwN*(kx%_1ija3~fZ95P_!b66tU*pGCs06zMD`m%a zwzCIyr@nF&gdn?F>MYH&Co6nw|VxYyA2o4o3WM(|LDzu2>U!z;3g8$-NFhVVa^B*UDvD~cN zNZX+h+?36#33lA8H{J*1n})7`Zv??zU>qGs;LLc=)b;bcU<-v{i6tCfFoq?|1yash zrK-OkcCb{ud3p_MUW(D+YM^zDYJIffL+hS!X8{`ZrksRg~M>)1NzX&4LB} z!x+*+d=KCos)(tqYX;w7YRSJXD>x(&EWyl5IxE~OAg~YCvVnM(BYMzKi{^O;7MTlo z+3Db#-k2Uxu0q+1(S_6UsN zv=A2q>=uJhgd<~U`ut*`6XdmS81j9Fre7zM=pYGx5#ZQrx;DFBRhSn!(lhGJP~6PslzF8TT3b-Ya0K5VLE*k@n80Bniy0OkHo3 zu@MNtX<@q+lAd0`Wx$0c!=TpUHVVzQ{V9b4Taz3X>|(py3{5{!#!@Y;TH~&`g&Zn&vin88}jz%oi!4NWFH% zB!GgU=`}J~Dk3-~#N7n0xOP_tXpk}tzSh)|dv4Lqot0 zsf^&Pc*||;E8{3mGR)5Hrr!9iVN7mskUE97#tCB?ESn5XZ;-+3o8V@#@v{mNZV~&0 zI|#U^ZA2aPz&tdw)X22j0Ws);3!qNM zNrf`o3&@|lN;}4_s~+=63DHF0c1d6B3{5|&ST^J)Fp{uj#i+^9w1;J+eG!}z)-43O zTgE}fGK`xHUB6exj)(S#+w-6~#p{upEbD}XLhEGwR9R+sPk-*?YZffnDTBi=!Os)u zb21Jpm2nDAeS2eLmyDgXWnB$Lt~m;m@&~4>K3#GZ+t!C5I#|Y6wPcvF+SGOFh4Y>X z9%{YdPRvJAbvUwSdEDEyZ7(5$)U6AnblhpS?OPSXx2r{-j9+%R#Y`p*8Ch4xJHc7| zYs3h=Yus3XLn9d2mFw**`6hf-clW{hzFxOM=>D<^j95+>s+RP!m5^tG)53lQz-dth z79zp!l9i>VuCFc~Y>5XD`C@O$Y%&%Z`rav487)r)54K-${wumx20)kugYdke>Lt6l zT-DuiaK5kBZP)NgnFK~B!!H?H@+`0ZJP}-J^G&bdT=`H5c8hly7n{0X(ol3L&L{jl z!u-T2q0`5pGfho%+fI2pyb&y{zX0g3Jb9>4SOFcfQq!cS5mR0US$lEqQ@-O8o3ibP zDWryHUQ^z+&FW?X6L`pROxmbGiA^PD4|1mpL-5)!C9k!dujEwVWn z>06p$H+eH^Yd$2RQ4{DZD54ELq@2B`p&_zznUrmRnF#Keq&?m0nDIfrre@*l`ufeq zaV*)q`JmeV-EN(CNr9fPSbZolzdbGdTGIj`hbcw!OgZkUr}g7kabr?e07_e z{71jw{pyWTV)U}1>1T|zxwy0QfSHBD;~;#-uRlL}4E{;SwjIsCUAVBK?SZ5TPKnGS zf)Z$13%$K%M%%gP2GYOTOA^yr`&RHM6B>kj4RxT~PRSBYwU27kv(BFo9jmYtNd67~y0FH4Cd!Gj|cDiHX(HdTLMtP{GW zvr}Wo`8vRE?`U6FG&8ysV$+#1>jCq~BR>rC;u*Fje+3J>qjY2D%HdRt;Bjx!d&6>{ z!)^0aZP|DWy%u+O&zRBIcRqlN2>fXV<`FPsjO=U&STNHsiTRlxU4LN>k?#?*3U>ktu)xmi3Ox$9s@}Itf@}17w?gYj~vi961n+oXu z54UZ*>xqR6L)rdD7K>Lod4jX{dN7Xn>R?=gf!CCp+B1XN>P7}zT4a_2id*FFr!9Xs zgYTO@YyXGB+UH0n1}`$w1gC^}p1^@uaWL=(gZ{ivQC^;D^F`$$q8C%LW0ouLhv2rp8XLY zA%89mDw>|2{@g*u4PAmVT&W#-f-Nge%9vM2r8vgapCAOkX*|68IJCApp(VnnVQGS| z5aQ$l*xiCoTE{1*619myFf%`8>PhKQc@TM#wINN`;*O5}W=^YnAIvjljRzq&5eNq8 z`-Y}PylIDAcBKh+%|%^s=lYxo1P8g#ksNLEQXUBww*!2qy!px{9VIchy`jM^^ecO$ zgjh!4$iFXBf9|j_w~;R!_&5Td2u@|Q7ZN)Wx4Gx*4J|3P<5)_B{wlX`DhaO}s(wNx zB!sE!iQtykUOUj4HM2X=vYqnLZF5LDt6f#!7*8~nwJss1pOrTkv;^N}XvsT*wi=W@ zPXrGoh8mySicO0QPAp9=D`;CKv-9W$jl1IwfwwM2?5?4MW!>Tc_nGKJNs( zU1==q7E&TwAM7WpXmqyrOrJ4#&73*XA48&nRqDkT!7W`~)17=y5O8EQK*zx+!@1ei z8t;h%mhmw7BG@(9BCKYfAnkX9CV?3{m0V7X>$`7pyuJx`jihWlLxg0|35>fvVqDXv z>kq{pr;D#5f+tvy=s@^jV14gv>rSa;IY}TuB#l%=@W6X<2=&sE*drHX=Db46d2O0D zVfuqrOmItA*MXeRW#YGBIt>2l4nxyoy9e@U5m!v`;DAe<&S3Yfo)$)0V_}o-2MljrchlKqQh_0?$G~qbT z5$ODh^xO^XHECo%7c(bjx<%#H-WEMLq6V!_P8}w2kj;Ud1C5R$xf#@mO%sD7@@4N=>cG*oIJ=w3Ka3ll|KbL1t zt6k2Fn+Z6miZPeEX8guclq<{Ce8mQ@M<9_Ayyv-WSx1mUw*puOpqkt9Y+=yN=3wXa zlCC-)a~Ny!$O#_KMpGt}R1$Q<(2B(~FhuB8MGk zGZ9__;a@3H_jud9dH)+~CSz(mRsI$ABc#>yel85(y>WhohYevLC00000NkvXXu0mjfFSb%% diff --git a/mine/src/main/res/mipmap-xxhdpi/ic_h_breath.png b/mine/src/main/res/mipmap-xxhdpi/ic_h_breath.png deleted file mode 100644 index bf74627862cc49e71a7cd76ba70b449c7b96434a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8182 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 diff --git a/mine/src/main/res/mipmap-xxhdpi/ic_oo.png b/mine/src/main/res/mipmap-xxhdpi/ic_oo.png deleted file mode 100644 index 05f1103b079eb4445ea52526d99798eeef49a7f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5520 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 diff --git a/mine/src/main/res/mipmap-xxhdpi/ic_xl.png b/mine/src/main/res/mipmap-xxhdpi/ic_xl.png deleted file mode 100644 index 9349319298d1d3e6962b63d2db3653fea04ec793..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4971 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 diff --git a/mine/src/main/res/mipmap-xxhdpi/ic_xya.png b/mine/src/main/res/mipmap-xxhdpi/ic_xya.png deleted file mode 100644 index 717b5b993baf0b7cae30ed2066c254dceb2fa366..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4147 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 diff --git a/network/src/main/java/com/xty/network/ApiInterface.kt b/network/src/main/java/com/xty/network/ApiInterface.kt index c74f7eb..9891e7e 100644 --- a/network/src/main/java/com/xty/network/ApiInterface.kt +++ b/network/src/main/java/com/xty/network/ApiInterface.kt @@ -1702,4 +1702,41 @@ interface ApiInterface { */ @POST("customer/family/addFamily") suspend fun addFamilyGuardian(@Body rb: RequestBody): RespBody + + /** + * 家人健康列表 + */ + @POST("customer/family/familyList") + suspend fun getFamilyList(@Body rb:RequestBody) : RespBody> + + /** + * 退出监护 + */ + @GET("customer/family/remove") + suspend fun exitCustody(@Query("id") id: String): RespBody + + + /** + * 获取演示模式 + */ + @POST("customer/user/isDemonstrate") + suspend fun getIsDemonstrate(@Body rb:RequestBody):RespBody + + /** + * 查询被邀请监护人信息 + */ + @POST("customer/family/findConfirmInfo") + suspend fun findConfirmInfo(@Body rb:RequestBody):RespBody + + /** + * 确认邀请 + */ + @POST("customer/family/confirmInfo") + suspend fun confirmInvited(@Body rb:RequestBody):RespBody + + /** + * 获取设备型号 + */ + @POST("customer/user/getDeviceTypeList") + suspend fun getDeviceTypeList(@Body rb:RequestBody):RespBody> } \ No newline at end of file diff --git a/network/src/main/java/com/xty/network/model/DeviceBean.kt b/network/src/main/java/com/xty/network/model/DeviceBean.kt index 7d77e86..1d129ab 100644 --- a/network/src/main/java/com/xty/network/model/DeviceBean.kt +++ b/network/src/main/java/com/xty/network/model/DeviceBean.kt @@ -1,3 +1,3 @@ package com.xty.network.model -data class DeviceBean(val resId:Int,val name:String,val type:Int) +data class DeviceBean(val imageUrl:String,val watchTypeName:String,val watchType:Int,val deviceType:String) diff --git a/network/src/main/java/com/xty/network/model/FamilyHealthBean.kt b/network/src/main/java/com/xty/network/model/FamilyHealthBean.kt new file mode 100644 index 0000000..87087ea --- /dev/null +++ b/network/src/main/java/com/xty/network/model/FamilyHealthBean.kt @@ -0,0 +1,24 @@ +package com.xty.network.model + +data class FamilyHealthBean ( + var id:Long, + var userId:Long, + var name:String, + var relation:String, //关系 + var avatarUrl:String, + var isMy:Int, //是否本人0,否,1,是 + var power:String?, //电量 + var dataList: ArrayList ,//数据列表 + var avatarList:ArrayList? +) { + + data class FamilyTargetBean( + var name:String,//名称 + var type:Int, //类型1,心率,2,血氧,3.呼吸率,4.体温,5,血压,6.步数,7,血糖,8,尿酸 + var status:Int,//状态:0,异常,1,正常 + var value:String //值 + + ){ + + } +} \ No newline at end of file diff --git a/network/src/main/java/com/xty/network/model/InviteCustodyBean.kt b/network/src/main/java/com/xty/network/model/InviteCustodyBean.kt new file mode 100644 index 0000000..42ffa78 --- /dev/null +++ b/network/src/main/java/com/xty/network/model/InviteCustodyBean.kt @@ -0,0 +1,4 @@ +package com.xty.network.model + +data class InviteCustodyBean(val phone:String,val id:String) { +} \ No newline at end of file