更新沃棣背景适配

This commit is contained in:
wyf
2026-02-10 14:30:16 +08:00
parent 6709bcb446
commit d0ae2a9f76
70 changed files with 877 additions and 744 deletions

BIN
assets/img/wodiF.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

BIN
assets/img/wodi_bgImage.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

BIN
assets/img/wodi_bgNoImg.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

View File

@@ -1,10 +1,10 @@
class ServiceConstant {
// static const String baseHost = "zhmht.swes.com.cn:27021"; //服务地址 眠花糖测试地址
static String baseHost = "zhmht.swes.com.cn:27020"; //服务地址 眠花糖正式地址
static String baseHost = "zhmht.swes.com.cn:27020"; //服务地址 眠花糖正式地址
// static const String baseHost = "vsbs-test.he-info.cn"; //服务地址 本地测试地址
// static const String baseHost = "vsbst-api.he-info.com";//服务地址
// static const String service_address = "http://$baseHost";
static String service_address = "https://$baseHost";
static String service_address = "https://$baseHost";
static String server_service = "/vsbs_app_server"; //服务名称
@@ -51,17 +51,16 @@ class ServiceConstant {
static const String policy_url =
"https://vsbst-api.he-info.cn/vsbs_sotrage/privacy-scheme/"; //协议地址
static const String weather_url =
"/api/weather/info"; //天气信息
static const String weather_url = "/api/weather/info"; //天气信息
static const String app_system_push_message =
"/api/user/push/info"; //系统消息推送
static const String app_system_push_message = "/api/user/push/info"; //系统消息推送
static const String bgUrl =
"https://vsbst-api.he-info.cn/vsbs_sotrage/background-image/taihe.png";
static const String localTimeZone =
"/api/city/data/utc/info";
static const String localTimeZone = "/api/city/data/utc/info";
//todo 检查app更新
static const String checkAPPVersion =
"/api/app/update/check";
static const String checkAPPVersion = "/api/app/update/check";
//下发wifi控制指令
static const String sendWifiCommand = "/api/device/cmd/ttd";
}

View File

@@ -89,10 +89,11 @@ class AppConstants {
//系统参数
//运行打包APP模式
// int ent_type = APPPackageType.MHT.code; //1.默认太和 2.欢睡 3.眠花糖
int ent_type = APPPackageType.MHT.code; //1.默认太和 2.欢睡 3.眠花糖
// int ent_type = APPPackageType.TH.code; //1.默认太和 2.欢睡 3.眠花糖
// int ent_type = APPPackageType.HUANSHUI.code; //1.默认太和 2.欢睡 3.眠花糖
int ent_type = APPPackageType.DONGHUA.code; //1.默认太和 2.欢睡 3.眠花糖 4.东华
// int ent_type = APPPackageType.DONGHUA.code; //1.默认太和 2.欢睡 3.眠花糖 4.东华
// int ent_type = APPPackageType.HAIER.code; //1.默认太和 2.欢睡 3.眠花糖 4.东华 5.海尔沃棣
int text_length = 8;
int wifi1 = -45;
@@ -153,3 +154,56 @@ String getPrivacy(int type) {
"/th_user_policy_$language.html";
}
}
getBackgroundImage() {
if (AppConstants().ent_type == APPPackageType.HAIER.code) {
return "assets/img/wodi_bgImage.png";
}
return "assets/img/bgImage.png";
}
getBackgroundImageNoImage() {
if (AppConstants().ent_type == APPPackageType.HAIER.code) {
return 'assets/img/wodi_bgNoImg.png';
// return 'assets/img/bgNoImg.png';
}
return 'assets/img/bgNoImg.png';
}
bool isHaveProvicy() {
int entType = AppConstants().ent_type;
// 将 int 转换为枚举
APPPackageType? packageType;
for (var type in APPPackageType.values) {
if (type.code == entType) {
packageType = type;
break;
}
}
if (packageType == null) {
return false;
}
return packageType.havePrivay;
}
bool isHaveBeiAn() {
int entType = AppConstants().ent_type;
// 将 int 转换为枚举
APPPackageType? packageType;
for (var type in APPPackageType.values) {
if (type.code == entType) {
packageType = type;
break;
}
}
if (packageType == null) {
return false;
}
return packageType.haveBeiAn;
}

View File

@@ -1,13 +1,15 @@
enum APPPackageType {
TH(1, '太和'),
HUANSHUI(2, '欢睡'),
MHT(3, '眠花糖'),
DONGHUA(4, '东华'),
HAIER(5, '海尔'),
TH(1, '太和',true,true),
HUANSHUI(2, '欢睡',true,true),
MHT(3, '眠花糖',true,true),
DONGHUA(4, '东华',true,true),
HAIER(5, '沃棣',false,false),
;
final int code;
final String description;
final int code;//
final String description;//描述
final bool havePrivay;//是否有隐私协议和用户协议
final bool haveBeiAn;//是否备案
const APPPackageType(this.code, this.description);
const APPPackageType(this.code, this.description,this.havePrivay,this.haveBeiAn);
}

View File

@@ -141,12 +141,12 @@ Future<void> main() async {
void initServiceAddress() {
if (AppConstants().ent_type == APPPackageType.MHT.code) {
// 眠花糖
ServiceConstant.baseHost = "zhmht.swes.com.cn:27020";
// ServiceConstant.baseHost = "vsbs-test.he-info.cn";
// ServiceConstant.baseHost = "zhmht.swes.com.cn:27020";
ServiceConstant.baseHost = "vsbs-test.he-info.cn";
} else if (AppConstants().ent_type == APPPackageType.TH.code) {
// 太和
ServiceConstant.baseHost = "vsbst-api.he-info.com";
// ServiceConstant.baseHost = "vsbs-test.he-info.cn";
// ServiceConstant.baseHost = "vsbst-api.he-info.com";
ServiceConstant.baseHost = "vsbs-test.he-info.cn";
} else if (AppConstants().ent_type == APPPackageType.DONGHUA.code) {
ServiceConstant.baseHost = "vsbst-api.he-info.com";
} else {

View File

@@ -254,7 +254,7 @@ class _BodyDevicePageState extends State<BodyDeviceWidget> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'),
image: AssetImage(getBackgroundImageNoImage()),
fit: BoxFit.fill,
),
),
@@ -262,7 +262,7 @@ class _BodyDevicePageState extends State<BodyDeviceWidget> {
resizeToAvoidBottomInset: false,
backgroundColor: Colors.transparent,
appBar: AppBar(
backgroundColor: themeController.currentColor.sc17,
backgroundColor: themeController.currentColor.sc5,
automaticallyImplyLeading: false,
iconTheme: IconThemeData(
color: themeController.currentColor.sc3,

View File

@@ -207,7 +207,7 @@ class _MessageSettingPageState extends State<MessageSettingPage> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'),
image: AssetImage(getBackgroundImageNoImage()),
fit: BoxFit.fill,
),
),

View File

@@ -204,7 +204,7 @@ class _MessageSettingPageState extends State<SingleMessageSetting> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'),
image: AssetImage(getBackgroundImageNoImage()),
fit: BoxFit.fill,
),
),

View File

@@ -365,7 +365,7 @@ class _BodyDevicePageState extends State<BodyDeviceWidgetCopy>
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'),
image: AssetImage(getBackgroundImageNoImage()),
fit: BoxFit.fill,
),
),

View File

@@ -39,7 +39,7 @@ class _DeviceDetailPageState extends State<DeviceDetailPage> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'), // 本地图片
image: AssetImage(getBackgroundImageNoImage()), // 本地图片
fit: BoxFit.fill, // 填满整个 Container
),
),

View File

@@ -191,7 +191,7 @@ class _InstantBodyPageState extends State<InstantBodyPage>
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'),
image: AssetImage(getBackgroundImageNoImage()),
fit: BoxFit.fill,
),
),

View File

@@ -42,7 +42,7 @@ class _MessageReviewPageState extends State<MessageReviewPage> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'), // 本地图片
image: AssetImage(getBackgroundImageNoImage()), // 本地图片
fit: BoxFit.fill, // 填满整个 Container
),
),

View File

@@ -160,9 +160,9 @@ class THShareDeviceDetailWidget extends GetView {
return GestureDetector(
child: Container(
decoration: const BoxDecoration(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'), // 本地图片
image: AssetImage(getBackgroundImageNoImage()), // 本地图片
fit: BoxFit.fill,
),
),

View File

@@ -66,14 +66,14 @@ class _AfterCalibrationPersonPageState
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'),
image: AssetImage(getBackgroundImageNoImage()),
fit: BoxFit.fill,
),
),
child: Scaffold(
backgroundColor: Colors.transparent,
appBar: AppBar(
backgroundColor: themeController.currentColor.sc17,
backgroundColor: themeController.currentColor.sc5,
automaticallyImplyLeading: false,
iconTheme:
IconThemeData(color: themeController.currentColor.sc3),

View File

@@ -79,14 +79,14 @@ class _AfterUpdatePersonPageState extends State<AfterUpdatePersonPage> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'), // 本地图片
image: AssetImage(getBackgroundImageNoImage()), // 本地图片
fit: BoxFit.fill, // 填满整个 Container
),
),
child: Scaffold(
backgroundColor: Colors.transparent, // 加上这一行
appBar: AppBar(
backgroundColor: themeController.currentColor.sc17,
backgroundColor: themeController.currentColor.sc5,
automaticallyImplyLeading: false,
iconTheme: IconThemeData(
color: themeController.currentColor.sc3,

View File

@@ -77,14 +77,14 @@ class _AfterWifiPagePersonState extends State<AfterWifiPagePerson> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'), // 本地图片
image: AssetImage(getBackgroundImageNoImage()), // 本地图片
fit: BoxFit.fill, // 填满整个 Container
),
),
child: Scaffold(
backgroundColor: Colors.transparent, // 加上这一行
appBar: AppBar(
backgroundColor: themeController.currentColor.sc17,
backgroundColor: themeController.currentColor.sc5,
automaticallyImplyLeading: false,
iconTheme: IconThemeData(color: themeController.currentColor.sc3),
titleSpacing: 0,
@@ -1145,5 +1145,4 @@ class _AfterWifiPagePersonState extends State<AfterWifiPagePerson> {
onFailure: (res) {},
);
}
}

View File

@@ -41,14 +41,14 @@ class _EPageState extends State<BindDeviceSuccess> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'), // 本地图片
image: AssetImage(getBackgroundImageNoImage()), // 本地图片
fit: BoxFit.fill, // 填满整个 Container
),
),
child: Scaffold(
backgroundColor: Colors.transparent, // 加上这一行
appBar: AppBar(
backgroundColor: themeController.currentColor.sc17,
backgroundColor: themeController.currentColor.sc5,
automaticallyImplyLeading: false,
iconTheme: IconThemeData(
color: themeController.currentColor.sc3,

View File

@@ -357,7 +357,7 @@ class _BlueteethDevicePageState extends State<BlueteethDevicePage> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'), // 本地图片
image: AssetImage(getBackgroundImageNoImage()), // 本地图片
fit: BoxFit.fill, // 填满整个 Container
),
),
@@ -365,7 +365,7 @@ class _BlueteethDevicePageState extends State<BlueteethDevicePage> {
backgroundColor: Colors.transparent, // 加上这一行
appBar: AppBar(
iconTheme: IconThemeData(color: themeController.currentColor.sc3),
backgroundColor: themeController.currentColor.sc17,
backgroundColor: themeController.currentColor.sc5,
automaticallyImplyLeading: false,
titleSpacing: 0,
title: Container(
@@ -405,7 +405,7 @@ class _BlueteethDevicePageState extends State<BlueteethDevicePage> {
child: Container(
width: double.infinity,
decoration: BoxDecoration(
color: Color(0xFF242835),
color: themeController.currentColor.sc5,
borderRadius: BorderRadius.circular(20.rpx),
),
child: Align(
@@ -429,7 +429,7 @@ class _BlueteethDevicePageState extends State<BlueteethDevicePage> {
Container(
width: double.infinity,
decoration: BoxDecoration(
color: Color(0xFF242835),
color: themeController.currentColor.sc5,
borderRadius: BorderRadius.circular(20.rpx),
),
child: Padding(
@@ -544,7 +544,8 @@ class _BlueteethDevicePageState extends State<BlueteethDevicePage> {
fontFamily: 'Inter',
fontSize: 26.rpx,
letterSpacing: 0.0,
color: themeController.currentColor.sc4,
color: themeController
.currentColor.sc4,
),
enabledBorder: OutlineInputBorder(
borderSide: BorderSide(

View File

@@ -184,7 +184,7 @@
// child: Container(
// decoration: BoxDecoration(
// image: DecorationImage(
// image: AssetImage('assets/img/bgNoImg.png'),
// image: AssetImage(getBackgroundImageNoImage()),
// fit: BoxFit.fill,
// ),
// ),

View File

@@ -490,7 +490,7 @@ void showConfirmDialog(
blurSigma: 3.0,
child: Container(
decoration: BoxDecoration(
color: themeController.currentColor.sc17,
color: themeController.currentColor.sc5,
borderRadius: BorderRadius.circular(20.0),
),
padding: EdgeInsetsDirectional.fromSTEB(31.rpx, 0, 31.rpx, 0),

View File

@@ -65,14 +65,14 @@ class _CalibrationPageState extends State<CalibrationPage> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'),
image: AssetImage(getBackgroundImageNoImage()),
fit: BoxFit.fill,
),
),
child: Scaffold(
backgroundColor: Colors.transparent,
appBar: AppBar(
backgroundColor: themeController.currentColor.sc17,
backgroundColor: themeController.currentColor.sc5,
automaticallyImplyLeading: false,
iconTheme:
IconThemeData(color: themeController.currentColor.sc3),

View File

@@ -54,14 +54,14 @@ class _CalibrationPageState extends State<CalibrationPage> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'),
image: AssetImage(getBackgroundImageNoImage()),
fit: BoxFit.fill,
),
),
child: Scaffold(
backgroundColor: Colors.transparent,
appBar: AppBar(
backgroundColor: themeController.currentColor.sc17,
backgroundColor: themeController.currentColor.sc5,
automaticallyImplyLeading: false,
iconTheme:
IconThemeData(color: themeController.currentColor.sc3),

View File

@@ -64,14 +64,14 @@ class _CalibrationPersonPageState extends State<CalibrationPersonPage> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'),
image: AssetImage(getBackgroundImageNoImage()),
fit: BoxFit.fill,
),
),
child: Scaffold(
backgroundColor: Colors.transparent,
appBar: AppBar(
backgroundColor: themeController.currentColor.sc17,
backgroundColor: themeController.currentColor.sc5,
automaticallyImplyLeading: false,
iconTheme:
IconThemeData(color: themeController.currentColor.sc3),

View File

@@ -50,7 +50,7 @@ class _DeviceShareListPageState extends State<DeviceShareListPage> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'), // 本地图片
image: AssetImage(getBackgroundImageNoImage()), // 本地图片
fit: BoxFit.fill, // 填满整个 Container
),
),
@@ -464,8 +464,10 @@ class _DeviceShareListPageState extends State<DeviceShareListPage> {
? SingleChildScrollView(
child: Column(
children: list
.map((item) =>
DeviceShareInfoWidget(data: item,device: widget.device,))
.map((item) => DeviceShareInfoWidget(
data: item,
device: widget.device,
))
.toList()
.divide(SizedBox(height: 30.rpx))
.addToEnd(SizedBox(height: 30.rpx)),

View File

@@ -44,14 +44,14 @@ class _DeviceSharePageState extends State<DeviceSharePage> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'),
image: AssetImage(getBackgroundImageNoImage()),
fit: BoxFit.fill,
),
),
child: Scaffold(
backgroundColor: Colors.transparent,
appBar: AppBar(
backgroundColor: themeController.currentColor.sc17,
backgroundColor: themeController.currentColor.sc5,
automaticallyImplyLeading: false,
iconTheme: IconThemeData(color: themeController.currentColor.sc3),
titleSpacing: 0,

View File

@@ -299,14 +299,14 @@ class _EPageState extends State<DeviceTypePage> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'), // 本地图片
image: AssetImage(getBackgroundImageNoImage()), // 本地图片
fit: BoxFit.fill, // 填满整个 Container
),
),
child: Scaffold(
backgroundColor: Colors.transparent, // 加上这一行
appBar: AppBar(
backgroundColor: themeController.currentColor.sc17,
backgroundColor: themeController.currentColor.sc5,
// backgroundColor: Colors.transparent,
automaticallyImplyLeading: false,
iconTheme: IconThemeData(color: themeController.currentColor.sc3),
@@ -403,7 +403,7 @@ class _EPageState extends State<DeviceTypePage> {
}
}
},
colors: [themeController.currentColor.sc17], // 背景色
colors: [themeController.currentColor.sc5], // 背景色
child: Container(
width: double.infinity,
height: MediaQuery.sizeOf(context).height * 0.135,

View File

@@ -1,5 +1,6 @@
import 'package:ef/ef.dart';
import 'package:flutter/material.dart';
import 'package:vbvs_app/common/color/appConstants.dart';
import 'package:vbvs_app/common/color/app_uri_status.dart';
import 'package:vbvs_app/common/util/FitTool.dart';
import 'package:vbvs_app/common/util/MyUtils.dart';
@@ -49,14 +50,14 @@ class _DeviceTypeListPageState extends State<DeviceTypeListPage> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'), // 本地图片
image: AssetImage(getBackgroundImageNoImage()), // 本地图片
fit: BoxFit.fill, // 填满整个 Container
),
),
child: Scaffold(
backgroundColor: Colors.transparent, // 加上这一行
appBar: AppBar(
backgroundColor: themeController.currentColor.sc17,
backgroundColor: themeController.currentColor.sc5,
// backgroundColor: Colors.transparent,
automaticallyImplyLeading: false,
iconTheme: IconThemeData(color: themeController.currentColor.sc3),
@@ -154,7 +155,7 @@ class _DeviceTypeListPageState extends State<DeviceTypeListPage> {
}
}
},
colors: [themeController.currentColor.sc17], // 背景色
colors: [themeController.currentColor.sc5], // 背景色
child: Container(
width: double.infinity,
height: MediaQuery.sizeOf(context).height * 0.135,

View File

@@ -148,14 +148,14 @@ class _WifiPageState extends State<WifiPage> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'), // 本地图片
image: AssetImage(getBackgroundImageNoImage()), // 本地图片
fit: BoxFit.fill, // 填满整个 Container
),
),
child: Scaffold(
backgroundColor: Colors.transparent, // 加上这一行
appBar: AppBar(
backgroundColor: themeController.currentColor.sc17,
backgroundColor: themeController.currentColor.sc5,
automaticallyImplyLeading: false,
iconTheme: IconThemeData(color: themeController.currentColor.sc3),
titleSpacing: 0,
@@ -281,7 +281,8 @@ class _WifiPageState extends State<WifiPage> {
child: Container(
width: double.infinity,
decoration: BoxDecoration(
color: Color(0xFF242835),
// color: Color(0xFF242835),
color: themeController.currentColor.sc5,
borderRadius: BorderRadius.circular(20.rpx),
),
child: Column(

View File

@@ -93,14 +93,14 @@ class _WifiPagePersonState extends State<WifiPagePerson> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'), // 本地图片
image: AssetImage(getBackgroundImageNoImage()), // 本地图片
fit: BoxFit.fill, // 填满整个 Container
),
),
child: Scaffold(
backgroundColor: Colors.transparent, // 加上这一行
appBar: AppBar(
backgroundColor: themeController.currentColor.sc17,
backgroundColor: themeController.currentColor.sc5,
automaticallyImplyLeading: false,
iconTheme: IconThemeData(color: themeController.currentColor.sc3),
titleSpacing: 0,

View File

@@ -23,9 +23,9 @@ class LogoutPage extends GetView {
return GestureDetector(
// onTap: () => FocusScope.of(context).unfocus(),,
child: Container(
decoration: const BoxDecoration(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'), // 本地图片
image: AssetImage(getBackgroundImageNoImage()), // 本地图片
fit: BoxFit.fill, // 填满整个 Container
),
),

View File

@@ -91,7 +91,7 @@ class _EPageState extends State<LoginPage> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgImage.png'), // 本地图片
image: AssetImage(getBackgroundImage()), // 本地图片
fit: BoxFit.fill, // 填满整个 Container
),
),

View File

@@ -135,7 +135,7 @@ class _OtherLoginPageState extends State<OtherLoginPage> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgImage.png'), // 本地图片
image: AssetImage(getBackgroundImage()), // 本地图片
fit: BoxFit.fill, // 填满整个 Container
),
),
@@ -613,7 +613,7 @@ class _OtherLoginPageState extends State<OtherLoginPage> {
.sc9,
);
await DailyLogUtils.writeLog(
"获取验证码成功,${apiResponse}");
"获取验证码失败,${apiResponse}");
return;
} else {
TopSlideNotification.show(
@@ -624,8 +624,9 @@ class _OtherLoginPageState extends State<OtherLoginPage> {
.currentColor
.sc2,
);
await DailyLogUtils.writeLog(
"获取验证码失败,${apiResponse}");
"获取验证码成功,${apiResponse}");
}
countdownController
.countdown

View File

@@ -59,7 +59,7 @@
// final backgroundImage = showNoLoginView
// ? 'assets/img/xiaoe.png' // 无设备或无登录时的背景
// : 'assets/img/bgNoImg.png';
// : getBackgroundImageNoImage();
// return Stack(
// children: [
@@ -308,7 +308,8 @@ class _EPageState extends State<EPage> with AutomaticKeepAliveClientMixin {
// 2. 创建临时目录并解压 ZIP
_tempExtractDir = await Directory.systemTemp.createTemp('xiaoe_web_');
final bool extractSuccess = await _extractZipToDirectory(zipBytes, _tempExtractDir!);
final bool extractSuccess =
await _extractZipToDirectory(zipBytes, _tempExtractDir!);
if (!extractSuccess) {
serverError.value = '解压小e资源文件失败';
@@ -330,9 +331,8 @@ class _EPageState extends State<EPage> with AutomaticKeepAliveClientMixin {
);
// 5. 添加日志中间件(可选)
final handler = Pipeline()
.addMiddleware(logRequests())
.addHandler(staticHandler);
final handler =
Pipeline().addMiddleware(logRequests()).addHandler(staticHandler);
// 6. 启动服务器(端口 0 表示自动分配)
_localServer = await io.serve(handler, InternetAddress.loopbackIPv4, 0);
@@ -344,7 +344,6 @@ class _EPageState extends State<EPage> with AutomaticKeepAliveClientMixin {
isServerStarting.value = false;
return true;
} catch (e, stackTrace) {
serverError.value = '启动本地服务器失败: $e';
print('服务器启动错误: $e\n$stackTrace');
@@ -353,7 +352,8 @@ class _EPageState extends State<EPage> with AutomaticKeepAliveClientMixin {
}
}
Future<bool> _extractZipToDirectory(Uint8List zipBytes, Directory targetDir) async {
Future<bool> _extractZipToDirectory(
Uint8List zipBytes, Directory targetDir) async {
try {
// 解码 ZIP 文件
final Archive archive = ZipDecoder().decodeBytes(zipBytes);
@@ -401,7 +401,8 @@ class _EPageState extends State<EPage> with AutomaticKeepAliveClientMixin {
// 如果没有找到标准入口,查找任何 .html 文件
try {
final List<FileSystemEntity> entities = await dir.list(recursive: false).toList();
final List<FileSystemEntity> entities =
await dir.list(recursive: false).toList();
for (final entity in entities) {
if (entity is File && entity.path.toLowerCase().endsWith('.html')) {
return entity;
@@ -442,9 +443,9 @@ class _EPageState extends State<EPage> with AutomaticKeepAliveClientMixin {
return LayoutBuilder(
builder: (context, bodySize) => GestureDetector(
child: Container(
decoration: const BoxDecoration(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'),
image: AssetImage(getBackgroundImageNoImage()),
fit: BoxFit.fill,
),
),
@@ -723,16 +724,16 @@ class _EPageState extends State<EPage> with AutomaticKeepAliveClientMixin {
finalUri.value = baseUrl + queryParams;
print('最终加载 URL: ${finalUri.value}');
} else {
// API 调用失败,使用基础 URL
finalUri.value = '$_localServerUrl?t=${DateTime.now().millisecondsSinceEpoch}';
finalUri.value =
'$_localServerUrl?t=${DateTime.now().millisecondsSinceEpoch}';
}
} catch (e) {
print('获取设备列表失败: $e');
// 出错时仍然加载基础页面
finalUri.value = '$_localServerUrl?t=${DateTime.now().millisecondsSinceEpoch}';
finalUri.value =
'$_localServerUrl?t=${DateTime.now().millisecondsSinceEpoch}';
}
}
}

View File

@@ -63,7 +63,7 @@ class _EPageState extends State<EPage> with AutomaticKeepAliveClientMixin {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'),
image: AssetImage(getBackgroundImageNoImage()),
fit: BoxFit.fill,
),
),

View File

@@ -233,9 +233,9 @@ class _EPageState extends State<EPage> with AutomaticKeepAliveClientMixin {
return LayoutBuilder(
builder: (context, bodySize) => GestureDetector(
child: Container(
decoration: const BoxDecoration(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'),
image: AssetImage(getBackgroundImageNoImage()),
fit: BoxFit.fill,
),
),

View File

@@ -38,10 +38,16 @@ class _FollowPageState extends State<FollowPage> {
// fit: BoxFit.contain, // 填满整个 Container
// ),
// ),
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage(getBackgroundImageNoImage()), // 本地图片
fit: BoxFit.fill, // 填满整个 Container
),
),
child: Scaffold(
backgroundColor: Colors.transparent, // 加上这一行
appBar: AppBar(
backgroundColor: themeController.currentColor.sc17,
backgroundColor: themeController.currentColor.sc5,
// backgroundColor: Colors.transparent,
automaticallyImplyLeading: false,
iconTheme: IconThemeData(color: themeController.currentColor.sc3),
@@ -108,6 +114,7 @@ class _FollowPageState extends State<FollowPage> {
1: 'assets/img/followus.png',
2: 'assets/img/huanshuiF.png',
4: 'assets/img/donghuaF.png',
5: 'assets/img/wodiF.png',
// 后面继续加
};

View File

@@ -40,7 +40,7 @@ class _HelpPageState extends State<HelpPage> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'), // 本地图片
image: AssetImage(getBackgroundImageNoImage()), // 本地图片
fit: BoxFit.fill, // 填满整个 Container
),
),

View File

@@ -236,7 +236,7 @@ class _HomePageState extends State<HomePage> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgImage.png'), // 本地图片
image: AssetImage(getBackgroundImage()), // 本地图片
fit: BoxFit.fill, // 填满整个 Container
),
),

View File

@@ -259,9 +259,9 @@ class MainPageBottomChange extends GetView<MainPageController> {
);
} else {
return Container(
decoration: const BoxDecoration(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgImage.png'),
image: AssetImage(getBackgroundImage()),
fit: BoxFit.fill,
),
),

View File

@@ -565,7 +565,7 @@ class MainPageBottomChange extends GetView<MainPageController> {
@override
Widget build(BuildContext context) {
if (AppConstants().ent_type != APPPackageType.MHT.code) {
if (AppConstants().ent_type != APPPackageType.MHT.code && isShowPrivacyOriginFromTHAPP()) {
Future.delayed(const Duration(milliseconds: 0), () {
String? isShowYingShiDialog = getStorage.read("isShowYingShiDialog");
if (isShowYingShiDialog == null || isShowYingShiDialog != "true") {
@@ -673,9 +673,9 @@ class MainPageBottomChange extends GetView<MainPageController> {
);
} else {
return Container(
decoration: const BoxDecoration(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgImage.png'),
image: AssetImage(getBackgroundImage()),
fit: BoxFit.fill,
),
),
@@ -773,4 +773,15 @@ class MainPageBottomChange extends GetView<MainPageController> {
return true;
}
}
//太和e护衍生app是否显示协议
bool isShowPrivacyOriginFromTHAPP() {
if (AppConstants().ent_type == APPPackageType.TH.code) {
return true;
}
if (AppConstants().ent_type == APPPackageType.DONGHUA.code) {
return true;
}
return false;
}
}

View File

@@ -101,9 +101,9 @@ class _MessagePageState extends State<MessagePage> {
builder: (context, boxConstraints) => GestureDetector(
// onTap: () => FocusScope.of(context).unfocus(),,
child: Container(
decoration: const BoxDecoration(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'),
image: AssetImage(getBackgroundImageNoImage()),
fit: BoxFit.fill,
),
),

View File

@@ -91,9 +91,9 @@ class _MessageReturnPageState extends State<MessageReturnPage> {
builder: (context, boxConstraints) => GestureDetector(
// onTap: () => FocusScope.of(context).unfocus(),,
child: Container(
decoration: const BoxDecoration(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'),
image: AssetImage(getBackgroundImageNoImage()),
fit: BoxFit.fill,
),
),

View File

@@ -47,7 +47,7 @@ class _MinePageState extends State<MinePage> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgImage.png'), // 本地图片
image: AssetImage(getBackgroundImage()), // 本地图片
fit: BoxFit.fill, // 填满整个 Container
),
),
@@ -307,7 +307,8 @@ class _MinePageState extends State<MinePage> {
child: Container(
width: double.infinity,
decoration: BoxDecoration(
color: Color(0xFF242835),
// color: Color(0xFF242835),
color: themeController.currentColor.sc5,
borderRadius: BorderRadius.circular(
AppConstants().normal_container_radius),
),

View File

@@ -428,27 +428,29 @@ class MHTBlueToothController extends GetControllerEx<MHTBlueToothModel> {
if (Base64Tool.decode(commandData['data']) != "FFFFFFFF00031000010014FD" &&
Base64Tool.decode(commandData['data']).length <= 24) {
ef.log("下发指令: ${Base64Tool.decode(commandData['data'])}");
commandData['wfr'] = false;
//todo 填充蓝牙指令
String serviceAddress = ServiceConstant.service_address;
String serviceName = ServiceConstant.server_service;
String serviceApi = ServiceConstant.sendWifiCommand;
String queryUrl = "${serviceAddress}${serviceName}${serviceApi}";
await requestWithLog(
logTitle: "下发wifi控制指令",
method: MyHttpMethod.post,
queryUrl: queryUrl,
data: commandData,
onSuccess: (res) {
ef.log("下发指令成功: ${res.msg}");
},
onFailure: (res) {
throw "下发wifi控制指令失败: ${res.msg}";
},
);
} else {
// ef.log("下发指令: ${Base64Tool.decode(commandData['data'])}");
}
ef.log("全部指令");
commandData['wfr'] = false;
commandData['type'] = 0; //0 base64数据 1 二进制数据
String serviceAddress = ServiceConstant.service_address;
String serviceName = ServiceConstant.server_service;
String serviceApi = ServiceConstant.sendWifiCommand;
String queryUrl = "${serviceAddress}${serviceName}${serviceApi}";
await requestWithLog(
logTitle: "下发wifi控制指令",
method: MyHttpMethod.post,
queryUrl: queryUrl,
data: commandData,
onSuccess: (res) {
ef.log("下发指令成功: ${res.msg}");
},
onFailure: (res) {
ef.log("下发指令失败: ${res.msg}");
throw "下发wifi控制指令失败: ${res.msg}";
},
);
}
//todo 解绑的时候删除自己所拥有的所有设备的睡眠习惯

View File

@@ -422,7 +422,9 @@ class WebviewTestController extends GetControllerEx<WebviewTestModel> {
ef.log("ws =>$x");
if (x == EasywsState.connected) {
try {
if (lastSelectDevice != null && lastSelectDevice.isNotEmpty) {
if (lastSelectDevice != null &&
lastSelectDevice.isNotEmpty &&
lastSelectDevice['mac'] != selectDevice['mac']) {
List<String?> oldMacList = [
lastSelectDevice['bind_mac_a'],
lastSelectDevice['bind_mac_b'],

View File

@@ -81,7 +81,7 @@ class _EPageState extends State<PersonPage> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'), // 本地图片
image: AssetImage(getBackgroundImageNoImage()), // 本地图片
fit: BoxFit.fill, // 填满整个 Container
),
),
@@ -89,7 +89,7 @@ class _EPageState extends State<PersonPage> {
resizeToAvoidBottomInset: false,
backgroundColor: Colors.transparent, // 加上这一行
appBar: AppBar(
backgroundColor: themeController.currentColor.sc17,
backgroundColor: themeController.currentColor.sc5,
automaticallyImplyLeading: false,
iconTheme: IconThemeData(
color: themeController.currentColor.sc3,
@@ -785,7 +785,6 @@ class _EPageState extends State<PersonPage> {
})),
),
),
Padding(
padding: EdgeInsetsDirectional.fromSTEB(
70.rpx, 25.rpx, 70.rpx, 0),

View File

@@ -69,7 +69,7 @@ class _UpdatePageState extends State<UpdatePersonPage> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'), // 本地图片
image: AssetImage(getBackgroundImageNoImage()), // 本地图片
fit: BoxFit.fill, // 填满整个 Container
),
),
@@ -77,7 +77,7 @@ class _UpdatePageState extends State<UpdatePersonPage> {
resizeToAvoidBottomInset: false,
backgroundColor: Colors.transparent, // 加上这一行
appBar: AppBar(
backgroundColor: themeController.currentColor.sc17,
backgroundColor: themeController.currentColor.sc5,
automaticallyImplyLeading: false,
iconTheme: IconThemeData(
color: themeController.currentColor.sc3,
@@ -835,7 +835,6 @@ class _UpdatePageState extends State<UpdatePersonPage> {
),
),
),
Padding(
padding: EdgeInsetsDirectional.fromSTEB(
70.rpx, 25.rpx, 70.rpx, 0),

View File

@@ -46,7 +46,7 @@ class _UserPrivacyNewPageState extends State<UserPrivacyNewPage> {
child: Container(
// decoration: BoxDecoration(
// image: DecorationImage(
// image: AssetImage('assets/img/bgNoImg.png'), // 本地图片
// image: AssetImage(getBackgroundImageNoImage()), // 本地图片
// fit: BoxFit.fill, // 填满整个 Container
// ),
// ),

View File

@@ -96,14 +96,14 @@ class _ApplyRepairPageState extends State<ApplyRepairPage> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'), // 本地图片
image: AssetImage(getBackgroundImageNoImage()), // 本地图片
fit: BoxFit.fill, // 填满整个 Container
),
),
child: Scaffold(
backgroundColor: Colors.transparent,
appBar: AppBar(
backgroundColor: themeController.currentColor.sc17,
backgroundColor: themeController.currentColor.sc5,
automaticallyImplyLeading: false,
iconTheme: IconThemeData(
color: themeController.currentColor.sc3,

View File

@@ -37,7 +37,7 @@ class _ApplyRepairSuccessState extends State<ApplyRepairSuccess> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'), // 本地图片
image: AssetImage(getBackgroundImageNoImage()), // 本地图片
fit: BoxFit.fill, // 填满整个 Container
),
),

View File

@@ -162,7 +162,6 @@ class _RepairHistoryInfoWidgetState extends State<RepairHistoryInfoWidget> {
style: TextStyle(
fontSize: 26.rpx,
letterSpacing: 0.0,
color: themeController.currentColor.sc3,
),
),
@@ -199,7 +198,6 @@ class _RepairHistoryInfoWidgetState extends State<RepairHistoryInfoWidget> {
style: TextStyle(
fontSize: 26.rpx,
letterSpacing: 0.0,
color: themeController.currentColor.sc3,
),
),

View File

@@ -69,14 +69,14 @@ class _RepairDetailPageState extends State<RepairDetailPage> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'),
image: AssetImage(getBackgroundImageNoImage()),
fit: BoxFit.fill,
),
),
child: Scaffold(
backgroundColor: Colors.transparent,
appBar: AppBar(
backgroundColor: themeController.currentColor.sc17,
backgroundColor: themeController.currentColor.sc5,
automaticallyImplyLeading: false,
iconTheme: IconThemeData(
color: themeController.currentColor.sc3,

View File

@@ -2,6 +2,7 @@ import 'package:ef/ef.dart';
import 'package:flutter/material.dart';
import 'package:flutterflow_ui/flutterflow_ui.dart';
import 'package:vbvs_app/common/color/ServiceConstant.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/common/util/requestWithLog.dart';
@@ -39,14 +40,14 @@ class _RepairListPageState extends State<RepairListPage> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'), // 本地图片
image: AssetImage(getBackgroundImageNoImage()), // 本地图片
fit: BoxFit.fill, // 填满整个 Container
),
),
child: Scaffold(
backgroundColor: Colors.transparent,
appBar: AppBar(
backgroundColor: themeController.currentColor.sc17,
backgroundColor: themeController.currentColor.sc5,
automaticallyImplyLeading: false,
iconTheme: IconThemeData(
color: themeController.currentColor.sc3,

View File

@@ -38,7 +38,7 @@ class _ThemeSettingState extends State<ThemeSetting> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'),
image: AssetImage(getBackgroundImageNoImage()),
fit: BoxFit.fill,
),
),

View File

@@ -121,14 +121,14 @@ class _CommonMessageSettingPageState extends State<CommonMessageSettingPage> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'),
image: AssetImage(getBackgroundImageNoImage()),
fit: BoxFit.fill,
),
),
child: Scaffold(
backgroundColor: Colors.transparent,
appBar: AppBar(
backgroundColor: themeController.currentColor.sc17,
backgroundColor: themeController.currentColor.sc5,
automaticallyImplyLeading: false,
iconTheme: IconThemeData(
color: themeController.currentColor.sc3,

View File

@@ -37,14 +37,14 @@ class _LanguageSettingState extends State<LanguageSetting> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'), // 本地图片
image: AssetImage(getBackgroundImageNoImage()), // 本地图片
fit: BoxFit.fill, // 填满整个 Container
),
),
child: Scaffold(
backgroundColor: Colors.transparent, // 加上这一行
appBar: AppBar(
backgroundColor: themeController.currentColor.sc17,
backgroundColor: themeController.currentColor.sc5,
automaticallyImplyLeading: false,
iconTheme: IconThemeData(
color: themeController.currentColor.sc3,
@@ -91,7 +91,7 @@ class _LanguageSettingState extends State<LanguageSetting> {
child: Container(
width: double.infinity,
decoration: BoxDecoration(
color: Color(0xFF242835),
color: themeController.currentColor.sc5,
borderRadius: BorderRadius.circular(
AppConstants().normal_container_radius),
),

View File

@@ -149,7 +149,8 @@ class _NewSleepReportPageState extends State<NewSleepReportPage> {
image: (widget.data['backgroundImg'] != null &&
widget.data['backgroundImg'].toString().isNotEmpty)
? AssetImage(widget.data['backgroundImg'])
: AssetImage('assets/img/bgNoImg.png') as ImageProvider,
: AssetImage(getBackgroundImageNoImage())
as ImageProvider,
fit: BoxFit.fill,
),
),

View File

@@ -1,6 +1,7 @@
import 'package:ef/ef.dart';
import 'package:flutter/material.dart';
import 'package:flutter_inappwebview/flutter_inappwebview.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/controller/device/blueteeth_bind_controller.dart';
@@ -46,7 +47,7 @@ class _SleepReportPageState extends State<SleepReportPage> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'), // 本地图片
image: AssetImage(getBackgroundImageNoImage()), // 本地图片
fit: BoxFit.fill, // 填满整个 Container
),
),

View File

@@ -1,5 +1,6 @@
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/WebViewWidget.dart';
@@ -23,7 +24,7 @@ class _AboutUsPageState extends State<AboutUsPage> {
// url: AppConstants().ent_type == 1
// ? "https://mp.weixin.qq.com/s/IAr4RNBy0hGJXGKyMxe7eQ"
// : "https://mp.weixin.qq.com/s/7BvvprVDqX1eOzM3Lms8dg",
url:widget.url,
url: widget.url,
onLoad: () {
print('网页载入完毕');
},
@@ -38,7 +39,7 @@ class _AboutUsPageState extends State<AboutUsPage> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'), // 本地图片
image: AssetImage(getBackgroundImageNoImage()), // 本地图片
fit: BoxFit.fill, // 填满整个 Container
),
),

View File

@@ -41,7 +41,7 @@ class _PrivacySchemePageState extends State<PrivacySchemePage> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'), // 本地图片
image: AssetImage(getBackgroundImageNoImage()), // 本地图片
fit: BoxFit.fill, // 填满整个 Container
),
),
@@ -93,12 +93,14 @@ class _PrivacySchemePageState extends State<PrivacySchemePage> {
Expanded(
child: Obx(() {
if (pdfController.localPdfPath.value == null) {
return Center(child:CircularProgressIndicator(
strokeWidth: 2,
valueColor: AlwaysStoppedAnimation<Color>(
themeController.currentColor.sc1,
),
),);
return Center(
child: CircularProgressIndicator(
strokeWidth: 2,
valueColor: AlwaysStoppedAnimation<Color>(
themeController.currentColor.sc1,
),
),
);
} else {
return PDFView(
filePath: pdfController.localPdfPath.value!,

File diff suppressed because it is too large Load Diff

View File

@@ -56,14 +56,14 @@ class _UpdateUserEmailPageState extends State<UpdateUserEmailPage> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'),
image: AssetImage(getBackgroundImageNoImage()),
fit: BoxFit.fill,
),
),
child: Scaffold(
backgroundColor: Colors.transparent,
appBar: AppBar(
backgroundColor: themeController.currentColor.sc17,
backgroundColor: themeController.currentColor.sc5,
automaticallyImplyLeading: false,
iconTheme: IconThemeData(
color: themeController.currentColor.sc3,
@@ -193,7 +193,7 @@ class _UpdateUserEmailPageState extends State<UpdateUserEmailPage> {
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(
AppConstants().normal_container_radius),
color: themeController.currentColor.sc17,
color: themeController.currentColor.sc5,
),
child: Column(
children: [

View File

@@ -106,14 +106,14 @@ class _UpdateUserPageState extends State<UpdateUserPage> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'),
image: AssetImage(getBackgroundImageNoImage()),
fit: BoxFit.fill,
),
),
child: Scaffold(
backgroundColor: Colors.transparent,
appBar: AppBar(
backgroundColor: themeController.currentColor.sc17,
backgroundColor: themeController.currentColor.sc5,
automaticallyImplyLeading: false,
iconTheme: IconThemeData(
color: themeController.currentColor.sc3,
@@ -379,7 +379,7 @@ class _UpdateUserPageState extends State<UpdateUserPage> {
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(
AppConstants().normal_container_radius),
color: themeController.currentColor.sc17,
color: themeController.currentColor.sc5,
),
child: Column(
children: [

View File

@@ -61,14 +61,14 @@ class _UpdateUserTelPageState extends State<UpdateUserTelPage> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'),
image: AssetImage(getBackgroundImageNoImage()),
fit: BoxFit.fill,
),
),
child: Scaffold(
backgroundColor: Colors.transparent,
appBar: AppBar(
backgroundColor: themeController.currentColor.sc17,
backgroundColor: themeController.currentColor.sc5,
automaticallyImplyLeading: false,
iconTheme: IconThemeData(
color: themeController.currentColor.sc3,
@@ -198,7 +198,7 @@ class _UpdateUserTelPageState extends State<UpdateUserTelPage> {
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(
AppConstants().normal_container_radius),
color: themeController.currentColor.sc17,
color: themeController.currentColor.sc5,
),
child: Column(
children: [
@@ -268,7 +268,6 @@ class _UpdateUserTelPageState extends State<UpdateUserTelPage> {
);
}),
),
SizedBox(
height: 30.rpx,
child: VerticalDivider(

View File

@@ -45,7 +45,7 @@ class _UserSchemePageState extends State<UserSchemePage> {
child: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'), // 本地图片
image: AssetImage(getBackgroundImageNoImage()), // 本地图片
fit: BoxFit.fill, // 填满整个 Container
),
),
@@ -98,12 +98,14 @@ class _UserSchemePageState extends State<UserSchemePage> {
Expanded(
child: Obx(() {
if (pdfController.localPdfPath.value == null) {
return Center(child:CircularProgressIndicator(
strokeWidth: 2,
valueColor: AlwaysStoppedAnimation<Color>(
themeController.currentColor.sc1,
),
),);
return Center(
child: CircularProgressIndicator(
strokeWidth: 2,
valueColor: AlwaysStoppedAnimation<Color>(
themeController.currentColor.sc1,
),
),
);
} else {
return PDFView(
filePath: pdfController.localPdfPath.value!,

View File

@@ -56,7 +56,7 @@ import 'package:EasyDartModule/EasyDartModule.dart' as edm;
// child: Container(
// decoration: BoxDecoration(
// image: DecorationImage(
// // image: AssetImage('assets/img/bgNoImg.png'), // 本地图片
// // image: AssetImage(getBackgroundImageNoImage()), // 本地图片
// image: AssetImage('assets/images/new_background.png'), // 本地图片
// fit: BoxFit.fill, // 填满整个 Container
// ),
@@ -363,8 +363,7 @@ class _XiaoEPageState extends State<XiaoEPage>
List<dynamic> rawList = res.data ?? [];
List<Map<String, dynamic>> newList = rawList.map((item) {
String mac = item['mac'] ?? '';
String name = (
item['name'] != null &&
String name = (item['name'] != null &&
item['name'].toString().trim().isNotEmpty)
? item['name'] + "_$mac"
: '未命名'.tr + "_$mac";