登录调通
This commit is contained in:
@@ -18,24 +18,21 @@ class HomeController extends GetxController with BaseControllerMixin {
|
||||
FlutterNativeSplash.remove();
|
||||
}
|
||||
|
||||
//登录状态 未登录跳转登录页
|
||||
bool isLoggedIn = false;
|
||||
|
||||
// 登录渠道 加氢站b_login 司机端c_login
|
||||
String loginChannel = "c_login";
|
||||
String loginChannel_b = "b_login";
|
||||
|
||||
// 根据登录状态和登录渠道返回不同的首页
|
||||
Widget getHomePage(bool isLoggedIn, String loginChannel) {
|
||||
if (!isLoggedIn) {
|
||||
return LoginPage(); // 未登录,跳转到登录页面
|
||||
} else {
|
||||
// 已登录,根据渠道判断跳转到不同的页面
|
||||
if (loginChannel == "b_login") {
|
||||
return BaseWidgetsPage(); // 渠道A进入 BaseWidgetsPage
|
||||
Widget getHomePage() {
|
||||
//登录状态跳转
|
||||
if (StorageService.to.isLoggedIn) {
|
||||
// 如果已登录,再判断是哪个渠道
|
||||
if (StorageService.to.loginChannel == LoginChannel.station) {
|
||||
return B_BaseWidgetsPage(); // 站点首页
|
||||
} else if (StorageService.to.loginChannel == LoginChannel.driver) {
|
||||
return BaseWidgetsPage(); // 司机首页
|
||||
} else {
|
||||
return StorageService.to.isLoggedIn ? B_BaseWidgetsPage() : LoginPage(); // 渠道B进入 B_BaseWidgetsPage
|
||||
return LoginPage();
|
||||
}
|
||||
} else {
|
||||
// 未登录,直接去登录页
|
||||
return LoginPage();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ class HomePage extends GetView<HomeController> {
|
||||
init: HomeController(),
|
||||
id: 'home',
|
||||
builder: (_) {
|
||||
return controller.getHomePage(false, controller.loginChannel);
|
||||
return controller.getHomePage();
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:getx_scaffold/getx_scaffold.dart';
|
||||
|
||||
import '../../storage_service.dart';
|
||||
|
||||
class LoginController extends GetxController with BaseControllerMixin {
|
||||
@override
|
||||
String get builderId => 'login';
|
||||
@@ -14,6 +16,7 @@ class LoginController extends GetxController with BaseControllerMixin {
|
||||
|
||||
@override
|
||||
void onInit() {
|
||||
|
||||
super.onInit();
|
||||
}
|
||||
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:getx_scaffold/getx_scaffold.dart';
|
||||
import 'package:ln_jq_app/common/login_util.dart';
|
||||
@@ -255,19 +257,31 @@ class _LoginPageState extends State<LoginPage> with SingleTickerProviderStateMix
|
||||
return;
|
||||
}
|
||||
|
||||
final responseMap = responseData.data as Map<String, dynamic>;
|
||||
try {
|
||||
var result = BaseModel.fromJson(responseData.data);
|
||||
|
||||
//保存用户信息
|
||||
String token = responseMap['token'] ?? '';
|
||||
//hydrogenId
|
||||
String userId = responseMap['userId'] ?? '';
|
||||
await StorageService.to.saveLoginInfo(token: token, userId: userId);
|
||||
//保存用户信息
|
||||
String token = result.data['token'] ?? '';
|
||||
//hydrogenId
|
||||
String userId = result.data['userId'] ?? '';
|
||||
|
||||
dismissLoading();
|
||||
showToast('登录成功,欢迎您');
|
||||
HttpService.to.setAuthorization(token);
|
||||
// 跳转到主页,并清除所有历史页面
|
||||
Get.offAll(() => B_BaseWidgetsPage());
|
||||
await StorageService.to.saveLoginInfo(
|
||||
token: token,
|
||||
userId: userId,
|
||||
channel: "station",
|
||||
);
|
||||
|
||||
dismissLoading();
|
||||
showToast('登录成功,欢迎您');
|
||||
HttpService.to.setAuthorization(token);
|
||||
|
||||
// 跳转到主页,并清除所有历史页面
|
||||
Get.offAll(() => B_BaseWidgetsPage());
|
||||
} catch (e) {
|
||||
// 如果解析 JSON 失败
|
||||
dismissLoading();
|
||||
showToast('登录失败:返回数据解析失败${e.toString()}');
|
||||
}
|
||||
} catch (e) {
|
||||
dismissLoading();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user