diff --git a/lib/modules/common/webview_page.dart b/lib/modules/common/webview_page.dart new file mode 100644 index 000000000..2115b842a --- /dev/null +++ b/lib/modules/common/webview_page.dart @@ -0,0 +1,30 @@ +import 'package:flutter/material.dart'; +import 'package:webview_flutter/webview_flutter.dart'; +import 'package:get/get.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; + +class WebViewPage extends StatelessWidget { + final String url; + final String title; + + const WebViewPage({Key? key, required this.url, required this.title}) + : super(key: key); + + @override + Widget build(BuildContext context) { + final controller = WebViewController() + ..setJavaScriptMode(JavaScriptMode.unrestricted) + ..loadRequest(Uri.parse(url)); + + return Scaffold( + appBar: AppBar( + title: Text(title), + leading: IconButton( + icon: const Icon(Icons.arrow_back), + onPressed: () => Get.back(), + ), + ), + body: WebViewWidget(controller: controller), + ); + } +} \ No newline at end of file diff --git a/lib/modules/login/views/login_view.dart b/lib/modules/login/views/login_view.dart index 5c37b6ad0..0a4146393 100644 --- a/lib/modules/login/views/login_view.dart +++ b/lib/modules/login/views/login_view.dart @@ -3,6 +3,7 @@ import 'package:get/get.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import '../controllers/login_controller.dart'; +import '../../common/webview_page.dart'; class LoginView extends GetView { const LoginView({Key? key}) : super(key: key); @@ -527,7 +528,17 @@ class LoginView extends GetView { mainAxisAlignment: MainAxisAlignment.center, children: [ GestureDetector( - onTap: () {}, + onTap: () { + String url = 'https://www.deepsoud.com/yhxy.html'; + //print('----------${Get.locale?.toString()}'); + if (Get.locale?.toString() != 'zh_Hans_CN') { + url = 'https://www.deepsoud.com/yhxy_en.html'; + } + Get.to(() => WebViewPage( + url: url, + title: 'userAgreement'.tr, + )); + }, child: Text( 'userAgreement'.tr, // 《用户协议》 style: TextStyle( @@ -544,7 +555,16 @@ class LoginView extends GetView { ), ), GestureDetector( - onTap: () {}, + onTap: () { + String url = 'https://www.deepsoud.com/ysxy.html'; + if (Get.locale?.toString() != 'zh_Hans_CN') { + url = 'https://www.deepsoud.com/ysxy_en.html'; + } + Get.to(() => WebViewPage( + url: url, + title: 'privacyPolicy'.tr, + )); + }, child: Text( 'privacyPolicy'.tr, // 《隐私政策》 style: TextStyle( diff --git a/pubspec.yaml b/pubspec.yaml index d85359d4e..4b3f58883 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -30,6 +30,7 @@ dependencies: logger: ^2.0.2+1 flutter_blue_plus: ^1.31.16 just_audio: ^0.9.36 + webview_flutter: ^4.10.0 window_size: