更新
This commit is contained in:
113
lib/pages/user/about_us_page copy.dart
Normal file
113
lib/pages/user/about_us_page copy.dart
Normal file
@@ -0,0 +1,113 @@
|
||||
// import 'package:ef/ef.dart';
|
||||
// import 'package:flutter/material.dart';
|
||||
// import 'package:vbvs_app/common/color/appConstants.dart';
|
||||
// import 'package:vbvs_app/common/util/FitTool.dart';
|
||||
// import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||
// import 'package:vbvs_app/component/tool/CustomCard.dart';
|
||||
// import 'package:vbvs_app/controller/device/blueteeth_bind_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';
|
||||
// // import 'package:easydevice/easydevice.dart';
|
||||
|
||||
|
||||
// class AboutUsPage extends StatefulWidget {
|
||||
// const AboutUsPage({super.key});
|
||||
|
||||
// @override
|
||||
// State<AboutUsPage> createState() => _AboutUsPageState();
|
||||
// }
|
||||
|
||||
// class _AboutUsPageState extends State<AboutUsPage> {
|
||||
// GlobalController globalController = Get.find();
|
||||
// UserInfoController userInfoController = Get.find();
|
||||
// BlueteethBindController blueteethBindController = Get.find();
|
||||
// ThemeController themeController = Get.find();
|
||||
|
||||
// @override
|
||||
// void initState() {
|
||||
// super.initState();
|
||||
// }
|
||||
|
||||
// @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,
|
||||
// // leading: returnIconButtom,
|
||||
// title: Container(
|
||||
// width: double.infinity,
|
||||
// height: 180.rpx,
|
||||
// child: Stack(
|
||||
// alignment: Alignment.center,
|
||||
// children: [
|
||||
// /// 居中标题
|
||||
// Text(
|
||||
// '关于我们.标题'.tr,
|
||||
// style: FlutterFlowTheme.of(context).bodyMedium.override(
|
||||
// fontFamily: 'Readex Pro',
|
||||
// color: themeController.currentColor.sc3,
|
||||
// letterSpacing: 0,
|
||||
// fontSize: 30.rpx,
|
||||
// ),
|
||||
// ),
|
||||
|
||||
// /// 左边返回按钮
|
||||
// Positioned(
|
||||
// left: 0,
|
||||
// child: returnIconButtom,
|
||||
// ),
|
||||
// ],
|
||||
// ),
|
||||
// ),
|
||||
|
||||
// actions: [],
|
||||
// centerTitle: false,
|
||||
// ),
|
||||
// body: SafeArea(
|
||||
// top: true,
|
||||
// child: Padding(
|
||||
// padding: EdgeInsetsDirectional.fromSTEB(30.rpx, 0, 30.rpx, 0),
|
||||
// child: SingleChildScrollView(
|
||||
// child: Column(
|
||||
// mainAxisSize: MainAxisSize.max,
|
||||
// children: [
|
||||
|
||||
// SizedBox(
|
||||
// height: 30.rpx,
|
||||
// ),
|
||||
// Text(
|
||||
// "企业简介\n\n\n嘉兴太和信息技术有限公司成立于2013年,是一家以传感技术、室内定位技术和人工智能技术为基础的国家高新技术企业,AI非接触生命体征传感器、高精度室内外一体定位平台、AI视频分析系统、射频消融等技术成果,目前已经拥有30多类知识产权证书,多项专利技术处于行业领先水平。\n\n\n我司研发的“非接触式生命体征传感器”是一款基于BCG信号原理,通过检测人体心脏搏动引起的微小振动的传感器系统。传感器系统通过将人体微弱的心跳、呼吸信号转换未电信号,进行相关生命体征分析。该传感器可为用户提供高灵敏度和精确度检测结构,适用于需要非接触式、高分辨率的监测场景。该系统的硬件、软件及生产维护均由我司自主开发和管理,拥有完全自主知识产权,并已申请多项国家专利,可依据用户需求定制个性化方案。\n\n\n该产品置于床垫下方使用,全程完全无感。采集的体征数据通过睡眠健康管理平台实时显示用户的健康状态,并对每次的睡眠报告进行系统化归档管理,支持长期查询。一旦用户在使用过程中出现异常情况,系统可及时做出判断并反馈预警信息和建议。目前,心率监测的准确度可达97%以上,呼吸监测的准确度可达95%以上,其他生理指标的监测精度也显著优于同类产品。该产品主体材质均采用符合国家标准的环保材料,部分硅胶配件达到食品级安全标准。产品尺寸可根据需求进行定制,适用于单人床、双人床、婴儿床、椅子及枕头等多种场景。\n\n\n睡眠健康管理平台通过实时预警与远程管理,提升睡眠质量及慢病干预效率,助力养老院、月子中心、康复中心、智能寝具等行业降本增效,实现精准健康的科学管理。",
|
||||
// style: TextStyle(
|
||||
// fontSize: AppConstants().normal_text_fontSize,
|
||||
// color: themeController.currentColor.sc3),
|
||||
// ),
|
||||
// ],
|
||||
// ),
|
||||
// ),
|
||||
// ),
|
||||
// ),
|
||||
// ),
|
||||
// ),
|
||||
// ),
|
||||
// );
|
||||
// }
|
||||
|
||||
|
||||
// }
|
||||
118
lib/pages/user/privacy_scheme_page.dart
Normal file
118
lib/pages/user/privacy_scheme_page.dart
Normal file
@@ -0,0 +1,118 @@
|
||||
import 'package:ef/ef.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_pdfview/flutter_pdfview.dart';
|
||||
import 'package:vbvs_app/common/util/FitTool.dart';
|
||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||
import 'package:vbvs_app/controller/setting/pdf/PrivacyPdfController.dart';
|
||||
|
||||
class PrivacySchemePage extends StatefulWidget {
|
||||
PrivacySchemePage({super.key});
|
||||
|
||||
@override
|
||||
State<PrivacySchemePage> createState() => _PrivacySchemePageState();
|
||||
}
|
||||
|
||||
class _PrivacySchemePageState extends State<PrivacySchemePage> {
|
||||
PrivacyPdfController pdfController = Get.find();
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
String language = "zh_CN"; // 默认语言
|
||||
|
||||
if (languageController.selectLanguage?.value?.language_code != null) {
|
||||
language = languageController.selectLanguage!.value!.language_code!;
|
||||
}
|
||||
|
||||
pdfController.loadPdf(2,
|
||||
"https://vsbst-api.he-info.cn/vsbs_sotrage/privacy-scheme/$language.pdf",
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@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,
|
||||
// leading: returnIconButtom,
|
||||
title: Container(
|
||||
width: double.infinity,
|
||||
height: 180.rpx,
|
||||
child: Stack(
|
||||
alignment: Alignment.center,
|
||||
children: [
|
||||
/// 居中标题
|
||||
Text(
|
||||
'隐私协议'.tr,
|
||||
style: FlutterFlowTheme.of(context).bodyMedium.override(
|
||||
fontFamily: 'Readex Pro',
|
||||
color: themeController.currentColor.sc3,
|
||||
letterSpacing: 0,
|
||||
fontSize: 30.rpx,
|
||||
),
|
||||
),
|
||||
|
||||
/// 左边返回按钮
|
||||
Positioned(
|
||||
left: 0,
|
||||
child: returnIconButtom,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
actions: [],
|
||||
centerTitle: false,
|
||||
),
|
||||
body: SafeArea(
|
||||
top: true,
|
||||
child: Padding(
|
||||
padding: EdgeInsets.symmetric(horizontal: 30.rpx),
|
||||
child: Column(
|
||||
children: [
|
||||
Expanded(
|
||||
child: Obx(() {
|
||||
if (pdfController.localPdfPath.value == null) {
|
||||
return Center(child: CircularProgressIndicator());
|
||||
} else {
|
||||
return PDFView(
|
||||
filePath: pdfController.localPdfPath.value!,
|
||||
autoSpacing: false,
|
||||
enableSwipe: true,
|
||||
swipeHorizontal: false,
|
||||
pageSnap: true,
|
||||
fitEachPage: true,
|
||||
defaultPage: 0,
|
||||
onRender: (pages) => print('PDF 渲染完成,共 $pages 页'),
|
||||
onError: (error) => print('PDF 加载错误: $error'),
|
||||
);
|
||||
}
|
||||
}),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
119
lib/pages/user/user_scheme_page.dart
Normal file
119
lib/pages/user/user_scheme_page.dart
Normal file
@@ -0,0 +1,119 @@
|
||||
import 'package:ef/ef.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_pdfview/flutter_pdfview.dart';
|
||||
import 'package:vbvs_app/common/util/FitTool.dart';
|
||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||
import 'package:vbvs_app/controller/setting/pdf/UserPdfController.dart';
|
||||
|
||||
class UserSchemePage extends StatefulWidget {
|
||||
UserSchemePage({super.key});
|
||||
|
||||
@override
|
||||
State<UserSchemePage> createState() => _UserSchemePageState();
|
||||
}
|
||||
|
||||
class _UserSchemePageState extends State<UserSchemePage> {
|
||||
UserPdfController pdfController = Get.find();
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
String language = "zh_CN"; // 默认语言
|
||||
|
||||
if (languageController.selectLanguage?.value?.language_code != null) {
|
||||
language = languageController.selectLanguage!.value!.language_code!;
|
||||
}
|
||||
|
||||
pdfController.loadPdf(
|
||||
1,
|
||||
"https://vsbst-api.he-info.cn/vsbs_sotrage/user-scheme/$language.pdf",
|
||||
);
|
||||
}
|
||||
|
||||
@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,
|
||||
// leading: returnIconButtom,
|
||||
title: Container(
|
||||
width: double.infinity,
|
||||
height: 180.rpx,
|
||||
child: Stack(
|
||||
alignment: Alignment.center,
|
||||
children: [
|
||||
/// 居中标题
|
||||
Text(
|
||||
'用户协议'.tr,
|
||||
style: FlutterFlowTheme.of(context).bodyMedium.override(
|
||||
fontFamily: 'Readex Pro',
|
||||
color: themeController.currentColor.sc3,
|
||||
letterSpacing: 0,
|
||||
fontSize: 30.rpx,
|
||||
),
|
||||
),
|
||||
|
||||
/// 左边返回按钮
|
||||
Positioned(
|
||||
left: 0,
|
||||
child: returnIconButtom,
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
actions: [],
|
||||
centerTitle: false,
|
||||
),
|
||||
|
||||
body: SafeArea(
|
||||
top: true,
|
||||
child: Padding(
|
||||
padding: EdgeInsets.symmetric(horizontal: 30.rpx),
|
||||
child: Column(
|
||||
children: [
|
||||
Expanded(
|
||||
child: Obx(() {
|
||||
if (pdfController.localPdfPath.value == null) {
|
||||
return Center(child: CircularProgressIndicator());
|
||||
} else {
|
||||
return PDFView(
|
||||
filePath: pdfController.localPdfPath.value!,
|
||||
autoSpacing: false,
|
||||
enableSwipe: true,
|
||||
swipeHorizontal: false,
|
||||
pageSnap: true,
|
||||
fitEachPage: true,
|
||||
defaultPage: 0,
|
||||
onRender: (pages) => print('PDF 渲染完成,共 $pages 页'),
|
||||
onError: (error) => print('PDF 加载错误: $error'),
|
||||
);
|
||||
}
|
||||
}),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user