个人中心完善页面路由

This commit is contained in:
2022-10-31 10:28:49 +08:00
parent 2e9d8c1e0a
commit bc98924548
8 changed files with 154 additions and 35 deletions

View File

@@ -3,9 +3,12 @@ import 'package:chat/views/contact/index/index_page.dart';
import 'package:chat/views/user/info/index_page.dart'; import 'package:chat/views/user/info/index_page.dart';
import 'package:chat/views/user/info/nickname_page.dart'; import 'package:chat/views/user/info/nickname_page.dart';
import 'package:chat/views/user/qr_code/index_page.dart'; import 'package:chat/views/user/qr_code/index_page.dart';
import 'package:chat/views/user/safe/index_page.dart';
import 'package:chat/views/user/serve/index_page.dart'; import 'package:chat/views/user/serve/index_page.dart';
import 'package:chat/views/user/setting/about/index_page.dart';
import 'package:chat/views/user/setting/index_page.dart'; import 'package:chat/views/user/setting/index_page.dart';
import 'package:chat/views/user/setting/privacy/index_page.dart';
import 'package:chat/views/user/setting/safe/index_page.dart';
import 'package:chat/views/user/setting/sugguest/index_page.dart';
import 'package:chat/views/user/share/index_page.dart'; import 'package:chat/views/user/share/index_page.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
@@ -13,11 +16,18 @@ abstract class UserRoutes {
/// 身份验证页面 /// 身份验证页面
static const String index = '/user'; static const String index = '/user';
static const String qrCode = '/user/qrCode'; static const String qrCode = '/user/qrCode';
static const String setting = '/user/setting'; static const String setting = '/user/setting';
static const String settingPrivacy = '/user/setting/privacy';
static const String settingAbout = '/user/setting/about';
static const String settingSafe = '/user/setting/safe';
static const String settingSugguest = '/user/setting/sugguest';
static const String share = '/user/share'; static const String share = '/user/share';
static const String safe = '/user/safe';
static const String info = '/user/info'; static const String info = '/user/info';
static const String infoNickname = '/user/info/nickname'; static const String infoNickname = '/user/info/nickname';
static const String serve = '/user/serve'; static const String serve = '/user/serve';
static GetPage router = GetPage( static GetPage router = GetPage(
@@ -38,10 +48,24 @@ abstract class UserRoutes {
GetPage( GetPage(
name: '/setting', name: '/setting',
page: () => const UserSettingPage(), page: () => const UserSettingPage(),
children: [
GetPage(
name: '/about',
page: () => const UserSettingAboutPage(),
),
GetPage(
name: '/rivacy',
page: () => const UserSettingPrivacyPage(),
), ),
GetPage( GetPage(
name: '/safe', name: '/safe',
page: () => const UserSafePage(), page: () => const UserSettingSafePage(),
),
GetPage(
name: '/sugguest',
page: () => const UserSettingSugguestPage(),
),
],
), ),
GetPage( GetPage(
name: '/info', name: '/info',

View File

@@ -55,6 +55,7 @@ class AuthService extends GetxService {
var result = await AuthProvider.login(address); var result = await AuthProvider.login(address);
if (result != null) { if (result != null) {
_box.write('mnemonic', mnemonic);
_box.write('userId', result.userID); _box.write('userId', result.userID);
_box.write('userSig', result.userSig); _box.write('userSig', result.userSig);
_box.write('userToken', result.userToken); _box.write('userToken', result.userToken);
@@ -82,6 +83,9 @@ class AuthService extends GetxService {
_box.remove('userSig'); _box.remove('userSig');
_box.remove('userId'); _box.remove('userId');
_box.remove('userToken'); _box.remove('userToken');
_box.remove('mnemonic');
_box.remove('userInfo');
userSig = ''; userSig = '';
userId = ''; userId = '';
userToken = ''; userToken = '';

View File

@@ -1,20 +0,0 @@
import 'package:flutter/material.dart';
class UserSafePage extends StatefulWidget {
const UserSafePage({Key? key}) : super(key: key);
@override
State<UserSafePage> createState() => _UserSafePageState();
}
class _UserSafePageState extends State<UserSafePage> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('安全设置'),
),
body: Container(),
);
}
}

View File

@@ -0,0 +1,15 @@
import 'package:flutter/material.dart';
class UserSettingAboutPage extends StatefulWidget {
const UserSettingAboutPage({Key? key}) : super(key: key);
@override
_UserSettingAboutPageState createState() => _UserSettingAboutPageState();
}
class _UserSettingAboutPageState extends State<UserSettingAboutPage> {
@override
Widget build(BuildContext context) {
return Container();
}
}

View File

@@ -1,3 +1,4 @@
import 'package:adaptive_dialog/adaptive_dialog.dart';
import 'package:chat/configs/app_colors.dart'; import 'package:chat/configs/app_colors.dart';
import 'package:chat/routes/user_routes.dart'; import 'package:chat/routes/user_routes.dart';
import 'package:chat/services/auth_service.dart'; import 'package:chat/services/auth_service.dart';
@@ -25,7 +26,7 @@ class _UserSettingPageState extends State<UserSettingPage> {
ActionItem( ActionItem(
'账号与安全', '账号与安全',
onTap: () { onTap: () {
Get.toNamed(UserRoutes.safe); Get.toNamed(UserRoutes.settingSafe);
}, },
), ),
const Divider( const Divider(
@@ -40,7 +41,7 @@ class _UserSettingPageState extends State<UserSettingPage> {
ActionItem( ActionItem(
'新消息通知', '新消息通知',
onTap: () { onTap: () {
Get.toNamed(UserRoutes.safe); Get.toNamed(UserRoutes.settingSafe);
}, },
), ),
const Divider( const Divider(
@@ -51,7 +52,7 @@ class _UserSettingPageState extends State<UserSettingPage> {
ActionItem( ActionItem(
'隐私权限', '隐私权限',
onTap: () { onTap: () {
Get.toNamed(UserRoutes.safe); Get.toNamed(UserRoutes.settingPrivacy);
}, },
), ),
const Divider( const Divider(
@@ -62,7 +63,7 @@ class _UserSettingPageState extends State<UserSettingPage> {
ActionItem( ActionItem(
'关于ZH-CHAT', '关于ZH-CHAT',
onTap: () { onTap: () {
Get.toNamed(UserRoutes.safe); Get.toNamed(UserRoutes.settingAbout);
}, },
), ),
const Divider( const Divider(
@@ -73,7 +74,7 @@ class _UserSettingPageState extends State<UserSettingPage> {
ActionItem( ActionItem(
'帮助与反馈', '帮助与反馈',
onTap: () { onTap: () {
Get.toNamed(UserRoutes.safe); Get.toNamed(UserRoutes.settingSugguest);
}, },
), ),
const SizedBox(height: 8), const SizedBox(height: 8),
@@ -83,9 +84,7 @@ class _UserSettingPageState extends State<UserSettingPage> {
), ),
ActionItem( ActionItem(
'版本更新', '版本更新',
onTap: () { onTap: () {},
Get.toNamed(UserRoutes.safe);
},
), ),
const Divider( const Divider(
height: 0, height: 0,
@@ -100,7 +99,18 @@ class _UserSettingPageState extends State<UserSettingPage> {
'退出', '退出',
color: AppColors.primary, color: AppColors.primary,
onTap: () async { onTap: () async {
OkCancelResult result = await showOkCancelAlertDialog(
style: AdaptiveStyle.iOS,
context: context,
title: '退出登录',
message: '确认您已备份助记词并保存好了么?退出登录后助记词将无法导出。',
okLabel: '确定',
cancelLabel: '取消',
defaultType: OkCancelAlertDefaultType.cancel,
);
if (result == OkCancelResult.ok) {
AuthService.to.logout(); AuthService.to.logout();
}
}, },
), ),
const Divider( const Divider(

View File

@@ -0,0 +1,15 @@
import 'package:flutter/material.dart';
class UserSettingPrivacyPage extends StatefulWidget {
const UserSettingPrivacyPage({Key? key}) : super(key: key);
@override
_UserSettingPrivacyPageState createState() => _UserSettingPrivacyPageState();
}
class _UserSettingPrivacyPageState extends State<UserSettingPrivacyPage> {
@override
Widget build(BuildContext context) {
return Container();
}
}

View File

@@ -0,0 +1,55 @@
import 'package:chat/configs/app_colors.dart';
import 'package:chat/views/home/widgets/action_item.dart';
import 'package:flutter/material.dart';
class UserSettingSafePage extends StatefulWidget {
const UserSettingSafePage({Key? key}) : super(key: key);
@override
State<UserSettingSafePage> createState() => _UserSettingSafePageState();
}
class _UserSettingSafePageState extends State<UserSettingSafePage> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('安全设置'),
),
body: Column(
children: [
ActionItem(
'导出助记词',
onTap: () {},
),
const Divider(
height: 0,
color: AppColors.border,
),
const SizedBox(height: 8),
const Divider(
height: 0,
color: AppColors.border,
),
ActionItem(
'绑定手机',
onTap: () {},
),
const Divider(
height: 0,
indent: 16,
color: AppColors.border,
),
ActionItem(
'绑定邮箱',
onTap: () {},
),
const Divider(
height: 0,
color: AppColors.border,
),
],
),
);
}
}

View File

@@ -0,0 +1,16 @@
import 'package:flutter/material.dart';
class UserSettingSugguestPage extends StatefulWidget {
const UserSettingSugguestPage({Key? key}) : super(key: key);
@override
_UserSettingSugguestPageState createState() =>
_UserSettingSugguestPageState();
}
class _UserSettingSugguestPageState extends State<UserSettingSugguestPage> {
@override
Widget build(BuildContext context) {
return Container();
}
}