Compare commits
No commits in common. "a07d69f1ab226b5112f12bac13d37ba7bf27723e" and "73e0f8f04c923a0f72ee35bf4c0bb2d59ccd0615" have entirely different histories.
a07d69f1ab
...
73e0f8f04c
|
|
@ -1,7 +1,5 @@
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/rendering.dart';
|
import 'package:flutter/rendering.dart';
|
||||||
import 'package:persistent_bottom_nav_bar_v2/persistent_bottom_nav_bar_v2.dart';
|
|
||||||
import 'package:shared_preferences/shared_preferences.dart';
|
|
||||||
import 'package:topic/BottomNavBar.dart';
|
import 'package:topic/BottomNavBar.dart';
|
||||||
import 'package:topic/main.dart';
|
import 'package:topic/main.dart';
|
||||||
import 'package:topic/HomePage.dart';
|
import 'package:topic/HomePage.dart';
|
||||||
|
|
@ -111,19 +109,6 @@ class _PersonalInfoState extends State<PersonalInfo> {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void _loginOut() async {
|
|
||||||
SharedPreferences prefs = await SharedPreferences.getInstance();
|
|
||||||
// remove all data in share preference(user data which save to identify user or others)
|
|
||||||
prefs.clear();
|
|
||||||
// navbar router setting
|
|
||||||
// replace screen with LoginPage and without navbar
|
|
||||||
pushReplacementWithoutNavBar(
|
|
||||||
context,
|
|
||||||
MaterialPageRoute(
|
|
||||||
builder: (context) => LoginPage(),
|
|
||||||
));
|
|
||||||
}
|
|
||||||
|
|
||||||
//頁面
|
//頁面
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
|
@ -223,9 +208,7 @@ class _PersonalInfoState extends State<PersonalInfo> {
|
||||||
width: 60,
|
width: 60,
|
||||||
),
|
),
|
||||||
ElevatedButton(
|
ElevatedButton(
|
||||||
onPressed: () {
|
onPressed: () {},
|
||||||
_loginOut();
|
|
||||||
},
|
|
||||||
child: Text('登出'),
|
child: Text('登出'),
|
||||||
style: TextButton.styleFrom(
|
style: TextButton.styleFrom(
|
||||||
backgroundColor: Color(0xFFF5E3C3),
|
backgroundColor: Color(0xFFF5E3C3),
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/rendering.dart';
|
import 'package:flutter/rendering.dart';
|
||||||
import 'package:shared_preferences/shared_preferences.dart';
|
|
||||||
import 'package:topic/HomePage.dart';
|
import 'package:topic/HomePage.dart';
|
||||||
import 'package:mysql_client/mysql_client.dart';
|
import 'package:mysql_client/mysql_client.dart';
|
||||||
import 'package:topic/RegisterPage.dart';
|
import 'package:topic/RegisterPage.dart';
|
||||||
|
|
@ -23,7 +22,6 @@ class _LoginPageState extends State<LoginPage> {
|
||||||
void initState() {//初始化
|
void initState() {//初始化
|
||||||
super.initState();
|
super.initState();
|
||||||
_fetchData();//連資料庫
|
_fetchData();//連資料庫
|
||||||
_CheckPreLoginInfo();//確定有先前有無登入
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void _fetchData() async {
|
void _fetchData() async {
|
||||||
|
|
@ -42,29 +40,6 @@ class _LoginPageState extends State<LoginPage> {
|
||||||
await conn.connect();
|
await conn.connect();
|
||||||
}
|
}
|
||||||
|
|
||||||
void _CheckPreLoginInfo() async{
|
|
||||||
SharedPreferences prefs = await SharedPreferences.getInstance();
|
|
||||||
//get user data from share preference else set empty to check not login before
|
|
||||||
String loginUserEmail = prefs.getString("email") ?? "";
|
|
||||||
//replace screen to HomePage if there are previous data in share preference
|
|
||||||
if(loginUserEmail != ""){
|
|
||||||
Navigator.pushReplacement(
|
|
||||||
context,
|
|
||||||
MaterialPageRoute(
|
|
||||||
builder: (context) => HomePage(
|
|
||||||
email: loginUserEmail,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void _setLoginInfo(String email) async{
|
|
||||||
//save user email into share preference to let app can auto login next open
|
|
||||||
SharedPreferences prefs = await SharedPreferences.getInstance();
|
|
||||||
prefs.setString("email", email);
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
debugPaintSizeEnabled=false;
|
debugPaintSizeEnabled=false;
|
||||||
|
|
@ -205,7 +180,6 @@ class _LoginPageState extends State<LoginPage> {
|
||||||
_emailController.clear();
|
_emailController.clear();
|
||||||
_ageController.clear();
|
_ageController.clear();
|
||||||
// 如果找到匹配的帳號,登入成功,跳轉到主頁
|
// 如果找到匹配的帳號,登入成功,跳轉到主頁
|
||||||
_setLoginInfo(email);
|
|
||||||
Navigator.pushReplacement(
|
Navigator.pushReplacement(
|
||||||
context,
|
context,
|
||||||
MaterialPageRoute(
|
MaterialPageRoute(
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,6 @@ dependencies:
|
||||||
http: ^1.2.2
|
http: ^1.2.2
|
||||||
webview_flutter: ^4.8.0
|
webview_flutter: ^4.8.0
|
||||||
persistent_bottom_nav_bar_v2: ^5.3.0
|
persistent_bottom_nav_bar_v2: ^5.3.0
|
||||||
shared_preferences: ^2.2.3
|
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_test:
|
flutter_test:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user