update to stores, VersionID 10.0

master^2^2
haroon amjad 1 week ago
parent 1d3f33ea81
commit 72656a3564

@ -90,7 +90,7 @@ class AppState {
String get getHuaweiPushToken => _huaweiPushToken; String get getHuaweiPushToken => _huaweiPushToken;
final PostParamsModel _postParamsInitConfig = PostParamsModel(channel: 31, versionID: 9.9, mobileType: Platform.isAndroid ? "android" : "ios"); final PostParamsModel _postParamsInitConfig = PostParamsModel(channel: 31, versionID: 10.0, mobileType: Platform.isAndroid ? "android" : "ios");
void setPostParamsInitConfig() { void setPostParamsInitConfig() {
isAuthenticated = false; isAuthenticated = false;

@ -4,12 +4,12 @@ class ApiConsts {
// static String baseUrl = "http://10.200.204.11"; // Local server // static String baseUrl = "http://10.200.204.11"; // Local server
// static String baseUrl = "https://erptstapp.srca.org.sa"; // SRCA server // static String baseUrl = "https://erptstapp.srca.org.sa"; // SRCA server
static String baseUrl = "https://uat.hmgwebservices.com"; // UAT ser343622ver // static String baseUrl = "https://uat.hmgwebservices.com"; // UAT ser343622ver
// static String baseUrl = "http://10.201.204.101:2024"; // static String baseUrl = "http://10.201.204.101:2024";
// static String baseUrl = "https://webservices.hmg.com"; // PreProd // static String baseUrl = "https://webservices.hmg.com"; // PreProd
// static String baseUrl = "https://hmgwebservices.com"; // Live server // static String baseUrl = "https://hmgwebservices.com"; // Live server
// static String baseUrl = "https://mohemm.hmg.com"; // New Live server static String baseUrl = "https://mohemm.hmg.com"; // New Live server
static String ssoBaseUrl = "https://sso.hmg.com"; // New Live server static String ssoBaseUrl = "https://sso.hmg.com"; // New Live server
// //
// static String baseUrl = "https://uat.hmgwebservices.com"; // UAT ser343622ver // static String baseUrl = "https://uat.hmgwebservices.com"; // UAT ser343622ver

@ -1,5 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mohem_flutter_app/classes/utils.dart'; import 'package:mohem_flutter_app/classes/utils.dart';
import 'package:mohem_flutter_app/widgets/app_bar_widget.dart';
import 'package:webview_flutter/webview_flutter.dart'; import 'package:webview_flutter/webview_flutter.dart';
// Enum for SSO types // Enum for SSO types
@ -19,6 +20,19 @@ class SsoLoginWebView extends StatefulWidget {
class _SsoLoginWebViewState extends State<SsoLoginWebView> { class _SsoLoginWebViewState extends State<SsoLoginWebView> {
late final WebViewController _controller; late final WebViewController _controller;
String? url; String? url;
bool _isTicketLoadingVisible = false;
void _showTicketLoading() {
if (widget.ssoType != SsoType.forTicket || _isTicketLoadingVisible || !mounted) return;
_isTicketLoadingVisible = true;
Utils.showLoading(context);
}
void _hideTicketLoading() {
if (widget.ssoType != SsoType.forTicket || !_isTicketLoadingVisible || !mounted) return;
_isTicketLoadingVisible = false;
Utils.hideLoading(context);
}
@override @override
void initState() { void initState() {
@ -39,15 +53,19 @@ class _SsoLoginWebViewState extends State<SsoLoginWebView> {
}, },
onPageStarted: (String url) { onPageStarted: (String url) {
print("Page started loading: $url"); print("Page started loading: $url");
_showTicketLoading();
}, },
onPageFinished: (String url) { onPageFinished: (String url) {
print("Page finished loading: $url"); print("Page finished loading: $url");
_hideTicketLoading();
}, },
onHttpError: (HttpResponseError error) { onHttpError: (HttpResponseError error) {
print("HTTP error: ${error.toString()} for URL: ${error.response!.statusCode}"); print("HTTP error: ${error.toString()} for URL: ${error.response!.statusCode}");
_hideTicketLoading();
}, },
onWebResourceError: (WebResourceError error) { onWebResourceError: (WebResourceError error) {
print("Web resource error: ${error.description} for URL: ${error.errorType}"); print("Web resource error: ${error.description} for URL: ${error.errorType}");
_hideTicketLoading();
}, },
), ),
); );
@ -57,6 +75,11 @@ class _SsoLoginWebViewState extends State<SsoLoginWebView> {
// For ENSAT, just load the URL directly (GET request) // For ENSAT, just load the URL directly (GET request)
_controller.loadRequest(Uri.parse(url!)); _controller.loadRequest(Uri.parse(url!));
} else { } else {
if (widget.ssoType == SsoType.forTicket) {
WidgetsBinding.instance.addPostFrameCallback((_) {
_showTicketLoading();
});
}
// For Paxes (Ticket, Courses), use HTML form POST // For Paxes (Ticket, Courses), use HTML form POST
_controller.loadHtmlString(_buildHtmlContent()); _controller.loadHtmlString(_buildHtmlContent());
} }
@ -64,8 +87,12 @@ class _SsoLoginWebViewState extends State<SsoLoginWebView> {
// Build HTML content for the SSO form // Build HTML content for the SSO form
String _buildHtmlContent() { String _buildHtmlContent() {
String formAction = url ?? "https://www.paxes.com/sso/hmg"; String formAction;
if (widget.ssoType == SsoType.forTicket) {
formAction = "https://www.paxes.com/sso/hmg";
} else {
formAction = url ?? "";
}
return ''' return '''
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
@ -78,8 +105,14 @@ class _SsoLoginWebViewState extends State<SsoLoginWebView> {
</html>'''; </html>''';
} }
@override
void dispose() {
_hideTicketLoading();
super.dispose();
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold(appBar: null, body: SafeArea(child: WebViewWidget(controller: _controller))); return Scaffold(appBar: AppBarWidget(context, title: "MoheM", showWorkListSettingButton: false), body: SafeArea(child: WebViewWidget(controller: _controller)));
} }
} }

Loading…
Cancel
Save