添加异常测试功能

增加隐藏设置页

修复无法跳转到隐藏设置页面
This commit is contained in:
KoolShow
2024-02-16 23:06:18 +08:00
committed by orz12
parent 125b7050c1
commit 3109e30f9e
6 changed files with 121 additions and 1 deletions

View File

@@ -17,6 +17,7 @@ class SettingController extends GetxController {
Box localCache = GStrorage.localCache;
RxBool userLogin = false.obs;
RxBool hiddenSettingUnlocked = false.obs;
RxBool feedBackEnable = false.obs;
RxDouble toastOpacity = (1.0).obs;
RxInt picQuality = 10.obs;
@@ -29,6 +30,7 @@ class SettingController extends GetxController {
super.onInit();
userInfo = userInfoCache.get('userInfoCache');
userLogin.value = userInfo != null;
hiddenSettingUnlocked.value = setting.get(SettingBoxKey.hiddenSettingUnlocked, defaultValue: false);
feedBackEnable.value =
setting.get(SettingBoxKey.feedBackEnable, defaultValue: false);
toastOpacity.value =

View File

@@ -0,0 +1,85 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:hive/hive.dart';
import 'package:pilipala/utils/storage.dart';
class HiddenSetting extends StatefulWidget {
const HiddenSetting({super.key});
@override
State<HiddenSetting> createState() => _HiddenSettingState();
}
class _HiddenSettingState extends State<HiddenSetting> {
@override
void initState() {
super.initState();
}
void test(Object? val) {
print(val);
}
@override
Widget build(BuildContext context) {
TextStyle titleStyle = Theme.of(context).textTheme.titleMedium!;
TextStyle subTitleStyle = Theme.of(context)
.textTheme
.labelMedium!
.copyWith(color: Theme.of(context).colorScheme.outline);
return Scaffold(
appBar: AppBar(
centerTitle: false,
titleSpacing: 0,
title: Text(
'隐藏设置',
style: Theme.of(context).textTheme.titleMedium,
),
),
body: Column(
children: [
ListTile(
onTap: () {
RxInt zero = 0.obs;
1 / zero.value;
},
dense: false,
title: Text('产生除以0异常', style: titleStyle),
),
ListTile(
onTap: () {
List list = [];
test(list[0]);
},
dense: false,
title: Text('产生数组越界异常', style: titleStyle),
),
ListTile(
onTap: () {
RxInt? integer;
test(integer!.value);
},
dense: false,
title: Text('产生空异常', style: titleStyle),
subtitle: Text('空安全: 喵喵喵?', style: subTitleStyle),
),
ListTile(
onTap: () {
int.parse("");
},
dense: false,
title: Text('产生整数解析异常', style: titleStyle),
),
ListTile(
onTap: () {
throw Exception("测试异常");
},
dense: false,
title: Text('产生测试异常', style: titleStyle),
),
],
),
);
}
}

View File

@@ -44,6 +44,16 @@ class SettingPage extends StatelessWidget {
dense: false,
title: const Text('其他设置'),
),
Obx(
() => Visibility(
visible: settingController.hiddenSettingUnlocked.value,
child: ListTile(
onTap: () => Get.toNamed('/hiddenSetting'),
dense: false,
title: const Text('隐藏设置'),
),
),
),
Obx(
() => Visibility(
visible: settingController.userLogin.value,