更新协议方式web
This commit is contained in:
@@ -337,7 +337,9 @@ class _SettingPageState extends State<SettingPage> {
|
||||
padding: EdgeInsetsDirectional.fromSTEB(
|
||||
40.rpx, 0.rpx, 40.rpx, 0.rpx),
|
||||
onTap: () {
|
||||
Get.toNamed("/userAgreementPage");
|
||||
// Get.toNamed("/userAgreementPage");
|
||||
Get.toNamed("/privacyPolicyPageNew",
|
||||
arguments: getPrivacy(2));
|
||||
},
|
||||
child: Container(
|
||||
child: Padding(
|
||||
@@ -385,7 +387,9 @@ class _SettingPageState extends State<SettingPage> {
|
||||
padding: EdgeInsetsDirectional.fromSTEB(
|
||||
0.rpx, 0.rpx, 0.rpx, 0.rpx),
|
||||
onTap: () {
|
||||
Get.toNamed("/privacyPolicyPage");
|
||||
// Get.toNamed("/privacyPolicyPage");
|
||||
Get.toNamed("/userPolicyPageNew",
|
||||
arguments: getPrivacy(1));
|
||||
},
|
||||
child: Container(
|
||||
child: Padding(
|
||||
@@ -568,7 +572,8 @@ class _SettingPageState extends State<SettingPage> {
|
||||
AppConstants().ent_type == 1
|
||||
? 'Copyright © 2022-2025 嘉兴太和信息技术有限责任公司 版权所有'
|
||||
.tr
|
||||
: "Copyright © 2022-2025 合肥眠花糖家具有限责任公司 版权所有".tr,
|
||||
: "Copyright © 2022-2025 合肥眠花糖家具有限责任公司 版权所有"
|
||||
.tr,
|
||||
style: TextStyle(
|
||||
color: themeController.currentColor.sc4,
|
||||
fontFamily: 'Inter',
|
||||
|
||||
@@ -1451,8 +1451,13 @@ class MHTLoginPage extends GetView<MHTLoginController> {
|
||||
// "/#/pages/agreement/agreement?type=2&hideHead=true",
|
||||
// btnName:
|
||||
// "同意并继续");
|
||||
// Get.toNamed(
|
||||
// "/userAgreementPage");
|
||||
Get.toNamed(
|
||||
"/userAgreementPage");
|
||||
"/userPolicyPageNew",
|
||||
arguments:
|
||||
getPrivacy(
|
||||
2));
|
||||
},
|
||||
child: Text(
|
||||
'《用户协议》'.tr,
|
||||
@@ -1498,8 +1503,13 @@ class MHTLoginPage extends GetView<MHTLoginController> {
|
||||
// "/#/pages/agreement/agreement?type=1&hideHead=true",
|
||||
// btnName:
|
||||
// "同意并继续");
|
||||
// Get.toNamed(
|
||||
// "/privacyPolicyPage");
|
||||
Get.toNamed(
|
||||
"/privacyPolicyPage");
|
||||
"/privacyPolicyPageNew",
|
||||
arguments:
|
||||
getPrivacy(
|
||||
1));
|
||||
},
|
||||
child: Text(
|
||||
'《隐私协议》'.tr,
|
||||
|
||||
120
lib/pages/policy/privacy_policy.dart
Normal file
120
lib/pages/policy/privacy_policy.dart
Normal file
@@ -0,0 +1,120 @@
|
||||
import 'package:ef/ef.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
|
||||
import 'package:vbvs_app/common/util/FitTool.dart';
|
||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||
import 'package:vbvs_app/controller/device/blueteeth_bind_controller.dart';
|
||||
import 'package:vbvs_app/controller/device/device_type_controller.dart';
|
||||
import 'package:vbvs_app/controller/main_bottom/global_controller.dart';
|
||||
import 'package:vbvs_app/controller/theme_controller/ThemeController.dart';
|
||||
import 'package:vbvs_app/controller/user_info_controller.dart';
|
||||
|
||||
class PrivacyPolicyNewPage extends StatefulWidget {
|
||||
var sleepUri;
|
||||
PrivacyPolicyNewPage({super.key, required this.sleepUri});
|
||||
|
||||
@override
|
||||
State<PrivacyPolicyNewPage> createState() => _PrivacyPolicyNewPageState();
|
||||
}
|
||||
|
||||
class _PrivacyPolicyNewPageState extends State<PrivacyPolicyNewPage> {
|
||||
GlobalController globalController = Get.find();
|
||||
UserInfoController userInfoController = Get.find();
|
||||
BlueteethBindController blueteethBindController = Get.find();
|
||||
ThemeController themeController = Get.find();
|
||||
DeviceTypeController deviceTypeController = Get.find();
|
||||
|
||||
ValueNotifier<bool> isPageLoading = ValueNotifier<bool>(true);
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
// 清理 ValueNotifier
|
||||
isPageLoading.dispose();
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
image: AssetImage('assets/img/bgNoImg.png'), // 本地图片
|
||||
fit: BoxFit.fill, // 填满整个 Container
|
||||
),
|
||||
),
|
||||
child: Scaffold(
|
||||
backgroundColor: Colors.transparent, // 背景透明
|
||||
appBar: AppBar(
|
||||
backgroundColor: themeController.currentColor.sc17,
|
||||
automaticallyImplyLeading: false,
|
||||
iconTheme: IconThemeData(color: themeController.currentColor.sc3),
|
||||
titleSpacing: 0,
|
||||
title: Container(
|
||||
width: double.infinity,
|
||||
height: 180.rpx,
|
||||
child: Stack(
|
||||
alignment: Alignment.center,
|
||||
children: [
|
||||
/// 居中标题
|
||||
Text(
|
||||
'隐私协议'.tr,
|
||||
style: TextStyle(
|
||||
fontFamily: 'Readex Pro',
|
||||
color: themeController.currentColor.sc3,
|
||||
letterSpacing: 0,
|
||||
fontSize: 30.rpx,
|
||||
),
|
||||
),
|
||||
|
||||
/// 左边返回按钮
|
||||
Positioned(
|
||||
left: 0,
|
||||
child: returnIconButtomNew(),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
body: SafeArea(
|
||||
top: true,
|
||||
child: Stack(
|
||||
children: [
|
||||
InAppWebView(
|
||||
key: UniqueKey(),
|
||||
initialUrlRequest: URLRequest(url: WebUri(widget.sleepUri)),
|
||||
onLoadStart: (controller, url) {
|
||||
// 页面开始加载时显示加载指示器
|
||||
isPageLoading.value = true;
|
||||
},
|
||||
onLoadStop: (controller, url) {
|
||||
// 页面加载完成后隐藏加载指示器
|
||||
isPageLoading.value = false;
|
||||
},
|
||||
),
|
||||
ValueListenableBuilder<bool>(
|
||||
valueListenable: isPageLoading,
|
||||
builder: (context, isLoading, child) {
|
||||
return isLoading
|
||||
? Center(
|
||||
child: CircularProgressIndicator(), // 加载指示器
|
||||
)
|
||||
: SizedBox.shrink();
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
120
lib/pages/policy/user_policy.dart
Normal file
120
lib/pages/policy/user_policy.dart
Normal file
@@ -0,0 +1,120 @@
|
||||
import 'package:ef/ef.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_inappwebview/flutter_inappwebview.dart';
|
||||
import 'package:vbvs_app/common/util/FitTool.dart';
|
||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||
import 'package:vbvs_app/controller/device/blueteeth_bind_controller.dart';
|
||||
import 'package:vbvs_app/controller/device/device_type_controller.dart';
|
||||
import 'package:vbvs_app/controller/main_bottom/global_controller.dart';
|
||||
import 'package:vbvs_app/controller/theme_controller/ThemeController.dart';
|
||||
import 'package:vbvs_app/controller/user_info_controller.dart';
|
||||
|
||||
class UserPrivacyNewPage extends StatefulWidget {
|
||||
var sleepUri;
|
||||
UserPrivacyNewPage({super.key, required this.sleepUri});
|
||||
|
||||
@override
|
||||
State<UserPrivacyNewPage> createState() => _UserPrivacyNewPageState();
|
||||
}
|
||||
|
||||
class _UserPrivacyNewPageState extends State<UserPrivacyNewPage> {
|
||||
GlobalController globalController = Get.find();
|
||||
UserInfoController userInfoController = Get.find();
|
||||
BlueteethBindController blueteethBindController = Get.find();
|
||||
ThemeController themeController = Get.find();
|
||||
DeviceTypeController deviceTypeController = Get.find();
|
||||
|
||||
ValueNotifier<bool> isPageLoading = ValueNotifier<bool>(true);
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
// 清理 ValueNotifier
|
||||
isPageLoading.dispose();
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return LayoutBuilder(
|
||||
builder: (context, bodySize) => GestureDetector(
|
||||
// onTap: () => FocusScope.of(context).unfocus(),,
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
image: DecorationImage(
|
||||
image: AssetImage('assets/img/bgNoImg.png'), // 本地图片
|
||||
fit: BoxFit.fill, // 填满整个 Container
|
||||
),
|
||||
),
|
||||
child: Scaffold(
|
||||
backgroundColor: Colors.transparent, // 背景透明
|
||||
appBar: AppBar(
|
||||
backgroundColor: themeController.currentColor.sc17,
|
||||
automaticallyImplyLeading: false,
|
||||
iconTheme: IconThemeData(color: themeController.currentColor.sc3),
|
||||
titleSpacing: 0,
|
||||
title: Container(
|
||||
width: double.infinity,
|
||||
height: 180.rpx,
|
||||
child: Stack(
|
||||
alignment: Alignment.center,
|
||||
children: [
|
||||
/// 居中标题
|
||||
Text(
|
||||
'用户协议'.tr,
|
||||
style: TextStyle(
|
||||
fontFamily: 'Readex Pro',
|
||||
color: themeController.currentColor.sc3,
|
||||
letterSpacing: 0,
|
||||
fontSize: 30.rpx,
|
||||
),
|
||||
),
|
||||
|
||||
/// 左边返回按钮
|
||||
Positioned(
|
||||
left: 0,
|
||||
child: returnIconButtomNew(),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
body: SafeArea(
|
||||
top: true,
|
||||
child: Stack(
|
||||
children: [
|
||||
InAppWebView(
|
||||
key: UniqueKey(),
|
||||
initialUrlRequest: URLRequest(url: WebUri(widget.sleepUri)),
|
||||
onLoadStart: (controller, url) {
|
||||
// 页面开始加载时显示加载指示器
|
||||
isPageLoading.value = true;
|
||||
},
|
||||
onLoadStop: (controller, url) {
|
||||
// 页面加载完成后隐藏加载指示器
|
||||
isPageLoading.value = false;
|
||||
},
|
||||
),
|
||||
ValueListenableBuilder<bool>(
|
||||
valueListenable: isPageLoading,
|
||||
builder: (context, isLoading, child) {
|
||||
return isLoading
|
||||
? Center(
|
||||
child: CircularProgressIndicator(), // 加载指示器
|
||||
)
|
||||
: SizedBox.shrink();
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user