tickt booking implementation
parent
cd36d61640
commit
f61817937b
@ -0,0 +1,61 @@
|
|||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:webview_flutter/webview_flutter.dart';
|
||||||
|
|
||||||
|
class SsoLoginWebView extends StatefulWidget {
|
||||||
|
final String url;
|
||||||
|
final String jwtToken;
|
||||||
|
|
||||||
|
SsoLoginWebView({required this.url, required this.jwtToken});
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<SsoLoginWebView> createState() => _SsoLoginWebViewState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _SsoLoginWebViewState extends State<SsoLoginWebView> {
|
||||||
|
late final WebViewController _controller;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
// TODO: implement initState
|
||||||
|
super.initState();
|
||||||
|
_controller =
|
||||||
|
WebViewController()
|
||||||
|
..setJavaScriptMode(JavaScriptMode.unrestricted)
|
||||||
|
..setNavigationDelegate(
|
||||||
|
NavigationDelegate(
|
||||||
|
onProgress: (int progress) {
|
||||||
|
print("WebView is loading (progress: $progress%)");
|
||||||
|
},
|
||||||
|
onPageStarted: (String url) {
|
||||||
|
print("Page started loading: $url");
|
||||||
|
},
|
||||||
|
onPageFinished: (String url) {
|
||||||
|
print("Page finished loading: $url");
|
||||||
|
},
|
||||||
|
onHttpError: (HttpResponseError error) {
|
||||||
|
print("HTTP error: ${error.toString()} for URL: ${error.response!.statusCode}");
|
||||||
|
},
|
||||||
|
onWebResourceError: (WebResourceError error) {
|
||||||
|
print("Web resource error: ${error.description} for URL: ${error.errorType}");
|
||||||
|
},
|
||||||
|
),
|
||||||
|
)
|
||||||
|
..loadHtmlString('''
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<body onload="document.forms[0].submit()">
|
||||||
|
<form method="POST" action="https://ek.techmaster.in/SSO/HMG">
|
||||||
|
<input type="hidden" name="JWTToken" value="${widget.jwtToken}" />
|
||||||
|
</form>
|
||||||
|
<h1>Redirecting...</h1>
|
||||||
|
</body>
|
||||||
|
</html>''');
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Scaffold(appBar: AppBar(title: Text('Logging in...')), body: WebViewWidget(controller: _controller));
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue