Hibok
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

60 rivejä
1.6 KiB

  1. import 'package:chat/generated/i18n.dart';
  2. import 'package:chat/utils/CustomUI.dart';
  3. import 'package:flutter/cupertino.dart';
  4. import 'package:flutter/material.dart';
  5. import 'package:flutter_webview_plugin/flutter_webview_plugin.dart';
  6. class WebviewPage extends StatefulWidget {
  7. final String url;
  8. WebviewPage(this.url);
  9. @override
  10. State<StatefulWidget> createState() {
  11. return WebviewPageState();
  12. }
  13. }
  14. class WebviewPageState extends State<WebviewPage> {
  15. @override
  16. void dispose() {
  17. super.dispose();
  18. }
  19. @override
  20. void initState() {
  21. super.initState();
  22. }
  23. @override
  24. Widget build(BuildContext context) {
  25. return WebviewScaffold(
  26. // url: "https://www.sandbox.paypal.com/checkoutnow?token=3WB31189WV294590T",
  27. url: widget.url,
  28. // url: 'https://cypayos.yht521.com/api/payment/paypal_return?pay_type=paypal_web&success=true&token=5D224968VR002563M&PayerID=B9PMKYC3EB3B4',
  29. withJavascript: true,
  30. javascriptChannels: <JavascriptChannel>[
  31. ///与后端约定好的, js调用 Methods.postMessage("post")
  32. JavascriptChannel(
  33. name: "Methods",
  34. onMessageReceived: (JavascriptMessage message) {
  35. // print("参数: ${message.message}");
  36. if (message.message == 'close') {
  37. Navigator.of(context).pop();
  38. }
  39. }),
  40. ].toSet(),
  41. appBar: AppBar(
  42. title: Text(
  43. I18n.of(context).sign_in,
  44. textScaleFactor: 1.0,
  45. style: TextStyle(color: Colors.white),
  46. ),
  47. leading: CustomUI.buildCustomLeading(context),
  48. centerTitle: true,
  49. ),
  50. );
  51. }
  52. }