This commit is contained in:
wyf
2025-04-12 18:13:35 +08:00
parent 9396f18d09
commit 146462b467
17 changed files with 1446 additions and 816 deletions

View File

@@ -1,9 +1,12 @@
import 'package:ef/ef.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.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/controller/main_bottom/global_controller.dart';
import 'package:vbvs_app/controller/user_info_controller.dart';
@@ -20,10 +23,52 @@ class _MinePageState extends State<MinePage> {
@override
Widget build(BuildContext context) {
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
statusBarColor: stringToColor("#242835"), // 这里设置你希望的颜色
statusBarIconBrightness: Brightness.light, // 状态栏图标的亮度
));
return LayoutBuilder(
builder: (context, bodySize) => GestureDetector(
onTap: () => FocusScope.of(context).unfocus(),
child: Scaffold(
// appBar: AppBar(
// backgroundColor: stringToColor("#242835"),
// // backgroundColor: Colors.transparent,
// automaticallyImplyLeading: false,
// // iconTheme: IconThemeData(color: Colors.white),
// titleSpacing: 0,
// // leading: returnIconButtom,
// // title: Container(
// // // color: Colors.grey,
// // width: double.infinity,
// // height: 180.rpx,
// // child: Stack(
// // alignment: Alignment.center,
// // children: [
// // /// 居中标题
// // Text(
// // '设备列表',
// // style: FlutterFlowTheme.of(context).bodyMedium.override(
// // fontFamily: 'Readex Pro',
// // color: Colors.white,
// // letterSpacing: 0,
// // fontSize: 30.rpx,
// // ),
// // ),
// // /// 左边返回按钮
// // Positioned(
// // left: 0,
// // child: returnIconButtom,
// // ),
// // ],
// // ),
// // ),
// actions: [],
// centerTitle: false,
// ),
body: SafeArea(
top: true,
child: Container(
@@ -67,11 +112,13 @@ class _MinePageState extends State<MinePage> {
'assets/img/icon/earphone.svg',
width: 29.rpx,
height: 29.rpx, // 如果 SVG 中没有固定颜色,可以这样设置
color: Colors.white,
),
SvgPicture.asset(
'assets/img/icon/setting.svg',
width: 29.rpx,
height: 29.rpx, // 如果 SVG 中没有固定颜色,可以这样设置
color: Colors.white,
),
].divide(SizedBox(width: 60.rpx)),
),
@@ -100,26 +147,28 @@ class _MinePageState extends State<MinePage> {
),
Column(
mainAxisSize: MainAxisSize.max,
crossAxisAlignment:
CrossAxisAlignment.start,
children: [
Text(
'Hello World',
'张天爱',
style: FlutterFlowTheme.of(context)
.bodyMedium
.override(
fontFamily: 'Inter',
color: Color(0xFFEFF3F8),
color: Colors.white,
fontSize: AppConstants()
.normal_text_fontSize,
.title_text_fontSize,
letterSpacing: 0.0,
),
),
Text(
'Hello World',
'账号135****2598',
style: FlutterFlowTheme.of(context)
.bodyMedium
.override(
fontFamily: 'Inter',
color: Color(0xFFEAEFF3),
color: stringToColor("#C8C9CC"),
fontSize: AppConstants()
.normal_text_fontSize,
letterSpacing: 0.0,
@@ -144,10 +193,15 @@ class _MinePageState extends State<MinePage> {
letterSpacing: 0.0,
),
),
SvgPicture.asset(
'assets/img/icon/arrow_right.svg',
width: 8.rpx,
height: 14.rpx, // 如果 SVG 中没有固定颜色,可以这样设置
Padding(
padding: EdgeInsetsDirectional.fromSTEB(
0, 6.rpx, 0, 0.rpx),
child: SvgPicture.asset(
'assets/img/icon/arrow_right.svg',
width: 14.rpx,
height: 14.rpx, // 如果 SVG 中没有固定颜色,可以这样设置
color: Colors.white,
),
),
].divide(SizedBox(width: 16.rpx)),
),
@@ -170,195 +224,291 @@ class _MinePageState extends State<MinePage> {
),
child: Padding(
padding: EdgeInsetsDirectional.fromSTEB(
40.rpx, 0, 40.rpx, 0),
45.rpx, 0, 45.rpx, 0),
child: Column(
mainAxisSize: MainAxisSize.max,
children: [
Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Row(
mainAxisSize: MainAxisSize.max,
children: [
SvgPicture.asset(
'assets/img/icon/my_device.svg',
width: 25.rpx,
height: 25.rpx, // 如果 SVG 中没有固定颜色,可以这样设置
),
Text(
'我的.我的设备'.tr,
style: FlutterFlowTheme.of(context)
.bodyMedium
.override(
fontFamily: 'Inter',
color: Color(0xFFE0E2E4),
fontSize: AppConstants()
.title_text_fontSize,
letterSpacing: 0.0,
ClickableContainer(
backgroundColor: Colors.transparent, // 容器背景色
highlightColor: Colors.orange, // 点击时的背景色
padding: EdgeInsetsDirectional.fromSTEB(
0.rpx, 0.rpx, 0.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: [
SvgPicture.asset(
'assets/img/icon/my_device.svg',
width: 25.rpx,
height:
25.rpx, // 如果 SVG 中没有固定颜色,可以这样设置
color: stringToColor("#00C1AA"),
),
),
].divide(SizedBox(width: 22.rpx)),
Text(
'我的.我的设备'.tr,
style: FlutterFlowTheme.of(context)
.bodyMedium
.override(
fontFamily: 'Inter',
color: Color(0xFFE0E2E4),
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: Colors.white,
),
],
),
),
SvgPicture.asset(
'assets/img/icon/arrow_right.svg',
width: 8.rpx,
height: 15.rpx, // 如果 SVG 中没有固定颜色,可以这样设置
),
],
),
),
Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Row(
mainAxisSize: MainAxisSize.max,
children: [
SvgPicture.asset(
'assets/img/icon/device_repair.svg',
width: 25.rpx,
height: 25.rpx, // 如果 SVG 中没有固定颜色,可以这样设置
),
Text(
'我的.设备报修'.tr,
style: FlutterFlowTheme.of(context)
.bodyMedium
.override(
fontFamily: 'Inter',
color: Color(0xFFE0E2E4),
fontSize: AppConstants()
.title_text_fontSize,
letterSpacing: 0.0,
ClickableContainer(
backgroundColor: Colors.transparent, // 容器背景色
highlightColor: Colors.orange, // 点击时的背景色
padding: EdgeInsetsDirectional.fromSTEB(
0.rpx, 0.rpx, 0.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: [
SvgPicture.asset(
'assets/img/icon/device_repair.svg',
width: 25.rpx,
height:
25.rpx, // 如果 SVG 中没有固定颜色,可以这样设置
color: stringToColor("#00C1AA"),
),
),
].divide(SizedBox(width: 22.rpx)),
Text(
'我的.设备报修'.tr,
style: FlutterFlowTheme.of(context)
.bodyMedium
.override(
fontFamily: 'Inter',
color: Color(0xFFE0E2E4),
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: Colors.white,
),
],
),
),
SvgPicture.asset(
'assets/img/icon/arrow_right.svg',
width: 8.rpx,
height: 15.rpx, // 如果 SVG 中没有固定颜色,可以这样设置
),
],
),
),
Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Row(
mainAxisSize: MainAxisSize.max,
children: [
SvgPicture.asset(
'assets/img/icon/op_ex.svg',
width: 25.rpx,
height: 25.rpx, // 如果 SVG 中没有固定颜色,可以这样设置
),
Text(
'我的.操作说明'.tr,
style: FlutterFlowTheme.of(context)
.bodyMedium
.override(
fontFamily: 'Inter',
color: Color(0xFFE0E2E4),
fontSize: AppConstants()
.title_text_fontSize,
letterSpacing: 0.0,
ClickableContainer(
backgroundColor: Colors.transparent, // 容器背景色
highlightColor: Colors.orange, // 点击时的背景色
padding: EdgeInsetsDirectional.fromSTEB(
0.rpx, 0.rpx, 0.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: [
SvgPicture.asset(
'assets/img/icon/op_ex.svg',
width: 25.rpx,
height:
25.rpx, // 如果 SVG 中没有固定颜色,可以这样设置
color: stringToColor("#00C1AA"),
),
),
].divide(SizedBox(width: 22.rpx)),
Text(
'我的.操作说明'.tr,
style: FlutterFlowTheme.of(context)
.bodyMedium
.override(
fontFamily: 'Inter',
color: Color(0xFFE0E2E4),
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: Colors.white,
),
],
),
),
SvgPicture.asset(
'assets/img/icon/arrow_right.svg',
width: 8.rpx,
height: 14.rpx, // 如果 SVG 中没有固定颜色,可以这样设置
),
],
),
),
Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Row(
mainAxisSize: MainAxisSize.max,
children: [
SvgPicture.asset(
'assets/img/icon/like.svg',
width: 25.rpx,
height: 25.rpx, // 如果 SVG 中没有固定颜色,可以这样设置
),
Text(
'关注我们'.tr,
style: FlutterFlowTheme.of(context)
.bodyMedium
.override(
fontFamily: 'Inter',
color: Color(0xFFE0E2E4),
fontSize: AppConstants()
.title_text_fontSize,
letterSpacing: 0.0,
ClickableContainer(
backgroundColor: Colors.transparent, // 容器背景色
highlightColor: Colors.orange, // 点击时的背景色
padding: EdgeInsetsDirectional.fromSTEB(
0.rpx, 0.rpx, 0.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: [
SvgPicture.asset(
'assets/img/icon/like.svg',
width: 25.rpx,
height:
25.rpx, // 如果 SVG 中没有固定颜色,可以这样设置
color: stringToColor("#00C1AA"),
),
),
].divide(SizedBox(width: 22.rpx)),
Text(
'关注我们'.tr,
style: FlutterFlowTheme.of(context)
.bodyMedium
.override(
fontFamily: 'Inter',
color: Color(0xFFE0E2E4),
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: Colors.white,
),
],
),
),
SvgPicture.asset(
'assets/img/icon/arrow_right.svg',
width: 8.rpx,
height: 15.rpx, // 如果 SVG 中没有固定颜色,可以这样设置
),
],
),
),
Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Row(
mainAxisSize: MainAxisSize.max,
children: [
SvgPicture.asset(
'assets/img/icon/version.svg',
width: 25.rpx,
height: 25.rpx, // 如果 SVG 中没有固定颜色,可以这样设置
),
Text(
'我的.当前版本'.tr,
style: FlutterFlowTheme.of(context)
.bodyMedium
.override(
fontFamily: 'Inter',
color: Color(0xFFE0E2E4),
fontSize: AppConstants()
.title_text_fontSize,
letterSpacing: 0.0,
ClickableContainer(
backgroundColor: Colors.transparent, // 容器背景色
highlightColor: Colors.orange, // 点击时的背景色
padding: EdgeInsetsDirectional.fromSTEB(
0.rpx, 0.rpx, 0.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: [
SvgPicture.asset(
'assets/img/icon/version.svg',
width: 25.rpx,
height:
25.rpx, // 如果 SVG 中没有固定颜色,可以这样设置
color: stringToColor("#00C1AA"),
),
),
].divide(SizedBox(width: 22.rpx)),
),
Row(
mainAxisSize: MainAxisSize.max,
children: [
Text(
'3.61.0',
style: FlutterFlowTheme.of(context)
.bodyMedium
.override(
fontFamily: 'Inter',
color: Color(0xFFD9E3EB),
fontSize: 26.rpx,
letterSpacing: 0.0,
Text(
'我的.当前版本'.tr,
style: FlutterFlowTheme.of(context)
.bodyMedium
.override(
fontFamily: 'Inter',
color: Color(0xFFE0E2E4),
fontSize: AppConstants()
.title_text_fontSize,
letterSpacing: 0.0,
),
),
),
SvgPicture.asset(
'assets/img/icon/arrow_right.svg',
width: 8.rpx,
height: 15.rpx, // 如果 SVG 中没有固定颜色,可以这样设置
),
].divide(SizedBox(width: 28.rpx)),
].divide(SizedBox(width: 22.rpx)),
),
Row(
mainAxisSize: MainAxisSize.max,
children: [
Text(
'3.61.0',
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: Colors.white,
),
].divide(SizedBox(width: 28.rpx)),
),
],
),
),
],
),
),
]
.divide(SizedBox(height: 60.rpx))
.addToStart(SizedBox(height: 60.rpx))
.addToEnd(SizedBox(height: 60.rpx)),
.divide(SizedBox(height: 0.rpx))
.addToStart(SizedBox(height: 30.rpx))
.addToEnd(SizedBox(height: 30.rpx)),
),
),
),