调整权限和库

This commit is contained in:
2026-03-02 11:28:44 +08:00
parent a26d2478f3
commit 6997b4ac9e
5 changed files with 93 additions and 52 deletions

View File

@@ -5,7 +5,6 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:getx_scaffold/getx_scaffold.dart' as dio;
import 'package:getx_scaffold/getx_scaffold.dart';
import 'package:image_gallery_saver/image_gallery_saver.dart';
import 'package:image_picker/image_picker.dart';
import 'package:ln_jq_app/common/model/base_model.dart';
import 'package:ln_jq_app/common/styles/theme.dart';
@@ -13,6 +12,7 @@ import 'package:ln_jq_app/storage_service.dart';
import 'package:photo_view/photo_view.dart';
import 'package:photo_view/photo_view_gallery.dart';
import 'package:pull_to_refresh/pull_to_refresh.dart';
import 'package:saver_gallery/saver_gallery.dart';
enum ReservationStatus {
pending, // 待处理 ( addStatus: 0)
@@ -796,10 +796,20 @@ class SiteController extends GetxController with BaseControllerMixin {
/// 保存图片到相册
Future<void> saveImageToLocal(String url) async {
try {
// 1. 权限请求
if (Platform.isAndroid) {
var status = await Permission.storage.request();
dio.PermissionStatus status;
final deviceInfo = await DeviceInfoPlugin().androidInfo;
final sdkInt = deviceInfo.version.sdkInt;
if (sdkInt <= 32) {
status = await Permission.storage.request();
} else {
status = await Permission.photos.request();
}
if (!status.isGranted) {
showErrorToast("请在系统设置中开启存储权限");
return;
@@ -821,23 +831,21 @@ class SiteController extends GetxController with BaseControllerMixin {
);
// 3. 保存到相册
final result = await ImageGallerySaver.saveImage(
final result = await SaverGallery.saveImage(
Uint8List.fromList(response.data),
quality: 100,
name: "certificate_${DateTime.now().millisecondsSinceEpoch}",
fileName: "certificate_${DateTime.now().millisecondsSinceEpoch}",
skipIfExists: false,
);
dismissLoading();
if (result != null && result['isSuccess'] == true) {
if (result.isSuccess) {
showSuccessToast("图片已保存至相册");
} else {
showErrorToast("保存失败");
}
} catch (e) {
dismissLoading();
showErrorToast("保存异常");
}
}
Widget buildInfoTag(String label, List<String> images) {
@@ -1105,7 +1113,7 @@ class SiteController extends GetxController with BaseControllerMixin {
showLoading("确认中");
try {
var responseData;
dio.Response? responseData;
if (isAdd) {
responseData = await HttpService.to.post(
'appointment/orderAddHyd/addOfflineOrder',