import 'package:PiliPlus/models/common/account_type.dart'; import 'package:PiliPlus/pages/login/controller.dart'; import 'package:PiliPlus/pages/setting/models/model.dart'; import 'package:PiliPlus/utils/accounts.dart'; import 'package:PiliPlus/utils/accounts/api_type.dart'; import 'package:flutter/material.dart'; import 'package:flutter_smart_dialog/flutter_smart_dialog.dart'; import 'package:get/get.dart'; List get privacySettings => [ NormalModel( onTap: (context, setState) { if (!Accounts.main.isLogin) { SmartDialog.showToast('登录后查看'); return; } Get.toNamed('/blackListPage'); }, title: '黑名单管理', subtitle: '已拉黑用户', leading: const Icon(Icons.block), ), NormalModel( onTap: (context, setState) { LoginPageController.switchAccountDialog(context); }, leading: const Icon(Icons.switch_account_outlined), title: '切换账号', subtitle: '播放进度信息跟随视频取流', ), NormalModel( onTap: (context, setState) { showDialog( context: context, builder: (context) => AlertDialog( title: const Text('账号模式详情'), content: SingleChildScrollView( child: _getAccountDetail(context), ), actions: [ TextButton( onPressed: Get.back, child: const Text('确认'), ), ], ), ); }, leading: const Icon(Icons.flag_outlined), title: '了解账号模式', subtitle: '查看各个账号模式作用的API列表', ), ]; Widget _getAccountDetail(BuildContext context) { final slivers = []; final theme = TextTheme.of(context); for (final i in AccountType.values) { final url = ApiType.apiTypeSet[i]; if (url == null) continue; slivers ..add(Center(child: Text(i.title, style: theme.titleMedium))) ..add(SelectableText(url.join('\n'))); } return Column( mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.start, spacing: 8, children: slivers, ); }