This commit is contained in:
2022-11-01 16:57:58 +08:00
parent ec22583ebb
commit 543dd6adb4
4 changed files with 43 additions and 7 deletions

View File

@@ -7,6 +7,7 @@ class UserInfoModel {
required this.privacy, required this.privacy,
required this.nickname, required this.nickname,
required this.avatar, required this.avatar,
this.google2fa,
}); });
String userId; String userId;
@@ -16,6 +17,7 @@ class UserInfoModel {
bool? privacy; bool? privacy;
String? nickname; String? nickname;
String? avatar; String? avatar;
bool? google2fa;
factory UserInfoModel.fromJson(Map<String, dynamic> json) => UserInfoModel( factory UserInfoModel.fromJson(Map<String, dynamic> json) => UserInfoModel(
userId: json['user_id'].toString(), userId: json['user_id'].toString(),
@@ -25,6 +27,7 @@ class UserInfoModel {
privacy: json['privacy'], privacy: json['privacy'],
nickname: json['nickname'], nickname: json['nickname'],
avatar: json['avatar'], avatar: json['avatar'],
google2fa: json['google2fa'],
); );
factory UserInfoModel.empty() => UserInfoModel( factory UserInfoModel.empty() => UserInfoModel(
@@ -35,15 +38,17 @@ class UserInfoModel {
privacy: true, privacy: true,
nickname: '', nickname: '',
avatar: '', avatar: '',
google2fa: false,
); );
Map<String, dynamic> toJson() => { Map<String, dynamic> toJson() => {
"userId": userId, 'userId': userId,
"username": username, 'username': username,
"mobile": mobile, 'mobile': mobile,
"email": email, 'email': email,
"privacy": privacy, 'privacy': privacy,
"nickname": nickname, 'nickname': nickname,
"avatar": avatar, 'avatar': avatar,
'google2fa': google2fa,
}; };
} }

View File

@@ -11,6 +11,7 @@ import 'package:chat/views/user/setting/index_page.dart';
import 'package:chat/views/user/setting/message/index_page.dart'; import 'package:chat/views/user/setting/message/index_page.dart';
import 'package:chat/views/user/setting/privacy/index_page.dart'; import 'package:chat/views/user/setting/privacy/index_page.dart';
import 'package:chat/views/user/setting/safe/email_page.dart'; import 'package:chat/views/user/setting/safe/email_page.dart';
import 'package:chat/views/user/setting/safe/google_page.dart';
import 'package:chat/views/user/setting/safe/index_page.dart'; import 'package:chat/views/user/setting/safe/index_page.dart';
import 'package:chat/views/user/setting/safe/mobile_page.dart'; import 'package:chat/views/user/setting/safe/mobile_page.dart';
import 'package:chat/views/user/setting/sugguest/index_page.dart'; import 'package:chat/views/user/setting/sugguest/index_page.dart';
@@ -28,6 +29,7 @@ abstract class UserRoutes {
static const String settingPrivacy = '/user/setting/privacy'; static const String settingPrivacy = '/user/setting/privacy';
static const String settingSafe = '/user/setting/safe'; static const String settingSafe = '/user/setting/safe';
static const String settingSafeEmail = '/user/setting/safe/email'; static const String settingSafeEmail = '/user/setting/safe/email';
static const String settingSafeGoogle = '/user/setting/safe/google';
static const String settingSafeMobile = '/user/setting/safe/mobile'; static const String settingSafeMobile = '/user/setting/safe/mobile';
static const String settingSugguest = '/user/setting/sugguest'; static const String settingSugguest = '/user/setting/sugguest';
@@ -79,6 +81,10 @@ abstract class UserRoutes {
name: '/email', name: '/email',
page: () => const UserSettingSafeEmailPage(), page: () => const UserSettingSafeEmailPage(),
), ),
GetPage(
name: '/google',
page: () => const UserSettingSafeGooglePage(),
),
GetPage( GetPage(
name: '/mobile', name: '/mobile',
page: () => const UserSettingSafeMobilePage(), page: () => const UserSettingSafeMobilePage(),

View File

@@ -0,0 +1,15 @@
import 'package:flutter/material.dart';
class UserSettingSafeGooglePage extends StatelessWidget {
const UserSettingSafeGooglePage({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('UserSettingSafeGooglePage'),
),
body: Container(),
);
}
}

View File

@@ -47,6 +47,16 @@ class _UserSettingSafePageState extends State<UserSettingSafePage> {
Get.toNamed(UserRoutes.settingSafeEmail); Get.toNamed(UserRoutes.settingSafeEmail);
}, },
), ),
const SizedBox(height: 8),
ActionItem(
'开启两部验证',
extend: (_.userInfo.value.google2fa ?? false) ? '已开启' : '未开启',
isFirst: true,
isLast: true,
onTap: () {
Get.toNamed(UserRoutes.settingSafeGoogle);
},
),
], ],
); );
}), }),