1
This commit is contained in:
@@ -1,14 +1,16 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:app/providers/user_store.dart';
|
||||
import 'package:app/request/api/user_api.dart';
|
||||
import 'package:app/router/route_paths.dart';
|
||||
import 'package:app/widgets/base/button/index.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_easyloading/flutter_easyloading.dart';
|
||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:remixicon/remixicon.dart';
|
||||
|
||||
import 'widgets/login_agree.dart';
|
||||
import 'widgets/login_input.dart';
|
||||
|
||||
class LoginPage extends StatefulWidget {
|
||||
@@ -23,8 +25,11 @@ class _LoginPageState extends State<LoginPage> {
|
||||
bool _agree = false;
|
||||
|
||||
///输入框
|
||||
final TextEditingController _telController = TextEditingController();
|
||||
final TextEditingController _codeController = TextEditingController();
|
||||
final TextEditingController _telController = TextEditingController(text: "13343214321");
|
||||
final TextEditingController _codeController = TextEditingController(text: "1111");
|
||||
|
||||
///登录中
|
||||
bool _loading = false;
|
||||
|
||||
///验证码倒计时
|
||||
var _countDown = 0;
|
||||
@@ -42,6 +47,7 @@ class _LoginPageState extends State<LoginPage> {
|
||||
EasyLoading.showToast("请填写正确的手机号");
|
||||
return;
|
||||
}
|
||||
sendCodeApi(_telController.text);
|
||||
setState(() {
|
||||
_countDown = 60;
|
||||
});
|
||||
@@ -63,7 +69,29 @@ class _LoginPageState extends State<LoginPage> {
|
||||
EasyLoading.showToast("请填写完整手机号或验证码");
|
||||
return;
|
||||
}
|
||||
context.go(RoutePaths.sHome);
|
||||
try {
|
||||
setState(() {
|
||||
_loading = true;
|
||||
});
|
||||
var loginRes = await loginApi(_telController.text, _codeController.text);
|
||||
if (mounted) {
|
||||
UserStore userStore = context.read<UserStore>();
|
||||
|
||||
//设置登录信息l
|
||||
await userStore.setToken(loginRes.accessToken);
|
||||
await userStore.asyncUserInfo();
|
||||
if (!mounted) return;
|
||||
if (userStore.userInfo?.accountType == 1) {
|
||||
context.go(RoutePaths.sHome);
|
||||
} else {
|
||||
context.go(RoutePaths.sHome);
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
setState(() {
|
||||
_loading = false;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -130,21 +158,25 @@ class _LoginPageState extends State<LoginPage> {
|
||||
Container(
|
||||
margin: EdgeInsets.only(top: 40),
|
||||
height: 50,
|
||||
child: Button(text: "登 录", onPressed: _handSubmit),
|
||||
),
|
||||
Container(
|
||||
width: double.infinity,
|
||||
margin: EdgeInsets.only(top: 20),
|
||||
alignment: Alignment.center,
|
||||
child: LoginAgree(
|
||||
value: _agree,
|
||||
onChanged: (value) {
|
||||
setState(() {
|
||||
_agree = value!;
|
||||
});
|
||||
},
|
||||
child: Button(
|
||||
text: "登 录",
|
||||
loading: _loading,
|
||||
onPressed: _handSubmit,
|
||||
),
|
||||
),
|
||||
// Container(
|
||||
// width: double.infinity,
|
||||
// margin: EdgeInsets.only(top: 20),
|
||||
// alignment: Alignment.center,
|
||||
// child: LoginAgree(
|
||||
// value: _agree,
|
||||
// onChanged: (value) {
|
||||
// setState(() {
|
||||
// _agree = value!;
|
||||
// });
|
||||
// },
|
||||
// ),
|
||||
// ),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
import 'package:app/providers/user_store.dart';
|
||||
import 'package:app/router/route_paths.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:go_router/go_router.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
class SplashPage extends StatefulWidget {
|
||||
const SplashPage({super.key});
|
||||
@@ -19,7 +21,24 @@ class _SplashPageState extends State<SplashPage> {
|
||||
///权限效验初始化
|
||||
void initPermission() async {
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) async {
|
||||
context.go(RoutePaths.login);
|
||||
String token = await UserStore.getToken();
|
||||
if (mounted) {
|
||||
// 未登录
|
||||
if (token.isEmpty) {
|
||||
context.go(RoutePaths.login);
|
||||
} else {
|
||||
UserStore userStore = context.read<UserStore>();
|
||||
userStore.setUserInfo();
|
||||
//去学生主页
|
||||
if (userStore.userInfo?.accountType == 1) {
|
||||
context.go(RoutePaths.sHome);
|
||||
} else {
|
||||
context.go(RoutePaths.tHome);
|
||||
}
|
||||
print("执行用户数据同步了");
|
||||
userStore.asyncUserInfo();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user