更新聊天

This commit is contained in:
2024-09-27 21:11:48 +08:00
parent 55753d06cb
commit 24c0f57926
7 changed files with 326 additions and 26 deletions

View File

@@ -22,7 +22,11 @@ import com.tencent.imsdk.v2.V2TIMCallback
import com.tencent.imsdk.v2.V2TIMLogListener
import com.tencent.imsdk.v2.V2TIMManager
import com.tencent.imsdk.v2.V2TIMSDKConfig
import com.tencent.imsdk.v2.V2TIMUserFullInfo
import com.tencent.imsdk.v2.V2TIMValueCallback
import kotlinx.coroutines.CoroutineScope
import kotlin.coroutines.suspendCoroutine
object AppState {
var UserId: Int? = null
@@ -60,24 +64,46 @@ object AppState {
V2TIMManager.getInstance().initSDK(context, appConfig.trtcAppId, config)
try {
val sign = accountService.getMyTrtcSign()
V2TIMManager.getInstance().login(
sign.userId,
sign.sig,
object : V2TIMCallback {
override fun onError(code: Int, desc: String?) {
Log.e("V2TIMManager", "login failed: $code, $desc")
}
override fun onSuccess() {
Log.d("V2TIMManager", "login success")
}
}
)
loginToTrtc(sign.userId, sign.sig)
updateTrtcUserProfile()
} catch (e: Exception) {
}
}
suspend fun loginToTrtc(userId: String, userSig: String): Boolean {
return suspendCoroutine { continuation ->
V2TIMManager.getInstance().login(userId, userSig, object : V2TIMCallback {
override fun onError(code: Int, desc: String?) {
continuation.resumeWith(Result.failure(Exception("Login failed: $code, $desc")))
}
override fun onSuccess() {
continuation.resumeWith(Result.success(true))
}
})
}
}
suspend fun updateTrtcUserProfile() {
val accountService: AccountService = AccountServiceImpl()
val profile = accountService.getMyAccountProfile()
val info = V2TIMUserFullInfo()
info.setNickname(profile.nickName)
info.faceUrl = profile.avatar
info.selfSignature = profile.bio
return suspendCoroutine { continuation ->
V2TIMManager.getInstance().setSelfInfo(info, object : V2TIMCallback {
override fun onError(code: Int, desc: String?) {
continuation.resumeWith(Result.failure(Exception("Update user profile failed: $code, $desc")))
}
override fun onSuccess() {
continuation.resumeWith(Result.success(Unit))
}
})
}
}
fun ReloadAppState() {
// 重置动态列表页面