Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
A
apk_update
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
openSourceLibrary
apk_update
Commits
ab8abc83
提交
ab8abc83
authored
7月 08, 2025
作者:
史晓晨
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat:调试项目管理工具获取最新版本接口;
上级
68fdfd4c
显示空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
21 行增加
和
40 行删除
+21
-40
main.dart
example/lib/main.dart
+3
-3
servier_api.dart
lib/core/common/servier_api.dart
+1
-4
pm_version_impl.dart
lib/core/services/version_service/impl/pm_version_impl.dart
+17
-33
没有找到文件。
example/lib/main.dart
浏览文件 @
ab8abc83
...
...
@@ -93,9 +93,9 @@ class _MyAppState extends State<MyApp> {
onPressed:
()
{
var
appUpgrade
=
AppUpgradeFactory
.
create
(
config:
AppUpgradeConfig
(
baseUrl:
"https://gateway.
91msl.com
"
,
productCode:
"c
arrier-driver
-app"
,
token:
"
a0b6655571e0412787c9e0dd113ded74
"
,
baseUrl:
"https://gateway.
testclx.cn
"
,
productCode:
"c
oal-analysis-report
-app"
,
token:
"
53d33c83e86942fcabe5fe3fbdc4175c
"
,
onceDay:
false
,
appleId:
"1585610919"
,
headers:
{
"product-code"
:
"carrier-driver-app"
,
"model"
:
"TASal00"
},
...
...
lib/core/common/servier_api.dart
浏览文件 @
ab8abc83
...
...
@@ -12,10 +12,7 @@ class ServerApi {
/// ==================== 项目管理工具 ====================
// 项目管理工 具 版本检测接口
static
const
getLatestByProductCodePM
=
"/pm-process/external/web/onlineConfig/getLatestByProductCode"
;
// 项目管理工具 获取信息版本详情
static
const
getDetailPM
=
"/pm-process/external/web/onlineConfig/getDetail"
;
"/pm-process/external/web/onlineConfig/getLatestByProductCodeV2"
;
/// ==================== OSS工具 ====================
// 获取OSS 下载授权ak sk token
...
...
lib/core/services/version_service/impl/pm_version_impl.dart
浏览文件 @
ab8abc83
...
...
@@ -18,11 +18,8 @@ class PMVersionImpl implements VersionService {
@override
Future
<
VersionInfo
?>
checkVersion
()
async
{
// ①版本检测
var
checkResult
=
await
checkVersionPM
();
if
(
checkResult
==
null
)
return
null
;
// ②获取版本详情
var
result
=
await
getVersionDetailPM
(
checkResult
?[
'id'
]);
// 获取最新版本
var
result
=
await
getLatestVersionPM
();
if
(
result
==
null
)
return
null
;
//获取当前时间
String
spCurrent
=
SpUtil
.
getString
(
Constants
.
spCurrentDay
)
??
""
;
...
...
@@ -30,35 +27,32 @@ class PMVersionImpl implements VersionService {
DateUtil
.
formatDate
(
DateTime
.
now
(),
format:
Constants
.
dateFormat
);
//一天只提醒一次:一天提示一次升级标识 & 非强升 & 当天已提示 => 不再提示
if
(
config
.
onceDay
&&
result
?[
'forceUpgradeStatus'
]
==
0
&&
result
?[
'forceUpgradeStatus'
]
!=
true
&&
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
(
'已经是最新版本了!'
);
}
var
details
=
result
?[
"detailVo"
];
// 一天提示一次升级,是在应用首次设置,不需要提示最新版本toast
if
(!
config
.
onceDay
&&
details
==
null
)
{
// 当前已经是最新版本
ToastUtil
.
showToast
(
"已经是最新版本了!"
);
return
null
;
}
// 返回升级版本信息
return
VersionInfo
(
name:
result
[
'name'
],
content:
result
[
'remark'
],
versionForce:
result
[
'forceUpgradeStatus'
]
==
1
,
versionPath:
result
[
'versionPath'
],
name:
details
[
'name'
],
content:
details
[
'remark'
],
versionForce:
result
?[
'forceUpgradeStatus'
]
==
true
,
versionPath:
details
[
'versionPath'
],
);
}
///
版本检测
Future
<
dynamic
>
check
VersionPM
()
async
{
var
checkR
esult
=
await
DioUpdateUtil
.
get
(
///
获取最新版本
Future
<
dynamic
>
getLatest
VersionPM
()
async
{
var
r
esult
=
await
DioUpdateUtil
.
get
(
"
${config.baseUrl}${ServerApi.getLatestByProductCodePM}
"
,
queryParameters:
{
"productCode"
:
config
.
productCode
,
...
...
@@ -67,17 +61,7 @@ class PMVersionImpl implements VersionService {
},
headers:
{
"productGroupCode"
:
"common"
},
);
if
(
checkResult
==
null
)
return
null
;
return
checkResult
;
}
/// 获取版本详情
Future
<
dynamic
>
getVersionDetailPM
(
int
?
id
)
async
{
var
detailResult
=
await
DioUpdateUtil
.
get
(
"
${config.baseUrl}${ServerApi.getDetailPM}
"
,
queryParameters:
{
'id'
:
id
},
headers:
{
"productGroupCode"
:
"common"
});
if
(
detailResult
==
null
)
return
null
;
return
detailResult
;
if
(
result
==
null
)
return
null
;
return
result
;
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论