更新样式

This commit is contained in:
wyf
2025-07-09 15:28:46 +08:00
parent c37ae7f293
commit ceb228b256
4 changed files with 98 additions and 41 deletions

View File

@@ -7,9 +7,11 @@ import 'package:easyweb/base/easyws.dart';
import 'package:easyweb/base/minisdk.dart';
import 'package:easyweb/easyweb.dart';
import 'package:ef/ef.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:vbvs_app/common/color/ServiceConstant.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';
import 'package:vbvs_app/controller/user_info_controller.dart';
import 'package:vbvs_app/pages/mh_page/homepage/controller/mht_home_controller.dart';
@@ -31,6 +33,7 @@ class WebviewTestController extends GetControllerEx<WebviewTestModel> {
WebviewTestController() : super(WebviewTestModel()) {
web = WebviewHelper(
isheadless: true,
jsbridge: buildsdk(
// father: this,
// clientId: '494641114',
@@ -89,7 +92,7 @@ class WebviewTestController extends GetControllerEx<WebviewTestModel> {
});
//sdk定义接口
bridge.sdk.querySelectDevice((args) async {
ef.log('updateBlueToothStatus: $args');
ef.log('querySelectDevice: $args');
// bluetooth = args[0];
MHTHomeController deviceController = Get.find();
await deviceController.getDeviceList(group: 'room');
@@ -134,10 +137,24 @@ class WebviewTestController extends GetControllerEx<WebviewTestModel> {
var data = await homeController.restoreTimer(args);
return data;
});
bridge.sdk.toBindDevice((args) async {
ef.log('queryInstantData: $args');
Get.toNamed("/mHTDeviceTypePage");
return true;
});
});
} catch (e, s) {
ef.log('$e,$s');
}
// try {
// web.runApp('mhtControl').then((x) {
// ready.value = true;
// web.build();
// });
// } catch (e, s) {
// ef.log('$e,$s');
// }
}
late WebviewHelper web;
var ready = false.obs;
@@ -288,6 +305,14 @@ class WebviewTestController extends GetControllerEx<WebviewTestModel> {
class WebviewTestView extends GetComponent<WebviewTestController> {
WebviewTestView({super.key, super.oncreate});
@override
WebviewTestController newinstance() {
if (ef.kvRoot.WebviewTestController == null) {
ef.kvRoot.WebviewTestController = WebviewTestController();
}
return ef.kvRoot.WebviewTestController;
}
@override
Widget build(BuildContext context) {
UserInfoController userInfoController = Get.find();
@@ -301,7 +326,7 @@ class WebviewTestView extends GetComponent<WebviewTestController> {
});
return Scaffold(
backgroundColor: Colors.black12,
backgroundColor: Colors.transparent,
body: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisSize: MainAxisSize.max,
@@ -311,34 +336,66 @@ class WebviewTestView extends GetComponent<WebviewTestController> {
: MainAxisAlignment.center,
children: [
Obx(() {
if (userInfoController.model.login! == null ||
userInfoController.model.login! == 0) {
return Center(
// 包一层 Center强制水平和垂直都居中
child: Text(
"登录进行设备控制".tr,
style: TextStyle(color: Colors.white, fontSize: 30.rpx),
return Visibility(
visible: userInfoController.model.login! == null ||
userInfoController.model.login! == 0,
child: Center(
child: InkWell(
onTap: () => Get.toNamed("/loginPage"),
child: RichText(
text: TextSpan(
children: [
WidgetSpan(
child: Stack(
children: [
Text(
"登录",
style: TextStyle(
color: stringToColor("#84F5FF"),
fontSize: 30.rpx,
),
),
Positioned(
bottom: 0, // 控制下划线与文字的间距
left: 0,
right: 0,
child: Container(
height: 1, // 下划线粗细
color: stringToColor("#84F5FF"),
),
),
],
),
),
TextSpan(
text: "进行设备控制",
style: TextStyle(
color: Colors.white,
fontSize: 30.rpx,
),
),
],
),
),
),
);
}
return Expanded(
child: Align(
alignment: Alignment.topLeft,
child: controller.ready.value
? ((controller.cnt.value % 2 == 0)
? controller.web.build(
key: ValueKey("A"),
headless: false,
)
: controller.web.build(
key: ValueKey("B"),
headless: false,
))
: Container(),
),
);
}),
Obx(() {
return Visibility(
visible: userInfoController.model.login! != null &&
userInfoController.model.login! == 1,
child: Expanded(
child: Align(
alignment: Alignment.topLeft,
child: Obx(
() => controller.ready.value
? controller.web.build()
: Container(),
),
),
));
}),
],
),
);