Ver código fonte

1.添加语音合成表

王鹏鹏 2 anos atrás
pai
commit
982081771a

+ 1 - 0
.idea/misc.xml

@@ -85,6 +85,7 @@
         <entry key="..\:/workspace/hcp-pad/healthconsultation/src/main/res/layout/dialog_select_pic.xml" value="0.4421768707482993" />
         <entry key="..\:/workspace/hcp-pad/healthconsultation/src/main/res/layout/fragment_evaluate.xml" value="0.22239583333333332" />
         <entry key="..\:/workspace/hcp-pad/healthconsultation/src/main/res/layout/item_consultation.xml" value="0.3953084274543875" />
+        <entry key="..\:/workspace/hcp-pad/healthconsultation/src/main/res/layout/item_consultation_data.xml" value="0.22239583333333332" />
         <entry key="..\:/workspace/hcp-pad/healthconsultation/src/main/res/layout/item_consultation_record.xml" value="0.536" />
         <entry key="..\:/workspace/hcp-pad/healthconsultation/src/main/res/layout/item_evaluate.xml" value="1.0" />
         <entry key="..\:/workspace/hcp-pad/healthconsultation/src/main/res/layout/item_image.xml" value="0.6682539682539682" />

+ 36 - 0
healthconsultation/src/main/java/com/yingyang/healthconsultation/activity/HealthConsultationActivity.kt

@@ -4,6 +4,10 @@ import android.annotation.SuppressLint
 import android.view.MotionEvent
 import android.view.View
 import com.alibaba.android.arouter.facade.annotation.Route
+import com.tencent.bugly.crashreport.CrashReport
+import com.tencent.imsdk.relationship.UserInfo
+import com.tencent.imsdk.v2.V2TIMCallback
+import com.tencent.imsdk.v2.V2TIMManager
 import com.yingyang.healthconsultation.R
 import com.yingyang.healthconsultation.adapter.ConsultationAdapter
 import com.yingyang.healthconsultation.adapter.RecommendDoctorAdapter
@@ -12,9 +16,11 @@ import com.yingyangfly.baselib.db.DoctorBean
 import com.yingyangfly.baselib.ext.getEndAnimation
 import com.yingyangfly.baselib.ext.getScaleAnimation
 import com.yingyangfly.baselib.ext.show
+import com.yingyangfly.baselib.ext.toast
 import com.yingyangfly.baselib.mvvm.BaseMVVMActivity
 import com.yingyangfly.baselib.router.RouterUrlCommon
 import com.yingyangfly.baselib.utils.JumpUtil
+import com.yingyangfly.baselib.utils.User
 
 /**
  * 健康咨询
@@ -40,6 +46,9 @@ class HealthConsultationActivity :
         binding {
             rvProgress.adapter = consultationAdapter
             consultationAdapter.setData(consultationBeans)
+            consultationAdapter.onClickListener = {
+                getUserSign()
+            }
             rvRecommended.adapter = recommendDoctorAdapter
             recommendDoctorAdapter.setData(doctorBeans)
             recommendDoctorAdapter.onClickListener = {
@@ -139,5 +148,32 @@ class HealthConsultationActivity :
         })
     }
 
+    /**
+     * 登录IM
+     */
+    private fun getUserSign() {
+        viewModel.getUserSign(User.getUserId(), fail = {
+            it.toast()
+        }, success = {
+            it?.let {
+                loginIM(it)
+            }
+        })
+    }
 
+    /**
+     *
+     */
+    private fun loginIM(sign: String) {
+        V2TIMManager.getInstance().login(User.getUserId(), sign, object : V2TIMCallback {
+            override fun onError(p0: Int, p1: String?) {
+                //用户登录IM失败
+                CrashReport.postCatchedException(Throwable(User.getName() + "用户登录IM失败,错误码:" + p0 + " ,错误信息:" + p1))
+            }
+
+            override fun onSuccess() {
+
+            }
+        })
+    }
 }

+ 14 - 0
healthconsultation/src/main/java/com/yingyang/healthconsultation/activity/HealthConsultationViewModel.kt

@@ -34,4 +34,18 @@ class HealthConsultationViewModel : BaseViewModel() {
         success,
         fail
     )
+
+    /**
+     * 获取腾讯IM密钥
+     */
+    fun getUserSign(
+        id: String,
+        fail: ((msg: String) -> Unit)? = null,
+        success: ((success: String?) -> Unit)? = null,
+    ) = launchFlow(true) {
+        HEALTHCONSULTATION_API.getUserSign(id)
+    }.runUI(
+        success,
+        fail
+    )
 }

+ 7 - 0
healthconsultation/src/main/java/com/yingyang/healthconsultation/adapter/ConsultationAdapter.kt

@@ -4,17 +4,24 @@ import com.yingyang.healthconsultation.R
 import com.yingyang.healthconsultation.databinding.ItemConsultationBinding
 import com.yingyangfly.baselib.adapter.BaseDataBindingAdapter
 import com.yingyangfly.baselib.db.DoctorBean
+import com.yingyangfly.baselib.ext.setOnSingleClickListener
 
 /**
  * 正在进行的咨询列表adapter
  */
 class ConsultationAdapter(override val layoutId: Int = R.layout.item_consultation) :
     BaseDataBindingAdapter<DoctorBean, ItemConsultationBinding>() {
+
+    var onClickListener: ((bean: DoctorBean) -> Unit)? = null
+
     override fun onBindViewHolder(
         binding: ItemConsultationBinding,
         item: DoctorBean,
         position: Int
     ) {
         binding.data = item
+        binding.btnContinueConsultation.setOnSingleClickListener {
+
+        }
     }
 }

+ 20 - 0
healthconsultation/src/main/java/com/yingyang/healthconsultation/adapter/ConsultationDataAdapter.kt

@@ -0,0 +1,20 @@
+package com.yingyang.healthconsultation.adapter
+
+import com.yingyang.healthconsultation.R
+import com.yingyang.healthconsultation.databinding.ItemConsultationDataBinding
+import com.yingyangfly.baselib.adapter.BaseDataBindingAdapter
+
+/**
+ * 问诊资料详情adapter
+ */
+class ConsultationDataAdapter(override val layoutId: Int = R.layout.item_consultation_data) :
+    BaseDataBindingAdapter<String, ItemConsultationDataBinding>() {
+    override fun onBindViewHolder(
+        binding: ItemConsultationDataBinding,
+        item: String,
+        position: Int
+    ) {
+
+    }
+
+}

+ 5 - 0
healthconsultation/src/main/java/com/yingyang/healthconsultation/net/HealthConsultationApiService.kt

@@ -68,4 +68,9 @@ interface HealthConsultationApiService {
         @Query("orderNo") orderNo: String
     ): BaseResp<String>
 
+    /**
+     * 获取腾讯IM密钥
+     */
+    @POST("im/user_sign")
+    suspend fun getUserSign(@Query("userId") userId: String): BaseResp<String>
 }

+ 1 - 0
healthconsultation/src/main/res/layout/item_consultation.xml

@@ -79,6 +79,7 @@
             tools:text="@string/app_name" />
 
         <androidx.appcompat.widget.AppCompatButton
+            android:id="@+id/btnContinueConsultation"
             android:layout_width="@dimen/divider_160px"
             android:layout_height="@dimen/divider_48px"
             android:layout_marginTop="@dimen/divider_50px"

+ 22 - 0
healthconsultation/src/main/res/layout/item_consultation_data.xml

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    tools:ignore="ResourceName">
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center">
+
+        <androidx.appcompat.widget.AppCompatImageView
+            android:layout_width="@dimen/divider_98px"
+            android:layout_height="@dimen/divider_98px"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+    </LinearLayout>
+
+</layout>