fix:默认账号密码登录页面,如果手机一键登录可用则自动跳转到一键登录页面

This commit is contained in:
liuyanfeng 2025-07-25 15:39:10 +08:00
parent 2568afe737
commit a78078e484
4 changed files with 79 additions and 74 deletions

View File

@ -104,7 +104,7 @@ class StarLockLoginLogic extends BaseGetXController {
}
Future<void> oneClickLoginAction(BuildContext context) async {
await JverifyOneClickLoginManage().loginAuth(context,(e) async {
await JverifyOneClickLoginManage().loginAuth(context, (e) async {
final int? code = e.code;
final String? content = e.message;
// final String operator = map['operator'];
@ -199,10 +199,15 @@ class StarLockLoginLogic extends BaseGetXController {
if (entity.data!.abbreviation?.toLowerCase() == 'cn' &&
currentLanguage == 'zh_CN') {
//
await JverifyOneClickLoginManage();
state.isCheckVerifyEnable.value =
await JverifyOneClickLoginManage().checkVerifyEnable();
AppLog.log('一键登录初始化认证结果:${state.isCheckVerifyEnable.value}');
JverifyOneClickLoginManage.instance.initSDK().then((value) async {
final bool isCheckVerifyEnable =
await JverifyOneClickLoginManage.instance.checkVerifyEnable();
state.isCheckVerifyEnable.value = isCheckVerifyEnable;
AppLog.log('一键登录初始化认证结果:${state.isCheckVerifyEnable.value}');
if (isCheckVerifyEnable) {
oneClickLoginAction(Get.context!);
}
});
}
});
}

View File

@ -25,12 +25,18 @@ class StarLockLoginXHJPage extends StatefulWidget {
}
class _StarLockLoginPageState extends State<StarLockLoginXHJPage> {
final StarLockLoginLogic logic = Get.put(StarLockLoginLogic());
final StarLockLoginState state = Get.find<StarLockLoginLogic>().state;
late StarLockLoginLogic logic ;
late StarLockLoginState state;
@override
void initState() {
super.initState();
if (Get.isRegistered<StarLockLoginLogic>()) {
logic = Get.find<StarLockLoginLogic>();
} else {
logic = Get.put(StarLockLoginLogic());
}
state = logic.state;
WidgetsBinding.instance.addPostFrameCallback((_) async {
AppFirstEnterHandle().getAppFirstEnter(isAgreePrivacy);
});

View File

@ -115,10 +115,10 @@ Future<void> privacySDKInitialization() async {
if (entity.data!.abbreviation?.toLowerCase() == 'cn' &&
currentLanguage == 'zh_CN') {
//
final StarLockLoginLogic loginLogic = Get.put(StarLockLoginLogic());
await JverifyOneClickLoginManage();
loginLogic.state.isCheckVerifyEnable.value =
await JverifyOneClickLoginManage().checkVerifyEnable();
// final StarLockLoginLogic loginLogic = Get.put(StarLockLoginLogic());
// await JverifyOneClickLoginManage();
// loginLogic.state.isCheckVerifyEnable.value =
// await JverifyOneClickLoginManage().checkVerifyEnable();
eventBus.fire(AgreePrivacyAgreement());
}
}

View File

@ -11,20 +11,19 @@ import '../common/XSConstantMacro/XSConstantMacro.dart';
import '../flavors.dart';
class JverifyOneClickLoginManage {
factory JverifyOneClickLoginManage() => shareManager()!;
factory JverifyOneClickLoginManage() => _getInstance()!;
JverifyOneClickLoginManage._init() {
_initSDK();
JverifyOneClickLoginManage._init() {}
static JverifyOneClickLoginManage get instance => _getInstance();
static JverifyOneClickLoginManage? _instance;
static JverifyOneClickLoginManage _getInstance() {
_instance ??= JverifyOneClickLoginManage._init();
return _instance!;
}
static JverifyOneClickLoginManage? _manager;
static JverifyOneClickLoginManage? shareManager() {
_manager ??= JverifyOneClickLoginManage._init();
return _manager;
}
JverifyOneClickLoginManage? get manager => shareManager();
JverifyOneClickLoginManage? get manager => _getInstance();
Jverify jverify = Jverify();
/// key
@ -39,15 +38,15 @@ class JverifyOneClickLoginManage {
///
String f_opr_key = 'operator';
Future<void> _initSDK() async {
Future<void> initSDK() async {
try {
await initPlatformState();
isInitSuccess();
// isInitSuccess();
getToken();
// getToken();
preLogin();
// preLogin();
} catch (e) {
AppLog.log('SDK 初始化错误: $e');
}
@ -80,65 +79,60 @@ class JverifyOneClickLoginManage {
}
/// sdk
void isInitSuccess() {
jverify.isInitSuccess().then((map) {
final bool result = map[f_result_key];
AppLog.log('sdk 初始化结果:$map');
if (result) {
AppLog.log('sdk 初始化成功');
} else {
AppLog.log('sdk 初始化失败');
}
});
Future<bool> isInitSuccess() async {
final Map<dynamic, dynamic> map = await jverify.isInitSuccess();
final bool result = map[f_result_key];
AppLog.log('sdk 初始化结果:$map');
if (result) {
AppLog.log('sdk 初始化成功');
} else {
AppLog.log('sdk 初始化失败');
}
return Future.value(result);
}
///
Future<bool> checkVerifyEnable() async {
final isInitSuccess = await this.isInitSuccess();
if (!isInitSuccess) {
return false;
}
final Map map = await jverify.checkVerifyEnable();
AppLog.log('一家登录 sdk 初始化结果:$map');
print('一家登录 sdk 初始化结果:$map');
final bool result = map[f_result_key];
return result;
// state.jverify.checkVerifyEnable().then((map) {
// final bool result = map[f_result_key];
// if (result) {
// AppLog.log('当前网络环境【支持认证】!');
// } else {
// AppLog.log('当前网络环境【不支持认证】!');
// }
// return result;
// });
}
void getToken() {
jverify.checkVerifyEnable().then((map) {
final bool result = map[f_result_key];
if (result) {
jverify.getToken().then((map) {
final int code = map[f_code_key];
final String token = map[f_msg_key];
final String operator = map[f_opr_key];
AppLog.log('getToken code:$code token:$token operator:$operator');
});
} else {
AppLog.log('[2016],msg = 当前网络环境不支持认证');
}
});
}
// void getToken() {
// jverify.checkVerifyEnable().then((map) {
// final bool result = map[f_result_key];
// if (result) {
// jverify.getToken().then((map) {
// final int code = map[f_code_key];
// final String token = map[f_msg_key];
// final String operator = map[f_opr_key];
// AppLog.log('getToken code:$code token:$token operator:$operator');
// });
// } else {
// AppLog.log('[2016],msg = 当前网络环境不支持认证');
// }
// });
// }
///
void preLogin() {
jverify.checkVerifyEnable().then((map) {
final bool result = map[f_result_key];
if (result) {
jverify.preLogin().then((map) {
AppLog.log('预取号接口回调:${map.toString()}');
final int code = map[f_code_key];
final String message = map[f_msg_key];
});
} else {
AppLog.log('[2016],msg = 当前网络环境不支持认证');
}
});
Future<bool> preLogin() async {
final networkSupportVerify = await this.checkVerifyEnable();
if (!networkSupportVerify) {
return false;
}
final Map map = await jverify.preLogin();
final int code = map[f_code_key];
final String message = map[f_msg_key];
if (code > 0) {
return true;
}
AppLog.log('[2016],msg = 当前网络环境不支持认证');
return false;
}
/// SDK