mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2025-06-29 04:49:51 +00:00
add recaptcha
This commit is contained in:
parent
d51b096fdc
commit
e86e41d4b6
4 changed files with 66 additions and 2 deletions
23
assets/webpages/captcha.html
Normal file
23
assets/webpages/captcha.html
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>reCAPTCHA</title>
|
||||||
|
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div style='height: 60px;'></div>
|
||||||
|
<form action="?" method="POST">
|
||||||
|
<div class="g-recaptcha"
|
||||||
|
data-sitekey="6LfkEn4eAAAAAGa0mv9Uo-Yo7kZGT-8w4jwEs-0x"
|
||||||
|
data-callback="captchaCallback"></div>
|
||||||
|
</form>
|
||||||
|
<script>
|
||||||
|
function captchaCallback(response){
|
||||||
|
//console.log(response);
|
||||||
|
if(typeof Captcha!=="undefined"){
|
||||||
|
Captcha.postMessage(response);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -1,5 +1,6 @@
|
||||||
import 'package:cake_wallet/src/widgets/base_text_form_field.dart';
|
import 'package:cake_wallet/src/widgets/base_text_form_field.dart';
|
||||||
import 'package:cake_wallet/src/widgets/primary_button.dart';
|
import 'package:cake_wallet/src/widgets/primary_button.dart';
|
||||||
|
import 'package:cake_wallet/view_model/loan/captcha_webview.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
class LoanLoginSection extends StatelessWidget {
|
class LoanLoginSection extends StatelessWidget {
|
||||||
|
@ -74,6 +75,7 @@ class LoanLoginSection extends StatelessWidget {
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
SizedBox(height: 100, child: CaptchaWebview()),
|
||||||
SizedBox(height: 100),
|
SizedBox(height: 100),
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
|
|
41
lib/view_model/loan/captcha_webview.dart
Normal file
41
lib/view_model/loan/captcha_webview.dart
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter/services.dart';
|
||||||
|
import 'package:webview_flutter/webview_flutter.dart';
|
||||||
|
|
||||||
|
class CaptchaWebview extends StatefulWidget {
|
||||||
|
const CaptchaWebview({Key key});
|
||||||
|
|
||||||
|
@override
|
||||||
|
_CaptchaWebviewState createState() => _CaptchaWebviewState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _CaptchaWebviewState extends State<CaptchaWebview> {
|
||||||
|
WebViewController _controller;
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return WebView(
|
||||||
|
javascriptMode: JavascriptMode.unrestricted,
|
||||||
|
onWebViewCreated: (controller) {
|
||||||
|
_controller = controller;
|
||||||
|
_loadHtmlFromAssets();
|
||||||
|
},
|
||||||
|
javascriptChannels: Set.from([
|
||||||
|
JavascriptChannel(
|
||||||
|
name: 'Captcha',
|
||||||
|
onMessageReceived: (JavascriptMessage message) {
|
||||||
|
print(message.message);
|
||||||
|
})
|
||||||
|
].toList()));
|
||||||
|
}
|
||||||
|
|
||||||
|
Future<void> _loadHtmlFromAssets() async {
|
||||||
|
final fileText =
|
||||||
|
await rootBundle.loadString('assets/webpages/captcha.html');
|
||||||
|
await _controller.loadUrl(Uri.dataFromString(fileText,
|
||||||
|
mimeType: 'text/html', encoding: Encoding.getByName('utf-8'))
|
||||||
|
.toString());
|
||||||
|
}
|
||||||
|
}
|
|
@ -26,8 +26,6 @@ abstract class LoanAccountViewModelBase with Store {
|
||||||
List<LoanItem> items;
|
List<LoanItem> items;
|
||||||
|
|
||||||
Future<void> _fetchLoanItems() async {
|
Future<void> _fetchLoanItems() async {
|
||||||
await Future<void>.delayed(Duration(seconds: 5));
|
|
||||||
isLoggedIn = true;
|
|
||||||
items = [
|
items = [
|
||||||
LoanItem(id: '2133432', amount: 20000, status: 'Awaiting deposit'),
|
LoanItem(id: '2133432', amount: 20000, status: 'Awaiting deposit'),
|
||||||
LoanItem(id: '2133432', amount: 20000, status: 'Awaiting deposit'),
|
LoanItem(id: '2133432', amount: 20000, status: 'Awaiting deposit'),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue