王鹏鹏 пре 2 година
родитељ
комит
f7ccb11738

+ 5 - 0
app/src/main/java/com/yingyangfly/MyApplication.kt

@@ -3,6 +3,8 @@ package com.yingyangfly
 import android.content.Context
 import android.util.Log
 import androidx.multidex.MultiDex
+import com.tencent.imsdk.v2.V2TIMManager
+import com.tencent.imsdk.v2.V2TIMSDKConfig
 import com.tencent.rtmp.TXLiveBase
 import com.tencent.rtmp.TXLiveBaseListener
 import com.yingyangfly.baselib.BaseApplication
@@ -25,5 +27,8 @@ class MyApplication : BaseApplication() {
             }
         })
 
+        val config = V2TIMSDKConfig()
+        config.logLevel = V2TIMSDKConfig.V2TIM_LOG_DEBUG
+        V2TIMManager.getInstance().initSDK(this, AccountConfig.TENCENT_IM_APPID, config)
     }
 }

+ 1 - 1
baselib/src/main/java/com/yingyangfly/baselib/config/AccountConfig.kt

@@ -24,7 +24,7 @@ object AccountConfig {
     /**
      * 腾讯IM
      */
-    const val TENCENT_IM_APPID = BuildConfig.TENCENT_IM_APPID
+    const val TENCENT_IM_APPID = 1400823270
 
     /**
      * 腾讯直播

+ 1 - 1
healthconsultation/build.gradle

@@ -16,7 +16,7 @@ android {
 
 dependencies {
     implementation project(path: ':baselib')
-    implementation project(path: ':tuichat')
+    api project(path: ':tuichat')
     api fileTree(exclude: '*.bak', dir: 'libs')
     implementation(rootProject.ext.androidx.kotlin_lib)
     implementation(rootProject.ext.androidx.kotlin_core)

+ 22 - 7
healthconsultation/src/main/java/com/yingyang/healthconsultation/activity/HealthConsultationActivity.kt

@@ -1,13 +1,17 @@
 package com.yingyang.healthconsultation.activity
 
 import android.annotation.SuppressLint
+import android.os.Bundle
 import android.text.TextUtils
 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.v2.V2TIMCallback
+import com.tencent.imsdk.v2.V2TIMConversation
 import com.tencent.imsdk.v2.V2TIMManager
+import com.tencent.qcloud.tuicore.TUIConstants
+import com.tencent.qcloud.tuicore.TUICore
 import com.yingyang.healthconsultation.R
 import com.yingyang.healthconsultation.adapter.ConsultationAdapter
 import com.yingyang.healthconsultation.adapter.RecommendDoctorAdapter
@@ -47,7 +51,7 @@ class HealthConsultationActivity :
             rvProgress.adapter = consultationAdapter
             consultationAdapter.setData(consultationBeans)
             consultationAdapter.onClickListener = {
-                getUserSign()
+                getUserSign(it)
             }
             rvRecommended.adapter = recommendDoctorAdapter
             recommendDoctorAdapter.setData(doctorBeans)
@@ -177,12 +181,14 @@ class HealthConsultationActivity :
     /**
      * 登录IM
      */
-    private fun getUserSign() {
+    private fun getUserSign(bean: DoctorBean) {
         viewModel.getUserSign(User.getUserId(), fail = {
             it.toast()
         }, success = {
             it?.let {
-                loginIM(it)
+                runOnUiThread {
+                    loginIM(it, bean)
+                }
             }
         })
     }
@@ -190,15 +196,24 @@ class HealthConsultationActivity :
     /**
      *
      */
-    private fun loginIM(sign: String) {
+    private fun loginIM(sign: String, bean: DoctorBean) {
         V2TIMManager.getInstance().login(User.getUserId(), sign, object : V2TIMCallback {
             override fun onError(p0: Int, p1: String?) {
-                //用户登录IM失败
-                CrashReport.postCatchedException(Throwable(User.getName() + "用户登录IM失败,错误码:" + p0 + " ,错误信息:" + p1))
+                runOnUiThread {
+                    //用户登录IM失败
+                    CrashReport.postCatchedException(Throwable(User.getName() + "用户登录IM失败,错误码:" + p0 + " ,错误信息:" + p1))
+                }
             }
 
             override fun onSuccess() {
-
+                runOnUiThread {
+                    val param = Bundle()
+                    param.putInt(TUIConstants.TUIChat.CHAT_TYPE, V2TIMConversation.V2TIM_C2C)
+                    param.putString(TUIConstants.TUIChat.CHAT_ID, bean.id)
+                    param.putString(TUIConstants.TUIChat.CHAT_NAME, "你好")
+                    param.putString(TUIConstants.TUIChat.FACE_URL, bean.avatar)
+                    TUICore.startActivity(TUIConstants.TUIChat.C2C_CHAT_ACTIVITY_NAME, param)
+                }
             }
         })
     }

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

@@ -23,7 +23,7 @@ class ConsultationAdapter(override val layoutId: Int = R.layout.item_consultatio
         binding.data = item
         binding.tvDate.text = timeFormat(item.createTime)
         binding.btnContinueConsultation.setOnSingleClickListener {
-
+            onClickListener?.invoke(item)
         }
     }
 }