提交 fa6fba85 authored 作者: 史晓晨's avatar 史晓晨

feat:一天只提醒一次弹框逻辑

上级 0f16532e
......@@ -2,10 +2,12 @@ import 'dart:io';
import 'package:apk_update/core/common/version_info.dart';
import 'package:apk_update/core/services/version_service/version_service.dart';
import 'package:flustars_flutter3/flustars_flutter3.dart';
import '../../../../utils/dio_update_util.dart';
import '../../../../utils/toast_util.dart';
import '../../../common/app_upgrade_config.dart';
import '../../../common/constants.dart';
import '../../../common/servier_api.dart';
/// 项目管理工具
......@@ -22,6 +24,29 @@ class PMVersionImpl implements VersionService {
// ②获取版本详情
var result = await getVersionDetailPM(checkResult?['id']);
if (result == null) return null;
//获取当前时间
String spCurrent = SpUtil.getString(Constants.spCurrentDay) ?? "";
String current =
DateUtil.formatDate(DateTime.now(), format: Constants.dateFormat);
//一天只提醒一次:一天提示一次升级标识 & 非强升 & 当天已提示 => 不再提示
if (config.onceDay &&
result?['forceUpgradeStatus'] == 0 &&
spCurrent == current) {
// 不再提示
return null;
}
//缓存当前时间
SpUtil.putString(Constants.spCurrentDay, current);
// 是否是最新版本提示
final newVersion = int.tryParse(result?['version']?.toString() ?? '') ?? 0;
final currentVersion =
int.tryParse(config.versionNumber?.toString() ?? '') ?? 0;
if (newVersion <= currentVersion) {
if (!config.onceDay) {
ToastUtil.showToast('已经是最新版本了!');
}
return null;
}
// 返回升级版本信息
return VersionInfo(
name: result['name'],
......@@ -43,17 +68,6 @@ class PMVersionImpl implements VersionService {
headers: {"productGroupCode": "common"},
);
if (checkResult == null) return null;
// 是否是最新版本提示
final newVersion =
int.tryParse(checkResult?['version']?.toString() ?? '') ?? 0;
final currentVersion =
int.tryParse(config.versionNumber?.toString() ?? '') ?? 0;
if (newVersion <= currentVersion) {
if (!config.onceDay) {
ToastUtil.showToast('已经是最新版本了!');
}
return null;
}
return checkResult;
}
......@@ -64,17 +78,6 @@ class PMVersionImpl implements VersionService {
queryParameters: {'id': id},
headers: {"productGroupCode": "common"});
if (detailResult == null) return null;
// 是否是最新版本提示
final newVersion =
int.tryParse(detailResult?['version']?.toString() ?? '') ?? 0;
final currentVersion =
int.tryParse(config.versionNumber?.toString() ?? '') ?? 0;
if (newVersion <= currentVersion) {
if (!config.onceDay) {
ToastUtil.showToast('已经是最新版本了!');
}
return null;
}
return detailResult;
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论