提交 14ed110b authored 作者: MrQi's avatar MrQi

README.md修改

上级 f8118b91
......@@ -56,6 +56,80 @@ Future<void> setTitle(String title)
Future<bool> setAppBarTextStyle(TextStyle? style)
```
### 使用
#### 添加WebView
使用CustomWebView组件来显示WebView。
```dart
import 'package:flutter/material.dart';
import '../clx_webview_flutter.dart';
abstract class CaptchaUtil {
static Future<bool>? generateCaptcha(
{required BuildContext context,
required String uri,
required Future<bool> Function(JavaScriptMessage message)
onCaptchaGenerated}) async {
return await Navigator.push(context, PageRouteBuilder(
pageBuilder: (context, animation, secondaryAnimation) {
final CustomController customController = CustomController.loadRequest(
requestedUrl: Uri.parse(uri), title: '验证码');
customController.setJavaScriptChannels(JavaScriptChannel(
name: 'H5CallFlutterInterface',
callback: (message) async {
if (!context.mounted) {
return CLXResult.fail(Exception('context not mounted'));
}
final result = await onCaptchaGenerated(message);
if (result) {
Navigator.pop(context, true);
return CLXResult.fail(Exception('captcha failed'));
} else {
customController.controller.reload();
return CLXResult.succ(result);
}
},
));
return CustomWebView(customController: customController);
},
));
}
}
```
外部控制方法监听
```dart
import 'dart:async';
import 'dart:convert';
import 'package:coal_trade/api/base_model.dart';
import 'package:coal_trade/app/environment.dart';
import 'package:get/get.dart';
import 'package:clx_webview_flutter/clx_webview_flutter.dart';
abstract class VerificationCodeManager {
/// 发送登录验证码
static Future<bool> sendLoginCode(String phoneNo) async {
final result = await CaptchaUtil.generateCaptcha(
context: Get.context!,
uri: Config.slideVerifyUrlNew,
onCaptchaGenerated: (message) async {
final data = json.decode(message.message);
final result = await fetchAsync(
Method.post,
url: '/trade-operation/app/public/login/captcha/send',
params: {
'mobile': phoneNo,
'sceneId': data['sceneId'],
'captchaVerifyParam': data['captchaVerifyParam'],
},
);
return Future.value(result.isSuccess);
},
);
return result == true;
}
}
```
#### 获取标题
```dart
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论