From 978f27c7008de978bfa0207ac3a817d0dbef3c8b Mon Sep 17 00:00:00 2001 From: bggRGjQaUbCoE Date: Tue, 29 Apr 2025 22:36:11 +0800 Subject: [PATCH] fix: validate Signed-off-by: bggRGjQaUbCoE --- lib/http/validate.dart | 11 ++++++++++- lib/pages/live/controller.dart | 2 +- lib/utils/request_utils.dart | 8 ++++++-- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/lib/http/validate.dart b/lib/http/validate.dart index 21aa7195..54fc8fa8 100644 --- a/lib/http/validate.dart +++ b/lib/http/validate.dart @@ -1,12 +1,18 @@ import 'package:PiliPlus/http/api.dart'; import 'package:PiliPlus/http/init.dart'; +import 'package:PiliPlus/utils/storage.dart'; import 'package:dio/dio.dart'; class ValidateHttp { static Future gaiaVgateRegister(String vVoucher) async { final res = await Request().post( Api.gaiaVgateRegister, - data: {'v_voucher': vVoucher}, + queryParameters: { + if (Accounts.main.isLogin) 'csrf': Accounts.main.csrf, + }, + data: { + 'v_voucher': vVoucher, + }, options: Options( contentType: Headers.formUrlEncodedContentType, ), @@ -26,6 +32,9 @@ class ValidateHttp { }) async { final res = await Request().post( Api.gaiaVgateValidate, + queryParameters: { + if (Accounts.main.isLogin) 'csrf': Accounts.main.csrf, + }, data: { 'challenge': challenge, 'seccode': seccode, diff --git a/lib/pages/live/controller.dart b/lib/pages/live/controller.dart index 7b0a3651..234dc5d3 100644 --- a/lib/pages/live/controller.dart +++ b/lib/pages/live/controller.dart @@ -28,6 +28,7 @@ class LiveController @override bool handleError(String? errMsg) { if (errMsg?.startsWith('voucher') == true) { + loadingState.value = LoadingState.error(' -352 '); RequestUtils.validate( errMsg!, (gaiaVtoken) { @@ -35,7 +36,6 @@ class LiveController onReload(); }, ); - loadingState.value = LoadingState.error(' -352 '); return true; } return false; diff --git a/lib/utils/request_utils.dart b/lib/utils/request_utils.dart index 234d496a..f0965abd 100644 --- a/lib/utils/request_utils.dart +++ b/lib/utils/request_utils.dart @@ -491,8 +491,12 @@ class RequestUtils { token: captchaData.token, validate: captchaData.validate, ); - if (res['status']) { - onSuccess.call(captchaData.token!); + if (res['status'] && res['data']?['is_valid'] == 1) { + // onSuccess(captchaData.token!); + final griskId = res['data']?['grisk_id']; + if (griskId != null) { + onSuccess(griskId); + } } else { SmartDialog.showToast(res['msg']); }