更新沃棣背景适配

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 { class ServiceConstant {
// static const String baseHost = "zhmht.swes.com.cn:27021"; //服务地址 眠花糖测试地址 // 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 = "vsbs-test.he-info.cn"; //服务地址 本地测试地址
// static const String baseHost = "vsbst-api.he-info.com";//服务地址 // static const String baseHost = "vsbst-api.he-info.com";//服务地址
// static const String service_address = "http://$baseHost"; // 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"; //服务名称 static String server_service = "/vsbs_app_server"; //服务名称
@@ -51,17 +51,16 @@ class ServiceConstant {
static const String policy_url = static const String policy_url =
"https://vsbst-api.he-info.cn/vsbs_sotrage/privacy-scheme/"; //协议地址 "https://vsbst-api.he-info.cn/vsbs_sotrage/privacy-scheme/"; //协议地址
static const String weather_url = static const String weather_url = "/api/weather/info"; //天气信息
"/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 = static const String bgUrl =
"https://vsbst-api.he-info.cn/vsbs_sotrage/background-image/taihe.png"; "https://vsbst-api.he-info.cn/vsbs_sotrage/background-image/taihe.png";
static const String localTimeZone = static const String localTimeZone = "/api/city/data/utc/info";
"/api/city/data/utc/info"; //todo 检查app更新
//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模式 //运行打包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.TH.code; //1.默认太和 2.欢睡 3.眠花糖
// int ent_type = APPPackageType.HUANSHUI.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 text_length = 8;
int wifi1 = -45; int wifi1 = -45;
@@ -153,3 +154,56 @@ String getPrivacy(int type) {
"/th_user_policy_$language.html"; "/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 { enum APPPackageType {
TH(1, '太和'), TH(1, '太和',true,true),
HUANSHUI(2, '欢睡'), HUANSHUI(2, '欢睡',true,true),
MHT(3, '眠花糖'), MHT(3, '眠花糖',true,true),
DONGHUA(4, '东华'), DONGHUA(4, '东华',true,true),
HAIER(5, '海尔'), HAIER(5, '沃棣',false,false),
; ;
final int code; final int code;//
final String description; 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() { void initServiceAddress() {
if (AppConstants().ent_type == APPPackageType.MHT.code) { if (AppConstants().ent_type == APPPackageType.MHT.code) {
// 眠花糖 // 眠花糖
ServiceConstant.baseHost = "zhmht.swes.com.cn:27020"; // ServiceConstant.baseHost = "zhmht.swes.com.cn:27020";
// ServiceConstant.baseHost = "vsbs-test.he-info.cn"; ServiceConstant.baseHost = "vsbs-test.he-info.cn";
} else if (AppConstants().ent_type == APPPackageType.TH.code) { } else if (AppConstants().ent_type == APPPackageType.TH.code) {
// 太和 // 太和
ServiceConstant.baseHost = "vsbst-api.he-info.com"; // ServiceConstant.baseHost = "vsbst-api.he-info.com";
// ServiceConstant.baseHost = "vsbs-test.he-info.cn"; ServiceConstant.baseHost = "vsbs-test.he-info.cn";
} else if (AppConstants().ent_type == APPPackageType.DONGHUA.code) { } else if (AppConstants().ent_type == APPPackageType.DONGHUA.code) {
ServiceConstant.baseHost = "vsbst-api.he-info.com"; ServiceConstant.baseHost = "vsbst-api.he-info.com";
} else { } else {

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -59,7 +59,7 @@
// final backgroundImage = showNoLoginView // final backgroundImage = showNoLoginView
// ? 'assets/img/xiaoe.png' // 无设备或无登录时的背景 // ? 'assets/img/xiaoe.png' // 无设备或无登录时的背景
// : 'assets/img/bgNoImg.png'; // : getBackgroundImageNoImage();
// return Stack( // return Stack(
// children: [ // children: [
@@ -257,7 +257,7 @@ class _EPageState extends State<EPage> with AutomaticKeepAliveClientMixin {
ValueNotifier<String> serverError = ValueNotifier<String>(''); ValueNotifier<String> serverError = ValueNotifier<String>('');
RxList deviceList = [].obs; RxList deviceList = [].obs;
RxString finalUri = RxString(''); RxString finalUri = RxString('');
// 本地服务器相关 // 本地服务器相关
HttpServer? _localServer; HttpServer? _localServer;
int _serverPort = 0; int _serverPort = 0;
@@ -294,7 +294,7 @@ class _EPageState extends State<EPage> with AutomaticKeepAliveClientMixin {
try { try {
isServerStarting.value = true; isServerStarting.value = true;
serverError.value = ''; serverError.value = '';
// 1. 从 assets 加载 ZIP 文件 // 1. 从 assets 加载 ZIP 文件
final ByteData zipData; final ByteData zipData;
try { try {
@@ -303,48 +303,47 @@ class _EPageState extends State<EPage> with AutomaticKeepAliveClientMixin {
serverError.value = '找不到小e资源文件: $e'; serverError.value = '找不到小e资源文件: $e';
return false; return false;
} }
final Uint8List zipBytes = zipData.buffer.asUint8List(); final Uint8List zipBytes = zipData.buffer.asUint8List();
// 2. 创建临时目录并解压 ZIP // 2. 创建临时目录并解压 ZIP
_tempExtractDir = await Directory.systemTemp.createTemp('xiaoe_web_'); _tempExtractDir = await Directory.systemTemp.createTemp('xiaoe_web_');
final bool extractSuccess = await _extractZipToDirectory(zipBytes, _tempExtractDir!); final bool extractSuccess =
await _extractZipToDirectory(zipBytes, _tempExtractDir!);
if (!extractSuccess) { if (!extractSuccess) {
serverError.value = '解压小e资源文件失败'; serverError.value = '解压小e资源文件失败';
return false; return false;
} }
// 3. 查找入口文件 (index.html) // 3. 查找入口文件 (index.html)
final File? entryFile = await _findEntryFile(_tempExtractDir!); final File? entryFile = await _findEntryFile(_tempExtractDir!);
if (entryFile == null) { if (entryFile == null) {
serverError.value = '找不到入口文件 (index.html)'; serverError.value = '找不到入口文件 (index.html)';
return false; return false;
} }
// 4. 创建静态文件处理器 // 4. 创建静态文件处理器
final staticHandler = createStaticHandler( final staticHandler = createStaticHandler(
_tempExtractDir!.path, _tempExtractDir!.path,
defaultDocument: 'index.html', defaultDocument: 'index.html',
serveFilesOutsidePath: false, serveFilesOutsidePath: false,
); );
// 5. 添加日志中间件(可选) // 5. 添加日志中间件(可选)
final handler = Pipeline() final handler =
.addMiddleware(logRequests()) Pipeline().addMiddleware(logRequests()).addHandler(staticHandler);
.addHandler(staticHandler);
// 6. 启动服务器(端口 0 表示自动分配) // 6. 启动服务器(端口 0 表示自动分配)
_localServer = await io.serve(handler, InternetAddress.loopbackIPv4, 0); _localServer = await io.serve(handler, InternetAddress.loopbackIPv4, 0);
_serverPort = _localServer!.port; _serverPort = _localServer!.port;
_localServerUrl = 'http://127.0.0.1:$_serverPort'; _localServerUrl = 'http://127.0.0.1:$_serverPort';
print('小e本地服务启动成功: $_localServerUrl'); print('小e本地服务启动成功: $_localServerUrl');
print('资源目录: ${_tempExtractDir!.path}'); print('资源目录: ${_tempExtractDir!.path}');
isServerStarting.value = false; isServerStarting.value = false;
return true; return true;
} catch (e, stackTrace) { } catch (e, stackTrace) {
serverError.value = '启动本地服务器失败: $e'; serverError.value = '启动本地服务器失败: $e';
print('服务器启动错误: $e\n$stackTrace'); print('服务器启动错误: $e\n$stackTrace');
@@ -353,27 +352,28 @@ class _EPageState extends State<EPage> with AutomaticKeepAliveClientMixin {
} }
} }
Future<bool> _extractZipToDirectory(Uint8List zipBytes, Directory targetDir) async { Future<bool> _extractZipToDirectory(
Uint8List zipBytes, Directory targetDir) async {
try { try {
// 解码 ZIP 文件 // 解码 ZIP 文件
final Archive archive = ZipDecoder().decodeBytes(zipBytes); final Archive archive = ZipDecoder().decodeBytes(zipBytes);
for (final ArchiveFile file in archive) { for (final ArchiveFile file in archive) {
final String filename = file.name; final String filename = file.name;
// 跳过目录条目(它们会通过文件创建自动生成) // 跳过目录条目(它们会通过文件创建自动生成)
if (file.isFile) { if (file.isFile) {
// 确保目录存在 // 确保目录存在
final String filePath = p.join(targetDir.path, filename); final String filePath = p.join(targetDir.path, filename);
final File outputFile = File(filePath); final File outputFile = File(filePath);
await outputFile.parent.create(recursive: true); await outputFile.parent.create(recursive: true);
// 写入文件内容 // 写入文件内容
final List<int> data = file.content as List<int>; final List<int> data = file.content as List<int>;
await outputFile.writeAsBytes(data, flush: true); await outputFile.writeAsBytes(data, flush: true);
} }
} }
print('解压完成,文件数量: ${archive.files.length}'); print('解压完成,文件数量: ${archive.files.length}');
return true; return true;
} catch (e, stackTrace) { } catch (e, stackTrace) {
@@ -391,17 +391,18 @@ class _EPageState extends State<EPage> with AutomaticKeepAliveClientMixin {
'main.html', 'main.html',
'default.html', 'default.html',
]; ];
for (final entry in possibleEntries) { for (final entry in possibleEntries) {
final File file = File(p.join(dir.path, entry)); final File file = File(p.join(dir.path, entry));
if (await file.exists()) { if (await file.exists()) {
return file; return file;
} }
} }
// 如果没有找到标准入口,查找任何 .html 文件 // 如果没有找到标准入口,查找任何 .html 文件
try { 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) { for (final entity in entities) {
if (entity is File && entity.path.toLowerCase().endsWith('.html')) { if (entity is File && entity.path.toLowerCase().endsWith('.html')) {
return entity; return entity;
@@ -410,7 +411,7 @@ class _EPageState extends State<EPage> with AutomaticKeepAliveClientMixin {
} catch (e) { } catch (e) {
print('查找入口文件失败: $e'); print('查找入口文件失败: $e');
} }
return null; return null;
} }
@@ -421,7 +422,7 @@ class _EPageState extends State<EPage> with AutomaticKeepAliveClientMixin {
_localServer = null; _localServer = null;
print('本地服务器已关闭'); print('本地服务器已关闭');
} }
// 清理临时目录 // 清理临时目录
if (_tempExtractDir != null && _tempExtractDir!.existsSync()) { if (_tempExtractDir != null && _tempExtractDir!.existsSync()) {
try { try {
@@ -442,9 +443,9 @@ class _EPageState extends State<EPage> with AutomaticKeepAliveClientMixin {
return LayoutBuilder( return LayoutBuilder(
builder: (context, bodySize) => GestureDetector( builder: (context, bodySize) => GestureDetector(
child: Container( child: Container(
decoration: const BoxDecoration( decoration: BoxDecoration(
image: DecorationImage( image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'), image: AssetImage(getBackgroundImageNoImage()),
fit: BoxFit.fill, fit: BoxFit.fill,
), ),
), ),
@@ -512,7 +513,7 @@ class _EPageState extends State<EPage> with AutomaticKeepAliveClientMixin {
), ),
); );
} }
return ValueListenableBuilder<String>( return ValueListenableBuilder<String>(
valueListenable: serverError, valueListenable: serverError,
builder: (context, error, child) { builder: (context, error, child) {
@@ -571,7 +572,7 @@ class _EPageState extends State<EPage> with AutomaticKeepAliveClientMixin {
), ),
); );
} }
return Obx(() { return Obx(() {
if (finalUri.isEmpty) { if (finalUri.isEmpty) {
return Center( return Center(
@@ -696,12 +697,12 @@ class _EPageState extends State<EPage> with AutomaticKeepAliveClientMixin {
// 构建最终 URL // 构建最终 URL
String baseUrl = _localServerUrl; String baseUrl = _localServerUrl;
String queryParams = '?t=${DateTime.now().millisecondsSinceEpoch}'; String queryParams = '?t=${DateTime.now().millisecondsSinceEpoch}';
if (deviceList.isNotEmpty) { if (deviceList.isNotEmpty) {
String personParam = Uri.encodeComponent(jsonEncode(deviceList)); String personParam = Uri.encodeComponent(jsonEncode(deviceList));
queryParams += '&person=$personParam'; queryParams += '&person=$personParam';
} }
// 添加语言参数 // 添加语言参数
String? language = ""; String? language = "";
// 这里保持你原来的语言逻辑 // 这里保持你原来的语言逻辑
@@ -720,19 +721,19 @@ class _EPageState extends State<EPage> with AutomaticKeepAliveClientMixin {
if (language != null && language.isNotEmpty) { if (language != null && language.isNotEmpty) {
queryParams += '&lang=$language'; queryParams += '&lang=$language';
} }
finalUri.value = baseUrl + queryParams; finalUri.value = baseUrl + queryParams;
print('最终加载 URL: ${finalUri.value}'); print('最终加载 URL: ${finalUri.value}');
} else { } else {
// API 调用失败,使用基础 URL // API 调用失败,使用基础 URL
finalUri.value = '$_localServerUrl?t=${DateTime.now().millisecondsSinceEpoch}'; finalUri.value =
'$_localServerUrl?t=${DateTime.now().millisecondsSinceEpoch}';
} }
} catch (e) { } catch (e) {
print('获取设备列表失败: $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( child: Container(
decoration: BoxDecoration( decoration: BoxDecoration(
image: DecorationImage( image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'), image: AssetImage(getBackgroundImageNoImage()),
fit: BoxFit.fill, fit: BoxFit.fill,
), ),
), ),
@@ -121,7 +121,7 @@ class _EPageState extends State<EPage> with AutomaticKeepAliveClientMixin {
if (deviceList.isEmpty) { if (deviceList.isEmpty) {
return GestureDetector( return GestureDetector(
onTap: () { onTap: () {
NewTopSlideNotification.show( NewTopSlideNotification.show(
text: "请先绑定设备".tr, text: "请先绑定设备".tr,
textColor: themeController.currentColor.sc9, textColor: themeController.currentColor.sc9,
); );

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -565,7 +565,7 @@ class MainPageBottomChange extends GetView<MainPageController> {
@override @override
Widget build(BuildContext context) { 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), () { Future.delayed(const Duration(milliseconds: 0), () {
String? isShowYingShiDialog = getStorage.read("isShowYingShiDialog"); String? isShowYingShiDialog = getStorage.read("isShowYingShiDialog");
if (isShowYingShiDialog == null || isShowYingShiDialog != "true") { if (isShowYingShiDialog == null || isShowYingShiDialog != "true") {
@@ -673,9 +673,9 @@ class MainPageBottomChange extends GetView<MainPageController> {
); );
} else { } else {
return Container( return Container(
decoration: const BoxDecoration( decoration: BoxDecoration(
image: DecorationImage( image: DecorationImage(
image: AssetImage('assets/img/bgImage.png'), image: AssetImage(getBackgroundImage()),
fit: BoxFit.fill, fit: BoxFit.fill,
), ),
), ),
@@ -773,4 +773,15 @@ class MainPageBottomChange extends GetView<MainPageController> {
return true; 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( builder: (context, boxConstraints) => GestureDetector(
// onTap: () => FocusScope.of(context).unfocus(),, // onTap: () => FocusScope.of(context).unfocus(),,
child: Container( child: Container(
decoration: const BoxDecoration( decoration: BoxDecoration(
image: DecorationImage( image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'), image: AssetImage(getBackgroundImageNoImage()),
fit: BoxFit.fill, fit: BoxFit.fill,
), ),
), ),

View File

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

View File

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

View File

@@ -247,7 +247,7 @@ class _CommonMessageSettingPageState
await commonMessageSettingController await commonMessageSettingController
.updateSleepNotify(val); .updateSleepNotify(val);
await commonMessageSettingController await commonMessageSettingController
.getAppSleepNotify(); .getAppSleepNotify();
commonMessageSettingController commonMessageSettingController
.updateAll(); .updateAll();
}, },

View File

@@ -428,27 +428,29 @@ class MHTBlueToothController extends GetControllerEx<MHTBlueToothModel> {
if (Base64Tool.decode(commandData['data']) != "FFFFFFFF00031000010014FD" && if (Base64Tool.decode(commandData['data']) != "FFFFFFFF00031000010014FD" &&
Base64Tool.decode(commandData['data']).length <= 24) { Base64Tool.decode(commandData['data']).length <= 24) {
ef.log("下发指令: ${Base64Tool.decode(commandData['data'])}"); 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 { } else {
// ef.log("下发指令: ${Base64Tool.decode(commandData['data'])}"); // 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 解绑的时候删除自己所拥有的所有设备的睡眠习惯 //todo 解绑的时候删除自己所拥有的所有设备的睡眠习惯

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -41,7 +41,7 @@ class _PrivacySchemePageState extends State<PrivacySchemePage> {
child: Container( child: Container(
decoration: BoxDecoration( decoration: BoxDecoration(
image: DecorationImage( image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'), // 本地图片 image: AssetImage(getBackgroundImageNoImage()), // 本地图片
fit: BoxFit.fill, // 填满整个 Container fit: BoxFit.fill, // 填满整个 Container
), ),
), ),
@@ -93,12 +93,14 @@ class _PrivacySchemePageState extends State<PrivacySchemePage> {
Expanded( Expanded(
child: Obx(() { child: Obx(() {
if (pdfController.localPdfPath.value == null) { if (pdfController.localPdfPath.value == null) {
return Center(child:CircularProgressIndicator( return Center(
strokeWidth: 2, child: CircularProgressIndicator(
valueColor: AlwaysStoppedAnimation<Color>( strokeWidth: 2,
themeController.currentColor.sc1, valueColor: AlwaysStoppedAnimation<Color>(
), themeController.currentColor.sc1,
),); ),
),
);
} else { } else {
return PDFView( return PDFView(
filePath: pdfController.localPdfPath.value!, 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( child: Container(
decoration: BoxDecoration( decoration: BoxDecoration(
image: DecorationImage( image: DecorationImage(
image: AssetImage('assets/img/bgNoImg.png'), image: AssetImage(getBackgroundImageNoImage()),
fit: BoxFit.fill, fit: BoxFit.fill,
), ),
), ),
child: Scaffold( child: Scaffold(
backgroundColor: Colors.transparent, backgroundColor: Colors.transparent,
appBar: AppBar( appBar: AppBar(
backgroundColor: themeController.currentColor.sc17, backgroundColor: themeController.currentColor.sc5,
automaticallyImplyLeading: false, automaticallyImplyLeading: false,
iconTheme: IconThemeData( iconTheme: IconThemeData(
color: themeController.currentColor.sc3, color: themeController.currentColor.sc3,
@@ -193,7 +193,7 @@ class _UpdateUserEmailPageState extends State<UpdateUserEmailPage> {
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: BorderRadius.circular( borderRadius: BorderRadius.circular(
AppConstants().normal_container_radius), AppConstants().normal_container_radius),
color: themeController.currentColor.sc17, color: themeController.currentColor.sc5,
), ),
child: Column( child: Column(
children: [ children: [

View File

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

View File

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

View File

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

View File

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