更新
This commit is contained in:
@@ -1,3 +1,3 @@
|
||||
[
|
||||
"assets/miniapp/mhtControl_1.0.57.zip"
|
||||
"assets/miniapp/mhtControl_1.0.59.zip"
|
||||
]
|
||||
@@ -605,6 +605,7 @@
|
||||
"设备解绑提醒": "设备解绑提醒",
|
||||
"位置权限说明": "位置权限说明",
|
||||
"获得位置信息,连接附近的蓝牙设备与推荐附近门店": "获得位置信息,连接附近的蓝牙设备与推荐附近门店和首页获取天气情况",
|
||||
"获得位置信息,连接附近的蓝牙设备与推荐附近门店和首页获取天气情况": "获得位置信息,连接附近的蓝牙设备与推荐附近门店和首页获取天气情况",
|
||||
"蓝牙权限说明": "蓝牙权限说明",
|
||||
"搜索链接附近的蓝牙设备": "搜索链接附近的蓝牙设备",
|
||||
"附近设备权限说明": "附近设备权限说明",
|
||||
|
||||
Binary file not shown.
@@ -1,10 +1,10 @@
|
||||
class ServiceConstant {
|
||||
// static const String baseHost = "zhmht.swes.com.cn:27021"; //服务地址 眠花糖测试地址
|
||||
// static const String baseHost = "zhmht.swes.com.cn:27020"; //服务地址 眠花糖正式地址
|
||||
static const String baseHost = "vsbs-test.he-info.cn"; //服务地址 本地测试地址
|
||||
static const String baseHost = "zhmht.swes.com.cn:27020"; //服务地址 眠花糖正式地址
|
||||
// static const String baseHost = "vsbs-test.he-info.cn"; //服务地址 本地测试地址
|
||||
// static const String baseHost = "vsbst-api.he-info.cn";//服务地址
|
||||
static const String service_address = "http://$baseHost";
|
||||
// static const String service_address = "https://$baseHost";
|
||||
// static const String service_address = "http://$baseHost";
|
||||
static const String service_address = "https://$baseHost";
|
||||
|
||||
static String server_service = "/vsbs_app_server"; //服务名称
|
||||
|
||||
|
||||
@@ -30,4 +30,14 @@ class CommonVariables {
|
||||
["蓝牙权限说明".tr, "搜索链接附近的蓝牙设备".tr],
|
||||
["附近设备权限说明".tr, "搜索链接附近的蓝牙设备".tr]
|
||||
];
|
||||
|
||||
List locationpermissionInfo = [
|
||||
["位置权限说明".tr, "获得位置信息以便获取天气情况".tr],
|
||||
];
|
||||
|
||||
List bluetoothpermissionInfo = [
|
||||
["位置权限说明".tr, "获得位置信息,连接附近的蓝牙设备".tr],
|
||||
["蓝牙权限说明".tr, "搜索链接附近的蓝牙设备".tr],
|
||||
["附近设备权限说明".tr, "搜索链接附近的蓝牙设备".tr]
|
||||
];
|
||||
}
|
||||
|
||||
@@ -6,11 +6,13 @@ import 'package:easydevice/easydevice.dart';
|
||||
import 'package:ef/ef.dart';
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
import 'package:vbvs_app/common/color/ServiceConstant.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/DailyLogUtils.dart';
|
||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||
import 'package:vbvs_app/component/tool/TopSlideNotification.dart';
|
||||
import 'package:vbvs_app/controller/person/person_controller.dart';
|
||||
import 'package:vbvs_app/enum/APPPackageType.dart';
|
||||
import 'package:vbvs_app/model/BleDeviceData.dart';
|
||||
import 'package:vbvs_app/model/api_response.dart';
|
||||
|
||||
@@ -347,8 +349,14 @@ class BlueteethBindController extends GetControllerEx<BlueteethBindModel> {
|
||||
String serviceApi = ServiceConstant.device_bind;
|
||||
String queryUrl = "$serviceAddress$serviceName$serviceApi";
|
||||
String? language = "";
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||
if (mhLanguageController.selectLanguage != null) {
|
||||
language = mhLanguageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
} else {
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
}
|
||||
if (language != null && language.isNotEmpty) {
|
||||
if (queryUrl.contains("?")) {
|
||||
@@ -403,8 +411,14 @@ class BlueteethBindController extends GetControllerEx<BlueteethBindModel> {
|
||||
String serviceApi = ServiceConstant.device_bind;
|
||||
String queryUrl = "$serviceAddress$serviceName$serviceApi";
|
||||
String? language = "";
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||
if (mhLanguageController.selectLanguage != null) {
|
||||
language = mhLanguageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
} else {
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
}
|
||||
if (language != null && language.isNotEmpty) {
|
||||
if (queryUrl.contains("?")) {
|
||||
|
||||
@@ -5,9 +5,11 @@ import 'package:ef/ef.dart';
|
||||
import 'package:flutterflow_ui/flutterflow_ui.dart';
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
import 'package:vbvs_app/common/color/ServiceConstant.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/DailyLogUtils.dart';
|
||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||
import 'package:vbvs_app/enum/APPPackageType.dart';
|
||||
import 'package:vbvs_app/model/api_response.dart';
|
||||
|
||||
part 'body_device_controller.g.dart'; // 由json_serializable自动生成的部分
|
||||
@@ -55,8 +57,14 @@ class BodyDeviceController extends GetControllerEx<BodyDeviceModel> {
|
||||
String queryUrl =
|
||||
"${serviceAddress}${serviceName}${serviceApi}?bindNum=1";
|
||||
String? language = "";
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||
if (mhLanguageController.selectLanguage != null) {
|
||||
language = mhLanguageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
} else {
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
}
|
||||
if (language != null && language.isNotEmpty) {
|
||||
if (queryUrl.contains("?")) {
|
||||
@@ -97,8 +105,14 @@ class BodyDeviceController extends GetControllerEx<BodyDeviceModel> {
|
||||
String queryUrl =
|
||||
"${serviceAddress}${serviceName}${serviceApi}?bindType=${model.type}${key != null ? '&key=$key' : ''}";
|
||||
String? language = "";
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||
if (mhLanguageController.selectLanguage != null) {
|
||||
language = mhLanguageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
} else {
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
}
|
||||
if (language != null && language.isNotEmpty) {
|
||||
if (queryUrl.contains("?")) {
|
||||
@@ -139,8 +153,14 @@ class BodyDeviceController extends GetControllerEx<BodyDeviceModel> {
|
||||
String serviceApi = ServiceConstant.device_bind;
|
||||
String queryUrl = "${serviceAddress}${serviceName}${serviceApi}";
|
||||
String? language = "";
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||
if (mhLanguageController.selectLanguage != null) {
|
||||
language = mhLanguageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
} else {
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
}
|
||||
if (language != null && language.isNotEmpty) {
|
||||
if (queryUrl.contains("?")) {
|
||||
@@ -275,8 +295,14 @@ class BodyDeviceController extends GetControllerEx<BodyDeviceModel> {
|
||||
String serviceApi = ServiceConstant.device_show;
|
||||
String queryUrl = "${serviceAddress}${serviceName}${serviceApi}";
|
||||
String? language = "";
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||
if (mhLanguageController.selectLanguage != null) {
|
||||
language = mhLanguageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
} else {
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
}
|
||||
if (language != null && language.isNotEmpty) {
|
||||
if (queryUrl.contains("?")) {
|
||||
|
||||
@@ -5,9 +5,11 @@ import 'package:EasyDartModule/EasyDartModule.dart';
|
||||
import 'package:ef/ef.dart';
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
import 'package:vbvs_app/common/color/ServiceConstant.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/DailyLogUtils.dart';
|
||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||
import 'package:vbvs_app/enum/APPPackageType.dart';
|
||||
import 'package:vbvs_app/model/api_response.dart';
|
||||
|
||||
part 'device_share_controller.g.dart'; // 由json_serializable自动生成的部分
|
||||
@@ -100,8 +102,14 @@ class DeviceShareController extends GetControllerEx<DeviceShareModel> {
|
||||
String serviceApi = ServiceConstant.device_share;
|
||||
String queryUrl = "${serviceAddress}${serviceName}${serviceApi}";
|
||||
String? language = "";
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||
if (mhLanguageController.selectLanguage != null) {
|
||||
language = mhLanguageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
} else {
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
}
|
||||
if (language != null && language.isNotEmpty) {
|
||||
if (queryUrl.contains("?")) {
|
||||
@@ -158,8 +166,14 @@ class DeviceShareController extends GetControllerEx<DeviceShareModel> {
|
||||
String serviceApi = ServiceConstant.device_share;
|
||||
String queryUrl = "${serviceAddress}${serviceName}${serviceApi}";
|
||||
String? language = "";
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||
if (mhLanguageController.selectLanguage != null) {
|
||||
language = mhLanguageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
} else {
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
}
|
||||
if (language != null && language.isNotEmpty) {
|
||||
if (queryUrl.contains("?")) {
|
||||
|
||||
@@ -4,9 +4,11 @@ import 'package:EasyDartModule/EasyDartModule.dart';
|
||||
import 'package:ef/ef.dart';
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
import 'package:vbvs_app/common/color/ServiceConstant.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/DailyLogUtils.dart';
|
||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||
import 'package:vbvs_app/enum/APPPackageType.dart';
|
||||
import 'package:vbvs_app/model/api_response.dart';
|
||||
|
||||
part 'device_share_list_controller.g.dart'; // 由json_serializable自动生成的部分
|
||||
@@ -53,8 +55,14 @@ class DeviceShareListController extends GetControllerEx<DeviceShareListModel> {
|
||||
String queryUrl = "${serviceAddress}${serviceName}${serviceApi}"
|
||||
"${key != null ? '?key=$key&' : '?'}mac=$mac";
|
||||
String? language = "";
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||
if (mhLanguageController.selectLanguage != null) {
|
||||
language = mhLanguageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
} else {
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
}
|
||||
if (language != null && language.isNotEmpty) {
|
||||
if (queryUrl.contains("?")) {
|
||||
@@ -97,8 +105,14 @@ class DeviceShareListController extends GetControllerEx<DeviceShareListModel> {
|
||||
String serviceApi = ServiceConstant.share_deleted;
|
||||
String queryUrl = "${serviceAddress}${serviceName}${serviceApi}";
|
||||
String? language = "";
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||
if (mhLanguageController.selectLanguage != null) {
|
||||
language = mhLanguageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
} else {
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
}
|
||||
if (language != null && language.isNotEmpty) {
|
||||
if (queryUrl.contains("?")) {
|
||||
|
||||
@@ -139,8 +139,14 @@ class LoginController extends GetControllerEx<LoginModel> {
|
||||
String serviceApi = ServiceConstant.send_code;
|
||||
String queryUrl = "${serviceAddress}${serviceName}${serviceApi}";
|
||||
String? language = "";
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||
if (mhLanguageController.selectLanguage != null) {
|
||||
language = mhLanguageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
} else {
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
}
|
||||
|
||||
if (language != null && language.isNotEmpty) {
|
||||
|
||||
@@ -5,9 +5,11 @@ import 'package:ef/ef.dart';
|
||||
import 'package:flutterflow_ui/flutterflow_ui.dart';
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
import 'package:vbvs_app/common/color/ServiceConstant.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/DailyLogUtils.dart';
|
||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||
import 'package:vbvs_app/enum/APPPackageType.dart';
|
||||
import 'package:vbvs_app/model/api_response.dart';
|
||||
|
||||
part 'message_controller.g.dart'; // 由json_serializable自动生成的部分
|
||||
@@ -57,8 +59,14 @@ class MessageController extends GetControllerEx<MessageModel> {
|
||||
String queryUrl =
|
||||
"${serviceAddress}${serviceName}${serviceApi}?type=${messageType}";
|
||||
String? language = "";
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||
if (mhLanguageController.selectLanguage != null) {
|
||||
language = mhLanguageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
} else {
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
}
|
||||
if (language != null && language.isNotEmpty) {
|
||||
if (queryUrl.contains("?")) {
|
||||
@@ -101,8 +109,14 @@ class MessageController extends GetControllerEx<MessageModel> {
|
||||
|
||||
String queryUrl = "${serviceAddress}${serviceName}${serviceApi}";
|
||||
String? language = "";
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||
if (mhLanguageController.selectLanguage != null) {
|
||||
language = mhLanguageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
} else {
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
}
|
||||
if (language != null && language.isNotEmpty) {
|
||||
if (queryUrl.contains("?")) {
|
||||
@@ -171,8 +185,14 @@ class MessageController extends GetControllerEx<MessageModel> {
|
||||
}
|
||||
|
||||
String? language = "";
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||
if (mhLanguageController.selectLanguage != null) {
|
||||
language = mhLanguageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
} else {
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
}
|
||||
if (language != null && language.isNotEmpty) {
|
||||
if (queryUrl.contains("?")) {
|
||||
|
||||
@@ -4,9 +4,11 @@ import 'package:EasyDartModule/EasyDartModule.dart';
|
||||
import 'package:ef/ef.dart';
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
import 'package:vbvs_app/common/color/ServiceConstant.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/DailyLogUtils.dart';
|
||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||
import 'package:vbvs_app/enum/APPPackageType.dart';
|
||||
import 'package:vbvs_app/model/api_response.dart';
|
||||
|
||||
part 'person_controller.g.dart'; // 由json_serializable自动生成的部分
|
||||
@@ -58,8 +60,14 @@ class PersonController extends GetControllerEx<PersonModel> {
|
||||
String serviceApi = ServiceConstant.person_info;
|
||||
String queryUrl = "${serviceAddress}${serviceName}${serviceApi}";
|
||||
String? language = "";
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||
if (mhLanguageController.selectLanguage != null) {
|
||||
language = mhLanguageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
} else {
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
}
|
||||
if (language != null && language.isNotEmpty) {
|
||||
if (queryUrl.contains("?")) {
|
||||
@@ -127,8 +135,14 @@ class PersonController extends GetControllerEx<PersonModel> {
|
||||
String queryUrl = "${serviceAddress}${serviceName}${serviceApi}";
|
||||
|
||||
String? language = "";
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||
if (mhLanguageController.selectLanguage != null) {
|
||||
language = mhLanguageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
} else {
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
}
|
||||
if (language != null && language.isNotEmpty) {
|
||||
if (queryUrl.contains("?")) {
|
||||
@@ -176,8 +190,14 @@ class PersonController extends GetControllerEx<PersonModel> {
|
||||
String serviceApi = ServiceConstant.disease_list;
|
||||
String queryUrl = "${serviceAddress}${serviceName}${serviceApi}";
|
||||
String? language = "";
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||
if (mhLanguageController.selectLanguage != null) {
|
||||
language = mhLanguageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
} else {
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
}
|
||||
if (language != null && language.isNotEmpty) {
|
||||
if (queryUrl.contains("?")) {
|
||||
|
||||
@@ -64,6 +64,7 @@ class UserInfoController extends GetControllerEx<UserInfoModel> {
|
||||
RxDouble textHalfWidth = 0.0.obs;
|
||||
List device_bind_status = [];
|
||||
int device_bind_flag = 0; //0。未初始化 1.已初始化
|
||||
int initLocationpermission = 0; //未初始化
|
||||
|
||||
Future<ApiResponse> uploadImg() async {
|
||||
EasyDartModule.logger.info("请求上传图片");
|
||||
@@ -145,8 +146,14 @@ class UserInfoController extends GetControllerEx<UserInfoModel> {
|
||||
String serviceApi = ServiceConstant.user_info;
|
||||
String queryUrl = "${serviceAddress}${serviceName}${serviceApi}";
|
||||
String? language = "";
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||
if (mhLanguageController.selectLanguage != null) {
|
||||
language = mhLanguageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
} else {
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
}
|
||||
if (language != null && language.isNotEmpty) {
|
||||
if (queryUrl.contains("?")) {
|
||||
|
||||
@@ -7,8 +7,12 @@ import 'package:geocoding/geocoding.dart';
|
||||
import 'package:geolocator/geolocator.dart';
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
import 'package:path/path.dart';
|
||||
import 'package:vbvs_app/common/color/appConstants.dart';
|
||||
import 'package:vbvs_app/common/util/CommonVariables.dart';
|
||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||
import 'package:vbvs_app/controller/setting/language/language_controller.dart';
|
||||
import 'package:vbvs_app/controller/user_info_controller.dart';
|
||||
import 'package:vbvs_app/enum/APPPackageType.dart';
|
||||
import 'package:vbvs_app/pages/common/selectDialog.dart';
|
||||
import 'package:weather/weather.dart';
|
||||
|
||||
@@ -77,14 +81,25 @@ class WeatherModelController extends GetControllerEx<WeatherModel> {
|
||||
// 获取当前位置并存储到 model
|
||||
Future<void> _getCurrentLocation() async {
|
||||
try {
|
||||
UserInfoController userInfoController = Get.find();
|
||||
if (userInfoController.model.login == null ||
|
||||
userInfoController.model.login != 1) {
|
||||
return;
|
||||
}
|
||||
Position position = await determinePosition();
|
||||
if (position == null) {
|
||||
throw Exception("获取位置失败");
|
||||
}
|
||||
|
||||
String? language = "zh_CN";
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||
if (mhLanguageController.selectLanguage != null) {
|
||||
language = mhLanguageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
} else {
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
}
|
||||
List<Placemark> placemarks = [];
|
||||
// placemarks = await placemarkFromCoordinates(position.latitude, position.longitude,
|
||||
@@ -117,9 +132,9 @@ class WeatherModelController extends GetControllerEx<WeatherModel> {
|
||||
if (!serviceEnabled) {
|
||||
return Future.error('位置服务未启用');
|
||||
}
|
||||
|
||||
try {
|
||||
showPermissionInfoDialog(Get.context!, CommonVariables().permissionInfo);
|
||||
showPermissionInfoDialog(
|
||||
Get.context!, CommonVariables().locationpermissionInfo);
|
||||
} catch (e) {
|
||||
ef.log("$e");
|
||||
}
|
||||
@@ -135,9 +150,9 @@ class WeatherModelController extends GetControllerEx<WeatherModel> {
|
||||
Navigator.of(Get.context!, rootNavigator: true).pop();
|
||||
}
|
||||
|
||||
if (permission == LocationPermission.denied) {
|
||||
return Future.error('位置权限被拒绝');
|
||||
}
|
||||
if (permission == LocationPermission.denied) {
|
||||
return Future.error('位置权限被拒绝');
|
||||
}
|
||||
|
||||
if (permission == LocationPermission.deniedForever) {
|
||||
return Future.error('位置权限被永久拒绝');
|
||||
@@ -173,8 +188,14 @@ class WeatherModelController extends GetControllerEx<WeatherModel> {
|
||||
try {
|
||||
weatherFactory.language = Language.CHINESE_SIMPLIFIED;
|
||||
String? language = "zh_CN";
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
if (AppConstants().ent_type == APPPackageType.MHT.code) {
|
||||
if (mhLanguageController.selectLanguage != null) {
|
||||
language = mhLanguageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
} else {
|
||||
if (languageController.selectLanguage != null) {
|
||||
language = languageController.selectLanguage.value!.language_code;
|
||||
}
|
||||
}
|
||||
if (language == "zh_CN") {
|
||||
weatherFactory.language = Language.CHINESE_SIMPLIFIED;
|
||||
|
||||
@@ -567,15 +567,12 @@ Future<void> dealBindProcess() async {
|
||||
}
|
||||
}
|
||||
|
||||
final GlobalKey<NavigatorState> navigatorKey = GlobalKey<NavigatorState>();
|
||||
|
||||
class MyApp extends StatelessWidget {
|
||||
MyApp({super.key});
|
||||
final ThemeController themeController = Get.put(ThemeController());
|
||||
|
||||
Widget buildmht(BuildContext context, BoxConstraints cons) {
|
||||
return GetMaterialApp(
|
||||
navigatorKey: navigatorKey, // ✅ 注入 navigatorKey
|
||||
translations: AppLanguage(),
|
||||
debugShowCheckedModeBanner: false,
|
||||
title: '',
|
||||
|
||||
@@ -13,6 +13,7 @@ import 'package:vbvs_app/controller/user_info_controller.dart';
|
||||
import 'package:vbvs_app/model/WebSocketMessage.dart';
|
||||
import 'package:vbvs_app/pages/common/bezier_bottom_navigation_bar.dart';
|
||||
import 'package:vbvs_app/pages/mh_page/MattressControl.dart';
|
||||
import 'package:vbvs_app/pages/mh_page/homepage/component/HomeDeviceStausWidget.dart';
|
||||
import 'package:vbvs_app/pages/mh_page/homepage/mht_sleep_report_page.dart';
|
||||
import 'package:vbvs_app/pages/mh_page/homepage/new_Home_page.dart';
|
||||
import 'package:vbvs_app/pages/mh_page/new_mine_page.dart';
|
||||
@@ -26,6 +27,9 @@ class MainPageBBottomChange extends StatefulWidget {
|
||||
|
||||
MainPageBBottomChange({Key? key}) : super(key: globalKey);
|
||||
|
||||
// static final GlobalKey<_HomePageState> globalKey = GlobalKey<_HomePageState>();
|
||||
|
||||
// MainPageBBottomChange({Key? key}) : super(key: key);
|
||||
// 静态方法:外部调用,跳转 tab
|
||||
static void jumpTo(int index) {
|
||||
final state = globalKey.currentState;
|
||||
@@ -35,37 +39,17 @@ class MainPageBBottomChange extends StatefulWidget {
|
||||
}
|
||||
|
||||
static int? getCurrentIndex() {
|
||||
final state = globalKey.currentState;
|
||||
return state?.selectedIndex.value;
|
||||
try {
|
||||
final state = globalKey.currentState;
|
||||
return state?.selectedIndex.value;
|
||||
} catch (e) {
|
||||
ef.log("$e");
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
_HomePageState createState() => _HomePageState();
|
||||
}
|
||||
// class MainPageBBottomChange extends StatefulWidget {
|
||||
// final GlobalKey<_HomePageState>? externalKey;
|
||||
|
||||
// MainPageBBottomChange({Key? key, this.externalKey})
|
||||
// : super(key: key ?? externalKey);
|
||||
|
||||
// static void jumpTo(int index) {
|
||||
// final state = globalKey.currentState;
|
||||
// if (state != null) {
|
||||
// state.switchTab(index);
|
||||
// }
|
||||
// }
|
||||
|
||||
// static int? getCurrentIndex() {
|
||||
// final state = globalKey.currentState;
|
||||
// return state?.selectedIndex;
|
||||
// }
|
||||
|
||||
// static final GlobalKey<_HomePageState> globalKey =
|
||||
// GlobalKey<_HomePageState>();
|
||||
|
||||
// @override
|
||||
// _HomePageState createState() => _HomePageState();
|
||||
// }
|
||||
|
||||
class _HomePageState extends State<MainPageBBottomChange>
|
||||
with SingleTickerProviderStateMixin {
|
||||
@@ -99,6 +83,7 @@ class _HomePageState extends State<MainPageBBottomChange>
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
debugPrint("MainPageBBottomChange initState hashCode=${this.hashCode}");
|
||||
_controller = AnimationController(
|
||||
vsync: this, duration: const Duration(milliseconds: 300));
|
||||
currentPosition = selectedIndex.toDouble();
|
||||
@@ -195,12 +180,16 @@ class _HomePageState extends State<MainPageBBottomChange>
|
||||
try {
|
||||
UserInfoController userInfoController = Get.find();
|
||||
WebviewTestController webviewTestController = Get.find();
|
||||
|
||||
|
||||
if (index == 2) {
|
||||
if(webviewTestController.ready.value)
|
||||
WebviewTestController webviewTestController = Get.find();
|
||||
webviewTestController.web.jsbridge?.dart.switchLanguage(
|
||||
mhLanguageController.selectLanguage.value!.language_code);
|
||||
// if (userInfoController.model.login != null &&
|
||||
// userInfoController.model.login == 1) {
|
||||
// await checkBlueToothPermissin();
|
||||
// }
|
||||
|
||||
await webviewTestController.web.jsbridge?.dart.pageActive(true);
|
||||
//激活websocket
|
||||
edm.EasyDartModule.websocket.sendData(jsonEncode(WebSocketMessage(
|
||||
|
||||
@@ -11,6 +11,7 @@ import 'package:vbvs_app/component/tool/TopSlideNotification.dart';
|
||||
import 'package:vbvs_app/controller/main_bottom/global_controller.dart';
|
||||
import 'package:vbvs_app/controller/mh_controller/device_list_controller.dart';
|
||||
import 'package:vbvs_app/pages/main_bottom/component/main_page_b_bottom_change.dart';
|
||||
import 'package:vbvs_app/pages/mh_page/homepage/component/HomeDeviceStausWidget.dart';
|
||||
import 'package:vbvs_app/pages/mh_page/test/WebviewTestModel.dart';
|
||||
|
||||
class DeviceInfoWidget extends GetView {
|
||||
@@ -151,8 +152,10 @@ class DeviceInfoWidget extends GetView {
|
||||
try {
|
||||
WebviewTestController webviewTestController =
|
||||
Get.find();
|
||||
webviewTestController.web.jsbridge?.dart
|
||||
.switchLanguage(mhLanguageController.selectLanguage.value!.language_code);
|
||||
webviewTestController.web.jsbridge?.dart
|
||||
.switchLanguage(mhLanguageController
|
||||
.selectLanguage.value!.language_code);
|
||||
await checkBlueToothPermissin();
|
||||
webviewTestController.web.jsbridge?.dart
|
||||
.pageActive(false);
|
||||
// await Future.delayed(Duration(seconds: 1));
|
||||
|
||||
@@ -132,7 +132,7 @@ class _MHTBlueteethDevicePageState extends State<MHTBlueteethDevicePage> {
|
||||
if (!alreadyGranted) {
|
||||
// 弹出自定义提示
|
||||
showPermissionInfoDialog(
|
||||
Get.context!, CommonVariables().permissionInfo);
|
||||
Get.context!, CommonVariables().bluetoothpermissionInfo);
|
||||
dialogShown = true;
|
||||
|
||||
await Future.delayed(const Duration(milliseconds: 300));
|
||||
|
||||
@@ -1,12 +1,16 @@
|
||||
import 'package:ef/ef.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutterflow_ui/flutterflow_ui.dart';
|
||||
import 'package:permission_handler/permission_handler.dart';
|
||||
import 'package:vbvs_app/common/color/appConstants.dart';
|
||||
import 'package:vbvs_app/common/util/CommonVariables.dart';
|
||||
import 'package:vbvs_app/common/util/DailyLogUtils.dart';
|
||||
import 'package:vbvs_app/common/util/FitTool.dart';
|
||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||
import 'package:vbvs_app/component/tool/CustomCard.dart';
|
||||
import 'package:vbvs_app/component/tool/TopSlideNotification.dart';
|
||||
import 'package:vbvs_app/controller/user_info_controller.dart';
|
||||
import 'package:vbvs_app/pages/common/selectDialog.dart';
|
||||
import 'package:vbvs_app/pages/main_bottom/component/main_page_b_bottom_change.dart';
|
||||
import 'package:vbvs_app/pages/mh_page/test/WebviewTestModel.dart';
|
||||
|
||||
@@ -91,6 +95,7 @@ class _HomeDeviceStausWidgetState extends State<HomeDeviceStausWidget> {
|
||||
webviewTestController.web.jsbridge?.dart.switchLanguage(
|
||||
mhLanguageController
|
||||
.selectLanguage.value!.language_code);
|
||||
await checkBlueToothPermissin();
|
||||
webviewTestController.web.jsbridge?.dart
|
||||
.pageActive(false);
|
||||
await Future.delayed(Duration(seconds: 1));
|
||||
@@ -128,3 +133,140 @@ class _HomeDeviceStausWidgetState extends State<HomeDeviceStausWidget> {
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
// Future<Map> checkBlueToothPermissin() async {
|
||||
// UserInfoController userInfoController = Get.find();
|
||||
// bool show = false;
|
||||
// Map data = {};
|
||||
// var bluetoothScanGranted;
|
||||
// var bluetoothConnectGranted;
|
||||
// var locationGranted;
|
||||
// try {
|
||||
// // 如果没初始化过,就检查并请求权限
|
||||
// if (userInfoController.initLocationpermission != 1) {
|
||||
// bluetoothScanGranted = await Permission.bluetoothScan.isGranted;
|
||||
// bluetoothConnectGranted = await Permission.bluetoothConnect.isGranted;
|
||||
// locationGranted = await Permission.location.isGranted;
|
||||
|
||||
// // 如果权限没全部授予
|
||||
// if (!bluetoothScanGranted ||
|
||||
// !bluetoothConnectGranted ||
|
||||
// !locationGranted) {
|
||||
// show = true;
|
||||
// // 同屏显示权限说明弹窗(阻塞等待用户点击确认)
|
||||
// showPermissionInfoDialog(
|
||||
// Get.context!,
|
||||
// CommonVariables().bluetoothpermissionInfo,
|
||||
// );
|
||||
|
||||
// // 再请求权限
|
||||
// await [
|
||||
// Permission.bluetoothScan,
|
||||
// Permission.bluetoothConnect,
|
||||
// Permission.location,
|
||||
// ].request();
|
||||
|
||||
// // 再次检查最新权限状态
|
||||
// bluetoothScanGranted = await Permission.bluetoothScan.isGranted;
|
||||
// bluetoothConnectGranted = await Permission.bluetoothConnect.isGranted;
|
||||
// locationGranted = await Permission.location.isGranted;
|
||||
// }
|
||||
// }
|
||||
// // 通知 web 端
|
||||
// data = {
|
||||
// 'bluetoothScanGranted': bluetoothScanGranted,
|
||||
// 'bluetoothConnectGranted': bluetoothConnectGranted,
|
||||
// 'locationGranted': locationGranted,
|
||||
// };
|
||||
// WebviewTestController webviewTestController = Get.find();
|
||||
// // webviewTestController.web.jsbridge?.dart.updatePermission(data);
|
||||
// } catch (e) {
|
||||
// ef.log("蓝牙权限:$e");
|
||||
// } finally {
|
||||
// if (show) {
|
||||
// Navigator.of(Get.context!, rootNavigator: true).pop();
|
||||
// }
|
||||
// }
|
||||
|
||||
// // 标记初始化完成
|
||||
// userInfoController.initLocationpermission = 1;
|
||||
// return data;
|
||||
// }
|
||||
|
||||
Future<Map> checkBlueToothPermissin() async {
|
||||
UserInfoController userInfoController = Get.find();
|
||||
bool show = false;
|
||||
Map data = {};
|
||||
var bluetoothScanGranted;
|
||||
var bluetoothConnectGranted;
|
||||
var locationGranted;
|
||||
|
||||
try {
|
||||
// 先显示权限说明弹窗(同屏显示)
|
||||
bool bluetoothScanPermanentlyDenied =
|
||||
await Permission.bluetoothScan.isPermanentlyDenied;
|
||||
bool bluetoothConnectPermanentlyDenied =
|
||||
await Permission.bluetoothConnect.isPermanentlyDenied;
|
||||
bool locationPermanentlyDenied =
|
||||
await Permission.location.isPermanentlyDenied;
|
||||
|
||||
if (bluetoothScanPermanentlyDenied ||
|
||||
bluetoothConnectPermanentlyDenied ||
|
||||
locationPermanentlyDenied) {
|
||||
return data; // 直接返回,不再弹窗申请
|
||||
}
|
||||
if (userInfoController.initLocationpermission == 1) {
|
||||
bluetoothScanGranted = await Permission.bluetoothScan.isGranted;
|
||||
bluetoothConnectGranted = await Permission.bluetoothConnect.isGranted;
|
||||
locationGranted = await Permission.location.isGranted;
|
||||
data = {
|
||||
'bluetoothScanGranted': bluetoothScanGranted,
|
||||
'bluetoothConnectGranted': bluetoothConnectGranted,
|
||||
'locationGranted': locationGranted,
|
||||
};
|
||||
return data;
|
||||
}
|
||||
showPermissionInfoDialog(
|
||||
Get.context!,
|
||||
CommonVariables().bluetoothpermissionInfo,
|
||||
);
|
||||
show = true;
|
||||
|
||||
// 检查并请求权限
|
||||
bluetoothScanGranted = await Permission.bluetoothScan.isGranted;
|
||||
bluetoothConnectGranted = await Permission.bluetoothConnect.isGranted;
|
||||
locationGranted = await Permission.location.isGranted;
|
||||
|
||||
if (!bluetoothScanGranted || !bluetoothConnectGranted || !locationGranted) {
|
||||
await [
|
||||
Permission.bluetoothScan,
|
||||
Permission.bluetoothConnect,
|
||||
Permission.location,
|
||||
].request();
|
||||
|
||||
// 更新权限状态
|
||||
bluetoothScanGranted = await Permission.bluetoothScan.isGranted;
|
||||
bluetoothConnectGranted = await Permission.bluetoothConnect.isGranted;
|
||||
locationGranted = await Permission.location.isGranted;
|
||||
}
|
||||
|
||||
data = {
|
||||
'bluetoothScanGranted': bluetoothScanGranted,
|
||||
'bluetoothConnectGranted': bluetoothConnectGranted,
|
||||
'locationGranted': locationGranted,
|
||||
};
|
||||
|
||||
// 通知 web 端
|
||||
WebviewTestController webviewTestController = Get.find();
|
||||
// webviewTestController.web.jsbridge?.dart.updatePermission(data);
|
||||
} catch (e) {
|
||||
ef.log("蓝牙权限:$e");
|
||||
} finally {
|
||||
if (show) {
|
||||
Navigator.of(Get.context!, rootNavigator: true).pop();
|
||||
}
|
||||
}
|
||||
|
||||
userInfoController.initLocationpermission = 1;
|
||||
return data;
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@ import 'package:vbvs_app/controller/user_info_controller.dart';
|
||||
import 'package:vbvs_app/model/WebSocketMessage.dart';
|
||||
import 'package:vbvs_app/pages/main_bottom/component/main_page_b_bottom_change.dart';
|
||||
import 'package:vbvs_app/pages/mh_page/device/controller/mht_bluetooth_controller.dart';
|
||||
import 'package:vbvs_app/pages/mh_page/homepage/component/HomeDeviceStausWidget.dart';
|
||||
import 'package:vbvs_app/pages/mh_page/homepage/controller/mht_home_controller.dart';
|
||||
|
||||
class WebviewTestModel {
|
||||
@@ -225,6 +226,27 @@ class WebviewTestController extends GetControllerEx<WebviewTestModel> {
|
||||
}
|
||||
return true;
|
||||
});
|
||||
bridge.sdk.updatePermisson((args) async {
|
||||
ef.log('获取权限: $args[0]');
|
||||
try {
|
||||
if (MainPageBBottomChange.getCurrentIndex() != 2) {
|
||||
return false;
|
||||
}
|
||||
Map data = await checkBlueToothPermissin();
|
||||
if (data == null || data.isEmpty) {
|
||||
return false;
|
||||
}
|
||||
if (!data['bluetoothScanGranted'] ||
|
||||
!data['bluetoothConnectGranted'] ||
|
||||
!data['locationGranted']) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
} catch (e) {
|
||||
ef.log("[网页加载失败]:$e");
|
||||
}
|
||||
return true;
|
||||
});
|
||||
// bridge.sdk.bluetoothConnect((args) async {
|
||||
// ef.log('[蓝牙连接失败]: $args[0]');
|
||||
// try {
|
||||
@@ -540,7 +562,8 @@ class WebviewTestView extends GetComponent<WebviewTestController> {
|
||||
child: Obx(() {
|
||||
int? aa = MainPageBBottomChange.getCurrentIndex();
|
||||
print(aa);
|
||||
return (controller.ready.value && (MainPageBBottomChange.getCurrentIndex() == 2))
|
||||
// return (controller.ready.value && (MainPageBBottomChange.getCurrentIndex() == 2))
|
||||
return (controller.ready.value)
|
||||
? controller.web.build()
|
||||
: Center(child: CircularProgressIndicator());
|
||||
}),
|
||||
|
||||
@@ -8,7 +8,8 @@ environment:
|
||||
sdk: ^3.5.4
|
||||
|
||||
fluwx:
|
||||
app_id: 'wx929c548fea6af9c7' #填写自己的 WeChat app id.
|
||||
app_id: 'wx929c548fea6af9c7' #填写自己的 WeChat app id.眠花糖
|
||||
# app_id: 'wxeb2688220799e2c5' #填写自己的 WeChat app id.太和e护
|
||||
debug_logging: false # Logging in debug mode.
|
||||
android:
|
||||
# interrupt_wx_request: true # Defaults to true.
|
||||
|
||||
Reference in New Issue
Block a user