375 lines
19 KiB
Dart
375 lines
19 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/controller/main_bottom/global_controller.dart';
|
|
import 'package:vbvs_app/controller/user_info_controller.dart';
|
|
|
|
class MinePage extends StatefulWidget {
|
|
const MinePage({super.key});
|
|
|
|
@override
|
|
State<MinePage> createState() => _MinePageState();
|
|
}
|
|
|
|
class _MinePageState extends State<MinePage> {
|
|
GlobalController globalController = Get.find();
|
|
UserInfoController userInfoController = Get.find();
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return LayoutBuilder(
|
|
builder: (context, bodySize) => GestureDetector(
|
|
onTap: () => FocusScope.of(context).unfocus(),
|
|
child: Scaffold(
|
|
body: SafeArea(
|
|
top: true,
|
|
child: Container(
|
|
height: bodySize.maxHeight,
|
|
decoration: BoxDecoration(
|
|
image: DecorationImage(
|
|
image: AssetImage('assets/img/bgImage.png'), // 本地图片
|
|
fit: BoxFit.fill, // 填满整个 Container
|
|
),
|
|
),
|
|
child: Column(
|
|
mainAxisSize: MainAxisSize.max,
|
|
children: [
|
|
Container(
|
|
width: double.infinity,
|
|
decoration: BoxDecoration(
|
|
color: Color(0xFF242835),
|
|
borderRadius: BorderRadius.only(
|
|
bottomLeft: Radius.circular(
|
|
AppConstants().normal_container_radius),
|
|
bottomRight: Radius.circular(
|
|
AppConstants().normal_container_radius),
|
|
topLeft: Radius.circular(0.rpx),
|
|
topRight: Radius.circular(0.rpx),
|
|
),
|
|
),
|
|
child: Padding(
|
|
padding:
|
|
EdgeInsetsDirectional.fromSTEB(64.rpx, 0, 37.rpx, 0),
|
|
child: Column(
|
|
mainAxisSize: MainAxisSize.max,
|
|
children: [
|
|
Padding(
|
|
padding:
|
|
EdgeInsetsDirectional.fromSTEB(0, 65.rpx, 0, 0),
|
|
child: Row(
|
|
mainAxisSize: MainAxisSize.max,
|
|
mainAxisAlignment: MainAxisAlignment.end,
|
|
children: [
|
|
SvgPicture.asset(
|
|
'assets/img/icon/earphone.svg',
|
|
width: 29.rpx,
|
|
height: 29.rpx, // 如果 SVG 中没有固定颜色,可以这样设置
|
|
),
|
|
SvgPicture.asset(
|
|
'assets/img/icon/setting.svg',
|
|
width: 29.rpx,
|
|
height: 29.rpx, // 如果 SVG 中没有固定颜色,可以这样设置
|
|
),
|
|
].divide(SizedBox(width: 60.rpx)),
|
|
),
|
|
),
|
|
Padding(
|
|
padding: EdgeInsetsDirectional.fromSTEB(
|
|
0, 50.rpx, 0, 66.rpx),
|
|
child: Row(
|
|
mainAxisSize: MainAxisSize.max,
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
children: [
|
|
Row(
|
|
mainAxisSize: MainAxisSize.max,
|
|
children: [
|
|
Container(
|
|
width: 120.rpx,
|
|
height: 120.rpx,
|
|
clipBehavior: Clip.antiAlias,
|
|
decoration: BoxDecoration(
|
|
shape: BoxShape.circle,
|
|
),
|
|
child: Image.network(
|
|
'https://picsum.photos/seed/270/600',
|
|
fit: BoxFit.cover,
|
|
),
|
|
),
|
|
Column(
|
|
mainAxisSize: MainAxisSize.max,
|
|
children: [
|
|
Text(
|
|
'Hello World',
|
|
style: FlutterFlowTheme.of(context)
|
|
.bodyMedium
|
|
.override(
|
|
fontFamily: 'Inter',
|
|
color: Color(0xFFEFF3F8),
|
|
fontSize: AppConstants()
|
|
.normal_text_fontSize,
|
|
letterSpacing: 0.0,
|
|
),
|
|
),
|
|
Text(
|
|
'Hello World',
|
|
style: FlutterFlowTheme.of(context)
|
|
.bodyMedium
|
|
.override(
|
|
fontFamily: 'Inter',
|
|
color: Color(0xFFEAEFF3),
|
|
fontSize: AppConstants()
|
|
.normal_text_fontSize,
|
|
letterSpacing: 0.0,
|
|
),
|
|
),
|
|
].divide(SizedBox(height: 20.rpx)),
|
|
),
|
|
].divide(SizedBox(width: 35.rpx)),
|
|
),
|
|
Row(
|
|
mainAxisSize: MainAxisSize.max,
|
|
children: [
|
|
Text(
|
|
'我的.个人信息'.tr,
|
|
style: FlutterFlowTheme.of(context)
|
|
.bodyMedium
|
|
.override(
|
|
fontFamily: 'Inter',
|
|
color: Color(0xFFE0E4E6),
|
|
fontSize: AppConstants()
|
|
.normal_text_fontSize,
|
|
letterSpacing: 0.0,
|
|
),
|
|
),
|
|
SvgPicture.asset(
|
|
'assets/img/icon/arrow_right.svg',
|
|
width: 8.rpx,
|
|
height: 14.rpx, // 如果 SVG 中没有固定颜色,可以这样设置
|
|
),
|
|
].divide(SizedBox(width: 16.rpx)),
|
|
),
|
|
],
|
|
),
|
|
),
|
|
],
|
|
),
|
|
),
|
|
),
|
|
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(
|
|
40.rpx, 0, 40.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,
|
|
),
|
|
),
|
|
].divide(SizedBox(width: 22.rpx)),
|
|
),
|
|
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,
|
|
),
|
|
),
|
|
].divide(SizedBox(width: 22.rpx)),
|
|
),
|
|
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,
|
|
),
|
|
),
|
|
].divide(SizedBox(width: 22.rpx)),
|
|
),
|
|
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,
|
|
),
|
|
),
|
|
].divide(SizedBox(width: 22.rpx)),
|
|
),
|
|
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,
|
|
),
|
|
),
|
|
].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 中没有固定颜色,可以这样设置
|
|
),
|
|
].divide(SizedBox(width: 28.rpx)),
|
|
),
|
|
],
|
|
),
|
|
]
|
|
.divide(SizedBox(height: 60.rpx))
|
|
.addToStart(SizedBox(height: 60.rpx))
|
|
.addToEnd(SizedBox(height: 60.rpx)),
|
|
),
|
|
),
|
|
),
|
|
),
|
|
],
|
|
),
|
|
),
|
|
),
|
|
),
|
|
),
|
|
);
|
|
}
|
|
}
|