From 5c35bc4bbbf4dce81b93ff067bfcf08f09f452c6 Mon Sep 17 00:00:00 2001
From: wlh <646507849@qq.com>
Date: Tue, 2 Jan 2024 18:05:28 +0800
Subject: [PATCH] =?UTF-8?q?=E4=B8=AD=E5=BB=BA365-=E4=BC=98=E5=8C=96/bug?=
=?UTF-8?q?=E4=BF=AE=E5=A4=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.idea/jarRepositories.xml | 10 +
.../dc/fragment/DynamicManagementFrag.kt | 1 +
.../com/zj365/dc/fragment/HealthHomeFrag.kt | 63 ++++-
app/src/main/java/com/zj365/dc/vm/HomeVm.kt | 10 +
.../layout/frag_dynamic_management_header.xml | 23 +-
.../java/com/xty/base/h5/CloudJSBridge.kt | 6 +-
.../com/xty/base/model/PayBaseResult.java | 1 +
.../com/xty/base/model/WatchReChangeBean.kt | 7 +
.../main/java/com/xty/base/utils/PayUtils.kt | 242 ++++++++++++++++++
base/src/main/java/com/xty/base/vm/PayVm.kt | 25 ++
.../src/main/res/layout/dialog_activities.xml | 1 -
base/src/main/res/layout/dialog_pay.xml | 182 +++++++++++++
.../main/res/mipmap-xhdpi/ic_weixinzhif.png | Bin 0 -> 1287 bytes
build.gradle | 5 +
common/build.gradle | 2 +
.../java/com/xty/common/arouter/ARouterUrl.kt | 1 +
.../res/mipmap-xxhdpi/icon_close_delet.png | Bin 0 -> 1168 bytes
health/build.gradle | 2 +-
health/src/main/AndroidManifest.xml | 3 +
.../com/zj365/health/act/OpenOrRenewAct.kt | 2 +-
.../act/familyhealth/FamilyHealthAct.kt | 6 +-
.../FamilyHealthGuardianListAct.kt | 58 +++++
.../health/act/skin/SkinMeasurementMainAct.kt | 5 +-
.../TongueDiagnosisMainActivity.kt | 3 +-
.../FamilyHealthGuardianAdapter.kt | 27 ++
.../FamilyHealth/HealthFamilyTargetAdapter.kt | 2 -
.../com/zj365/health/vm/FamilyHealthVm.kt | 12 +
.../res/layout/act_blood_calilbration.xml | 1 +
.../res/layout/act_family_health_guardian.xml | 34 +++
.../layout/item_health_family_guardian.xml | 78 ++++++
.../main/java/com/xty/network/ApiInterface.kt | 15 ++
.../java/com/xty/network/model/BannerBean.kt | 3 +-
.../xty/network/model/FamilyGuardianBean.kt | 13 +
.../com/xty/network/model/HomeLayoutBean.kt | 3 +-
.../com/xty/network/model/VideoDoctorBean.kt | 7 +
35 files changed, 821 insertions(+), 32 deletions(-)
create mode 100644 base/src/main/java/com/xty/base/model/PayBaseResult.java
create mode 100644 base/src/main/java/com/xty/base/model/WatchReChangeBean.kt
create mode 100644 base/src/main/java/com/xty/base/utils/PayUtils.kt
create mode 100644 base/src/main/java/com/xty/base/vm/PayVm.kt
create mode 100644 base/src/main/res/layout/dialog_pay.xml
create mode 100644 base/src/main/res/mipmap-xhdpi/ic_weixinzhif.png
create mode 100644 common/src/main/res/mipmap-xxhdpi/icon_close_delet.png
create mode 100644 health/src/main/java/com/zj365/health/act/familyhealth/FamilyHealthGuardianListAct.kt
create mode 100644 health/src/main/java/com/zj365/health/adapter/FamilyHealth/FamilyHealthGuardianAdapter.kt
create mode 100644 health/src/main/res/layout/act_family_health_guardian.xml
create mode 100644 health/src/main/res/layout/item_health_family_guardian.xml
create mode 100644 network/src/main/java/com/xty/network/model/FamilyGuardianBean.kt
create mode 100644 network/src/main/java/com/xty/network/model/VideoDoctorBean.kt
diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml
index 39b6060..9f6cc5e 100644
--- a/.idea/jarRepositories.xml
+++ b/.idea/jarRepositories.xml
@@ -61,5 +61,15 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
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 b19d52e..bb14c68 100644
--- a/app/src/main/java/com/zj365/dc/fragment/DynamicManagementFrag.kt
+++ b/app/src/main/java/com/zj365/dc/fragment/DynamicManagementFrag.kt
@@ -1064,6 +1064,7 @@ class DynamicManagementFrag : BaseVmFrag() , EasyPermission
//设置用户头像
setUserImage(settingBean.user.id, settingBean.user.avatarUrl, settingBean.user.sex.toString())
+ binding.mHeader.tvUserName.text = settingBean.user.name
if (settingBean.user.bluetooth.isNullOrEmpty()) { //没有mac地址表示未绑定
// binding.mContent.visibility = View.VISIBLE
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 3920847..4712214 100644
--- a/app/src/main/java/com/zj365/dc/fragment/HealthHomeFrag.kt
+++ b/app/src/main/java/com/zj365/dc/fragment/HealthHomeFrag.kt
@@ -45,6 +45,7 @@ import com.zj365.health.weight.DialogTip
import com.zj365.mime.weight.NoticeSettingDialog
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
+import me.chunyu.call_kit.CallKit
import org.greenrobot.eventbus.EventBus
import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode
@@ -159,8 +160,13 @@ HealthHomeFrag : BaseVmFrag() {
// req.path = it ////拉起小程序页面的可带参路径,不填默认拉起小程序首页,对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。
- req.miniprogramType =
- WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE // 可选打开 开发版,体验版和正式版
+ if(bannerBean.wxType == 3){
+ req.miniprogramType =
+ WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE // 可选打开 开发版,体验版和正式版
+ }else{
+ req.miniprogramType =
+ WXLaunchMiniProgram.Req.MINIPROGRAM_TYPE_PREVIEW // 可选打开 开发版,体验版和正式版
+ }
api.sendReq(req)
}
@@ -203,8 +209,13 @@ HealthHomeFrag : BaseVmFrag() {
//req.path = it ////拉起小程序页面的可带参路径,不填默认拉起小程序首页,对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。
- req.miniprogramType =
- WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE // 可选打开 开发版,体验版和正式版
+ if(bannerBean.wxType == 3){
+ req.miniprogramType =
+ WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE // 可选打开 开发版,体验版和正式版
+ }else{
+ req.miniprogramType =
+ WXLaunchMiniProgram.Req.MINIPROGRAM_TYPE_PREVIEW // 可选打开 开发版,体验版和正式版
+ }
api.sendReq(req)
}
@@ -241,13 +252,23 @@ HealthHomeFrag : BaseVmFrag() {
}
2->{
- contentData.jumpUrl?.let {
- bundle.clear()
- bundle.putString("title", contentData.name)
- bundle.putString("url", contentData.jumpUrl)
- RouteManager.goAct(ARouterUrl.WEB_ACT, bundle)
+ if (contentData.name == "视频问诊"){
+ if(MMkvHelper.getLong(Const.USER_ID).toString() == "0"){
+ RouteManager.goAct(ARouterUrl.LOGIN_ACT)
+ }else {
+ mViewModel.getVideoDoctorType()
+ }
+
+ }else{
+ contentData.jumpUrl?.let {
+ bundle.clear()
+ bundle.putString("title", contentData.name)
+ bundle.putString("url", contentData.jumpUrl)
+ RouteManager.goAct(ARouterUrl.WEB_ACT, bundle)
+ }
}
+
}
3 ->{
@@ -261,8 +282,13 @@ HealthHomeFrag : BaseVmFrag() {
// req.path = it ////拉起小程序页面的可带参路径,不填默认拉起小程序首页,对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。
- req.miniprogramType =
- WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE // 可选打开 开发版,体验版和正式版
+ if(contentData.wxType == 3){
+ req.miniprogramType =
+ WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE // 可选打开 开发版,体验版和正式版
+ }else{
+ req.miniprogramType =
+ WXLaunchMiniProgram.Req.MINIPROGRAM_TYPE_PREVIEW // 可选打开 开发版,体验版和正式版
+ }
api.sendReq(req)
}
@@ -344,9 +370,14 @@ HealthHomeFrag : BaseVmFrag() {
req.userName = contentData.wxId // 填小程序原始id
//req.path = it ////拉起小程序页面的可带参路径,不填默认拉起小程序首页,对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。
+ if(contentData.wxType == 3){
+ req.miniprogramType =
+ WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE // 可选打开 开发版,体验版和正式版
+ }else{
+ req.miniprogramType =
+ WXLaunchMiniProgram.Req.MINIPROGRAM_TYPE_PREVIEW // 可选打开 开发版,体验版和正式版
+ }
- req.miniprogramType =
- WXLaunchMiniProgram.Req.MINIPTOGRAM_TYPE_RELEASE // 可选打开 开发版,体验版和正式版
api.sendReq(req)
}
@@ -608,6 +639,12 @@ HealthHomeFrag : BaseVmFrag() {
}
layoutContentAdapter.setNewInstance(it.data.middle)
}
+
+ mViewModel.videoDoctorLive.observe(this){
+ if (it.data.type == 2){
+ CallKit.startCallKitLogic(requireActivity(),it.data.data)
+ }
+ }
}
diff --git a/app/src/main/java/com/zj365/dc/vm/HomeVm.kt b/app/src/main/java/com/zj365/dc/vm/HomeVm.kt
index 9f59873..6b048ed 100644
--- a/app/src/main/java/com/zj365/dc/vm/HomeVm.kt
+++ b/app/src/main/java/com/zj365/dc/vm/HomeVm.kt
@@ -9,6 +9,7 @@ import com.xty.network.model.FamilyBean
import com.xty.network.model.HomeLayoutBean
import com.xty.network.model.RespBody
import com.xty.network.model.ScienceBean
+import com.xty.network.model.VideoDoctorBean
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.async
import kotlinx.coroutines.withContext
@@ -23,6 +24,8 @@ class HomeVm: BaseVm() {
val layoutLive by lazy { MutableLiveData>() }
+ val videoDoctorLive by lazy { MutableLiveData>() }
+
fun getBanners(id: String?,location:Int){
startHttp(false) {
@@ -84,4 +87,11 @@ class HomeVm: BaseVm() {
}
}
+ fun getVideoDoctorType(){
+ startHttp {
+ var body= apiInterface().getVideoDoctorType()
+ body.getCodeStatus(videoDoctorLive,nowData)
+ }
+ }
+
}
\ No newline at end of file
diff --git a/app/src/main/res/layout/frag_dynamic_management_header.xml b/app/src/main/res/layout/frag_dynamic_management_header.xml
index 2cb0a4d..5c878a1 100644
--- a/app/src/main/res/layout/frag_dynamic_management_header.xml
+++ b/app/src/main/res/layout/frag_dynamic_management_header.xml
@@ -30,18 +30,33 @@
app:layout_constraintTop_toTopOf="parent" />
+
+
@@ -63,8 +78,8 @@
android:textColor="@color/col_D9BD"
android:textSize="@dimen/sp_14"
android:textStyle="bold"
- app:layout_constraintLeft_toRightOf="@+id/mHeaderImage"
- app:layout_constraintTop_toBottomOf="@+id/mBMI"
+ app:layout_constraintLeft_toRightOf="@+id/mBMI"
+ app:layout_constraintTop_toBottomOf="@+id/tv_userName"
tools:ignore="UseCompatTextViewDrawableXml" />
diff --git a/base/src/main/java/com/xty/base/h5/CloudJSBridge.kt b/base/src/main/java/com/xty/base/h5/CloudJSBridge.kt
index 17402ca..b52d040 100644
--- a/base/src/main/java/com/xty/base/h5/CloudJSBridge.kt
+++ b/base/src/main/java/com/xty/base/h5/CloudJSBridge.kt
@@ -2,8 +2,11 @@ package com.xty.base.h5
import android.content.Context
import android.webkit.JavascriptInterface
+import com.blankj.utilcode.util.GsonUtils
import com.google.gson.Gson
import com.xty.base.act.BaseVmAct
+import com.xty.base.model.WatchReChangeBean
+import com.xty.base.utils.PayUtils
import com.xty.common.Const
import com.xty.common.LogUtils
import com.xty.common.MMkvHelper
@@ -68,7 +71,8 @@ open class CloudJSBridge(val context: Context, val listener: IJsBridge) {
@JavascriptInterface
fun watchRecharge(str: String?){
str?.let {
-
+ var watchBean = GsonUtils.fromJson(it,WatchReChangeBean::class.java)
+ PayUtils(context).reChangeWatch(watchBean.pay_price,watchBean.orderId)
}
}
diff --git a/base/src/main/java/com/xty/base/model/PayBaseResult.java b/base/src/main/java/com/xty/base/model/PayBaseResult.java
new file mode 100644
index 0000000..1b9610d
--- /dev/null
+++ b/base/src/main/java/com/xty/base/model/PayBaseResult.java
@@ -0,0 +1 @@
+package com.xty.base.model;
import android.text.TextUtils;
import java.util.Map;
public class PayBaseResult {
private String resultStatus;
private String result;
private String memo;
public PayBaseResult(Map rawResult) {
if (rawResult == null) {
return;
}
for (String key : rawResult.keySet()) {
if (TextUtils.equals(key, "resultStatus")) {
resultStatus = rawResult.get(key);
} else if (TextUtils.equals(key, "result")) {
result = rawResult.get(key);
} else if (TextUtils.equals(key, "memo")) {
memo = rawResult.get(key);
}
}
}
@Override
public String toString() {
return "resultStatus={" + resultStatus + "};memo={" + memo
+ "};result={" + result + "}";
}
/**
* @return the resultStatus
*/
public String getResultStatus() {
return resultStatus;
}
/**
* @return the memo
*/
public String getMemo() {
return memo;
}
/**
* @return the result
*/
public String getResult() {
return result;
}
}
\ No newline at end of file
diff --git a/base/src/main/java/com/xty/base/model/WatchReChangeBean.kt b/base/src/main/java/com/xty/base/model/WatchReChangeBean.kt
new file mode 100644
index 0000000..74c060c
--- /dev/null
+++ b/base/src/main/java/com/xty/base/model/WatchReChangeBean.kt
@@ -0,0 +1,7 @@
+package com.xty.base.model
+
+class WatchReChangeBean (
+ var orderId:String,
+ var pay_price:Float
+){
+}
\ No newline at end of file
diff --git a/base/src/main/java/com/xty/base/utils/PayUtils.kt b/base/src/main/java/com/xty/base/utils/PayUtils.kt
new file mode 100644
index 0000000..ac850c7
--- /dev/null
+++ b/base/src/main/java/com/xty/base/utils/PayUtils.kt
@@ -0,0 +1,242 @@
+package com.xty.base.utils
+
+import android.content.Context
+import android.os.Handler
+import android.os.Looper
+import android.os.Message
+import android.text.TextUtils
+import android.view.LayoutInflater
+import android.widget.ImageView
+import android.widget.LinearLayout
+import android.widget.TextView
+import android.widget.Toast
+import androidx.lifecycle.ViewModelProvider
+import com.alipay.sdk.app.PayTask
+import com.google.android.material.bottomsheet.BottomSheetDialog
+import com.tencent.mm.opensdk.modelbase.BaseResp
+import com.tencent.mm.opensdk.modelpay.PayReq
+import com.tencent.mm.opensdk.openapi.WXAPIFactory
+import com.xty.base.R
+import com.xty.base.act.BaseVmAct
+import com.xty.base.model.PayBaseResult
+import com.xty.base.vm.PayVm
+import com.xty.common.BuildConfig
+import com.xty.common.LogUtils
+import com.xty.common.arouter.ARouterUrl
+import com.xty.common.arouter.RouteManager
+import com.xty.common.event.WxPayEvent
+import com.xty.common.util.SpannableUtils
+import com.xty.network.model.WeixinPayBean
+
+open class PayUtils(var context: Context) {
+
+ lateinit var bottomSheetDialog: BottomSheetDialog
+
+ private var baseActivity: BaseVmAct<*> = context as BaseVmAct<*>
+ private val SDK_PAY_FLAG = 1
+ private val WEIXIN_PAY_FLAG = 2
+ val mViewModel by lazy { ViewModelProvider(baseActivity).get(PayVm::class.java)}
+
+ var price:Float? = null
+
+ open fun reChangeWatch(xPrice:Float,orderNo:String){
+ bottomSheetDialog = BottomSheetDialog(context, R.style.Theme_ChartDialogManager)
+ bottomSheetDialog?.let { dialog ->
+ val view = LayoutInflater.from(context).inflate(R.layout.dialog_pay, null)
+ dialog.setContentView(view)
+
+ val tvprice = view.findViewById(R.id.tvPrice)
+ tvprice.text = SpannableUtils.setSpanMoney(xPrice)
+ val ivClose = view.findViewById(R.id.close_button)
+ ivClose.setOnClickListener {
+ dialog.dismiss()
+ }
+ val tvZhifubao = view.findViewById(R.id.tv_gouxuan_zhifubao)
+ val tvWeixin = view.findViewById(R.id.tv_gouxuan_weixin)
+ tvWeixin.isSelected = true
+ val tvDuihuanma = view.findViewById(R.id.tv_gouxuan_duihuanma)
+ val llWeixin = view.findViewById(R.id.llWeixin)
+ val llZhifu = view.findViewById(R.id.llZhifu)
+ val tvZhifu = view.findViewById(R.id.tvZhifu)
+ llZhifu.setOnClickListener {
+ tvZhifubao.isSelected = true
+ tvDuihuanma.isSelected = false
+ tvWeixin.isSelected = false
+ tvZhifu.text = "确认支付"
+ }
+ llWeixin.setOnClickListener {
+ tvZhifubao.isSelected = false
+ tvDuihuanma.isSelected = false
+ tvWeixin.isSelected = true
+ tvZhifu.text = "确认支付"
+ }
+ val llDuihuan = view.findViewById(R.id.llDuihuan)
+ llDuihuan.setOnClickListener {
+ tvWeixin.isSelected = false
+ tvZhifubao.isSelected = false
+ tvDuihuanma.isSelected = true
+ tvZhifu.text = "去兑换"
+ }
+
+ tvZhifu.setOnClickListener {
+ //支付
+ if (tvZhifubao.isSelected) {
+ //支付宝
+ mViewModel.payWatch(orderNo, "ALIPAY_APP")
+ } else if (tvWeixin.isSelected) {
+ //微信
+ mViewModel.payWatch(orderNo, "WEIXIN_APP")
+ } else {
+
+ }
+
+ liveObserver()
+ }
+ }
+ bottomSheetDialog?.show()
+
+
+ }
+
+ fun liveObserver(){
+ baseActivity.runOnUiThread {
+ mViewModel.payObservable.observe(baseActivity) {
+ it.data?.let {
+ val orderInfo: String? = it.alipayOrderInfo // 支付宝订单信息
+ val wxmodel: WeixinPayBean? = it.wxmodel // 微信订单信息
+ if (wxmodel != null) {
+ startWechatPay(wxmodel)
+ } else if (orderInfo != null) {
+ LogUtils.i("start Alipay")
+ val orderInfo: String = it.alipayOrderInfo!! // 订单信息
+ val payRunnable = Runnable {
+ val alipay = PayTask(baseActivity)
+ val result = alipay.payV2(orderInfo, true)
+ val msg = Message()
+ msg.what = SDK_PAY_FLAG
+ msg.obj = result
+ mHandler.sendMessage(msg)
+ }
+ // 必须异步调用
+ val payThread = Thread(payRunnable)
+ payThread.start()
+ }
+ bottomSheetDialog?.dismiss()
+ }
+ }
+ }
+
+ }
+
+ /**
+ * 微信支付
+ */
+ fun startWechatPay(wxModel: WeixinPayBean) {
+ LogUtils.i("startWechatPay")
+ val appId = wxModel.appId
+ val partnerId = wxModel.partnerid
+ val prepayId = wxModel.prepayId
+ val packageValue = wxModel.packageName
+ val nonceStr = wxModel.noncestr
+ val timeStamp = wxModel.timestamp
+ val sign = wxModel.sign
+
+ val api = WXAPIFactory.createWXAPI(context, BuildConfig.appid)
+ api.registerApp(appId)
+
+ //以下这些都应该从服务器去获取
+ val payRequest = PayReq()
+ payRequest.appId = appId//你的微信appid
+ payRequest.partnerId = partnerId//微信支付分配的商户号
+ payRequest.prepayId = prepayId//微信返回的支付交易会话ID
+ payRequest.packageValue = packageValue//固定值
+ payRequest.nonceStr = nonceStr//随机字符串
+ payRequest.timeStamp = timeStamp//时间戳
+ payRequest.sign = sign//签名
+ //传入一个标识,以便区分回调
+ payRequest.extData = "AICancelPay"
+ //在支付之前,如果应用没有注册到微信,应该先调用IWXMsg.registerApp将应用注册到微信
+ //发起请求,调起微信前去支付
+ api.sendReq(payRequest);
+ }
+
+ private val mHandler: Handler = object : Handler(Looper.getMainLooper()) {
+ override fun handleMessage(msg: Message) {
+ when (msg.what) {
+ SDK_PAY_FLAG -> {
+ val payResult = PayBaseResult(msg.obj as Map)
+
+ /**
+ * 对于支付结果,请商户依赖服务端的异步通知结果。同步通知结果,仅作为支付结束的通知。
+ */
+ val resultInfo: String = payResult.getResult() // 同步返回需要验证的信息
+ val resultStatus: String = payResult.getResultStatus()
+ // 判断resultStatus 为9000则代表支付成功
+ if (TextUtils.equals(resultStatus, "9000")) {
+ // 该笔订单是否真实支付成功,需要依赖服务端的异步通知。
+// Toast.makeText(this@PreventCancertAct,"支付成功"+payResult,Toast.LENGTH_SHORT).show()
+// com.alipay.sdk.pay.demo.PayDemoActivity.showAlert(
+// this@PayDemoActivity,
+// getString(R.string.pay_success) + payResult
+// )
+ /* bundle.clear()
+ bundle.putString("orderNo", orderNo)
+ bundle.putString("orderType", "1")
+ RouteManager.goAct(ARouterUrl.PAY_SUCCESS, bundle)*/
+
+ Toast.makeText(
+ context,
+ "支付成功",
+ Toast.LENGTH_SHORT
+ )
+ .show()
+ } else {
+ Toast.makeText(
+ context,
+ "支付失败,请联系客服",
+ Toast.LENGTH_SHORT
+ )
+ .show()
+
+ // 该笔订单真实的支付结果,需要依赖服务端的异步通知。
+// com.alipay.sdk.pay.demo.PayDemoActivity.showAlert(
+// this@PayDemoActivity,
+// getString(R.string.pay_failed) + payResult
+// )
+ }
+ }
+
+ WEIXIN_PAY_FLAG -> {
+ val event = msg.obj as WxPayEvent
+ when (event.code) {
+ BaseResp.ErrCode.ERR_OK -> {
+ /* bundle.clear()
+ bundle.putString("orderNo", orderNo)
+ bundle.putString("orderType", "1")
+ RouteManager.goAct(ARouterUrl.PAY_SUCCESS, bundle)*/
+ Toast.makeText(
+ context,
+ "支付成功",
+ Toast.LENGTH_SHORT
+ )
+ .show()
+ }
+
+ BaseResp.ErrCode.ERR_USER_CANCEL -> {
+
+ }
+
+ else -> {
+ Toast.makeText(
+ context,
+ "支付失败,请联系客服",
+ Toast.LENGTH_SHORT
+ ).show()
+ }
+ }
+ }
+ }
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/base/src/main/java/com/xty/base/vm/PayVm.kt b/base/src/main/java/com/xty/base/vm/PayVm.kt
new file mode 100644
index 0000000..823da07
--- /dev/null
+++ b/base/src/main/java/com/xty/base/vm/PayVm.kt
@@ -0,0 +1,25 @@
+package com.xty.base.vm
+
+import androidx.lifecycle.LifecycleObserver
+import androidx.lifecycle.MutableLiveData
+import com.xty.network.model.PayBean
+import com.xty.network.model.RespBody
+import org.json.JSONObject
+
+class PayVm : BaseVm() , LifecycleObserver {
+
+ val payObservable by lazy { MutableLiveData>() }
+
+
+ fun payWatch(orderNo:String,channelName:String){
+ startHttp {
+ var json = JSONObject()
+ json.put("orderNo", orderNo)
+ json.put("channelName", channelName)
+
+ var response = apiInterface().toPay(retrofits.getRequestBody(json.toString()))
+ response.getCodeStatus(payObservable, nowData)
+
+ }
+ }
+}
\ 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
index 5f6ac44..402bafa 100644
--- a/base/src/main/res/layout/dialog_activities.xml
+++ b/base/src/main/res/layout/dialog_activities.xml
@@ -17,7 +17,6 @@
android:layout_width="match_parent"
android:layout_height="@dimen/dp_500"
android:maxWidth="@dimen/dp_312"
- android:scaleType="centerCrop"
android:maxHeight="@dimen/dp_500"
android:adjustViewBounds="true"
app:is_circle="false"
diff --git a/base/src/main/res/layout/dialog_pay.xml b/base/src/main/res/layout/dialog_pay.xml
new file mode 100644
index 0000000..797a209
--- /dev/null
+++ b/base/src/main/res/layout/dialog_pay.xml
@@ -0,0 +1,182 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/base/src/main/res/mipmap-xhdpi/ic_weixinzhif.png b/base/src/main/res/mipmap-xhdpi/ic_weixinzhif.png
new file mode 100644
index 0000000000000000000000000000000000000000..b71e38a28faef603a17542ab4735f434ad958f65
GIT binary patch
literal 1287
zcmV+i1^D`jP)Px(!AV3xR9HvtnQw?xWfaDr^UmzOo7o@GR-?XX*~UUy*@q&WomsUggecaf+I8k`
zfng!mLVq>cNR;}JK?KzYyR*6#?h28F1go=mG>9;xh^(L`as{)bEO*y?XXkz5j;^lm
z&d$9vtF7SuGBEEs&-vXm=bkzDeFdj3b9YNEBav4G5(7~K8CkjTp9Hl4M@i|Ch~DTf
z?D*NIC?FZxWFsgY0=ewMqfH!n2t4%;P(PCrW)u7j}I(L&ljUNwM9f)
zrYh(t;7&iY{Q$0;>aYL~`LHJdm{T3LPzo0dECBZs?0G7w$}>yi7=*h?^b&GFh(ALH_vqF;c>jV0~J
z8ia=>IUvBx?vcTF(A1R=9dzG{D)YFzlE4NLxjck_XxKg?ztpSWav(&IaZSxHQa4~&
zb^@3eP%9K{pF6B$Sk!SSpm=GsZ0j`!xl@1zrHuo&E&_wlSl}h>9|MR6HZiivTfxX0
z0h~$Qxr@-N#&ncy%e5w={b12jn79lG9Q87G4cej4g)tnf8^FCJSLfpCGZ}G~&oL>_
zQdClat48@9q{j1J!v45e_RQW?KSYX+t0iEGZ@svE+j!#9Z0eo}W$&qXV|^pQxbaF(T?D`O>eF`?3t%|bz6pCI*+a^zpe@gE
zQu_sRdy#l0x`E&qH)a?8A2%}ABckxpIN}E>y3LDq_@xr~G9BwMFuK0aaxK-mIP9ui
z4Hka**SHb4Ei=rTX?-JgMqmKcZ+aYh1BtHVfhhr0JIm(~k-mz$0W}`-680y>M5=mI
zE0st)$`DRm8U1Nv$B{y%JKTYWB4IF1OxZJPBN5B>Y;{i0l{O>dAry{kMXcy>3#0Gmp+R
zl<5di7eF^~W(!&*)_8GyLjd8@CYk2z4OR7dKu}*V9Bcs?*zDEYPn4!9Zee6w9~AOk
z0JB5rgolN2uNzA*3=!nCX|y+acSO{y0G5>DUj{7rzFVJu(huebS4!GMV~?hMmGkm_
zICkQ1G3!Rhlsx8oQtm$5$N&G8d
zju2CTD=L6H*EKvW!EFHM3Z&?OGl_tsrNYCWCy*ermtccrsT>a*^zO8;;c}
zz+>gy>V@!
x>hC)>05bFcJz)fe{F6#D;_3D7;*%$g{{a~nDX)s!AiV$p002ovPDHLkV1j(QUWotz
literal 0
HcmV?d00001
diff --git a/build.gradle b/build.gradle
index 3b4abdb..ed99960 100644
--- a/build.gradle
+++ b/build.gradle
@@ -16,6 +16,7 @@ buildscript {
maven {url 'https://developer.huawei.com/repo/'}
maven{ url 'https://maven.aliyun.com/nexus/content/groups/public/'}
maven{ url 'https://oss.sonatype.org/content/repositories/snapshots'}
+
}
dependencies {
classpath "com.android.tools.build:gradle:4.2.2"
@@ -28,9 +29,13 @@ buildscript {
allprojects {
repositories {
+ maven {
+ url uri("${project.rootDir}/libs/")
+ }
google()
mavenCentral()
+
maven {url 'https://maven.aliyun.com/repository/google/'}
maven {url 'https://maven.aliyun.com/repository/public/'}
maven {url 'https://maven.aliyun.com/repository/gradle-plugin/'}
diff --git a/common/build.gradle b/common/build.gradle
index 014eb1a..637172a 100644
--- a/common/build.gradle
+++ b/common/build.gradle
@@ -105,5 +105,7 @@ dependencies {
api 'com.github.maning0303:MNZXingCode:V2.1.9'
api 'pub.devrel:easypermissions:3.0.0'
+ api 'com.alipay.sdk:alipaysdk-android:+@aar'
+ api 'me.chunyu.call_kit:call_kit:2.0.1'
}
\ No newline at end of file
diff --git a/common/src/main/java/com/xty/common/arouter/ARouterUrl.kt b/common/src/main/java/com/xty/common/arouter/ARouterUrl.kt
index ed19a76..d7c1dfe 100644
--- a/common/src/main/java/com/xty/common/arouter/ARouterUrl.kt
+++ b/common/src/main/java/com/xty/common/arouter/ARouterUrl.kt
@@ -126,6 +126,7 @@ class ARouterUrl {
const val ADD_FAMILY_GUARDIAN_ACT = "/health/com/zj365/health/act/familyhealth/AddFamilyGuardianAct"
const val FAMILY_HEALTH_ACT = "/health/com/zj365/health/act/familyhealth/FamilyHealthAct"
const val FAMILY_HEALTH_REAL_TIME_ACT = "/health/com/zj365/health/act/familyhealth/FamilyHealthRealTimeAct"
+ const val FAMILY_GUARDIAN_LIST_ACT = "/health/com/zj365/health/act/familyhealth/FamilyHealthGuardianListAct"
//设备绑定相关
diff --git a/common/src/main/res/mipmap-xxhdpi/icon_close_delet.png b/common/src/main/res/mipmap-xxhdpi/icon_close_delet.png
new file mode 100644
index 0000000000000000000000000000000000000000..3ee6da086852f50c3d2d9960dbb070aaf25679eb
GIT binary patch
literal 1168
zcmV;B1aJF^P)Px(N=ZaPR7gv;mThR8RTRhn=RR5EG|il-piE_L6lqQR+{A)Kl!&savt!_bDB?EI
z;R_;_eQ<(;`a$u7ZeKb!zvy%#b`BNh)Csn3S~|^hpA3b#-;cqS5Fp06GBN
zXN>vcOh6NfM6|uV{Urb?(pq0kMBfXDnSWGDt*ZVmptRPH19--P
zeyCI`tH#I2zg#S^*7^t$^}4`D1X>+h>t~7RF*os@wRT;hP%!@ooXKRCRVtM?l~Svi
zS&n+&7<0=hsQlB@)3Z4eiR_dGA~g}^f*?3_x?rvKC=p%b0{LiiaL3Wl7Yf!|e?>%BIN)c-m}_fi%!byaej30NMAhjN%-nB`DYOFa?(ROX
zt*vc8fNF#Q-ZRFmarINxcuuIx@dKXc4O(kO>YteTjxY>|n}Kt=oL4Ls57#6G@OCsB
zy=!!I^w0Wz4WaTuzVF|wl-lKr;Ad;?ZG}SNNF%V;`da{(ibBj>Eto
z?x2$ZZk{c5GMQW+i9|$&l!NRu#@t>nX{(W*T9;0z2Z-neSJl4&xW^cCKo*FFmdoXX
zL{u#lW`3hoDs3zli+?pzWZp8@1MV64C2U>PeU5gTC({C!&=~DFN;afEZq;Jb)+0{9fbZg-s|zy0}q{^R)~ZV8&rW@A%RQ%CDA{+@U|zEN_R
zPN!E(_i*|Bm6hHW1Mc089Vve0-g}
z4$dVad9_{XHg48lvB=`6aN~Ka4dY*S&DRqvu_BmtB)
+
\ No newline at end of file
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 1063125..efe5176 100644
--- a/health/src/main/java/com/zj365/health/act/OpenOrRenewAct.kt
+++ b/health/src/main/java/com/zj365/health/act/OpenOrRenewAct.kt
@@ -140,7 +140,7 @@ class OpenOrRenewAct : BaseVmAct() {
if (bottomSheetDialog == null) {
bottomSheetDialog = BottomSheetDialog(this)
bottomSheetDialog?.let { dialog ->
- val view = LayoutInflater.from(this).inflate(R.layout.bottom_cancer, null)
+ val view = LayoutInflater.from(this).inflate(R.layout.dialog_pay, null)
dialog.setContentView(view)
val tvprice = view.findViewById(R.id.tvPrice)
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 0721f07..a6ab906 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
@@ -46,7 +46,7 @@ class FamilyHealthAct : BaseListAct() {
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.addChildClickViewIds(R.id.tv_add_cancel, R.id.tv_watch,R.id.tv_current_time,R.id.ll_avatar)
mAdapter.setOnItemChildClickListener { adapter, view, position ->
val familyHealthBean = adapter.data[position] as FamilyHealthBean
when (view.id) {
@@ -57,6 +57,10 @@ class FamilyHealthAct : BaseListAct() {
mViewModel.exitCustody(familyHealthBean.id.toString())
}
}
+
+ R.id.ll_avatar ->{
+ RouteManager.goAct(ARouterUrl.FAMILY_GUARDIAN_LIST_ACT)
+ }
}
}
}
diff --git a/health/src/main/java/com/zj365/health/act/familyhealth/FamilyHealthGuardianListAct.kt b/health/src/main/java/com/zj365/health/act/familyhealth/FamilyHealthGuardianListAct.kt
new file mode 100644
index 0000000..16dc4d2
--- /dev/null
+++ b/health/src/main/java/com/zj365/health/act/familyhealth/FamilyHealthGuardianListAct.kt
@@ -0,0 +1,58 @@
+package com.zj365.health.act.familyhealth
+
+import androidx.recyclerview.widget.LinearLayoutManager
+import com.alibaba.android.arouter.facade.annotation.Route
+import com.xty.base.act.BaseListAct
+import com.xty.common.arouter.ARouterUrl
+import com.xty.network.model.FamilyHealthBean
+import com.zj365.health.R
+import com.zj365.health.adapter.familyhealth.FamilyHealthGuardianAdapter
+import com.zj365.health.databinding.ActFamilyHealthGuardianBinding
+import com.zj365.health.vm.FamilyHealthVm
+
+@Route(path = ARouterUrl.FAMILY_GUARDIAN_LIST_ACT)
+class FamilyHealthGuardianListAct : BaseListAct() {
+ val binding by lazy { ActFamilyHealthGuardianBinding.inflate(layoutInflater) }
+
+ val adapter by lazy { FamilyHealthGuardianAdapter() }
+ override fun initAdapter() {
+
+ setRecycleRefresh(binding.recyclerView, binding.mRefresh, true)
+ binding.recyclerView.layoutManager = LinearLayoutManager(this)
+ binding.recyclerView.adapter = adapter
+ adapter.addChildClickViewIds(R.id.cb_frist, R.id.img_delete)
+ adapter.setOnItemChildClickListener { adapter, view, position ->
+ val familyHealthBean = adapter.data[position] as FamilyHealthBean
+ when (view.id) {
+ R.id.img_delete -> {
+ mViewModel.exitCustody(familyHealthBean.id.toString())
+ }
+ R.id.cb_frist->{
+
+ }
+ }
+ }
+ }
+
+
+ override fun initView() {
+ super.initView()
+ statusBar(binding.title.mView)
+ binding.title.mTvTitle.text = "监护人列表"
+ binding.title.mIvBack.setOnClickListener {
+ finish()
+ }
+ }
+
+ override fun loadData() {
+ mViewModel.getFamilyHealthGuardianList()
+ }
+
+ override fun liveObserver() {
+ mViewModel.familyGuardianLiveData.observe(this){
+ adapter.setNewInstance(it.data)
+ }
+ }
+
+ override fun setLayout()= binding.root
+}
\ No newline at end of file
diff --git a/health/src/main/java/com/zj365/health/act/skin/SkinMeasurementMainAct.kt b/health/src/main/java/com/zj365/health/act/skin/SkinMeasurementMainAct.kt
index 6d2cac8..ae696ae 100644
--- a/health/src/main/java/com/zj365/health/act/skin/SkinMeasurementMainAct.kt
+++ b/health/src/main/java/com/zj365/health/act/skin/SkinMeasurementMainAct.kt
@@ -1,6 +1,5 @@
package com.zj365.health.act.skin
-import android.graphics.Color
import android.os.Handler
import android.os.Looper
import android.os.Message
@@ -29,11 +28,9 @@ import com.zj365.health.R
import com.zj365.health.databinding.ActAiSkinMeasurementBinding
import com.zj365.health.model.PayResult
import com.zj365.health.vm.SkinMeasurementVm
-import com.zj365.health.vm.TongueDiagnosisVm
import com.zj365.health.weight.CancerDialog
import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode
-import retrofit2.http.Path
@Route(path = ARouterUrl.AI_SKIN_MEASUREMENT_ACTIVITY)
class SkinMeasurementMainAct : BaseVmAct() {
@@ -101,7 +98,7 @@ class SkinMeasurementMainAct : BaseVmAct() {
if (bottomSheetDialog == null) {
bottomSheetDialog = BottomSheetDialog(this,R.style.Theme_ChartDialogManager)
bottomSheetDialog?.let { dialog ->
- val view = LayoutInflater.from(this).inflate(R.layout.bottom_cancer, null)
+ val view = LayoutInflater.from(this).inflate(R.layout.dialog_pay, null)
dialog.setContentView(view)
val tvprice = view.findViewById(R.id.tvPrice)
diff --git a/health/src/main/java/com/zj365/health/act/tonguediagnosis/TongueDiagnosisMainActivity.kt b/health/src/main/java/com/zj365/health/act/tonguediagnosis/TongueDiagnosisMainActivity.kt
index 656dfc0..7ac117f 100644
--- a/health/src/main/java/com/zj365/health/act/tonguediagnosis/TongueDiagnosisMainActivity.kt
+++ b/health/src/main/java/com/zj365/health/act/tonguediagnosis/TongueDiagnosisMainActivity.kt
@@ -1,6 +1,5 @@
package com.zj365.health.act.tonguediagnosis
-import android.graphics.Color
import android.os.Handler
import android.os.Looper
import android.os.Message
@@ -90,7 +89,7 @@ class TongueDiagnosisMainActivity : BaseVmAct() {
if (bottomSheetDialog == null) {
bottomSheetDialog = BottomSheetDialog(this,R.style.Theme_ChartDialogManager)
bottomSheetDialog?.let { dialog ->
- val view = LayoutInflater.from(this).inflate(R.layout.bottom_cancer, null)
+ val view = LayoutInflater.from(this).inflate(R.layout.dialog_pay, null)
dialog.setContentView(view)
val tvprice = view.findViewById(R.id.tvPrice)
diff --git a/health/src/main/java/com/zj365/health/adapter/FamilyHealth/FamilyHealthGuardianAdapter.kt b/health/src/main/java/com/zj365/health/adapter/FamilyHealth/FamilyHealthGuardianAdapter.kt
new file mode 100644
index 0000000..e886781
--- /dev/null
+++ b/health/src/main/java/com/zj365/health/adapter/FamilyHealth/FamilyHealthGuardianAdapter.kt
@@ -0,0 +1,27 @@
+package com.zj365.health.adapter.familyhealth
+
+import android.graphics.Color
+import android.widget.CheckBox
+import android.widget.TextView
+import com.chad.library.adapter.base.viewholder.BaseViewHolder
+import com.xty.base.adapter.BaseAdapter
+import com.xty.common.setImageUser
+import com.xty.network.model.FamilyGuardianBean
+import com.zj365.health.R
+import de.hdodenhof.circleimageview.CircleImageView
+
+class FamilyHealthGuardianAdapter : BaseAdapter(R.layout.item_health_family_guardian) {
+ override fun convert(holder: BaseViewHolder, item: FamilyGuardianBean) {
+ holder.getView(R.id.img_avatar).setImageUser(context,item.avatarUrl)
+ holder.setText(R.id.tv_relation,item.relation)
+ holder.setText(R.id.tv_phone,item.phone)
+ if(item.isFirst == 1){
+ holder.getView(R.id.cb_frist).isChecked = true
+ holder.getView(R.id.desc).setTextColor(Color.parseColor("#02C191"))
+ }else{
+ holder.getView(R.id.cb_frist).isChecked = false
+ holder.getView(R.id.desc).setTextColor(Color.parseColor("#7C7C7C"))
+
+ }
+ }
+}
\ 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 32e027b..5630802 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
@@ -38,7 +38,6 @@ class HealthFamilyTargetAdapter : BaseAdapter
contentValue = if (item.value == "0") "--" else item.value
}
- LogUtils.e("HealthFamilyTargetAdapter","contentValue:${contentValue}")
if(item.status == 1){
tvValue.setTextColor(Color.parseColor("#7C7C7C"))
tvValue.text = SpannableUtils.setStrSpan(
@@ -64,7 +63,6 @@ class HealthFamilyTargetAdapter : BaseAdapter
"${contentValue}${context.getString(units[item.type-1])}".length -
context.getString(units[item.type-1]).length)
}
- LogUtils.e("HealthFamilyTargetAdapter","textValue:${tvValue.text.toString()}")
when(item.type){
1 ->{
diff --git a/health/src/main/java/com/zj365/health/vm/FamilyHealthVm.kt b/health/src/main/java/com/zj365/health/vm/FamilyHealthVm.kt
index 7ac2a21..4d1f28b 100644
--- a/health/src/main/java/com/zj365/health/vm/FamilyHealthVm.kt
+++ b/health/src/main/java/com/zj365/health/vm/FamilyHealthVm.kt
@@ -2,6 +2,7 @@ package com.zj365.health.vm
import androidx.lifecycle.MutableLiveData
import com.xty.base.vm.BaseVm
+import com.xty.network.model.FamilyGuardianBean
import com.xty.network.model.FamilyHealthBean
import com.xty.network.model.RespBody
import org.json.JSONObject
@@ -10,6 +11,8 @@ class FamilyHealthVm :BaseVm() {
val familyHealthListData by lazy { MutableLiveData>>() }
+ val familyGuardianLiveData by lazy { MutableLiveData>>() }
+
val exitCustody by lazy { MutableLiveData>() }
fun getFamilyHealthList(){
startHttp (true){
@@ -27,5 +30,14 @@ class FamilyHealthVm :BaseVm() {
}
}
+ fun getFamilyHealthGuardianList(){
+ startHttp (true){
+
+ val json = JSONObject()
+ val request = apiInterface().getFamilyGuardianList(retrofits.getRequestBody(json.toString()))
+ request.getCodeStatus(familyGuardianLiveData,nowData)
+ }
+ }
+
}
\ No newline at end of file
diff --git a/health/src/main/res/layout/act_blood_calilbration.xml b/health/src/main/res/layout/act_blood_calilbration.xml
index ed620ef..64dafad 100644
--- a/health/src/main/res/layout/act_blood_calilbration.xml
+++ b/health/src/main/res/layout/act_blood_calilbration.xml
@@ -21,6 +21,7 @@
android:drawablePadding="@dimen/dp_6"
android:text="注:血压校准须知"
android:textColor="@color/col_f23"
+ android:visibility="gone"
android:textSize="@dimen/sp_15"
tools:ignore="HardcodedText,UseCompatTextViewDrawableXml" />
diff --git a/health/src/main/res/layout/act_family_health_guardian.xml b/health/src/main/res/layout/act_family_health_guardian.xml
new file mode 100644
index 0000000..cbb85c1
--- /dev/null
+++ b/health/src/main/res/layout/act_family_health_guardian.xml
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/health/src/main/res/layout/item_health_family_guardian.xml b/health/src/main/res/layout/item_health_family_guardian.xml
new file mode 100644
index 0000000..ed07b98
--- /dev/null
+++ b/health/src/main/res/layout/item_health_family_guardian.xml
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/network/src/main/java/com/xty/network/ApiInterface.kt b/network/src/main/java/com/xty/network/ApiInterface.kt
index e42058f..f0976fd 100644
--- a/network/src/main/java/com/xty/network/ApiInterface.kt
+++ b/network/src/main/java/com/xty/network/ApiInterface.kt
@@ -910,6 +910,9 @@ interface ApiInterface {
@POST("customer/layout/list")
suspend fun getHomeLayout():RespBody
+ @POST("customer/layout/getVideoDoctorType")
+ suspend fun getVideoDoctorType():RespBody
+
/**
* 膳食分析-热卡分析
*/
@@ -1433,6 +1436,12 @@ interface ApiInterface {
@POST("pay/payAiTumorOrder")
suspend fun payUrl(@Body rb: RequestBody): RespBody
+ /**
+ * 拉起支付
+ */
+ @POST("pay/toPay")
+ suspend fun toPay(@Body rb: RequestBody):RespBody
+
/**
* 商品信息接口
*/
@@ -1709,6 +1718,12 @@ interface ApiInterface {
@POST("customer/family/familyList")
suspend fun getFamilyList(@Body rb:RequestBody) : RespBody>
+ /**
+ * 监护人列表
+ */
+ @POST("customer/family/getGuardianList")
+ suspend fun getFamilyGuardianList(@Body rb:RequestBody) : RespBody>
+
/**
* 退出监护
*/
diff --git a/network/src/main/java/com/xty/network/model/BannerBean.kt b/network/src/main/java/com/xty/network/model/BannerBean.kt
index 2798689..cd46131 100644
--- a/network/src/main/java/com/xty/network/model/BannerBean.kt
+++ b/network/src/main/java/com/xty/network/model/BannerBean.kt
@@ -8,5 +8,6 @@ data class BannerBean(
val bannerType: Int,//1:图文展示, 5:app内部打开, 10:web外部跳转, 15:视频播放,20 小程序跳转】,imgUrl 图片地址,linkAddress,连接地址
val imgUrl: String,
val linkAddress: String,
- val wxId:String //小程序ID
+ val wxId:String, //小程序ID
+ val wxType:Int //1.开发版,2.体验版 3.正式版
):Serializable
\ No newline at end of file
diff --git a/network/src/main/java/com/xty/network/model/FamilyGuardianBean.kt b/network/src/main/java/com/xty/network/model/FamilyGuardianBean.kt
new file mode 100644
index 0000000..e5c161d
--- /dev/null
+++ b/network/src/main/java/com/xty/network/model/FamilyGuardianBean.kt
@@ -0,0 +1,13 @@
+package com.xty.network.model
+
+data class FamilyGuardianBean(
+ var id:Long,
+ var userId:Long,
+ var name:String,
+ var phone:String,
+ var relation:String,
+ var avatarUrl:String,
+ var isMy:Int,
+ var isFirst:Int
+) {
+}
\ No newline at end of file
diff --git a/network/src/main/java/com/xty/network/model/HomeLayoutBean.kt b/network/src/main/java/com/xty/network/model/HomeLayoutBean.kt
index dc3f529..4acff42 100644
--- a/network/src/main/java/com/xty/network/model/HomeLayoutBean.kt
+++ b/network/src/main/java/com/xty/network/model/HomeLayoutBean.kt
@@ -14,6 +14,7 @@ data class HomeLayoutBean(
var jumpUrl:String?, //跳转地址或编码
var status:Int,
var seq:String,
- var wxId:String
+ var wxId:String,
+ var wxType:Int //1.开发版,2.体验版 3.正式版
)
}
diff --git a/network/src/main/java/com/xty/network/model/VideoDoctorBean.kt b/network/src/main/java/com/xty/network/model/VideoDoctorBean.kt
new file mode 100644
index 0000000..4c184af
--- /dev/null
+++ b/network/src/main/java/com/xty/network/model/VideoDoctorBean.kt
@@ -0,0 +1,7 @@
+package com.xty.network.model
+
+data class VideoDoctorBean (
+ val data:String,
+ val type:Int // 类型:1-和缓(跳转小程序) 2-春雨(H5打开) 3-平安(跳转小程序)
+) {
+}
\ No newline at end of file