Skip to content

Commit

Permalink
发布: V2.2.2
Browse files Browse the repository at this point in the history
  • Loading branch information
Kuingsmile committed Sep 17, 2023
1 parent 6c8a1e6 commit b331252
Show file tree
Hide file tree
Showing 92 changed files with 4,778 additions and 7,508 deletions.
47 changes: 18 additions & 29 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
</a>
</div>

&emsp;&emsp;一款基于flutter的手机端云存储平台/图床管理和文件上传/下载工具,最新版本**V2.1.3**,与PicGo配置互通,可直接扫码导入,主要功能包括云存储/图床/云服务器平台,以及网盘管理(通过[Alist](https://alist.nn.ci/zh/)),文件上传和下载管理,以及各种格式的链接分享。
&emsp;&emsp;一款基于flutter的手机端云存储平台/图床管理和文件上传/下载工具,最新版本**V2.2.2**,与PicGo配置互通,可直接扫码导入,主要功能包括云存储/图床/云服务器平台,以及网盘管理(通过[Alist](https://alist.nn.ci/zh/)),文件上传和下载管理,以及各种格式的链接分享。

&emsp;&emsp;支持多种图片/PDF/文本文件/音视频的在线预览和播放,具体支持的格式请查看[支持的格式列表](https://github.com/Kuingsmile/PicHoro/blob/main/supported_format.md "支持的格式列表")

Expand Down Expand Up @@ -72,7 +72,7 @@

Github下载地址 [Github release](https://github.com/Kuingsmile/PicHoro/releases)

我的个人网站提供的最新版本下载地址 [https://pichoro.msq.pub/PicHoro_V2.1.3.apk](https://pichoro.msq.pub/PicHoro_V2.1.3.apk)
我的个人网站提供的最新版本下载地址 [https://pichoro.msq.pub/PicHoro_V2.2.2.apk](https://pichoro.msq.pub/PicHoro_V2.2.2.apk)

### IOS

Expand Down Expand Up @@ -109,33 +109,22 @@ Github下载地址 [Github release](https://github.com/Kuingsmile/PicHoro/releas

  详细更新日志请查看[更新日志](https://github.com/Kuingsmile/PicHoro/blob/main/Version_update_log.md "更新日志")

- 2023-08-26: **V2.1.3**:

- 依赖:从Flutter 3.3版本迁移至 3.13 版本
- 优化:移除了底部栏的文字标签
- 更新:阿里云存储桶区域现在支持无地域属性
- 更新:腾讯云移除了不再支持的莫斯科区域
- 更新:FTP现在删除功能会额外校验路径,避免误删除

- 2023-07-25: **V2.1.2**:

- 修复:修复了imgur仓库无法进入的问题

- 2023-06-20: **V2.1.1**:

- 更新:更新了alist驱动列表,与最新版(3.21.0)保持同步

- 2023-06-20: **V2.1.0**:

- webdav现在支持设置自定义域名
- ftp现在支持设置自定义域名

## 开发计划

- 添加搜索功能
- 添加生成限时分享链接功能
- 优化文件数量过多时的加载速度
- 修复bug
### 2023-09-17 **V2.2.2**

- 新增:又拍云现在支持设置防盗链token和过期时间参数
- 新增:现在首页标题会显示当前的默认上传图床
- 新增:时间戳重命名现在不再额外添加5个随机字符
- 新增:自定义重命名中的时间戳选项现在采用毫秒,而不是秒
- 新增:移除了二维码导入配置时的校验步骤以提高导入速度
- 新增:现在保存图床设置时不再强制进行校验(与`校验当前配置`功能重复)
- 新增:现在拷贝链接时,会对文件名进行basename处理
- 新增:现在查看配置时密码不再加密显示,方便配置
- 修复:修复了通过拍照上传时,文件名中含有的二级路径没有生效的问题
- 修复:修复了文件名中含有二级路径时,开启图片压缩后无法上传的问题
- 修复:imgur移除了失效的CDN加速网址
- 修复:修复了文件名中含有二级路径时,部分图床无法远程删除图片的问题
- 修复:修复了从二维码导入时,路径设置为根目录时导入错误的问题
- 维护:重构了大部分代码以提高性能和可维护性

## 开发交流

Expand Down
816 changes: 427 additions & 389 deletions Version_update_log.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -17,122 +17,127 @@ public final class GeneratedPluginRegistrant {
public static void registerWith(@NonNull FlutterEngine flutterEngine) {
try {
flutterEngine.getPlugins().add(new de.bytepark.autoorientation.AutoOrientationPlugin());
} catch(Exception e) {
} catch (Exception e) {
Log.e(TAG, "Error registering plugin auto_orientation, de.bytepark.autoorientation.AutoOrientationPlugin", e);
}
try {
flutterEngine.getPlugins().add(new de.mintware.barcode_scan.BarcodeScanPlugin());
} catch(Exception e) {
} catch (Exception e) {
Log.e(TAG, "Error registering plugin barcode_scan2, de.mintware.barcode_scan.BarcodeScanPlugin", e);
}
try {
flutterEngine.getPlugins().add(new io.flutter.plugins.camera.CameraPlugin());
} catch(Exception e) {
} catch (Exception e) {
Log.e(TAG, "Error registering plugin camera_android, io.flutter.plugins.camera.CameraPlugin", e);
}
try {
flutterEngine.getPlugins().add(new dev.fluttercommunity.plus.device_info.DeviceInfoPlusPlugin());
} catch (Exception e) {
Log.e(TAG, "Error registering plugin device_info_plus, dev.fluttercommunity.plus.device_info.DeviceInfoPlusPlugin", e);
}
try {
flutterEngine.getPlugins().add(new com.pinciat.external_path.ExternalPathPlugin());
} catch(Exception e) {
} catch (Exception e) {
Log.e(TAG, "Error registering plugin external_path, com.pinciat.external_path.ExternalPathPlugin", e);
}
try {
flutterEngine.getPlugins().add(new com.mr.flutter.plugin.filepicker.FilePickerPlugin());
} catch(Exception e) {
} catch (Exception e) {
Log.e(TAG, "Error registering plugin file_picker, com.mr.flutter.plugin.filepicker.FilePickerPlugin", e);
}
try {
flutterEngine.getPlugins().add(new com.fluttercandies.flutter_image_compress.ImageCompressPlugin());
} catch(Exception e) {
Log.e(TAG, "Error registering plugin flutter_image_compress, com.fluttercandies.flutter_image_compress.ImageCompressPlugin", e);
} catch (Exception e) {
Log.e(TAG, "Error registering plugin flutter_image_compress_common, com.fluttercandies.flutter_image_compress.ImageCompressPlugin", e);
}
try {
flutterEngine.getPlugins().add(new io.flutter.plugins.flutter_plugin_android_lifecycle.FlutterAndroidLifecyclePlugin());
} catch(Exception e) {
} catch (Exception e) {
Log.e(TAG, "Error registering plugin flutter_plugin_android_lifecycle, io.flutter.plugins.flutter_plugin_android_lifecycle.FlutterAndroidLifecyclePlugin", e);
}
try {
flutterEngine.getPlugins().add(new software.solid.fluttervlcplayer.FlutterVlcPlayerPlugin());
} catch(Exception e) {
} catch (Exception e) {
Log.e(TAG, "Error registering plugin flutter_vlc_player, software.solid.fluttervlcplayer.FlutterVlcPlayerPlugin", e);
}
try {
flutterEngine.getPlugins().add(new io.github.ponnamkarthik.toast.fluttertoast.FlutterToastPlugin());
} catch(Exception e) {
} catch (Exception e) {
Log.e(TAG, "Error registering plugin fluttertoast, io.github.ponnamkarthik.toast.fluttertoast.FlutterToastPlugin", e);
}
try {
flutterEngine.getPlugins().add(new io.flutter.plugins.imagepicker.ImagePickerPlugin());
} catch(Exception e) {
} catch (Exception e) {
Log.e(TAG, "Error registering plugin image_picker_android, io.flutter.plugins.imagepicker.ImagePickerPlugin", e);
}
try {
flutterEngine.getPlugins().add(new com.crazecoder.openfile.OpenFilePlugin());
} catch(Exception e) {
} catch (Exception e) {
Log.e(TAG, "Error registering plugin open_filex, com.crazecoder.openfile.OpenFilePlugin", e);
}
try {
flutterEngine.getPlugins().add(new dev.fluttercommunity.plus.packageinfo.PackageInfoPlugin());
} catch(Exception e) {
} catch (Exception e) {
Log.e(TAG, "Error registering plugin package_info_plus, dev.fluttercommunity.plus.packageinfo.PackageInfoPlugin", e);
}
try {
flutterEngine.getPlugins().add(new io.flutter.plugins.pathprovider.PathProviderPlugin());
} catch(Exception e) {
} catch (Exception e) {
Log.e(TAG, "Error registering plugin path_provider_android, io.flutter.plugins.pathprovider.PathProviderPlugin", e);
}
try {
flutterEngine.getPlugins().add(new com.baseflow.permissionhandler.PermissionHandlerPlugin());
} catch(Exception e) {
} catch (Exception e) {
Log.e(TAG, "Error registering plugin permission_handler_android, com.baseflow.permissionhandler.PermissionHandlerPlugin", e);
}
try {
flutterEngine.getPlugins().add(new com.fluttercandies.photo_manager.PhotoManagerPlugin());
} catch(Exception e) {
} catch (Exception e) {
Log.e(TAG, "Error registering plugin photo_manager, com.fluttercandies.photo_manager.PhotoManagerPlugin", e);
}
try {
flutterEngine.getPlugins().add(new com.example.r_upgrade.RUpgradePlugin());
} catch(Exception e) {
} catch (Exception e) {
Log.e(TAG, "Error registering plugin r_upgrade, com.example.r_upgrade.RUpgradePlugin", e);
}
try {
flutterEngine.getPlugins().add(new dev.fluttercommunity.plus.share.SharePlusPlugin());
} catch(Exception e) {
} catch (Exception e) {
Log.e(TAG, "Error registering plugin share_plus, dev.fluttercommunity.plus.share.SharePlusPlugin", e);
}
try {
flutterEngine.getPlugins().add(new io.flutter.plugins.sharedpreferences.SharedPreferencesPlugin());
} catch(Exception e) {
} catch (Exception e) {
Log.e(TAG, "Error registering plugin shared_preferences_android, io.flutter.plugins.sharedpreferences.SharedPreferencesPlugin", e);
}
try {
flutterEngine.getPlugins().add(new com.tekartik.sqflite.SqflitePlugin());
} catch(Exception e) {
} catch (Exception e) {
Log.e(TAG, "Error registering plugin sqflite, com.tekartik.sqflite.SqflitePlugin", e);
}
try {
flutterEngine.getPlugins().add(new com.syncfusion.flutter.pdfviewer.SyncfusionFlutterPdfViewerPlugin());
} catch(Exception e) {
} catch (Exception e) {
Log.e(TAG, "Error registering plugin syncfusion_flutter_pdfviewer, com.syncfusion.flutter.pdfviewer.SyncfusionFlutterPdfViewerPlugin", e);
}
try {
flutterEngine.getPlugins().add(new io.flutter.plugins.urllauncher.UrlLauncherPlugin());
} catch(Exception e) {
} catch (Exception e) {
Log.e(TAG, "Error registering plugin url_launcher_android, io.flutter.plugins.urllauncher.UrlLauncherPlugin", e);
}
try {
flutterEngine.getPlugins().add(new io.flutter.plugins.videoplayer.VideoPlayerPlugin());
} catch(Exception e) {
} catch (Exception e) {
Log.e(TAG, "Error registering plugin video_player_android, io.flutter.plugins.videoplayer.VideoPlayerPlugin", e);
}
try {
flutterEngine.getPlugins().add(new creativemaybeno.wakelock.WakelockPlugin());
} catch(Exception e) {
Log.e(TAG, "Error registering plugin wakelock, creativemaybeno.wakelock.WakelockPlugin", e);
flutterEngine.getPlugins().add(new dev.fluttercommunity.plus.wakelock.WakelockPlusPlugin());
} catch (Exception e) {
Log.e(TAG, "Error registering plugin wakelock_plus, dev.fluttercommunity.plus.wakelock.WakelockPlusPlugin", e);
}
try {
flutterEngine.getPlugins().add(new io.flutter.plugins.webviewflutter.WebViewFlutterPlugin());
} catch(Exception e) {
} catch (Exception e) {
Log.e(TAG, "Error registering plugin webview_flutter_android, io.flutter.plugins.webviewflutter.WebViewFlutterPlugin", e);
}
}
Expand Down
Loading

0 comments on commit b331252

Please sign in to comment.