更新小e界面
This commit is contained in:
Binary file not shown.
@@ -212,7 +212,13 @@ class _NewHomePageState extends State<NewHomePage> {
|
|||||||
width: 60.rpx,
|
width: 60.rpx,
|
||||||
height: 60.rpx,
|
height: 60.rpx,
|
||||||
onTap: () {
|
onTap: () {
|
||||||
print("点击了小鹅图标");
|
// print("点击了小鹅图标");
|
||||||
|
if (userInfoController.model.login == 0) {
|
||||||
|
Get.toNamed("/loginPage");
|
||||||
|
}
|
||||||
|
Get.toNamed("/xiaoEPage",
|
||||||
|
arguments:
|
||||||
|
"https://xiaoe.he-info.cn/?mac=b43a45c3ddf4");
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
SizedBox(width: 40.rpx),
|
SizedBox(width: 40.rpx),
|
||||||
|
|||||||
@@ -7,7 +7,6 @@ import 'package:easyweb/base/easyws.dart';
|
|||||||
import 'package:easyweb/base/minisdk.dart';
|
import 'package:easyweb/base/minisdk.dart';
|
||||||
import 'package:easyweb/easyweb.dart';
|
import 'package:easyweb/easyweb.dart';
|
||||||
import 'package:ef/ef.dart';
|
import 'package:ef/ef.dart';
|
||||||
import 'package:flutter/gestures.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:vbvs_app/common/color/ServiceConstant.dart';
|
import 'package:vbvs_app/common/color/ServiceConstant.dart';
|
||||||
import 'package:vbvs_app/common/util/FitTool.dart';
|
import 'package:vbvs_app/common/util/FitTool.dart';
|
||||||
@@ -35,8 +34,8 @@ class WebviewTestController extends GetControllerEx<WebviewTestModel> {
|
|||||||
web = WebviewHelper(
|
web = WebviewHelper(
|
||||||
isheadless: true,
|
isheadless: true,
|
||||||
jsbridge: buildsdk(
|
jsbridge: buildsdk(
|
||||||
// father: this,
|
father: this,
|
||||||
// clientId: '494641114',
|
clientId: '494641114',
|
||||||
// dbgserverUrl: 'ws://192.168.1.2:9001',
|
// dbgserverUrl: 'ws://192.168.1.2:9001',
|
||||||
),
|
),
|
||||||
settings: buildsettings(),
|
settings: buildsettings(),
|
||||||
@@ -147,14 +146,6 @@ class WebviewTestController extends GetControllerEx<WebviewTestModel> {
|
|||||||
ef.log('$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;
|
late WebviewHelper web;
|
||||||
var ready = false.obs;
|
var ready = false.obs;
|
||||||
@@ -193,7 +184,7 @@ class WebviewTestController extends GetControllerEx<WebviewTestModel> {
|
|||||||
try {
|
try {
|
||||||
var tmp;
|
var tmp;
|
||||||
if (data is String) {
|
if (data is String) {
|
||||||
tmp = jsonDecode(data); // 只有是 String 才 decode
|
tmp = jsonDecode(data);
|
||||||
} else if (data is Map<String, dynamic>) {
|
} else if (data is Map<String, dynamic>) {
|
||||||
tmp = data; // 直接用
|
tmp = data; // 直接用
|
||||||
} else {
|
} else {
|
||||||
@@ -275,27 +266,11 @@ class WebviewTestController extends GetControllerEx<WebviewTestModel> {
|
|||||||
void onInit() {
|
void onInit() {
|
||||||
ef.log("webview test init =>${DateTime.now()}");
|
ef.log("webview test init =>${DateTime.now()}");
|
||||||
super.onInit();
|
super.onInit();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
ef.kvRoot.appmanger.find("mhtControl").then((x) {
|
web.runApp('mhtControl').then((x) {
|
||||||
x!.load().then((y) {
|
|
||||||
ef.log("webview test res init loaded =>${DateTime.now()}");
|
|
||||||
web
|
|
||||||
.file(
|
|
||||||
url: 'https://wyf.it.real.he-info.cn:94/goods-front/index.html',
|
|
||||||
pretag: 'https://wyf.it.real.he-info.cn:94/goods-front/',
|
|
||||||
raw: y,
|
|
||||||
)
|
|
||||||
//.network()
|
|
||||||
.then((value) {
|
|
||||||
if (value) {
|
|
||||||
//资源准备完成..
|
|
||||||
setState(() {
|
|
||||||
ready.value = true;
|
ready.value = true;
|
||||||
});
|
});
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
} catch (e, s) {
|
} catch (e, s) {
|
||||||
ef.log('$e,$s');
|
ef.log('$e,$s');
|
||||||
}
|
}
|
||||||
|
|||||||
120
lib/pages/xiaoe/xiaoe_page.dart
Normal file
120
lib/pages/xiaoe/xiaoe_page.dart
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
import 'package:ef/ef.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_inappwebview/flutter_inappwebview.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';
|
||||||
|
import 'package:vbvs_app/controller/device/device_type_controller.dart';
|
||||||
|
import 'package:vbvs_app/controller/main_bottom/global_controller.dart';
|
||||||
|
import 'package:vbvs_app/controller/theme_controller/ThemeController.dart';
|
||||||
|
import 'package:vbvs_app/controller/user_info_controller.dart';
|
||||||
|
|
||||||
|
class XiaoEPage extends StatefulWidget {
|
||||||
|
var sleepUri;
|
||||||
|
XiaoEPage({super.key, required this.sleepUri});
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<XiaoEPage> createState() => _XiaoEPageState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _XiaoEPageState extends State<XiaoEPage> {
|
||||||
|
GlobalController globalController = Get.find();
|
||||||
|
UserInfoController userInfoController = Get.find();
|
||||||
|
BlueteethBindController blueteethBindController = Get.find();
|
||||||
|
ThemeController themeController = Get.find();
|
||||||
|
DeviceTypeController deviceTypeController = Get.find();
|
||||||
|
|
||||||
|
ValueNotifier<bool> isPageLoading = ValueNotifier<bool>(true);
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
super.initState();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void dispose() {
|
||||||
|
// 清理 ValueNotifier
|
||||||
|
isPageLoading.dispose();
|
||||||
|
super.dispose();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return LayoutBuilder(
|
||||||
|
builder: (context, bodySize) => GestureDetector(
|
||||||
|
onTap: () => FocusScope.of(context).unfocus(),
|
||||||
|
child: Container(
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
image: DecorationImage(
|
||||||
|
image: AssetImage('assets/img/bgNoImg.png'), // 本地图片
|
||||||
|
fit: BoxFit.fill, // 填满整个 Container
|
||||||
|
),
|
||||||
|
),
|
||||||
|
child: Scaffold(
|
||||||
|
backgroundColor: Colors.transparent, // 背景透明
|
||||||
|
appBar: AppBar(
|
||||||
|
backgroundColor: themeController.currentColor.sc17,
|
||||||
|
automaticallyImplyLeading: false,
|
||||||
|
iconTheme: IconThemeData(color: themeController.currentColor.sc3),
|
||||||
|
titleSpacing: 0,
|
||||||
|
title: Container(
|
||||||
|
width: double.infinity,
|
||||||
|
height: 180.rpx,
|
||||||
|
child: Stack(
|
||||||
|
alignment: Alignment.center,
|
||||||
|
children: [
|
||||||
|
/// 居中标题
|
||||||
|
Text(
|
||||||
|
'健康报告'.tr,
|
||||||
|
style: TextStyle(
|
||||||
|
fontFamily: 'Readex Pro',
|
||||||
|
color: themeController.currentColor.sc3,
|
||||||
|
letterSpacing: 0,
|
||||||
|
fontSize: 30.rpx,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
|
||||||
|
/// 左边返回按钮
|
||||||
|
Positioned(
|
||||||
|
left: 0,
|
||||||
|
child: returnIconButtomNew,
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
body: SafeArea(
|
||||||
|
top: true,
|
||||||
|
child: Stack(
|
||||||
|
children: [
|
||||||
|
InAppWebView(
|
||||||
|
key: UniqueKey(),
|
||||||
|
initialUrlRequest: URLRequest(url: WebUri(widget.sleepUri)),
|
||||||
|
onLoadStart: (controller, url) {
|
||||||
|
// 页面开始加载时显示加载指示器
|
||||||
|
isPageLoading.value = true;
|
||||||
|
},
|
||||||
|
onLoadStop: (controller, url) {
|
||||||
|
// 页面加载完成后隐藏加载指示器
|
||||||
|
isPageLoading.value = false;
|
||||||
|
},
|
||||||
|
),
|
||||||
|
ValueListenableBuilder<bool>(
|
||||||
|
valueListenable: isPageLoading,
|
||||||
|
builder: (context, isLoading, child) {
|
||||||
|
return isLoading
|
||||||
|
? Center(
|
||||||
|
child: CircularProgressIndicator(), // 加载指示器
|
||||||
|
)
|
||||||
|
: SizedBox.shrink();
|
||||||
|
},
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -47,6 +47,7 @@ import 'package:vbvs_app/pages/mh_page/user/page/rxhx_mht.dart';
|
|||||||
import 'package:vbvs_app/pages/mh_page/user/page/update_password_page.dart';
|
import 'package:vbvs_app/pages/mh_page/user/page/update_password_page.dart';
|
||||||
import 'package:vbvs_app/pages/mh_page/user_agreement_page.dart';
|
import 'package:vbvs_app/pages/mh_page/user_agreement_page.dart';
|
||||||
import 'package:vbvs_app/pages/sleep_report/new_sleep_report_page.dart';
|
import 'package:vbvs_app/pages/sleep_report/new_sleep_report_page.dart';
|
||||||
|
import 'package:vbvs_app/pages/xiaoe/xiaoe_page.dart';
|
||||||
import '../pages/mh_page/bluetooth.dart';
|
import '../pages/mh_page/bluetooth.dart';
|
||||||
import '../pages/mh_page/edit_address_page.dart';
|
import '../pages/mh_page/edit_address_page.dart';
|
||||||
import '../pages/mh_page/message/messageDetail.dart';
|
import '../pages/mh_page/message/messageDetail.dart';
|
||||||
@@ -113,6 +114,7 @@ var mhroutes = {
|
|||||||
MessageDetailPage(data: arguments),
|
MessageDetailPage(data: arguments),
|
||||||
"/mhtSleepReportReturnPage": (context, {arguments}) =>
|
"/mhtSleepReportReturnPage": (context, {arguments}) =>
|
||||||
MhtSleepReportReturnPage(data: arguments),
|
MhtSleepReportReturnPage(data: arguments),
|
||||||
|
"/xiaoEPage": (contxt, {arguments}) => XiaoEPage(sleepUri: arguments),
|
||||||
};
|
};
|
||||||
var mhonGenerateRoute = (RouteSettings settings) {
|
var mhonGenerateRoute = (RouteSettings settings) {
|
||||||
final String? name = settings.name; // 获取路由名称,如 /news 或 /search
|
final String? name = settings.name; // 获取路由名称,如 /news 或 /search
|
||||||
|
|||||||
Reference in New Issue
Block a user