Commit 4381b3c8 by tanghuan

一些小调整

1 parent a6505868
...@@ -211,7 +211,8 @@ class WebCubit extends Cubit<WebState> { ...@@ -211,7 +211,8 @@ class WebCubit extends Cubit<WebState> {
emit(state.copyWith(isUpgrading: true)); emit(state.copyWith(isUpgrading: true));
await _upgrade(correctVersion, downloadUrl); await _upgrade(correctVersion, downloadUrl);
// 升级完成后取消遮罩,继续初始化其它数据 // 升级完成后取消遮罩,继续初始化其它数据
emit(state.copyWith(isUpgrading: false)); // 同时设置h5版本号
emit(state.copyWith(isUpgrading: false, h5Version: correctVersion));
} else { } else {
// 后台下载,完成后提示用户 // 后台下载,完成后提示用户
_upgrade(correctVersion, downloadUrl).then( _upgrade(correctVersion, downloadUrl).then(
...@@ -264,6 +265,7 @@ class WebCubit extends Cubit<WebState> { ...@@ -264,6 +265,7 @@ class WebCubit extends Cubit<WebState> {
String zip = response.data['zip'] as String; String zip = response.data['zip'] as String;
return { return {
'version': version, 'version': version,
// 'force': "0",
'force': force, 'force': force,
// 'zip': 'http://192.168.2.177/1.0.0.zip', // 'zip': 'http://192.168.2.177/1.0.0.zip',
'zip': '$zip$version.zip', 'zip': '$zip$version.zip',
...@@ -554,9 +556,9 @@ class WebCubit extends Cubit<WebState> { ...@@ -554,9 +556,9 @@ class WebCubit extends Cubit<WebState> {
/// ///
/// 升级提示 /// 升级提示
/// ///
void suggestUpgrade(BuildContext context) { void suggestUpgrade(BuildContext ctx) {
showDialog( showDialog(
context: context, context: ctx,
barrierDismissible: false, barrierDismissible: false,
builder: (BuildContext context) { builder: (BuildContext context) {
return AlertDialog( return AlertDialog(
...@@ -566,18 +568,18 @@ class WebCubit extends Cubit<WebState> { ...@@ -566,18 +568,18 @@ class WebCubit extends Cubit<WebState> {
TextButton( TextButton(
child: Text('取消'), child: Text('取消'),
onPressed: () { onPressed: () {
emit(state.copyWith(suggestUpgrade: false));
Navigator.of(context).pop(); Navigator.of(context).pop();
emit(state.copyWith(suggestUpgrade: false));
}, },
), ),
TextButton( TextButton(
child: Text('确定'), child: Text('确定'),
onPressed: () { onPressed: () {
Navigator.of(context).pop();
emit(state.copyWith(suggestUpgrade: false)); emit(state.copyWith(suggestUpgrade: false));
getIt.get<LocalServerService>().resetHttpDirectory(); getIt.get<LocalServerService>().resetHttpDirectory();
_controller.reload(); _controller.reload();
// _loadHtml(); // _loadHtml();
Navigator.of(context).pop();
}, },
), ),
], ],
...@@ -628,6 +630,14 @@ class WebCubit extends Cubit<WebState> { ...@@ -628,6 +630,14 @@ class WebCubit extends Cubit<WebState> {
} }
void _chooseImageFromAlbum(BuildContext context, int count, String unique, String cmd) async { void _chooseImageFromAlbum(BuildContext context, int count, String unique, String cmd) async {
// 检查是否已被永久拒绝,此时需要对用户进行引导
if (await _checkGalleryPermanentlyDenied()) {
var resp = {'unique': unique, 'cmd': cmd, 'data': null, 'errMsg': 'no auth'};
_sendResponse(resp);
_permissionLead(context, '相册权限');
return;
}
final List<AssetEntity>? result; final List<AssetEntity>? result;
try { try {
result = await AssetPicker.pickAssets( result = await AssetPicker.pickAssets(
...@@ -643,12 +653,6 @@ class WebCubit extends Cubit<WebState> { ...@@ -643,12 +653,6 @@ class WebCubit extends Cubit<WebState> {
} catch (e) { } catch (e) {
var resp = {'unique': unique, 'cmd': cmd, 'data': null, 'errMsg': 'no auth'}; var resp = {'unique': unique, 'cmd': cmd, 'data': null, 'errMsg': 'no auth'};
_sendResponse(resp); _sendResponse(resp);
// 权限异常之后,检查是否已被永久拒绝,此时需要对用户进行引导
if (await _checkGalleryPermanentlyDenied()) {
_permissionLead(context, '相册权限');
}
return; return;
} }
...@@ -675,17 +679,20 @@ class WebCubit extends Cubit<WebState> { ...@@ -675,17 +679,20 @@ class WebCubit extends Cubit<WebState> {
} }
void _chooseImageFromCamera(BuildContext context, String unique, String cmd) async { void _chooseImageFromCamera(BuildContext context, String unique, String cmd) async {
// 检查是否已被永久拒绝,此时需要对用户进行引导
if (await _checkCameraPermanentlyDenied()) {
var resp = {'unique': unique, 'cmd': cmd, 'data': null, 'errMsg': 'no auth'};
_sendResponse(resp);
_permissionLead(context, '相机权限');
return;
}
AssetEntity? asset; AssetEntity? asset;
try { try {
asset = await CameraPicker.pickFromCamera(context, pickerConfig: const CameraPickerConfig()); asset = await CameraPicker.pickFromCamera(context, pickerConfig: const CameraPickerConfig());
} catch (e) { } catch (e) {
var resp = {'unique': unique, 'cmd': cmd, 'data': null, 'errMsg': 'no auth'}; var resp = {'unique': unique, 'cmd': cmd, 'data': null, 'errMsg': 'no auth'};
_sendResponse(resp); _sendResponse(resp);
if (await _checkCameraPermanentlyDenied()) {
_permissionLead(context, '相机权限');
}
return; return;
} }
...@@ -831,8 +838,15 @@ class WebCubit extends Cubit<WebState> { ...@@ -831,8 +838,15 @@ class WebCubit extends Cubit<WebState> {
} }
void _chooseVideoFromAlbum(BuildContext context, int count, String unique, String cmd) async { void _chooseVideoFromAlbum(BuildContext context, int count, String unique, String cmd) async {
List<AssetEntity>? result; // 检查是否已被永久拒绝,此时需要对用户进行引导
if (await _checkGalleryPermanentlyDenied()) {
var resp = {'unique': unique, 'cmd': cmd, 'data': null, 'errMsg': 'no auth'};
_sendResponse(resp);
_permissionLead(context, '相册权限');
return;
}
List<AssetEntity>? result;
try { try {
result = await AssetPicker.pickAssets( result = await AssetPicker.pickAssets(
context, context,
...@@ -845,12 +859,6 @@ class WebCubit extends Cubit<WebState> { ...@@ -845,12 +859,6 @@ class WebCubit extends Cubit<WebState> {
} catch (e) { } catch (e) {
var resp = {'unique': unique, 'cmd': cmd, 'data': null, 'errMsg': 'no auth'}; var resp = {'unique': unique, 'cmd': cmd, 'data': null, 'errMsg': 'no auth'};
_sendResponse(resp); _sendResponse(resp);
// 权限异常之后,检查是否已被永久拒绝,此时需要对用户进行引导
if (await _checkGalleryPermanentlyDenied()) {
_permissionLead(context, '相册权限');
}
return; return;
} }
...@@ -877,6 +885,14 @@ class WebCubit extends Cubit<WebState> { ...@@ -877,6 +885,14 @@ class WebCubit extends Cubit<WebState> {
} }
void _chooseVideoFromCamera(BuildContext context, int maxDuration, String unique, String cmd) async { void _chooseVideoFromCamera(BuildContext context, int maxDuration, String unique, String cmd) async {
// 检查是否已被永久拒绝,此时需要对用户进行引导
if (await _checkCameraPermanentlyDenied()) {
var resp = {'unique': unique, 'cmd': cmd, 'data': null, 'errMsg': 'no auth'};
_sendResponse(resp);
_permissionLead(context, '相机权限');
return;
}
AssetEntity? asset; AssetEntity? asset;
try { try {
asset = await CameraPicker.pickFromCamera( asset = await CameraPicker.pickFromCamera(
...@@ -891,11 +907,6 @@ class WebCubit extends Cubit<WebState> { ...@@ -891,11 +907,6 @@ class WebCubit extends Cubit<WebState> {
} catch (e) { } catch (e) {
var resp = {'unique': unique, 'cmd': cmd, 'data': null, 'errMsg': 'no auth'}; var resp = {'unique': unique, 'cmd': cmd, 'data': null, 'errMsg': 'no auth'};
_sendResponse(resp); _sendResponse(resp);
if (await _checkCameraPermanentlyDenied()) {
_permissionLead(context, '相机权限');
}
return; return;
} }
......
...@@ -269,8 +269,9 @@ class WebPage extends StatelessWidget { ...@@ -269,8 +269,9 @@ class WebPage extends StatelessWidget {
child: Text('确认'), child: Text('确认'),
onPressed: () { onPressed: () {
Navigator.of(context).pop(); Navigator.of(context).pop();
ctx.read<WebCubit>().clearStorage(); var webCubit = ctx.read<WebCubit>();
ctx.read<WebCubit>().goLogin(); webCubit.clearStorage();
webCubit.goLogin();
}, },
), ),
], ],
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!