471 lines
27 KiB
Dart
471 lines
27 KiB
Dart
import 'package:ef/ef.dart';
|
||
import 'package:flutter/material.dart';
|
||
import 'package:flutter_svg/svg.dart';
|
||
import 'package:flutterflow_ui/flutterflow_ui.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/ClickableContainer.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: [
|
||
// Padding(
|
||
// padding: EdgeInsetsDirectional.fromSTEB(
|
||
// 30.rpx, 25.rpx, 30.rpx, 0),
|
||
// child: Container(
|
||
// width: double.infinity,
|
||
// decoration: BoxDecoration(
|
||
// color: Color(0xFF242835),
|
||
// borderRadius: BorderRadius.circular(
|
||
// AppConstants().normal_container_radius),
|
||
// ),
|
||
// child: Padding(
|
||
// padding: EdgeInsetsDirectional.fromSTEB(
|
||
// 0.rpx, 0, 0.rpx, 0),
|
||
// child: Column(
|
||
// mainAxisSize: MainAxisSize.max,
|
||
// children: [
|
||
// ClickableContainer(
|
||
// backgroundColor: Colors.transparent, // 容器背景色
|
||
// highlightColor: themeController
|
||
// .currentColor.sc21, // 点击时的背景色
|
||
// padding: EdgeInsetsDirectional.fromSTEB(
|
||
// 40.rpx, 0.rpx, 40.rpx, 0.rpx),
|
||
// onTap: () {
|
||
// print('点击了容器');
|
||
// },
|
||
// child: Container(
|
||
// child: Padding(
|
||
// padding: EdgeInsetsDirectional.fromSTEB(
|
||
// 0.rpx, 20.rpx, 0.rpx, 20.rpx),
|
||
// child: Row(
|
||
// mainAxisSize: MainAxisSize.max,
|
||
// mainAxisAlignment:
|
||
// MainAxisAlignment.spaceBetween,
|
||
// children: [
|
||
// Row(
|
||
// mainAxisSize: MainAxisSize.max,
|
||
// children: [
|
||
// Text(
|
||
// '设置页.主题模式'.tr,
|
||
// style:
|
||
// FlutterFlowTheme.of(context)
|
||
// .bodyMedium
|
||
// .override(
|
||
// fontFamily: 'Inter',
|
||
// color: themeController
|
||
// .currentColor.sc3,
|
||
// fontSize: AppConstants()
|
||
// .title_text_fontSize,
|
||
// letterSpacing: 0.0,
|
||
// ),
|
||
// ),
|
||
// ].divide(SizedBox(width: 22.rpx)),
|
||
// ),
|
||
// Row(
|
||
// mainAxisSize: MainAxisSize.max,
|
||
// children: [
|
||
// Text(
|
||
// '深色',
|
||
// style:
|
||
// FlutterFlowTheme.of(context)
|
||
// .bodyMedium
|
||
// .override(
|
||
// fontFamily: 'Inter',
|
||
// color:
|
||
// Color(0xFFD9E3EB),
|
||
// fontSize: 26.rpx,
|
||
// letterSpacing: 0.0,
|
||
// ),
|
||
// ),
|
||
// SvgPicture.asset(
|
||
// 'assets/img/icon/arrow_right.svg',
|
||
// width: 8.rpx,
|
||
// height: 15
|
||
// .rpx, // 如果 SVG 中没有固定颜色,可以这样设置
|
||
// color: themeController
|
||
// .currentColor.sc3,
|
||
// ),
|
||
// ].divide(SizedBox(width: 28.rpx)),
|
||
// ),
|
||
// ],
|
||
// ),
|
||
// ),
|
||
// ),
|
||
// ),
|
||
// ClickableContainer(
|
||
// backgroundColor: Colors.transparent, // 容器背景色
|
||
// highlightColor: themeController
|
||
// .currentColor.sc21, // 点击时的背景色
|
||
// padding: EdgeInsetsDirectional.fromSTEB(
|
||
// 40.rpx, 0.rpx, 40.rpx, 0.rpx),
|
||
// onTap: () {
|
||
// print('点击了容器');
|
||
// },
|
||
// child: Container(
|
||
// child: Padding(
|
||
// padding: EdgeInsetsDirectional.fromSTEB(
|
||
// 0.rpx, 20.rpx, 0.rpx, 20.rpx),
|
||
// child: Row(
|
||
// mainAxisSize: MainAxisSize.max,
|
||
// mainAxisAlignment:
|
||
// MainAxisAlignment.spaceBetween,
|
||
// children: [
|
||
// Row(
|
||
// mainAxisSize: MainAxisSize.max,
|
||
// children: [
|
||
// Text(
|
||
// '设置页.选择语言'.tr,
|
||
// style:
|
||
// FlutterFlowTheme.of(context)
|
||
// .bodyMedium
|
||
// .override(
|
||
// fontFamily: 'Inter',
|
||
// color: themeController
|
||
// .currentColor.sc3,
|
||
// fontSize: AppConstants()
|
||
// .title_text_fontSize,
|
||
// letterSpacing: 0.0,
|
||
// ),
|
||
// ),
|
||
// ].divide(SizedBox(width: 22.rpx)),
|
||
// ),
|
||
// Row(
|
||
// mainAxisSize: MainAxisSize.max,
|
||
// children: [
|
||
// Text(
|
||
// '中文',
|
||
// style:
|
||
// FlutterFlowTheme.of(context)
|
||
// .bodyMedium
|
||
// .override(
|
||
// fontFamily: 'Inter',
|
||
// color:
|
||
// Color(0xFFD9E3EB),
|
||
// fontSize: 26.rpx,
|
||
// letterSpacing: 0.0,
|
||
// ),
|
||
// ),
|
||
// SvgPicture.asset(
|
||
// 'assets/img/icon/arrow_right.svg',
|
||
// width: 8.rpx,
|
||
// height: 15
|
||
// .rpx, // 如果 SVG 中没有固定颜色,可以这样设置
|
||
// color: themeController
|
||
// .currentColor.sc3,
|
||
// ),
|
||
// ].divide(SizedBox(width: 28.rpx)),
|
||
// ),
|
||
// ],
|
||
// ),
|
||
// ),
|
||
// ),
|
||
// ),
|
||
// ClickableContainer(
|
||
// backgroundColor: Colors.transparent, // 容器背景色
|
||
// highlightColor: themeController
|
||
// .currentColor.sc21, // 点击时的背景色
|
||
// padding: EdgeInsetsDirectional.fromSTEB(
|
||
// 0.rpx, 0.rpx, 0.rpx, 0.rpx),
|
||
// onTap: () {
|
||
// print('点击了容器');
|
||
// },
|
||
// child: Container(
|
||
// child: Padding(
|
||
// padding: EdgeInsetsDirectional.fromSTEB(
|
||
// 40.rpx, 20.rpx, 40.rpx, 20.rpx),
|
||
// child: Row(
|
||
// mainAxisSize: MainAxisSize.max,
|
||
// mainAxisAlignment:
|
||
// MainAxisAlignment.spaceBetween,
|
||
// children: [
|
||
// Row(
|
||
// mainAxisSize: MainAxisSize.max,
|
||
// children: [
|
||
// Text(
|
||
// '设置页.关于我们'.tr,
|
||
// style:
|
||
// FlutterFlowTheme.of(context)
|
||
// .bodyMedium
|
||
// .override(
|
||
// fontFamily: 'Inter',
|
||
// color: themeController
|
||
// .currentColor.sc3,
|
||
// fontSize: AppConstants()
|
||
// .title_text_fontSize,
|
||
// letterSpacing: 0.0,
|
||
// ),
|
||
// ),
|
||
// ].divide(SizedBox(width: 22.rpx)),
|
||
// ),
|
||
// SvgPicture.asset(
|
||
// 'assets/img/icon/arrow_right.svg',
|
||
// width: 8.rpx,
|
||
// height:
|
||
// 14.rpx, // 如果 SVG 中没有固定颜色,可以这样设置
|
||
// color: themeController
|
||
// .currentColor.sc3,
|
||
// ),
|
||
// ],
|
||
// ),
|
||
// ),
|
||
// ),
|
||
// ),
|
||
// ClickableContainer(
|
||
// backgroundColor: Colors.transparent, // 容器背景色
|
||
// highlightColor: themeController
|
||
// .currentColor.sc21, // 点击时的背景色
|
||
// padding: EdgeInsetsDirectional.fromSTEB(
|
||
// 40.rpx, 0.rpx, 40.rpx, 0.rpx),
|
||
// onTap: () {
|
||
// print('点击了容器');
|
||
// },
|
||
// child: Container(
|
||
// child: Padding(
|
||
// padding: EdgeInsetsDirectional.fromSTEB(
|
||
// 0.rpx, 20.rpx, 0.rpx, 20.rpx),
|
||
// child: Row(
|
||
// mainAxisSize: MainAxisSize.max,
|
||
// mainAxisAlignment:
|
||
// MainAxisAlignment.spaceBetween,
|
||
// children: [
|
||
// Row(
|
||
// mainAxisSize: MainAxisSize.max,
|
||
// children: [
|
||
// Text(
|
||
// '设置页.用户协议'.tr,
|
||
// style:
|
||
// FlutterFlowTheme.of(context)
|
||
// .bodyMedium
|
||
// .override(
|
||
// fontFamily: 'Inter',
|
||
// color: themeController
|
||
// .currentColor.sc3,
|
||
// fontSize: AppConstants()
|
||
// .title_text_fontSize,
|
||
// letterSpacing: 0.0,
|
||
// ),
|
||
// ),
|
||
// ].divide(SizedBox(width: 22.rpx)),
|
||
// ),
|
||
// SvgPicture.asset(
|
||
// 'assets/img/icon/arrow_right.svg',
|
||
// width: 8.rpx,
|
||
// height:
|
||
// 15.rpx, // 如果 SVG 中没有固定颜色,可以这样设置
|
||
// color: themeController
|
||
// .currentColor.sc3,
|
||
// ),
|
||
// ],
|
||
// ),
|
||
// ),
|
||
// ),
|
||
// ),
|
||
// ClickableContainer(
|
||
// backgroundColor: Colors.transparent, // 容器背景色
|
||
// highlightColor: themeController
|
||
// .currentColor.sc21, // 点击时的背景色
|
||
// padding: EdgeInsetsDirectional.fromSTEB(
|
||
// 0.rpx, 0.rpx, 0.rpx, 0.rpx),
|
||
// onTap: () {
|
||
// print('点击了容器');
|
||
// },
|
||
// child: Container(
|
||
// child: Padding(
|
||
// padding: EdgeInsetsDirectional.fromSTEB(
|
||
// 40.rpx, 20.rpx, 40.rpx, 20.rpx),
|
||
// child: Row(
|
||
// mainAxisSize: MainAxisSize.max,
|
||
// mainAxisAlignment:
|
||
// MainAxisAlignment.spaceBetween,
|
||
// children: [
|
||
// Row(
|
||
// mainAxisSize: MainAxisSize.max,
|
||
// children: [
|
||
// Text(
|
||
// '设置页.隐私协议'.tr,
|
||
// style:
|
||
// FlutterFlowTheme.of(context)
|
||
// .bodyMedium
|
||
// .override(
|
||
// fontFamily: 'Inter',
|
||
// color: themeController
|
||
// .currentColor.sc3,
|
||
// fontSize: AppConstants()
|
||
// .title_text_fontSize,
|
||
// letterSpacing: 0.0,
|
||
// ),
|
||
// ),
|
||
// ].divide(SizedBox(width: 22.rpx)),
|
||
// ),
|
||
// SvgPicture.asset(
|
||
// 'assets/img/icon/arrow_right.svg',
|
||
// width: 8.rpx,
|
||
// height:
|
||
// 14.rpx, // 如果 SVG 中没有固定颜色,可以这样设置
|
||
// color: themeController
|
||
// .currentColor.sc3,
|
||
// ),
|
||
// ],
|
||
// ),
|
||
// ),
|
||
// ),
|
||
// ),
|
||
// ]
|
||
// .divide(SizedBox(height: 0.rpx))
|
||
// .addToStart(SizedBox(height: 30.rpx))
|
||
// .addToEnd(SizedBox(height: 30.rpx)),
|
||
// ),
|
||
// ),
|
||
// ),
|
||
// ),
|
||
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),
|
||
),
|
||
],
|
||
),
|
||
),
|
||
),
|
||
),
|
||
),
|
||
),
|
||
),
|
||
);
|
||
}
|
||
|
||
Widget _buildDeviceCard(BuildContext context,
|
||
{required String title, required String imageUrl, required String type}) {
|
||
return CustomCard(
|
||
borderRadius: 20.rpx, // 圆角大小
|
||
onTap: () {
|
||
if (type != null) {
|
||
if (type == '1') {
|
||
Get.toNamed("/blueteethDevice");
|
||
}
|
||
}
|
||
},
|
||
|
||
colors: [themeController.currentColor.sc17], // 背景色
|
||
child: Container(
|
||
width: double.infinity,
|
||
height: MediaQuery.sizeOf(context).height * 0.135,
|
||
constraints: BoxConstraints(
|
||
minHeight: 220.rpx,
|
||
),
|
||
padding: EdgeInsetsDirectional.fromSTEB(77.rpx, 0, 21.rpx, 0),
|
||
child: Row(
|
||
mainAxisSize: MainAxisSize.max,
|
||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||
children: [
|
||
Text(
|
||
title,
|
||
style: FlutterFlowTheme.of(context).bodyMedium.override(
|
||
fontFamily: 'Inter',
|
||
color: const Color(0xFFC2CED7),
|
||
fontSize: 30.rpx,
|
||
letterSpacing: 0.0,
|
||
),
|
||
),
|
||
ClipRRect(
|
||
borderRadius: BorderRadius.circular(8.rpx),
|
||
child: Image.asset(
|
||
imageUrl,
|
||
width: 212.rpx,
|
||
height: 168.rpx,
|
||
),
|
||
),
|
||
],
|
||
),
|
||
),
|
||
);
|
||
}
|
||
}
|