Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
A
apk_update
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
openSourceLibrary
apk_update
Commits
f8d0d395
提交
f8d0d395
authored
11月 25, 2024
作者:
张国庆
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat:1.支持文件配置2.下载完成直接安装
上级
1e53a0d8
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
17 行增加
和
6 行删除
+17
-6
main.dart
example/lib/main.dart
+1
-1
apk_update.dart
lib/apk_update.dart
+2
-2
utils.dart
lib/utils/utils.dart
+1
-1
update_dialog.dart
lib/widget/update_dialog.dart
+13
-2
没有找到文件。
example/lib/main.dart
浏览文件 @
f8d0d395
...
@@ -45,7 +45,7 @@ class _MyAppState extends State<MyApp> {
...
@@ -45,7 +45,7 @@ class _MyAppState extends State<MyApp> {
};
};
ApkUpdate
().
updateApp
(
ApkUpdate
().
updateApp
(
url:
url:
"https://gateway.
dev
clx.cn/clx-user/app/version/getSystemVersionByNumber"
,
"https://gateway.
test
clx.cn/clx-user/app/version/getSystemVersionByNumber"
,
params:
{
params:
{
"versionNumber"
:
1
,
"versionNumber"
:
1
,
"productNo"
:
1
,
"productNo"
:
1
,
...
...
lib/apk_update.dart
浏览文件 @
f8d0d395
...
@@ -77,7 +77,7 @@ class ApkUpdate {
...
@@ -77,7 +77,7 @@ class ApkUpdate {
debugPrint
(
"===== installApk"
);
debugPrint
(
"===== installApk"
);
ApkUpdatePlatform
.
instance
.
installApk
(
path
);
ApkUpdatePlatform
.
instance
.
installApk
(
path
);
},
},
downloadApk:
(
String
?
path
)
{
downloadApk:
(
String
?
path
,
String
?
apkPath
)
{
final
dio
=
Dio
();
final
dio
=
Dio
();
dio
dio
.
get
(
"
${paramsOSS?['baseUrl']}$generateByExt
"
,
.
get
(
"
${paramsOSS?['baseUrl']}$generateByExt
"
,
...
@@ -100,7 +100,7 @@ class ApkUpdate {
...
@@ -100,7 +100,7 @@ class ApkUpdate {
var
ak
=
map
?[
'onceAccessKeyId'
];
var
ak
=
map
?[
'onceAccessKeyId'
];
var
sk
=
map
?[
"onceAccessKeySecret"
];
var
sk
=
map
?[
"onceAccessKeySecret"
];
var
token
=
map
?[
"onceSecurityToken"
];
var
token
=
map
?[
"onceSecurityToken"
];
var
objectKey
=
paramsOSS
?[
"objectKey"
]
;
var
objectKey
=
apkPath
??
""
;
var
endpoint
=
paramsOSS
?[
"endpoint"
];
var
endpoint
=
paramsOSS
?[
"endpoint"
];
var
bucketName
=
paramsOSS
?[
"bucketName"
];
var
bucketName
=
paramsOSS
?[
"bucketName"
];
var
localPath
=
path
;
var
localPath
=
path
;
...
...
lib/utils/utils.dart
浏览文件 @
f8d0d395
...
@@ -30,7 +30,7 @@ void checkVersion(
...
@@ -30,7 +30,7 @@ void checkVersion(
Function
()?
jumpAppStore
,
// 跳转AppStore
Function
()?
jumpAppStore
,
// 跳转AppStore
Function
(
String
?
path
)?
installApk
,
// 安装Apk
Function
(
String
?
path
)?
installApk
,
// 安装Apk
Function
()?
downloadApkError
,
// 下载Apk错误
Function
()?
downloadApkError
,
// 下载Apk错误
Function
(
String
?
path
)?
downloadApk
,
// 使用OSS下载Apk
Function
(
String
?
path
,
String
?
apkPath
)?
downloadApk
,
// 使用OSS下载Apk
int
?
isOssDownload
//1 使用OSS下载
int
?
isOssDownload
//1 使用OSS下载
})
async
{
})
async
{
try
{
try
{
...
...
lib/widget/update_dialog.dart
浏览文件 @
f8d0d395
...
@@ -18,7 +18,7 @@ class UpdateDialog extends StatefulWidget {
...
@@ -18,7 +18,7 @@ class UpdateDialog extends StatefulWidget {
final
Function
()?
jumpAppStore
;
// 跳转AppStore
final
Function
()?
jumpAppStore
;
// 跳转AppStore
final
Function
(
String
?
path
)?
installApk
;
// 安装Apk
final
Function
(
String
?
path
)?
installApk
;
// 安装Apk
final
int
?
isOssDownload
;
//1 使用OSS下载
final
int
?
isOssDownload
;
//1 使用OSS下载
final
Function
(
String
?
path
)?
downloadApk
;
// 使用OSS下载Apk
final
Function
(
String
?
path
,
String
?
apkPath
)?
downloadApk
;
// 使用OSS下载Apk
final
Function
()?
downloadApkError
;
// 下载Apk错误
final
Function
()?
downloadApkError
;
// 下载Apk错误
const
UpdateDialog
({
const
UpdateDialog
({
...
@@ -213,6 +213,17 @@ class _UpdateDialogState extends State<UpdateDialog> {
...
@@ -213,6 +213,17 @@ class _UpdateDialogState extends State<UpdateDialog> {
await
DirectoryUtil
.
getInstance
();
await
DirectoryUtil
.
getInstance
();
DirectoryUtil
.
createStorageDirSync
(
category:
'Download'
);
DirectoryUtil
.
createStorageDirSync
(
category:
'Download'
);
String
?
path
=
DirectoryUtil
.
getStoragePath
(
category:
'Download'
);
String
?
path
=
DirectoryUtil
.
getStoragePath
(
category:
'Download'
);
File
apkFile
=
File
(
"
$path
/
${widget.versionPath}
"
);
File
apkFileTmp
=
File
(
"
$path
/
${widget.versionPath}
.tmp"
);
// 判断localPath 下有没有下载完成的文件
if
(
apkFile
.
existsSync
()
&&
!
apkFileTmp
.
existsSync
())
{
ApkUpdatePlatform
.
instance
.
installApk
(
apkFile
.
path
);
_isDownload
=
false
;
setState
(()
{});
return
;
}
_subscription
=
_subscription
=
ApkUpdatePlatform
.
instance
.
addDownloadListener
().
listen
((
event
)
{
ApkUpdatePlatform
.
instance
.
addDownloadListener
().
listen
((
event
)
{
var
count
=
event
[
'currentSize'
]
as
num
;
var
count
=
event
[
'currentSize'
]
as
num
;
...
@@ -225,7 +236,7 @@ class _UpdateDialogState extends State<UpdateDialog> {
...
@@ -225,7 +236,7 @@ class _UpdateDialogState extends State<UpdateDialog> {
setState
(()
{});
setState
(()
{});
});
});
widget
.
downloadApk
?.
call
(
path
);
widget
.
downloadApk
?.
call
(
path
,
widget
.
versionPath
);
return
;
return
;
}
}
setInitDir
(
initStorageDir:
true
);
setInitDir
(
initStorageDir:
true
);
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论