From abc608e32648c48be178e38bb0ce703dedfbefdd Mon Sep 17 00:00:00 2001 From: wlh <646507849@qq.com> Date: Wed, 8 May 2024 20:15:42 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=AD=E5=BB=BA365-=E5=85=91=E6=8D=A2?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 6 +- .../com/zj365/dc/activity/MainActivity.kt | 23 +- .../dc/fragment/DynamicManagementFrag.kt | 17 +- base/src/main/res/layout/dialog_pay.xml | 1 - .../src/main/java/com/xty/common/app/MyApp.kt | 9 + .../java/com/xty/common/arouter/ARouterUrl.kt | 6 +- .../com/xty/common/event/BackGroundEvent.kt | 4 + common/src/main/res/values/strings.xml | 5 +- config.gradle | 26 +-- health/src/main/AndroidManifest.xml | 19 +- .../com/zj365/health/act/NSuanHowOpenAct.kt | 35 +++ .../java/com/zj365/health/act/NSuanOpenAct.kt | 2 +- .../com/zj365/health/act/OpenOrRenewAct.kt | 6 +- .../com/zj365/health/act/XTangHowOpenAct.kt | 40 ++++ .../java/com/zj365/health/act/XTangOpenAct.kt | 2 +- .../com/zj365/health/act/XZhiHowOpenAct.kt | 36 ++++ .../java/com/zj365/health/act/XZhiOpenAct.kt | 204 ++++++++++++++++++ .../java/com/zj365/health/vm/BloodFatVm.kt | 30 ++- .../main/res/layout/act_nsuan_how_open.xml | 53 +++++ .../main/res/layout/act_xtang_how_open.xml | 48 +++++ .../src/main/res/layout/act_xzhi_how_open.xml | 53 +++++ health/src/main/res/layout/act_xzhi_open.xml | 140 ++++++++++++ health/src/main/res/values/strings.xml | 1 + 23 files changed, 717 insertions(+), 49 deletions(-) create mode 100644 common/src/main/java/com/xty/common/event/BackGroundEvent.kt create mode 100644 health/src/main/java/com/zj365/health/act/NSuanHowOpenAct.kt create mode 100644 health/src/main/java/com/zj365/health/act/XTangHowOpenAct.kt create mode 100644 health/src/main/java/com/zj365/health/act/XZhiHowOpenAct.kt create mode 100644 health/src/main/java/com/zj365/health/act/XZhiOpenAct.kt create mode 100644 health/src/main/res/layout/act_nsuan_how_open.xml create mode 100644 health/src/main/res/layout/act_xtang_how_open.xml create mode 100644 health/src/main/res/layout/act_xzhi_how_open.xml create mode 100644 health/src/main/res/layout/act_xzhi_open.xml diff --git a/app/build.gradle b/app/build.gradle index 8242956..92e9ecc 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -40,9 +40,9 @@ android { //暂时填写默认值即可. JPUSH_CHANNEL : "developer-default", - OPPO_APPKEY : "OP-", // OPPO平台注册的appkey - OPPO_APPID : "OP-", // OPPO平台注册的appid - OPPO_APPSECRET: "OP-",//OPPO平台注册的appsecret + OPPO_APPKEY : "OP-5c4377948c564b09ba4894642e0bb6fc", // OPPO平台注册的appkey + OPPO_APPID : "OP-31015591", // OPPO平台注册的appid + OPPO_APPSECRET: "OP-7240a5dfcb2b4017bd50193d18c74f79",//OPPO平台注册的appsecret XIAOMI_APPKEY : "MI-5992028541716",// 小米平台注册的appkey XIAOMI_APPID : "MI-2882303761520285716", // 小米平台注册的appid 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 bc732be..6dfd6e8 100644 --- a/app/src/main/java/com/zj365/dc/activity/MainActivity.kt +++ b/app/src/main/java/com/zj365/dc/activity/MainActivity.kt @@ -1,54 +1,44 @@ package com.zj365.dc.activity -import android.Manifest import android.content.BroadcastReceiver import android.content.Context import android.content.Intent import android.content.IntentFilter -import android.net.Uri import android.os.Build import android.text.TextUtils -import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.TextView import androidx.annotation.RequiresApi import androidx.cardview.widget.CardView -import androidx.fragment.app.Fragment import androidx.localbroadcastmanager.content.LocalBroadcastManager import cn.jpush.android.api.JPushInterface 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 import com.lifesense.android.ble.device.fatscale.model.WeightMeasureData*/ import com.tamsiree.rxkit.RxActivityTool -import com.tamsiree.rxkit.RxSPTool 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.LogUtils import com.xty.common.MMkvHelper import com.xty.common.aMapUtils.AmapInit +import com.xty.common.app.MyApp import com.xty.common.arouter.ARouterUrl import com.xty.common.arouter.RouteManager -import com.xty.common.bracelet.checkBlueConnectPermission -import com.xty.common.event.AddSuccessEvent +import com.xty.common.event.BackGroundEvent import com.xty.common.event.BindDevEvent import com.xty.common.event.LoginOrRegisterEvent -import com.xty.common.event.MeasureWeightEvent import com.xty.common.event.MqttReceive import com.xty.common.event.MyInfoEvent 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.xty.network.utils.AppUtils import com.zj365.dc.BuildConfig @@ -60,18 +50,13 @@ import com.zj365.dc.fragment.MessageFragment import com.zj365.dc.fragment.MineFrag import com.zj365.dc.fragment.ShopFragment 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 import kotlinx.coroutines.launch import me.leolin.shortcutbadger.ShortcutBadger import org.greenrobot.eventbus.EventBus import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.ThreadMode -import java.util.Date @Route(path = ARouterUrl.MAIN_ACT) class MainActivity : BaseVmAct()/*, Consumer*/ { @@ -470,7 +455,7 @@ class MainActivity : BaseVmAct()/*, Consumer*/ { fun reveiveMsg(event: MqttReceive) { } - /* override fun accept(abstractMeasureData: AbstractMeasureData) { + /* override fun accept(abstractMeasureData: AbstractMeasureData) { if (abstractMeasureData is WeightMeasureData) { if (!abstractMeasureData.isProcessingData) { Log.i("LS-Bluetooth", "收到测量过程数据:${JSON.toJSONString(abstractMeasureData)}") @@ -487,8 +472,6 @@ class MainActivity : BaseVmAct()/*, Consumer*/ { } }*/ - - override fun onDestroy() { super.onDestroy() AmapInit.stopLocation() 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 8523705..3d56726 100644 --- a/app/src/main/java/com/zj365/dc/fragment/DynamicManagementFrag.kt +++ b/app/src/main/java/com/zj365/dc/fragment/DynamicManagementFrag.kt @@ -35,6 +35,7 @@ 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.BackGroundEvent import com.xty.common.event.BindDevEvent import com.xty.common.event.BlueToothConnectEvent import com.xty.common.event.ChangeFamilyEvent @@ -1263,7 +1264,6 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission private var mDisposable: Disposable? = null fun startUpdateHealthInfoLive(){ LogUtils.e("DynamicManagementFrag","刷新数据 disposable:${mDisposable}") - if(mDisposable == null){ Observable.interval(1000 * 60,60*1000,TimeUnit.MILLISECONDS) .observeOn(AndroidSchedulers.mainThread()).subscribe(object : Observer{ @@ -1621,7 +1621,6 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission @Subscribe(threadMode = ThreadMode.MAIN) fun loginOutChange(event: LoginOutEvent){ - LogUtils.e(TAG,"loginOutChange") isJob = false cancelTimer() @@ -1659,6 +1658,20 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission } + @Subscribe(threadMode = ThreadMode.MAIN) + fun backGroundEvent(event:BackGroundEvent){ + if (event.isBackGround){ + if(!TextUtils.isEmpty(showIdInfo)){ + isJob = false + cancelTimer() + } + }else{ + if(!TextUtils.isEmpty(showIdInfo)){ + request() + } + } + } + @Subscribe(threadMode = ThreadMode.MAIN) fun bindDevSuccess(event: BindDevEvent){ // getXtInfo(showIdInfo) diff --git a/base/src/main/res/layout/dialog_pay.xml b/base/src/main/res/layout/dialog_pay.xml index 797a209..ee4be9c 100644 --- a/base/src/main/res/layout/dialog_pay.xml +++ b/base/src/main/res/layout/dialog_pay.xml @@ -138,7 +138,6 @@ android:layout_marginBottom="@dimen/dp_85" android:orientation="horizontal" android:paddingTop="@dimen/dp_10" - android:visibility="gone" android:paddingBottom="@dimen/dp_10"> 血糖开通 血糖续费 尿酸续费 + 血脂续费 + 上传记录 血糖上传 血糖校准 @@ -87,6 +89,7 @@ 心电详情· 校准记录 + 血脂开通 尿酸开通 完善尿酸信息 @@ -184,7 +187,7 @@ 参考值:≥95% 您可以在中健三六五指定合作机构或中健三六五商城购买无创血糖趋势监测服务卡,刮开加密区即可获得血糖兑换码或扫描血糖卡中的二维码获取血糖兑换码。 您可以在中健三六五指定合作机构或中健三六五商城购买尿酸服务卡,刮开加密区即可获得尿酸兑换码或扫描尿酸服务卡中二维码获取尿酸兑换码 - + 您可以在中健三六五指定合作机构或中健三六五商城购买血脂服务卡,刮开加密区即可获得血脂兑换码或扫描血脂服务卡中二维码获取血脂兑换码 欢迎来到中健365 同意《用户协议》和《隐私政策》 diff --git a/config.gradle b/config.gradle index a19b799..f3d580d 100644 --- a/config.gradle +++ b/config.gradle @@ -25,17 +25,17 @@ ext { url = [ releaseTime: String.valueOf(new Date().format("ddHHmm")), //正式环境 - debug_url : "https://app.zhongjian365.com/app/", - release_url: "https://app.zhongjian365.com/app/", - - h5_debug_url : "https://built.zhongjian365.com/", - h5_release_url : "https://built.zhongjian365.com/" +// debug_url : "https://app.zhongjian365.com/app/", +// release_url: "https://app.zhongjian365.com/app/", +// +// h5_debug_url : "https://built.zhongjian365.com/", +// h5_release_url : "https://built.zhongjian365.com/" //测试环境 - /*debug_url : "http://java01.zhongjian365.com/app/", + debug_url : "http://java01.zhongjian365.com/app/", release_url: "http://java01.zhongjian365.com/app/", h5_debug_url : "http://testbuilt.zhongjian365.com/", - h5_release_url : "http://testbuilt.zhongjian365.com/"*/ + h5_release_url : "http://testbuilt.zhongjian365.com/" ] @@ -132,18 +132,18 @@ ext { liBan : 'top.zibin:Luban:1.1.8', bugly : 'com.tencent.bugly:crashreport:latest.release', - jpush_jcore : 'cn.jiguang.sdk:jcore:3.2.4', - jpush : 'cn.jiguang.sdk:jpush:4.7.0', + // jpush_jcore : 'cn.jiguang.sdk:jcore:3.2.4', + jpush : 'cn.jiguang.sdk:jpush:5.0.0', - hms : 'com.huawei.hms:push:6.3.0.304', - jpush_hms : 'cn.jiguang.sdk.plugin:huawei:4.7.0', + hms : 'com.huawei.hms:push:6.5.0.300', + jpush_hms : 'cn.jiguang.sdk.plugin:huawei:5.0.0', oppo_gson : 'com.google.code.gson:gson:2.8.6', oppo_codec : 'commons-codec:commons-codec:1.6', annoation : 'androidx.annotation:annotation:1.1.0', - jpush_xiaomi : 'cn.jiguang.sdk.plugin:xiaomi:4.7.0', - // jpush_oppo : 'cn.jiguang.sdk.plugin:oppo:4.7.0', + jpush_xiaomi : 'cn.jiguang.sdk.plugin:xiaomi:5.0.0', + // jpush_oppo : 'cn.jiguang.sdk.plugin:oppo:5.0.0', // jpush_vivo : 'cn.jiguang.sdk.plugin:vivo:4.7.0', // jpush_honor : 'cn.jiguang.sdk.plugin:honor:4.7.0', //角标 diff --git a/health/src/main/AndroidManifest.xml b/health/src/main/AndroidManifest.xml index deb4116..d61cf73 100644 --- a/health/src/main/AndroidManifest.xml +++ b/health/src/main/AndroidManifest.xml @@ -351,7 +351,24 @@ - + + + + + + \ No newline at end of file diff --git a/health/src/main/java/com/zj365/health/act/NSuanHowOpenAct.kt b/health/src/main/java/com/zj365/health/act/NSuanHowOpenAct.kt new file mode 100644 index 0000000..39191f4 --- /dev/null +++ b/health/src/main/java/com/zj365/health/act/NSuanHowOpenAct.kt @@ -0,0 +1,35 @@ +package com.zj365.health.act + +import android.view.View +import com.alibaba.android.arouter.facade.annotation.Route +import com.xty.base.act.IBaseAct +import com.xty.common.arouter.ARouterUrl +import com.xty.common.setImage +import com.xty.common.setRoundImage +import com.zj365.health.databinding.ActNsuanHowOpenBinding + +/** + * 尿酸如何获取兑换码 显示加载 + */ +@Route(path = ARouterUrl.NS_HOW_OPEN) +class NSuanHowOpenAct : IBaseAct() { + + val binding by lazy { ActNsuanHowOpenBinding.inflate(layoutInflater) } + override fun setLayout(): View = binding.root + + private var url = "" + private var titleName = "如何获取兑换码" + + override fun initData() { + super.initData() + isDarkBar = true + } + + override fun initView() { + super.initView() + statusBar(binding.title.mView) + binding.title.mIvBack.setOnClickListener { finish() } + binding.title.mTvTitle.text = titleName + binding.imgDesc.setImage(this,"https://image.zhongjian365.com/images/fwk/ns.png") + } +} \ No newline at end of file diff --git a/health/src/main/java/com/zj365/health/act/NSuanOpenAct.kt b/health/src/main/java/com/zj365/health/act/NSuanOpenAct.kt index 3529bab..7998965 100644 --- a/health/src/main/java/com/zj365/health/act/NSuanOpenAct.kt +++ b/health/src/main/java/com/zj365/health/act/NSuanOpenAct.kt @@ -75,7 +75,7 @@ class NSuanOpenAct : BaseVmAct() , EasyPermissions.PermissionCallbacks //获取兑换码 R.id.mTvConvert -> { bundle.clear() - // RouteManager.goAct(ARouterUrl.NS_HOW_OPEN) + RouteManager.goAct(ARouterUrl.NS_HOW_OPEN) } //开通须知 R.id.mPrivate -> { diff --git a/health/src/main/java/com/zj365/health/act/OpenOrRenewAct.kt b/health/src/main/java/com/zj365/health/act/OpenOrRenewAct.kt index c20d3de..448a6e3 100644 --- a/health/src/main/java/com/zj365/health/act/OpenOrRenewAct.kt +++ b/health/src/main/java/com/zj365/health/act/OpenOrRenewAct.kt @@ -236,7 +236,7 @@ class OpenOrRenewAct : BaseVmAct() { bundle.clear() bundle.putString("id", userId) bundle.putBoolean("isOpen", false) - RouteManager.goAct(ARouterUrl.XT_OPEN, bundle) + RouteManager.goAct(ARouterUrl.XZ_OPEN, bundle) } else ->{} } @@ -260,8 +260,8 @@ class OpenOrRenewAct : BaseVmAct() { 3 -> { bundle.clear() bundle.putString("id", userId) - bundle.putBoolean("isOpen", false) - RouteManager.goAct(ARouterUrl.XT_OPEN, bundle) + bundle.putBoolean("isOpen", true) + RouteManager.goAct(ARouterUrl.XZ_OPEN, bundle) } else ->{} } diff --git a/health/src/main/java/com/zj365/health/act/XTangHowOpenAct.kt b/health/src/main/java/com/zj365/health/act/XTangHowOpenAct.kt new file mode 100644 index 0000000..fb693fc --- /dev/null +++ b/health/src/main/java/com/zj365/health/act/XTangHowOpenAct.kt @@ -0,0 +1,40 @@ +package com.zj365.health.act + +import com.alibaba.android.arouter.facade.annotation.Route +import com.xty.base.act.IBaseAct +import com.xty.common.arouter.ARouterUrl +import com.xty.common.setImage +import com.xty.common.setRoundImage +import com.zj365.health.databinding.ActXtangHowOpenBinding + + +/** + * 血糖如何获取兑换码 显示加载 + */ +@Route(path = ARouterUrl.XT_HOW_OPEN) +class XTangHowOpenAct : IBaseAct() { + val binding by lazy { ActXtangHowOpenBinding.inflate(layoutInflater) } + override fun setLayout() = binding.root + private var url = "" + private var titleName = "如何获取兑换码" + override fun initData() { + super.initData() + isDarkBar = true +// intent.extras?.let { +// url = it.getString("url", "") +// titleName = it.getString("title", "") +// } + } + + override fun initView() { + super.initView() + statusBar(binding.title.mView) + binding.title.mIvBack.setOnClickListener { finish() } + binding.title.mTvTitle.text = titleName + binding.imgDesc.setImage(this,"https://image.zhongjian365.com/images/fwk/xt.png") + + } + +} + + diff --git a/health/src/main/java/com/zj365/health/act/XTangOpenAct.kt b/health/src/main/java/com/zj365/health/act/XTangOpenAct.kt index fc9838a..c04989d 100644 --- a/health/src/main/java/com/zj365/health/act/XTangOpenAct.kt +++ b/health/src/main/java/com/zj365/health/act/XTangOpenAct.kt @@ -107,7 +107,7 @@ class XTangOpenAct : BaseVmAct(), EasyPermissions.PermissionCallbacks , //获取兑换码 R.id.mTvConvert -> { bundle.clear() - // RouteManager.goAct(ARouterUrl.XT_HOW_OPEN) + RouteManager.goAct(ARouterUrl.XT_HOW_OPEN) } //开通须知 R.id.mPrivate -> { diff --git a/health/src/main/java/com/zj365/health/act/XZhiHowOpenAct.kt b/health/src/main/java/com/zj365/health/act/XZhiHowOpenAct.kt new file mode 100644 index 0000000..03be50e --- /dev/null +++ b/health/src/main/java/com/zj365/health/act/XZhiHowOpenAct.kt @@ -0,0 +1,36 @@ +package com.zj365.health.act + +import android.view.View +import com.alibaba.android.arouter.facade.annotation.Route +import com.xty.base.act.IBaseAct +import com.xty.common.arouter.ARouterUrl +import com.xty.common.setImage +import com.xty.common.setRoundImage +import com.zj365.health.databinding.ActXzhiHowOpenBinding + +/** + * 尿酸如何获取兑换码 显示加载 + */ +@Route(path = ARouterUrl.XZ_HOW_OPEN) +class XZhiHowOpenAct : IBaseAct() { + + val binding by lazy { ActXzhiHowOpenBinding.inflate(layoutInflater) } + override fun setLayout(): View = binding.root + + private var url = "" + private var titleName = "如何获取兑换码" + + override fun initData() { + super.initData() + isDarkBar = true + } + + override fun initView() { + super.initView() + statusBar(binding.title.mView) + binding.title.mIvBack.setOnClickListener { finish() } + binding.title.mTvTitle.text = titleName + binding.imgDesc.setImage(this,"https://image.zhongjian365.com/images/fwk/xz.png") + + } +} \ No newline at end of file diff --git a/health/src/main/java/com/zj365/health/act/XZhiOpenAct.kt b/health/src/main/java/com/zj365/health/act/XZhiOpenAct.kt new file mode 100644 index 0000000..686183f --- /dev/null +++ b/health/src/main/java/com/zj365/health/act/XZhiOpenAct.kt @@ -0,0 +1,204 @@ +package com.zj365.health.act + +import android.Manifest +import android.content.Intent +import android.view.View +import com.alibaba.android.arouter.facade.annotation.Route +import com.google.gson.Gson +import com.xty.base.act.BaseVmAct +import com.xty.common.LogUtils +import com.xty.common.arouter.ARouterUrl +import com.xty.common.arouter.RouteManager +import com.xty.common.util.CommonToastUtils +import com.xty.common.event.BloodFilipOpenSuccessEvent +import com.xty.common.event.OpenOrRenewEvent +import com.xty.common.util.JumpPermissionManagement +import com.xty.common.xqr_code.XQRCodeAct + +import com.xuexiang.xqrcode.XQRCode +import com.zj365.health.R +import com.zj365.health.databinding.ActXzhiOpenBinding +import com.zj365.health.vm.BloodFatVm +import com.zj365.health.weight.DialogTip +import org.greenrobot.eventbus.EventBus +import pub.devrel.easypermissions.EasyPermissions + +/** + * 血脂卡片开通 + */ +@Route(path = ARouterUrl.XZ_OPEN) +class XZhiOpenAct : BaseVmAct() { + + val binding by lazy { ActXzhiOpenBinding.inflate(layoutInflater) } + override fun setLayout() = binding.root + + private var isOpen = false + var userId = "" + + override fun initData() { + super.initData() + isDarkBar = true//设置状态栏字体为深色 + intent.extras?.let { + isOpen = it.getBoolean("isOpen", false) + userId = it.getString("id").toString() + } + } + + override fun initView() { + super.initView() + statusBar(binding.title.mView) + binding.title.mTvTitle.text = if (isOpen) { + getString(R.string.xz_renew) + } else { + getString(R.string.xz_open) + } + + binding.title.mIvBack.apply { + this.setOnClickListener { + finish() + } + } + + binding.mConfirm.isSelected = true + + binding.mTvConvert.setOnClickListener(onClickListener) + binding.mPrivate.setOnClickListener(onClickListener) + binding.mConfirm.setOnClickListener(onClickListener) + binding.llScan.setOnClickListener { + startScan() + } + } + + /** + * 扫码 + */ + private fun startScan() { + if(EasyPermissions.hasPermissions(this, + Manifest.permission.CAMERA)){ + XQRCodeAct.start( + this@XZhiOpenAct, + XQRCodeAct.QRCODE_AGREEMENT, + R.style.XQRCodeTheme_Custom + ) + }else{ + if (EasyPermissions.somePermissionDenied(this, + Manifest.permission.CAMERA)){ + DialogTip( + this, + "中健365需要相机权限,需要打开设置页面么?" + ) { + JumpPermissionManagement.GoToSetting(this@XZhiOpenAct) + }.show() + + }else{ + DialogTip( + this, + "中健365需要相机权限,以便您使用扫一扫功能" + ) { + EasyPermissions.requestPermissions(this,"", + 0x00011, + Manifest.permission.CAMERA) + }.show() + } + + + } + } + + private val onClickListener = View.OnClickListener { + when (it.id) { + //获取兑换码 + R.id.mTvConvert -> { + bundle.clear() + RouteManager.goAct(ARouterUrl.XZ_HOW_OPEN) + } + //开通须知 + R.id.mPrivate -> { + binding.mPrivate.isSelected = !binding.mPrivate.isSelected + } + //确定兑换 + R.id.mConfirm -> { + confirm() + } + } + } + + private fun confirm() { + if (binding.mTvActCode.text.isNullOrEmpty()) { + CommonToastUtils.showToast("请输入激活码") + return + } + + if (!binding.mPrivate.isSelected) { + CommonToastUtils.showToast("请阅读开通须知") + return + } + + mViewModel.renewOpenRequest( + userId, + 5, + "EXCHANGE_CODE", + binding.mTvActCode.text.toString() + ) + } + + override fun liveObserver() { + mViewModel.renewOpenData.observe(this) { + if (null == it.data) { + LogUtils.e("操作异常!") + return@observe + } + val code = it.code + if (code != 0) { + if (isOpen) { + CommonToastUtils.showToast("续费失败:${it.msg}") + } else { + CommonToastUtils.showToast("开通失败:${it.msg}") + } + return@observe + } else { + if (isOpen) { + CommonToastUtils.showSucceedToast("续费成功") + } else { + CommonToastUtils.showSucceedToast("开通成功") + } + EventBus.getDefault().post(BloodFilipOpenSuccessEvent()) + EventBus.getDefault().post(OpenOrRenewEvent()) + finish() + } + } + } + + override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { + super.onActivityResult(requestCode, resultCode, data) + if (resultCode === RESULT_OK) { + when (requestCode) { + XQRCodeAct.QRCODE_AGREEMENT -> { + when (data!!.getIntExtra(XQRCode.RESULT_TYPE, 0)) { + XQRCode.RESULT_SUCCESS -> { + try { + val result = data.extras!!.getString(XQRCode.RESULT_DATA) + LogUtils.d("扫描结果:$result") + if (!result.isNullOrEmpty()) { + val gson = Gson() + //设置扫描结果 + binding.mTvActCode.setText(result) + } else { + CommonToastUtils.showToast("扫码失败,请重试...") + } + } catch (e: Exception) { + LogUtils.e("二维码扫描:$e") + CommonToastUtils.showToast("请确认二维码是否正确!") + } + } + + XQRCode.RESULT_FAILED -> { + LogUtils.d("扫描失败") + + } + } + } + } + } + } +} \ No newline at end of file diff --git a/health/src/main/java/com/zj365/health/vm/BloodFatVm.kt b/health/src/main/java/com/zj365/health/vm/BloodFatVm.kt index d623aaa..22d79ef 100644 --- a/health/src/main/java/com/zj365/health/vm/BloodFatVm.kt +++ b/health/src/main/java/com/zj365/health/vm/BloodFatVm.kt @@ -1,5 +1,6 @@ package com.zj365.health.vm +import android.text.TextUtils import androidx.lifecycle.MutableLiveData import com.xty.base.vm.BaseVm import com.xty.network.model.* @@ -18,6 +19,9 @@ class BloodFatVm : BaseVm() { val oneDayData by lazy { MutableLiveData>() } + val renewOpenData by lazy { MutableLiveData>() } + + /** * 获取演示数据 */ @@ -129,6 +133,30 @@ class BloodFatVm : BaseVm() { var body = apiInterface().getBloodFatFindNow(retrofits.getRequestBody(json.toString())) return body.getLoginStatus(nowData) } - + /** + * 血糖尿酸血脂续费(新) + */ + fun renewOpenRequest( + userId: String,//用户ID + subject: Int,//3,血糖续费开通,4,尿酸续费开通,5,血脂续费开通 + channelName: String,//支付方式(ALIPAY_APP:支付宝支付,WEIXIN_APP:微信支付,EXCHANGE_CODE:兑换码兑换 + exchangeCode: String//兑换码 + ) { + startHttp { + val json = JSONObject() + json.put("id", userId) + json.put("subject", subject) + json.put("channelName", channelName) + if (!TextUtils.isEmpty(exchangeCode)) { + json.put("exchangeCode", exchangeCode) + } + val renewOpen = apiInterface().renewOpen( + retrofits.getRequestBody( + json.toString() + ) + ) + renewOpen.getCodeStatus(renewOpenData, nowData) + } + } } \ No newline at end of file diff --git a/health/src/main/res/layout/act_nsuan_how_open.xml b/health/src/main/res/layout/act_nsuan_how_open.xml new file mode 100644 index 0000000..050675d --- /dev/null +++ b/health/src/main/res/layout/act_nsuan_how_open.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/health/src/main/res/layout/act_xtang_how_open.xml b/health/src/main/res/layout/act_xtang_how_open.xml new file mode 100644 index 0000000..133ac41 --- /dev/null +++ b/health/src/main/res/layout/act_xtang_how_open.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/health/src/main/res/layout/act_xzhi_how_open.xml b/health/src/main/res/layout/act_xzhi_how_open.xml new file mode 100644 index 0000000..bbdc07a --- /dev/null +++ b/health/src/main/res/layout/act_xzhi_how_open.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/health/src/main/res/layout/act_xzhi_open.xml b/health/src/main/res/layout/act_xzhi_open.xml new file mode 100644 index 0000000..85e40f6 --- /dev/null +++ b/health/src/main/res/layout/act_xzhi_open.xml @@ -0,0 +1,140 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/health/src/main/res/values/strings.xml b/health/src/main/res/values/strings.xml index 6048840..164b504 100644 --- a/health/src/main/res/values/strings.xml +++ b/health/src/main/res/values/strings.xml @@ -1,4 +1,5 @@ Hello blank fragment + \ No newline at end of file