更新功能修改

This commit is contained in:
zhanglei
2025-11-05 10:55:01 +08:00
parent bd30876daf
commit f4d06e5a8a
4 changed files with 57 additions and 12 deletions
@@ -4,6 +4,9 @@ import android.app.ProgressDialog
import android.os.Bundle
import android.view.View
import android.view.Window
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.lifecycleScope
import androidx.lifecycle.repeatOnLifecycle
import com.btpj.lib_base.data.local.DataStoreManager
import com.btpj.lib_base.data.local.IpManager
import com.btpj.lib_base.ext.jsonToBean
@@ -16,6 +19,8 @@ import com.xjjk.healthexpertclient.databinding.ActivitySettingBinding
import com.xjjk.healthexpertclient.ext.startWebActivity
import com.xjjk.healthexpertclient.ui.mine.viewmodel.SettingViewModel
import com.xjjk.healthexpertclient.view.LoadingProgressDialog
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.launch
import org.lzh.framework.updatepluginlib.UpdateBuilder
import org.lzh.framework.updatepluginlib.base.UpdateParser
import org.lzh.framework.updatepluginlib.model.Update
@@ -27,6 +32,8 @@ import org.lzh.framework.updatepluginlib.model.Update
*/
class SettingActivity: BaseActivity<SettingViewModel, ActivitySettingBinding>(R.layout.activity_setting) {
var dialog: LoadingProgressDialog? = null
var hasNewVersion=false
override fun initView(savedInstanceState: Bundle?) {
}
@@ -37,7 +44,8 @@ class SettingActivity: BaseActivity<SettingViewModel, ActivitySettingBinding>(R.
var str=AppUtil.getAppVersionName(this)+"(${AppUtil.getAppVersionCode(this)})"
mBinding.tvVersion.text = getString(R.string.app_version, str)
// mBinding.tvAbout.text = getString(R.string.setting_about, getString(R.string.app_name))
initUpdateApp(false)
// initUpdateApp(false)
mViewModel.getAppUpdateInfo()
}
override fun bindEvent() {
@@ -65,11 +73,33 @@ class SettingActivity: BaseActivity<SettingViewModel, ActivitySettingBinding>(R.
}
R.id.rl_version_update -> {
initUpdateApp(true)
if (hasNewVersion) {
UpdateBuilder.create().check()
} else {
showToast("已是最新版本")
}
}
}
}
override fun createObserve() {
super.createObserve()
lifecycleScope.launch {
repeatOnLifecycle(Lifecycle.State.CREATED) {
mViewModel.appUpdateInfoData.collectLatest { bean ->
bean?:return@collectLatest
if (bean.versionNo> BuildConfig.VERSION_CODE){
hasNewVersion=true
mBinding?.tvVersionUpdate?.text="有新版本待更新"
}else{
mBinding?.tvVersionUpdate?.text="已是最新版本"
}
}
}
}
}
private fun initUpdateApp(isClick:Boolean){
dialog?.show()
UpdateBuilder.create().setUpdateParser(object : UpdateParser() {
@@ -1,14 +1,32 @@
package com.xjjk.healthexpertclient.ui.mine.viewmodel
import com.btpj.lib_base.base.BaseViewModel
import com.btpj.lib_base.ext.handleRequest
import com.btpj.lib_base.ext.launch
import com.xjjk.healthexpertclient.bean.AppUpdateBean
import com.xjjk.healthexpertclient.data.repository.WorkbenchRepository
import kotlinx.coroutines.flow.MutableSharedFlow
/**
* @author nanfeifei
* @time 2023/5/23 16:05
* @description
*/
class SettingViewModel: BaseViewModel() {
class SettingViewModel : BaseViewModel() {
var appUpdateInfoData = MutableSharedFlow<AppUpdateBean?>()
override fun init() {
}
fun getAppUpdateInfo() {
launch({
handleRequest(WorkbenchRepository.getAppUpdateInfo(""), successBlock = {
appUpdateInfoData.emit(it.result)
})
})
}
}
+2 -2
View File
@@ -2,8 +2,8 @@ ext {
minSdkVersion = 21
targetSdkVersion = 32
compileSdkVersion = 32
versionCode = 10004
versionName = "1.00.04"
versionCode = 10006
versionName = "1.00.06"
//Dependencies
junitVersion = "4.12"
lifecycleVersion = "2.6.0-alpha01"
@@ -21,16 +21,13 @@ object IpManager {
/** 常用的IP */
private const val DEBUG_DEFAULT_IP_ADDRESS_REMOTE = "http://cqyt.dev.yg.dt.io/" // 开发环境
private const val TEST_DEFAULT_IP_ADDRESS_REMOTE = "https://xjgateway.mcrm.vip:8888/" // 测试环境
// private const val TEST_DEFAULT_IP_ADDRESS_REMOTE = "https://quarry-api.yg.icdat.cn/" // 测试环境
// private const val PRODUCT_DEFAULT_IP_ADDRESS_REMOTE = "https://xjapi.icdat.cn/" // 线上环境
private const val PRODUCT_DEFAULT_IP_ADDRESS_REMOTE = "https://api.xjygjk.com/" // 线上环境
// private const val PRODUCT_DEFAULT_IP_ADDRESS_REMOTE = "https://api-jkglpt.iosp.ydpt.tech/" // 线上环境
// private const val PRODUCT_DEFAULT_IP_ADDRESS_REMOTE = "https://api.xjygjk.com/" // 线上环境
private const val PRODUCT_DEFAULT_IP_ADDRESS_REMOTE = "https://api-jkglpt.iosp.ydpt.tech/" // 线上环境
private const val DEBUG_H5_ADDRESS_REMOTE = "http://cms.dev.yg.dt.io" // 开发环境
private const val TEST_H5_ADDRESS_REMOTE = "https://xjconsole.mcrm.vip:8888" // 测试环境
// private const val PRODUCT_H5_ADDRESS_REMOTE = "https://xjconsole.icdat.cn" // 线上环境
private const val PRODUCT_H5_ADDRESS_REMOTE = "https://console.xjygjk.com" // 线上环境
// private const val PRODUCT_H5_ADDRESS_REMOTE = "https://console-jkglpt.iosp.ydpt.tech" // 线上环境
// private const val PRODUCT_H5_ADDRESS_REMOTE = "https://console.xjygjk.com" // 线上环境
private const val PRODUCT_H5_ADDRESS_REMOTE = "https://console-jkglpt.iosp.ydpt.tech" // 线上环境
private const val KEY_IP_SET = "data_ip_set"