添加版本更新接口

This commit is contained in:
林若思 2026-01-04 16:49:06 +08:00
parent a01fe653c6
commit b6cd162280
5 changed files with 52 additions and 4 deletions

View File

@ -11,7 +11,7 @@ data class UserInfoResp(
val avatar: String,
val gender: Int = 0,
val age: Int = 0,
val wakeUpAudioUrl: String = "",
val endAudioUrl: String = "",
val wakeUpAudioUrl: String,
val endAudioUrl: String,
val sn: String = ""
)

View File

@ -0,0 +1,9 @@
package com.zs.smarthuman.bean
/**
* @author lrs
* @date 2025/4/30 19:58
* @description 获取后台存放最新apk版本信息 isForceUpdate:1强制更新 0非强制更新
*/
data class VersionUpdateResp(val versionName: String = "", val versionCode: Int = 0, val updateLog: String = "",
val downloadUrl: String = "", val isForceUpdate: Int = 1)

View File

@ -13,7 +13,8 @@ class ApiService {
const val GET_USER_INFO_URL = "iot/info/getUserInfo"
const val UPLOAD_RECORD_VOICE_URL = "iot/chat"
const val UPLOAD_RECORD_VOICE_URL = "/iot/chat"
const val VERSION_UPDATE_URL = "iot/info/getLatestVersion"
}
}

View File

@ -13,6 +13,7 @@ import android.media.audiofx.AcousticEchoCanceler
import android.os.Bundle
import android.os.Environment
import android.os.IBinder
import android.text.TextUtils
import android.util.Log
import android.view.View
import android.widget.Toast
@ -25,15 +26,18 @@ import com.blankj.utilcode.util.FileUtils
import com.blankj.utilcode.util.GsonUtils
import com.blankj.utilcode.util.LogUtils
import com.blankj.utilcode.util.PermissionUtils
import com.blankj.utilcode.util.SPUtils
import com.blankj.utilcode.util.ScreenUtils
import com.blankj.utilcode.util.ToastUtils
import com.zs.smarthuman.App
import com.zs.smarthuman.App.Companion.getInstance
import com.zs.smarthuman.BuildConfig
import com.zs.smarthuman.R
import com.zs.smarthuman.base.BaseActivity
import com.zs.smarthuman.base.BaseViewModelActivity
import com.zs.smarthuman.bean.NetworkStatusEventMsg
import com.zs.smarthuman.bean.UserInfoResp
import com.zs.smarthuman.bean.VersionUpdateResp
import com.zs.smarthuman.bean.VoiceBeanResp
import com.zs.smarthuman.common.UserInfoManager
import com.zs.smarthuman.databinding.ActivityMainBinding
@ -68,8 +72,10 @@ import rxhttp.wrapper.param.toAwaitResponse
import java.io.File
import java.nio.ByteBuffer
import java.nio.ByteOrder
import kotlin.compareTo
import kotlin.concurrent.thread
import kotlin.math.sqrt
import kotlin.text.compareTo
/**
* @description:
@ -117,6 +123,7 @@ class MainActivity : BaseViewModelActivity<ActivityMainBinding, MainViewModel>()
requestUserInfo()
versionUpdate()
initObserver()
}
@ -124,6 +131,10 @@ class MainActivity : BaseViewModelActivity<ActivityMainBinding, MainViewModel>()
mViewModel?.getUserInfo()
}
private fun versionUpdate(){
mViewModel?.versionUpdate()
}
private fun initObserver() {
mViewModel?.userInfoLiveData?.observe(this) {
when (it) {
@ -150,6 +161,20 @@ class MainActivity : BaseViewModelActivity<ActivityMainBinding, MainViewModel>()
}
}
}
mViewModel?.versionUpdateLiveData?.observe(this){
when(it){
is ApiResult.Error -> {}
is ApiResult.Success<VersionUpdateResp> -> {
if (it.data.versionCode > BuildConfig.VERSION_CODE)
{//有新版本
}
}
}
}
}
private fun initVoiceController() {
@ -196,7 +221,7 @@ class MainActivity : BaseViewModelActivity<ActivityMainBinding, MainViewModel>()
voiceInfo = mutableListOf<VoiceBeanResp>().apply {
add(
VoiceBeanResp(
audioUrl = UserInfoManager.userInfo?.endAudioUrl ?: "https://static.seerteach.net/aidialogue/userWakeUpAudio/ttsmaker-file-2025-12-31-16-2-51.mp3"
audioUrl = /*UserInfoManager.userInfo?.endAudioUrl ?: */"https://static.seerteach.net/aidialogue/userWakeUpAudio/ttsmaker-file-2025-12-31-16-2-51.mp3"
)
)
}

View File

@ -5,6 +5,7 @@ import com.blankj.utilcode.util.ToastUtils
import com.zs.smarthuman.base.BaseViewModel
import com.zs.smarthuman.bean.QRCodeResp
import com.zs.smarthuman.bean.UserInfoResp
import com.zs.smarthuman.bean.VersionUpdateResp
import com.zs.smarthuman.bean.VoiceBeanResp
import com.zs.smarthuman.http.ApiLiveData
import com.zs.smarthuman.http.ApiResult
@ -46,4 +47,16 @@ class MainViewModel: BaseViewModel() {
}
}
private val _versionUpdateLiveData = ApiLiveData<VersionUpdateResp>()
val versionUpdateLiveData: LiveData<ApiResult<VersionUpdateResp>> = _versionUpdateLiveData
fun versionUpdate() {
_versionUpdateLiveData.request {
RxHttp.get(ApiService.VERSION_UPDATE_URL)
.toAwaitResponse<VersionUpdateResp>()
.awaitResult()
.getOrThrow()
}
}
}