隐私协议和服务政策
This commit is contained in:
parent
135e2e88e8
commit
4ff88ab8ba
|
|
@ -5,6 +5,7 @@
|
||||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MICROPHONE" />
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MICROPHONE" />
|
||||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" />
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" />
|
||||||
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
|
|
||||||
<application
|
<application
|
||||||
android:label="智汇享"
|
android:label="智汇享"
|
||||||
|
|
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 440 B |
Binary file not shown.
|
After Width: | Height: | Size: 611 B |
Binary file not shown.
|
After Width: | Height: | Size: 271 B |
|
|
@ -0,0 +1,10 @@
|
||||||
|
import 'package:get/get.dart';
|
||||||
|
|
||||||
|
import 'agreement_read_logic.dart';
|
||||||
|
|
||||||
|
class AgreementReadBinding extends Bindings {
|
||||||
|
@override
|
||||||
|
void dependencies() {
|
||||||
|
Get.lazyPut(() => AgreementReadLogic());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
import 'package:get/get.dart';
|
||||||
|
|
||||||
|
import 'agreement_read_state.dart';
|
||||||
|
|
||||||
|
class AgreementReadLogic extends GetxController {
|
||||||
|
final AgreementReadState state = AgreementReadState();
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
|
||||||
|
class AgreementReadState {
|
||||||
|
AgreementReadState() {
|
||||||
|
///Initialize variables
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,96 @@
|
||||||
|
import 'dart:io';
|
||||||
|
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter/services.dart';
|
||||||
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
|
import 'package:get/get.dart';
|
||||||
|
import 'package:webview_flutter/webview_flutter.dart';
|
||||||
|
|
||||||
|
import 'agreement_read_logic.dart';
|
||||||
|
import 'agreement_read_state.dart';
|
||||||
|
|
||||||
|
class AgreementReadPage extends StatefulWidget {
|
||||||
|
const AgreementReadPage({super.key});
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<AgreementReadPage> createState() => AgreementReadPageState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class AgreementReadPageState extends State<AgreementReadPage> {
|
||||||
|
|
||||||
|
final AgreementReadLogic logic = Get.put(AgreementReadLogic());
|
||||||
|
final AgreementReadState state = Get.find<AgreementReadLogic>().state;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
super.initState();
|
||||||
|
if (Platform.isAndroid) WebView.platform = AndroidWebView();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Scaffold(
|
||||||
|
appBar: AppBar(
|
||||||
|
surfaceTintColor: Colors.white,
|
||||||
|
elevation: 0,
|
||||||
|
toolbarHeight: 0,
|
||||||
|
systemOverlayStyle: const SystemUiOverlayStyle(
|
||||||
|
statusBarColor: Colors.transparent,
|
||||||
|
systemNavigationBarColor: Color(0xFF000000),
|
||||||
|
systemNavigationBarIconBrightness: Brightness.light,
|
||||||
|
statusBarIconBrightness: Brightness.dark,
|
||||||
|
statusBarBrightness: Brightness.light,
|
||||||
|
),
|
||||||
|
backgroundColor: Colors.white,
|
||||||
|
),
|
||||||
|
body: Column(
|
||||||
|
children: [
|
||||||
|
/// 顶部布局
|
||||||
|
Container(
|
||||||
|
width: double.infinity,
|
||||||
|
height: 44.h,
|
||||||
|
alignment: Alignment.center,
|
||||||
|
color: Colors.white,
|
||||||
|
padding: const EdgeInsets.only(left: 16, right: 16),
|
||||||
|
child: Row(
|
||||||
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
children: [
|
||||||
|
GestureDetector(
|
||||||
|
child: Container(
|
||||||
|
width: 50.w,
|
||||||
|
height: 44.h,
|
||||||
|
alignment: Alignment.centerLeft,
|
||||||
|
child: Image.asset(
|
||||||
|
'assets/images/agreement_back.png',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
onTap: (){
|
||||||
|
Get.back();
|
||||||
|
},
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
"隐私政策",
|
||||||
|
style: TextStyle(
|
||||||
|
fontSize: 16.sp,
|
||||||
|
fontWeight: FontWeight.w500
|
||||||
|
),
|
||||||
|
),
|
||||||
|
SizedBox(
|
||||||
|
width: 50.w,
|
||||||
|
height: 44.h,
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
|
||||||
|
/// 中间布局
|
||||||
|
const Expanded(
|
||||||
|
child: WebView(
|
||||||
|
initialUrl: 'https://static.23544.com/WGShare-PrivacyPolicy.html',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -4,6 +4,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:wgshare/utils/utils.dart';
|
import 'package:wgshare/utils/utils.dart';
|
||||||
|
|
||||||
|
import '../../routes/app_routes.dart';
|
||||||
import '../../utils/color_util.dart';
|
import '../../utils/color_util.dart';
|
||||||
import 'login_logic.dart';
|
import 'login_logic.dart';
|
||||||
|
|
||||||
|
|
@ -318,12 +319,17 @@ class _LoginPageState extends State<LoginPage> {
|
||||||
color: ColorUtil.Color_153_153_153,
|
color: ColorUtil.Color_153_153_153,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Text(
|
GestureDetector(
|
||||||
'《服务协议》',
|
child: Text(
|
||||||
style: TextStyle(
|
'《服务协议》',
|
||||||
fontSize: 12.sp,
|
style: TextStyle(
|
||||||
color: ColorUtil.Color_153_153_153,
|
fontSize: 12.sp,
|
||||||
|
color: ColorUtil.Color_85_117_242,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
|
onTap: (){
|
||||||
|
Get.toNamed(Routes.agreementReadPage);
|
||||||
|
},
|
||||||
),
|
),
|
||||||
Text(
|
Text(
|
||||||
'和',
|
'和',
|
||||||
|
|
@ -332,12 +338,17 @@ class _LoginPageState extends State<LoginPage> {
|
||||||
color: ColorUtil.Color_153_153_153,
|
color: ColorUtil.Color_153_153_153,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Text(
|
GestureDetector(
|
||||||
'《隐私政策》',
|
child: Text(
|
||||||
style: TextStyle(
|
'《隐私政策》',
|
||||||
fontSize: 12.sp,
|
style: TextStyle(
|
||||||
color: ColorUtil.Color_153_153_153,
|
fontSize: 12.sp,
|
||||||
|
color: ColorUtil.Color_85_117_242,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
|
onTap: (){
|
||||||
|
Get.toNamed(Routes.agreementReadPage);
|
||||||
|
},
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,12 @@
|
||||||
import 'package:get/get.dart';
|
import 'package:get/get.dart';
|
||||||
import 'package:wgshare/pages/homePage/home_binding.dart';
|
import 'package:wgshare/pages/homePage/home_binding.dart';
|
||||||
import 'package:wgshare/pages/homePage/home_view.dart';
|
import 'package:wgshare/pages/homePage/home_view.dart';
|
||||||
|
import 'package:wgshare/pages/loginPage/agreement/agreement_read_binding.dart';
|
||||||
import 'package:wgshare/pages/loginPage/login_binding.dart';
|
import 'package:wgshare/pages/loginPage/login_binding.dart';
|
||||||
import 'package:wgshare/pages/loginPage/login_view.dart';
|
import 'package:wgshare/pages/loginPage/login_view.dart';
|
||||||
import 'package:wgshare/pages/metting/meeting_main_binding.dart';
|
import 'package:wgshare/pages/metting/meeting_main_binding.dart';
|
||||||
import 'package:wgshare/pages/metting/meeting_main_view.dart';
|
import 'package:wgshare/pages/metting/meeting_main_view.dart';
|
||||||
|
import '../pages/loginPage/agreement/agreement_read_view.dart';
|
||||||
import '../pages/start_page_binding.dart';
|
import '../pages/start_page_binding.dart';
|
||||||
import '../pages/start_page_view.dart';
|
import '../pages/start_page_view.dart';
|
||||||
import '../pages/userPage/user_binding.dart';
|
import '../pages/userPage/user_binding.dart';
|
||||||
|
|
@ -18,6 +20,7 @@ abstract class AppPages {
|
||||||
GetPage(name: Routes.startPage, page: () => const StartPage(), binding: StartPageBinding(), transition: Transition.noTransition),
|
GetPage(name: Routes.startPage, page: () => const StartPage(), binding: StartPageBinding(), transition: Transition.noTransition),
|
||||||
GetPage(name: Routes.homePage, page: () => const HomePage(), binding: HomeBinding(), transition: Transition.noTransition),
|
GetPage(name: Routes.homePage, page: () => const HomePage(), binding: HomeBinding(), transition: Transition.noTransition),
|
||||||
GetPage(name: Routes.userPage, page: () => const UserPage(), binding: UserBinding(), transition: Transition.noTransition),
|
GetPage(name: Routes.userPage, page: () => const UserPage(), binding: UserBinding(), transition: Transition.noTransition),
|
||||||
GetPage(name: Routes.meetingMainPage, page: () => MeetingMainPage(), binding: MeetingMainBinding(), transition: Transition.noTransition),
|
GetPage(name: Routes.meetingMainPage, page: () => const MeetingMainPage(), binding: MeetingMainBinding(), transition: Transition.noTransition),
|
||||||
|
GetPage(name: Routes.agreementReadPage, page: () => const AgreementReadPage(), binding: AgreementReadBinding(), transition: Transition.noTransition),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -14,4 +14,7 @@ abstract class Routes {
|
||||||
|
|
||||||
// 会议首页
|
// 会议首页
|
||||||
static const meetingMainPage = '/meetingMainPage';
|
static const meetingMainPage = '/meetingMainPage';
|
||||||
|
|
||||||
|
// 协议政策阅读展示
|
||||||
|
static const agreementReadPage = '/agreementReadPage';
|
||||||
}
|
}
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
|
|
@ -85,6 +85,9 @@ dependencies:
|
||||||
# 预加载pageview
|
# 预加载pageview
|
||||||
preload_page_view: ^0.2.0
|
preload_page_view: ^0.2.0
|
||||||
|
|
||||||
|
# webview
|
||||||
|
webview_flutter: ^3.0.4
|
||||||
|
|
||||||
dev_dependencies:
|
dev_dependencies:
|
||||||
flutter_test:
|
flutter_test:
|
||||||
sdk: flutter
|
sdk: flutter
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue