Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KS-61 修复Windows/Web平台的不兼容报错 #95

Merged
merged 26 commits into from
Apr 3, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
57e1eb6
修复web端上传报错
zhangzqs Dec 25, 2024
719676e
更新example的android/ios代码
zhangzqs Dec 25, 2024
c7f7eea
更新macos平台代码,补充web端平台代码
zhangzqs Dec 25, 2024
b96e5fd
添加windows平台代码
zhangzqs Dec 26, 2024
7bac325
降级platform_info库,以支持最小sdk版本3.0
zhangzqs Jan 2, 2025
4020b4d
重构example示例代码
zhangzqs Jan 2, 2025
9e6eb24
增强_getDefaultUserAgent函数的健壮性,修复windows平台返回中文导致的报错
zhangzqs Jan 2, 2025
4b88f6c
调整example的sdk最小版本
zhangzqs Jan 2, 2025
e8f7146
降级file_picker版本
zhangzqs Jan 2, 2025
b428ee0
继续降级file_picker
zhangzqs Jan 2, 2025
0385c4f
file_picker继续降级
zhangzqs Jan 2, 2025
2b99778
修复ci
zhangzqs Jan 6, 2025
dbdfb64
补充一个平台UA
zhangzqs Feb 24, 2025
f7851fe
移除已经失效的cache_provider依赖, 直接将代码复制到base中
zhangzqs Mar 26, 2025
1f2d871
优化代码
zhangzqs Mar 31, 2025
9fb4557
调整一些代码
zhangzqs Mar 31, 2025
0032f8b
更新macos平台文件
zhangzqs Apr 2, 2025
f0a8d0b
更新macos配置,升级filepicker组件
zhangzqs Apr 2, 2025
0e4797d
更新ios平台代码
zhangzqs Apr 2, 2025
c676aad
更新android平台代码
zhangzqs Apr 2, 2025
97e9f86
Merge branch 'KS-61-web' of github.com:zhangzqs/dart-sdk into KS-61-web
zhangzqs Apr 2, 2025
5ad0466
修复analyze
zhangzqs Apr 3, 2025
9c5d491
降级file_picker
zhangzqs Apr 3, 2025
07b420f
更新ci版本
zhangzqs Apr 3, 2025
c985037
更新ci
zhangzqs Apr 3, 2025
a06ad78
更新ci
zhangzqs Apr 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/base.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
max-parallel: 1
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
sdk: [3.0, 3.1, 3.2, 3.3, 3.4, stable]
sdk: [3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, stable]
exclude:
- os: windows-latest
sdk: 3.4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/flutter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
flutter_version: ['3.16.x', '3.19.x', '3.22.x']
flutter_version: ['3.24.x', '3.27.x', '3.29.x']
runs-on: ${{ matrix.os }}
defaults:
run:
Expand Down
10 changes: 5 additions & 5 deletions base/lib/src/auth/put_policy.dart
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ class PutPolicy {
/// 指定上传的目标资源空间 Bucket 和资源键 Key(最大为 750 字节)。
///
/// 有三种格式:
/// <Bucket> 表示允许用户上传文件到指定的 Bucket,在这种格式下文件只能新增。
/// <Bucket>:<Key> 表示只允许用户上传指定 Key 的文件。在这种格式下文件默认允许修改。
/// <Bucket>:<KeyPrefix> 表示只允许用户上传指定以 KeyPrefix 为前缀的文件。
/// \<Bucket\> 表示允许用户上传文件到指定的 Bucket,在这种格式下文件只能新增。
/// \<Bucket\>:\<Key\> 表示只允许用户上传指定 Key 的文件。在这种格式下文件默认允许修改。
/// \<Bucket\>:\<KeyPrefix\> 表示只允许用户上传指定以 KeyPrefix 为前缀的文件。
/// 具体信息一定请查看上述的上传策略文档!
final String scope;

Expand Down Expand Up @@ -40,8 +40,8 @@ class PutPolicy {

/// Web 端文件上传成功后,浏览器执行 303 跳转的 URL。
///
/// 文件上传成功后会跳转到 <[returnUrl]>?upload_ret=<QueryString>
/// 其中 <QueryString> 包含 [returnBody] 内容。
/// 文件上传成功后会跳转到 \<[returnUrl]\>?upload_ret=\<QueryString\>
/// 其中 \<QueryString\> 包含 [returnBody] 内容。
/// 如不设置 [returnUrl],则直接将 [returnBody] 的内容返回给客户端。
final String? returnUrl;

Expand Down
4 changes: 3 additions & 1 deletion base/lib/src/storage/config/config.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@ import 'dart:io';
import 'package:dio/dio.dart';
import 'package:crypto/crypto.dart';
import 'package:convert/convert.dart';
import 'package:platform_info/platform_info.dart';
import 'package:qiniu_sdk_base/src/storage/storage.dart';
import 'package:cache_provider/cache_provider.dart' as cache_provider;
import 'package:qiniu_sdk_base/src/util/cache_provider_base.dart'
as cache_provider;
import 'package:singleflight/singleflight.dart' as singleflight;
import 'package:path/path.dart' show join;

Expand Down
12 changes: 7 additions & 5 deletions base/lib/src/storage/config/host.dart
Original file line number Diff line number Diff line change
Expand Up @@ -215,11 +215,13 @@ class DefaultHostProviderV2 extends HostFreezer {
() async => BucketRegionsQuery.create(
bucketHosts: _bucketHosts,
useHttps: _useHttps,
persistentFilePath: join(
Directory.systemTemp.path,
'qiniu-dart-sdk',
'regions_v4_01.cache.json',
),
persistentFilePath: platform.isWeb // web端不要持久化到磁盘,内部自动使用内存缓存即可
? null
: join(
Directory.systemTemp.path,
'qiniu-dart-sdk',
'regions_v4_01.cache.json',
),
),
);
return _query!;
Expand Down
12 changes: 2 additions & 10 deletions base/lib/src/storage/task/request_task.dart
Original file line number Diff line number Diff line change
@@ -1,18 +1,10 @@
import 'package:dio/dio.dart';
import 'package:meta/meta.dart';
import 'package:system_info2/system_info2.dart';

import '../../../qiniu_sdk_base.dart';

import '../../util/user_agent/user_agent.dart';
part 'request_task_controller.dart';
part 'request_task_manager.dart';

String _getUserAgent() {
final userAgent =
'QiniuDart/v$currentVersion (${SysInfo.kernelName} ${SysInfo.kernelVersion} ${SysInfo.kernelArchitecture}; ${SysInfo.operatingSystemName} ${SysInfo.operatingSystemVersion};)';
return userAgent;
}

abstract class RequestTask<T> extends Task<T> {
// 准备阶段占总任务的百分比
static double preStartTakePercentOfTotal = 0.001;
Expand Down Expand Up @@ -53,7 +45,7 @@ abstract class RequestTask<T> extends Task<T> {
controller?.notifyProgressListeners(preStartTakePercentOfTotal);
retryLimit = config.retryLimit;
client.httpClientAdapter = config.httpClientAdapter;
var userAgent = _getUserAgent();
var userAgent = getDefaultUserAgent();
final appUserAgent = await config.appUserAgent;
if (appUserAgent != '') {
userAgent += ' $appUserAgent';
Expand Down
Loading