diff --git a/.DS_Store b/.DS_Store
index 1688ced0..db65cd73 100755
Binary files a/.DS_Store and b/.DS_Store differ
diff --git a/android/app/build.gradle b/android/app/build.gradle
index 29d964a4..e71f2d1c 100755
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -112,7 +112,7 @@ android {
dimension "flavor-type"
applicationId "com.xhjcn.lock"
signingConfig signingConfigs.xhj
- resValue "string", "app_name", "鑫锁"
+ resValue "string", "app_name", "星星锁"
manifestPlaceholders.JPUSH_PKGNAME = "com.xhjcn.lock"
}
}
diff --git a/flavorizr.yaml b/flavorizr.yaml
index 76789a5d..e19dbf97 100755
--- a/flavorizr.yaml
+++ b/flavorizr.yaml
@@ -95,7 +95,7 @@ flavors:
bundleId: "com.skychip.lock"
xhj:
app:
- name: "鑫锁"
+ name: "星星锁"
icon: "assets/icon/xhj.png"
android:
applicationId: "com.xhjcn.lock"
diff --git a/ios/Flutter/xhjDebug.xcconfig b/ios/Flutter/xhjDebug.xcconfig
index daeff916..e73372b3 100755
--- a/ios/Flutter/xhjDebug.xcconfig
+++ b/ios/Flutter/xhjDebug.xcconfig
@@ -2,5 +2,5 @@
FLUTTER_TARGET=lib/main_xhj_full.dart
ASSET_PREFIX=xhj
-BUNDLE_NAME=鑫锁
-BUNDLE_DISPLAY_NAME=鑫锁
+BUNDLE_NAME=星星锁
+BUNDLE_DISPLAY_NAME=星星锁
diff --git a/ios/Flutter/xhjProfile.xcconfig b/ios/Flutter/xhjProfile.xcconfig
index daeff916..e73372b3 100755
--- a/ios/Flutter/xhjProfile.xcconfig
+++ b/ios/Flutter/xhjProfile.xcconfig
@@ -2,5 +2,5 @@
FLUTTER_TARGET=lib/main_xhj_full.dart
ASSET_PREFIX=xhj
-BUNDLE_NAME=鑫锁
-BUNDLE_DISPLAY_NAME=鑫锁
+BUNDLE_NAME=星星锁
+BUNDLE_DISPLAY_NAME=星星锁
diff --git a/ios/Flutter/xhjRelease.xcconfig b/ios/Flutter/xhjRelease.xcconfig
index 327db43b..1aa5f0c3 100755
--- a/ios/Flutter/xhjRelease.xcconfig
+++ b/ios/Flutter/xhjRelease.xcconfig
@@ -2,5 +2,5 @@
FLUTTER_TARGET=lib/main_xhj_lite.dart
ASSET_PREFIX=xhj
-BUNDLE_NAME=鑫锁
-BUNDLE_DISPLAY_NAME=鑫锁
+BUNDLE_NAME=星星锁
+BUNDLE_DISPLAY_NAME=星星锁
diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist
index 9266fd0f..8c233454 100755
--- a/ios/Runner/Info.plist
+++ b/ios/Runner/Info.plist
@@ -38,16 +38,6 @@
-
- CFBundleTypeRole
- Editor
- CFBundleURLName
- weixin
- CFBundleURLSchemes
-
- 123456
-
-
CFBundleTypeRole
Editor
diff --git a/lib/common/XSConstantMacro/XSConstantMacro.dart b/lib/common/XSConstantMacro/XSConstantMacro.dart
index e54e7b70..bf692ec0 100755
--- a/lib/common/XSConstantMacro/XSConstantMacro.dart
+++ b/lib/common/XSConstantMacro/XSConstantMacro.dart
@@ -40,21 +40,21 @@ class XSConstantMacro {
switch (keyStatus) {
case 110401:
// 正常使用
- return "";
+ return '';
case 110402:
- return "待接收";
+ return '待接收';
case 110403:
- return "未生效";
+ return '未生效';
case 110405:
- return "已冻结";
+ return '已冻结';
case 110408:
- return "已删除";
+ return '已删除';
// case 110410:
// return "已重置";
case 110412:
- return "已过期";
+ return '已过期';
default:
- return "未知";
+ return '未知';
}
}
@@ -75,8 +75,14 @@ class XSConstantMacro {
static int userTypeSuperAdmin = 110301; //超级管理员
static int userTypeAuthorizedAdmin = 110302; //授权管理员
-
//电子钥匙类型
static int keyRightAdmin = 1; //管理钥匙
static int keyRightOrdinary = 2; //普通钥匙
+
+ //网页购买链接类型
+ static int webBuyTypeSMS = 1; //短信购买
+ static int webBuyTypeEmail = 2; //邮件购买
+ static int webBuyTypeVip = 3; //VIP购买
+ static int webBuyTypeAuth = 4; //实名购买
+ static int webBuyTypeShop = 5; //商城购买
}
diff --git a/lib/flavors.dart b/lib/flavors.dart
index a429abef..fcfb501e 100755
--- a/lib/flavors.dart
+++ b/lib/flavors.dart
@@ -59,7 +59,7 @@ class F {
case Flavor.sky:
return '锁通通';
case Flavor.xhj:
- return '鑫锁';
+ return '星星锁';
default:
throw Exception('flavor[$name] title not found');
}
@@ -76,7 +76,7 @@ class F {
case Flavor.sky:
return '锁通通';
case Flavor.xhj:
- return '鑫锁';
+ return '星星锁';
default:
throw Exception('flavor[$name] title not found');
}
diff --git a/lib/main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdmin_logic.dart b/lib/main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdmin_logic.dart
index c0eb4073..23fb1943 100755
--- a/lib/main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdmin_logic.dart
+++ b/lib/main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdmin_logic.dart
@@ -5,6 +5,7 @@ import 'package:flutter_blue_plus/flutter_blue_plus.dart';
import 'package:get/get.dart';
import 'package:star_lock/appRouters.dart';
import 'package:star_lock/app_settings/app_settings.dart';
+import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart';
import 'package:star_lock/login/login/entity/LoginEntity.dart';
import 'package:star_lock/main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdmin_entity.dart';
import 'package:star_lock/main/lockDetail/authorizedAdmin/authorizedAdmin/notice_template_entity.dart';
@@ -254,8 +255,9 @@ class AuthorizedAdminLogic extends BaseGetXController {
ShowCupertinoAlertView().showBuyTipWithContentAlert(
titleStr: '实名认证为付费功能,请购买后再使用'.tr,
sureClick: () {
- Get.toNamed(Routers.advancedFeaturesWebPage,
- arguments: {'isShop': false});
+ Get.toNamed(Routers.advancedFeaturesWebPage, arguments: {
+ 'webBuyType': XSConstantMacro.webBuyTypeAuth,
+ });
});
} else if (entity.errorCode == 433) {
//需联系管理员购买
diff --git a/lib/main/lockDetail/electronicKey/electronicKeyDetail/electronicKeyDetail/electronicKeyDetail_logic.dart b/lib/main/lockDetail/electronicKey/electronicKeyDetail/electronicKeyDetail/electronicKeyDetail_logic.dart
index 6b38b259..1bc06968 100755
--- a/lib/main/lockDetail/electronicKey/electronicKeyDetail/electronicKeyDetail/electronicKeyDetail_logic.dart
+++ b/lib/main/lockDetail/electronicKey/electronicKeyDetail/electronicKeyDetail/electronicKeyDetail_logic.dart
@@ -163,8 +163,9 @@ class ElectronicKeyDetailLogic extends BaseGetXController {
ShowCupertinoAlertView().showBuyTipWithContentAlert(
titleStr: '实名认证为付费功能,请购买后再使用'.tr,
sureClick: () {
- Get.toNamed(Routers.advancedFeaturesWebPage,
- arguments: {'isShop': false});
+ Get.toNamed(Routers.advancedFeaturesWebPage, arguments: {
+ 'webBuyType': XSConstantMacro.webBuyTypeAuth,
+ });
});
} else if (entity.errorCode == 433) {
//需联系管理员购买
@@ -402,8 +403,9 @@ class ElectronicKeyDetailLogic extends BaseGetXController {
ShowCupertinoAlertView().showBuyTipWithContentAlert(
titleStr: '实名认证为付费功能,请购买后再使用'.tr,
sureClick: () {
- Get.toNamed(Routers.advancedFeaturesWebPage,
- arguments: {'isShop': false});
+ Get.toNamed(Routers.advancedFeaturesWebPage, arguments: {
+ 'webBuyType': XSConstantMacro.webBuyTypeAuth,
+ });
});
} else if (entity.errorCode == 433) {
//需联系管理员购买
diff --git a/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_logic.dart b/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_logic.dart
index c4c35673..f8b18cc5 100755
--- a/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_logic.dart
+++ b/lib/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_logic.dart
@@ -200,8 +200,9 @@ class SendElectronicKeyViewLogic extends BaseGetXController {
ShowCupertinoAlertView().showBuyTipWithContentAlert(
titleStr: '实名认证为付费功能,请购买后再使用'.tr,
sureClick: () {
- Get.toNamed(Routers.advancedFeaturesWebPage,
- arguments: {'isShop': false});
+ Get.toNamed(Routers.advancedFeaturesWebPage, arguments: {
+ 'webBuyType': XSConstantMacro.webBuyTypeAuth,
+ });
});
} else if (entity.errorCode == 433) {
//需联系管理员购买
diff --git a/lib/mine/mine/starLockMine_page.dart b/lib/mine/mine/starLockMine_page.dart
index f1fe3ad8..641e15e5 100755
--- a/lib/mine/mine/starLockMine_page.dart
+++ b/lib/mine/mine/starLockMine_page.dart
@@ -1,6 +1,7 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
+import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart';
import 'package:star_lock/flavors.dart';
import 'package:star_lock/mine/mine/starLockMine_state.dart';
import 'package:star_lock/tools/commonDataManage.dart';
@@ -98,7 +99,9 @@ class StarLockMinePageState extends State with BaseWidget {
// logic.showToast('请先添加锁');
// } else {
Get.toNamed(Routers.advancedFeaturesWebPage,
- arguments: {'isShop': true});
+ arguments: {
+ 'webBuyType': XSConstantMacro.webBuyTypeVip,
+ });
// }
} else {
Get.toNamed(
diff --git a/lib/mine/mineSet/mineSet/mineSet_page.dart b/lib/mine/mineSet/mineSet/mineSet_page.dart
index e742ebeb..28440b3f 100755
--- a/lib/mine/mineSet/mineSet/mineSet_page.dart
+++ b/lib/mine/mineSet/mineSet/mineSet_page.dart
@@ -311,6 +311,16 @@ class _MineSetPageState extends State with WidgetsBindingObserver {
Navigator.pushNamed(
context, Routers.aPPUnlockNeedMobileNetworkingLockPage);
}),
+ if (!F.isLite && widget.showAbout)
+ CommonItem(
+ leftTitel: TranslationLoader.lanKeys!.valueAddedServices!.tr,
+ isHaveLine: true,
+ isHaveDirection: true,
+ action: () {
+ Get.back();
+ Get.toNamed(Routers.valueAddedServicesPage);
+ },
+ ),
SizedBox(
height: 10.h,
),
@@ -342,16 +352,6 @@ class _MineSetPageState extends State with WidgetsBindingObserver {
action: () {
logic.showToast('功能暂未开放'.tr);
}),
- if (!F.isLite && widget.showAbout)
- CommonItem(
- leftTitel: TranslationLoader.lanKeys!.valueAddedServices!.tr,
- isHaveLine: true,
- isHaveDirection: true,
- action: () {
- Get.back();
- Get.toNamed(Routers.valueAddedServicesPage);
- },
- ),
if (widget.showAbout)
CommonItem(
leftTitel: TranslationLoader.lanKeys!.about!.tr,
diff --git a/lib/mine/valueAddedServices/advancedFeaturesWeb/advancedFeaturesWeb_logic.dart b/lib/mine/valueAddedServices/advancedFeaturesWeb/advancedFeaturesWeb_logic.dart
index f16a5e34..eba7f1b3 100755
--- a/lib/mine/valueAddedServices/advancedFeaturesWeb/advancedFeaturesWeb_logic.dart
+++ b/lib/mine/valueAddedServices/advancedFeaturesWeb/advancedFeaturesWeb_logic.dart
@@ -4,6 +4,7 @@ import 'package:flutter/services.dart';
import 'package:fluwx/fluwx.dart';
import 'package:get/get.dart';
import 'package:star_lock/app_settings/app_settings.dart';
+import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart';
import 'package:star_lock/flavors.dart';
import 'package:star_lock/mine/mall/webview/webview_logic.dart';
import 'package:star_lock/mine/valueAddedServices/advancedFeaturesWeb/advancedFeaturesWeb_entity.dart';
@@ -20,13 +21,27 @@ class AdvancedFeaturesWebLogic extends BaseGetXController {
//获取购买跳转地址
Future getVipBuyURLRequest() async {
- AdvancedFeaturesWebEntity entity =
+ final AdvancedFeaturesWebEntity entity =
await ApiRepository.to.getServicePackageBuyUrl();
if (entity.errorCode!.codeIsSuccessful) {
- state.vipBuyUrl.value = state.isVipShop.value == true
- ? entity.data!.vipBuyUrl!
- : entity.data!.cloudauthBuyUrl!;
- state.vipBuyWebView.setNavigationDelegate(
+ if (state.webBuyType.value == XSConstantMacro.webBuyTypeVip) {
+ state.webBuyUrl.value = entity.data!.vipBuyUrl!;
+ state.webBuyTitle.value = '高级功能'.tr;
+ } else if (state.webBuyType.value == XSConstantMacro.webBuyTypeAuth) {
+ state.webBuyUrl.value = entity.data!.cloudauthBuyUrl!;
+ state.webBuyTitle.value = '实名认证'.tr;
+ } else if (state.webBuyType.value == XSConstantMacro.webBuyTypeSMS) {
+ state.webBuyUrl.value = entity.data!.smsBuyUrl!;
+ state.webBuyTitle.value = '短信购买'.tr;
+ } else if (state.webBuyType.value == XSConstantMacro.webBuyTypeEmail) {
+ state.webBuyUrl.value = entity.data!.emailBuyUrl!;
+ state.webBuyTitle.value = '邮件购买'.tr;
+ } else if (state.webBuyType.value == XSConstantMacro.webBuyTypeShop) {
+ state.webBuyUrl.value = entity.data!.shopList!;
+ state.webBuyTitle.value = '商城购买'.tr;
+ }
+
+ state.webBuyView.setNavigationDelegate(
NavigationDelegate(
onProgress: (int progress) {
// Update loading bar.
@@ -49,9 +64,9 @@ class AdvancedFeaturesWebLogic extends BaseGetXController {
},
),
);
- state.vipBuyWebView.loadRequest(Uri.parse(state.vipBuyUrl.value));
- state.vipBuyWebView.addJavaScriptChannel(
- "FlutterBridge",
+ state.webBuyView.loadRequest(Uri.parse(state.webBuyUrl.value));
+ state.webBuyView.addJavaScriptChannel(
+ 'FlutterBridge',
onMessageReceived: (JavaScriptMessage message) async {
flutterBridge(message);
},
@@ -66,9 +81,9 @@ class AdvancedFeaturesWebLogic extends BaseGetXController {
if (obj is! Map && obj['action'] is String) {
return;
}
- String action = obj['action'];
- dynamic data = obj['data'];
- String? callFun = obj['callFun'];
+ final String action = obj['action'];
+ final dynamic data = obj['data'];
+ final String? callFun = obj['callFun'];
switch (action) {
case 'WechatPayParams':
//微信支付
@@ -79,15 +94,15 @@ class AdvancedFeaturesWebLogic extends BaseGetXController {
//微信支付
Future wxPay(dynamic data, String? callFun) async {
- WxPayTool.pay(WxPayTool.mapToPayment(data), (response) {
+ WxPayTool.pay(WxPayTool.mapToPayment(data), (WeChatResponse response) {
if (response is WeChatPaymentResponse) {
- Map data = {
+ final Map data = {
'type': response.type,
'extData': response.extData,
'errCode': response.errCode,
'errStr': response.errStr,
};
- state.vipBuyWebView.runJavaScript(
+ state.webBuyView.runJavaScript(
'window.$callFun(`${json.encode(data)}`)',
);
}
@@ -96,9 +111,9 @@ class AdvancedFeaturesWebLogic extends BaseGetXController {
//判断webview 是否可以有路由可以回退,无则退出当前页面
Future canGoBack(bool didPop) async {
- bool canGoBack = await state.vipBuyWebView.canGoBack();
+ final bool canGoBack = await state.webBuyView.canGoBack();
if (canGoBack) {
- await state.vipBuyWebView.goBack();
+ await state.webBuyView.goBack();
} else if (state.allowReturn) {
Get.back();
} else {
@@ -123,7 +138,7 @@ class AdvancedFeaturesWebLogic extends BaseGetXController {
if (state.allowReturn) {
return;
}
- state.vipBuyWebView.canGoBack().then((value) {
+ state.webBuyView.canGoBack().then((bool value) {
state.canGoBack = value;
update();
});
diff --git a/lib/mine/valueAddedServices/advancedFeaturesWeb/advancedFeaturesWeb_page.dart b/lib/mine/valueAddedServices/advancedFeaturesWeb/advancedFeaturesWeb_page.dart
index 3a079b52..7763bd07 100755
--- a/lib/mine/valueAddedServices/advancedFeaturesWeb/advancedFeaturesWeb_page.dart
+++ b/lib/mine/valueAddedServices/advancedFeaturesWeb/advancedFeaturesWeb_page.dart
@@ -3,6 +3,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:star_lock/app_settings/app_colors.dart';
import 'package:star_lock/mine/valueAddedServices/advancedFeaturesWeb/advancedFeaturesWeb_logic.dart';
+import 'package:star_lock/mine/valueAddedServices/advancedFeaturesWeb/advancedFeaturesWeb_state.dart';
import 'package:star_lock/tools/titleAppBar.dart';
import 'package:webview_flutter/webview_flutter.dart';
@@ -15,10 +16,9 @@ class AdvancedFeaturesWebPage extends StatefulWidget {
}
class _AdvancedFeaturesWebPageState extends State {
- @override
- void initState() {
- super.initState();
- }
+ final AdvancedFeaturesWebLogic logic = Get.put(AdvancedFeaturesWebLogic());
+ final AdvancedFeaturesWebState state =
+ Get.find().state;
@override
Widget build(BuildContext context) {
@@ -32,9 +32,7 @@ class _AdvancedFeaturesWebPageState extends State {
resizeToAvoidBottomInset: false,
backgroundColor: const Color(0xFFFFFFFF),
appBar: TitleAppBar(
- barTitle: logic.state.isVipShop.value == true
- ? '高级功能'.tr
- : '实名认证'.tr,
+ barTitle: state.webBuyTitle.value,
haveBack: true,
backgroundColor: AppColors.mainColor,
backAction: () => logic.canGoBack(false),
@@ -56,8 +54,8 @@ class _AdvancedFeaturesWebPageState extends State {
),
),
Expanded(
- child: WebViewWidget(
- controller: logic.state.vipBuyWebView),
+ child:
+ WebViewWidget(controller: logic.state.webBuyView),
),
],
))),
diff --git a/lib/mine/valueAddedServices/advancedFeaturesWeb/advancedFeaturesWeb_state.dart b/lib/mine/valueAddedServices/advancedFeaturesWeb/advancedFeaturesWeb_state.dart
index cc6a4a76..39a8b2bf 100755
--- a/lib/mine/valueAddedServices/advancedFeaturesWeb/advancedFeaturesWeb_state.dart
+++ b/lib/mine/valueAddedServices/advancedFeaturesWeb/advancedFeaturesWeb_state.dart
@@ -1,29 +1,40 @@
import 'package:flutter/material.dart';
import 'package:get/get.dart';
+import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart';
import 'package:star_lock/mine/mall/webview/webview_logic.dart';
import 'package:webview_flutter/webview_flutter.dart';
class AdvancedFeaturesWebState {
- var vipBuyUrl = "".obs; //购买跳转地址
- var webProgress = 0.0.obs;
+ AdvancedFeaturesWebState() {
+ if (Get.arguments['webBuyType'] != null) {
+ webBuyType.value = Get.arguments['webBuyType'];
+ if (webBuyType.value == XSConstantMacro.webBuyTypeVip) {
+ webBuyTitle.value = '高级功能'.tr;
+ } else if (webBuyType.value == XSConstantMacro.webBuyTypeAuth) {
+ webBuyTitle.value = '实名认证'.tr;
+ } else if (webBuyType.value == XSConstantMacro.webBuyTypeSMS) {
+ webBuyTitle.value = '短信购买'.tr;
+ } else if (webBuyType.value == XSConstantMacro.webBuyTypeEmail) {
+ webBuyTitle.value = '邮件购买'.tr;
+ } else if (webBuyType.value == XSConstantMacro.webBuyTypeShop) {
+ webBuyTitle.value = '商城购买'.tr;
+ }
+ }
+ }
+ RxString webBuyUrl = ''.obs; //购买跳转地址
+ RxInt webBuyType = 0.obs; //购买类型
+ RxString webBuyTitle = ''.obs;
+ RxDouble webProgress = 0.0.obs;
bool allowReturn = true;
- late WebViewController vipBuyWebView = initWebViewController();
- var isVipShop = true.obs; //是否为高级功能购买页面
+ late WebViewController webBuyView = initWebViewController();
bool canGoBack = false;
//初始化webView控制器
WebViewController initWebViewController() {
- WebViewController allWebView = WebViewController();
+ final WebViewController allWebView = WebViewController();
allWebView.setJavaScriptMode(JavaScriptMode.unrestricted);
allWebView.setBackgroundColor(Colors.white);
allWebView.setUserAgent(WebViewLogic.userAgent);
return allWebView;
}
-
- AdvancedFeaturesWebState() {
- Map map = Get.arguments;
- if (map['isShop'] != null) {
- isVipShop.value = map['isShop'];
- }
- }
}
diff --git a/lib/mine/valueAddedServices/valueAddedServicesList/valueAddedServicesList_page.dart b/lib/mine/valueAddedServices/valueAddedServicesList/valueAddedServicesList_page.dart
index a019ce22..4a6af190 100755
--- a/lib/mine/valueAddedServices/valueAddedServicesList/valueAddedServicesList_page.dart
+++ b/lib/mine/valueAddedServices/valueAddedServicesList/valueAddedServicesList_page.dart
@@ -2,7 +2,9 @@ import 'package:flutter/material.dart';
import 'package:flutter_easyloading/flutter_easyloading.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
+import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart';
import 'package:star_lock/mine/valueAddedServices/valueAddedServicesList/valueAddedServicesList_logic.dart';
+import 'package:star_lock/mine/valueAddedServices/valueAddedServicesList/valueAddedServicesList_state.dart';
import 'package:star_lock/tools/commonDataManage.dart';
import 'package:star_lock/tools/storage.dart';
@@ -21,8 +23,10 @@ class ValueAddedServicesListPage extends StatefulWidget {
class _ValueAddedServicesPageListState
extends State {
- final logic = Get.put(ValueAddedServicesListLogic());
- final state = Get.find().state;
+ final ValueAddedServicesListLogic logic =
+ Get.put(ValueAddedServicesListLogic());
+ final ValueAddedServicesListState state =
+ Get.find().state;
@override
void initState() {
@@ -40,21 +44,19 @@ class _ValueAddedServicesPageListState
haveBack: true,
backgroundColor: AppColors.mainColor),
body: ListView(
- children: [
- // _valueAddedServicesItem(
- // Image.asset('images/mine/icon_mine_valueAddedServices_note.png'),
- // TranslationLoader.lanKeys!.note!.tr, () {
- // Navigator.pushNamed(
- // context, Routers.valueAddedServicesNoteAndEmailDetailPage,
- // arguments: 1);
- // }),
- // _valueAddedServicesItem(
- // Image.asset('images/mine/icon_mine_valueAddedServices_email.png'),
- // TranslationLoader.lanKeys!.mail!.tr, () {
- // Navigator.pushNamed(
- // context, Routers.valueAddedServicesNoteAndEmailDetailPage,
- // arguments: 2);
- // }),
+ children: [
+ _valueAddedServicesItem(
+ Image.asset('images/mine/icon_mine_valueAddedServices_note.png'),
+ TranslationLoader.lanKeys!.note!.tr, () {
+ Get.toNamed(Routers.valueAddedServicesNoteAndEmailDetailPage,
+ arguments: {'type': 1});
+ }),
+ _valueAddedServicesItem(
+ Image.asset('images/mine/icon_mine_valueAddedServices_email.png'),
+ TranslationLoader.lanKeys!.mail!.tr, () {
+ Get.toNamed(Routers.valueAddedServicesNoteAndEmailDetailPage,
+ arguments: {'type': 2});
+ }),
_valueAddedServicesItem(
Image.asset(
'images/mine/icon_mine_valueAddedServices_realName.png'),
@@ -64,13 +66,14 @@ class _ValueAddedServicesPageListState
_valueAddedServicesItem(
Image.asset('images/mine/icon_mine_valueAddedServices_vip.png'),
TranslationLoader.lanKeys!.advancedFunction!.tr, () async {
- var isVip = await Storage.getBool(saveIsVip);
+ bool? isVip = await Storage.getBool(saveIsVip);
if (isVip == null || !isVip) {
// if (CommonDataManage().currentKeyInfo.isLockOwner != 1) {
// logic.showToast('请先添加锁');
// } else {
- Get.toNamed(Routers.advancedFeaturesWebPage,
- arguments: {'isShop': true});
+ Get.toNamed(Routers.advancedFeaturesWebPage, arguments: {
+ 'webBuyType': XSConstantMacro.webBuyTypeVip,
+ });
// }
} else {
Get.toNamed(Routers.valueAddedServicesHighFunctionPage);
@@ -91,34 +94,34 @@ class _ValueAddedServicesPageListState
Image.asset(
'images/mine/icon_mine_valueAddedServices_storage.png'),
TranslationLoader.lanKeys!.recordsRetention!.tr, () {
- EasyLoading.showToast("功能暂未开放", duration: 2000.milliseconds);
+ EasyLoading.showToast('功能暂未开放', duration: 2000.milliseconds);
}),
_valueAddedServicesItem(
Image.asset('images/mine/icon_mine_valueAddedServices_vip.png'),
'可视对讲', () {
- EasyLoading.showToast("功能暂未开放", duration: 2000.milliseconds);
+ EasyLoading.showToast('功能暂未开放', duration: 2000.milliseconds);
}),
_valueAddedServicesItem(
Text(
- "A",
+ 'A',
style: TextStyle(
color: Colors.white,
fontSize: 38.sp,
fontWeight: FontWeight.w600),
),
- "Amazon Alexa", () {
- EasyLoading.showToast("功能暂未开放", duration: 2000.milliseconds);
+ 'Amazon Alexa', () {
+ EasyLoading.showToast('功能暂未开放', duration: 2000.milliseconds);
}),
_valueAddedServicesItem(
Text(
- "G",
+ 'G',
style: TextStyle(
color: Colors.white,
fontSize: 38.sp,
fontWeight: FontWeight.w600),
),
- "Google Home", () {
- EasyLoading.showToast("功能暂未开放", duration: 2000.milliseconds);
+ 'Google Home', () {
+ EasyLoading.showToast('功能暂未开放', duration: 2000.milliseconds);
}),
],
),
@@ -138,7 +141,7 @@ class _ValueAddedServicesPageListState
borderRadius: BorderRadius.circular(10.w),
),
child: Row(
- children: [
+ children: [
Container(
width: 50.w,
height: 50.w,
diff --git a/lib/mine/valueAddedServices/valueAddedServicesNoteAndEmailDetail/valueAddedServicesNoteAndEmailDetail_logic.dart b/lib/mine/valueAddedServices/valueAddedServicesNoteAndEmailDetail/valueAddedServicesNoteAndEmailDetail_logic.dart
new file mode 100644
index 00000000..361f0afe
--- /dev/null
+++ b/lib/mine/valueAddedServices/valueAddedServicesNoteAndEmailDetail/valueAddedServicesNoteAndEmailDetail_logic.dart
@@ -0,0 +1,44 @@
+import 'dart:async';
+import 'package:star_lock/mine/valueAddedServices/advancedFeaturesWeb/advancedFeaturesWeb_entity.dart';
+import 'package:star_lock/mine/valueAddedServices/valueAddedServicesNoteAndEmailDetail/valueAddedServicesNoteAndEmailDetail_state.dart';
+import 'package:star_lock/tools/baseGetXController.dart';
+import '../../../network/api_repository.dart';
+
+class ValueAddedServicesNoteAndEmailDetailLogic extends BaseGetXController {
+ final ValueAddedServicesNoteAndEmailDetailState state =
+ ValueAddedServicesNoteAndEmailDetailState();
+
+ //获取增值服务用户余量包
+ Future getServiceUserPackage() async {
+ var entity = await ApiRepository.to.getServiceUserPackage();
+ if (entity.errorCode!.codeIsSuccessful) {
+ if (state.selectType.value == 1) {
+ state.remainCount.value = entity.data!.smsCount!;
+ } else if (state.selectType.value == 2) {
+ state.remainCount.value = entity.data!.emailCount!;
+ }
+ state.remainCount.refresh();
+ }
+ }
+
+ //增值服务套餐购包链接
+ Future getServicePackageBuyUrl() async {
+ final AdvancedFeaturesWebEntity entity =
+ await ApiRepository.to.getServicePackageBuyUrl();
+ if (entity.errorCode!.codeIsSuccessful) {
+ if (state.selectType.value == 1) {
+ state.buyUrl.value = entity.data!.smsBuyUrl!;
+ } else if (state.selectType.value == 2) {
+ state.buyUrl.value = entity.data!.emailBuyUrl!;
+ }
+ state.buyUrl.refresh();
+ }
+ }
+
+ @override
+ void onInit() {
+ super.onInit();
+
+ getServiceUserPackage();
+ }
+}
diff --git a/lib/mine/valueAddedServices/valueAddedServicesNoteAndEmailDetail/valueAddedServicesNoteAndEmailDetail_page.dart b/lib/mine/valueAddedServices/valueAddedServicesNoteAndEmailDetail/valueAddedServicesNoteAndEmailDetail_page.dart
index 26191f3e..bfa7483f 100755
--- a/lib/mine/valueAddedServices/valueAddedServicesNoteAndEmailDetail/valueAddedServicesNoteAndEmailDetail_page.dart
+++ b/lib/mine/valueAddedServices/valueAddedServicesNoteAndEmailDetail/valueAddedServicesNoteAndEmailDetail_page.dart
@@ -1,6 +1,9 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
+import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart';
+import 'package:star_lock/mine/valueAddedServices/valueAddedServicesNoteAndEmailDetail/valueAddedServicesNoteAndEmailDetail_logic.dart';
+import 'package:star_lock/mine/valueAddedServices/valueAddedServicesNoteAndEmailDetail/valueAddedServicesNoteAndEmailDetail_state.dart';
import '../../../appRouters.dart';
import '../../../app_settings/app_colors.dart';
@@ -18,33 +21,41 @@ class ValueAddedServicesNoteAndEmailDetailPage extends StatefulWidget {
class _ValueAddedServicesNoteAndEmailDetailPageState
extends State {
+ final ValueAddedServicesNoteAndEmailDetailLogic logic =
+ Get.put(ValueAddedServicesNoteAndEmailDetailLogic());
+ final ValueAddedServicesNoteAndEmailDetailState state =
+ Get.find().state;
+
+ @override
+ void initState() {
+ super.initState();
+ logic.getServicePackageBuyUrl();
+ }
+
@override
Widget build(BuildContext context) {
- var type = ModalRoute.of(context)?.settings.arguments as int;
-
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
- barTitle: type == 1
+ barTitle: state.selectType.value == 1
? TranslationLoader.lanKeys!.note!.tr
: TranslationLoader.lanKeys!.mail!.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: Column(
- children: [
+ children: [
Container(
width: 1.sw,
- // color: Colors.grey.shade300,
padding: EdgeInsets.only(
left: 25.h, right: 25.h, top: 25.h, bottom: 10.h),
child: Text(
- type == 1
+ state.selectType.value == 1
? TranslationLoader.lanKeys!.smsBuyTip!.tr
: TranslationLoader.lanKeys!.emailBuyTip!.tr,
style: TextStyle(
color: AppColors.darkGrayTextColor, fontSize: 18.sp),
)),
- middleWidget(type),
+ middleWidget(state.selectType.value),
],
),
);
@@ -53,31 +64,30 @@ class _ValueAddedServicesNoteAndEmailDetailPageState
Widget middleWidget(int type) {
return Container(
width: 1.sw,
- // height: 100,
- // color: Colors.grey.shade300,
margin: EdgeInsets.all(10.h),
decoration: const BoxDecoration(
image: DecorationImage(
image: AssetImage(
- "images/mine/icon_mine_valueAddedServices_noteTop.png"),
+ 'images/mine/icon_mine_valueAddedServices_noteTop.png'),
fit: BoxFit.cover)),
- child: Column(children: [
- // SizedBox(height:10),
+ child: Column(children: [
Container(
margin:
const EdgeInsets.only(top: 15, bottom: 15, left: 30, right: 30),
child: Row(
- children: [
+ children: [
Expanded(
- child: Text(
- "${TranslationLoader.lanKeys!.currentRemainingQuantity!.tr}:0",
- style: TextStyle(fontSize: 24.sp),
- )),
+ child: Obx(() => Text(
+ '${TranslationLoader.lanKeys!.currentRemainingQuantity!.tr}:${state.remainCount.value}',
+ style: TextStyle(fontSize: 24.sp),
+ ))),
GestureDetector(
onTap: () {
- Navigator.pushNamed(
- context, Routers.valueAddedServicesBuyPage,
- arguments: type);
+ Get.toNamed(Routers.advancedFeaturesWebPage, arguments: {
+ 'webBuyType': state.selectType.value == 1
+ ? XSConstantMacro.webBuyTypeSMS
+ : XSConstantMacro.webBuyTypeEmail,
+ });
},
child: Container(
width: 50,
@@ -93,14 +103,11 @@ class _ValueAddedServicesNoteAndEmailDetailPageState
],
),
),
- // SizedBox(height:20.h),
Container(
margin: const EdgeInsets.only(top: 10, bottom: 10),
- // color: Colors.red,
- // height: 100.h,
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
- children: [
+ children: [
GestureDetector(
onTap: () {
if (type == 1) {
@@ -112,12 +119,12 @@ class _ValueAddedServicesNoteAndEmailDetailPageState
}
},
child: Row(
- children: [
+ children: [
SizedBox(
width: 30.w,
),
Image.asset(
- "images/mine/icon_mine_valueAddedServices_buyIcon.png",
+ 'images/mine/icon_mine_valueAddedServices_buyIcon.png',
width: 36.w,
height: 36.w,
),
diff --git a/lib/mine/valueAddedServices/valueAddedServicesNoteAndEmailDetail/valueAddedServicesNoteAndEmailDetail_state.dart b/lib/mine/valueAddedServices/valueAddedServicesNoteAndEmailDetail/valueAddedServicesNoteAndEmailDetail_state.dart
new file mode 100644
index 00000000..eb1b88c4
--- /dev/null
+++ b/lib/mine/valueAddedServices/valueAddedServicesNoteAndEmailDetail/valueAddedServicesNoteAndEmailDetail_state.dart
@@ -0,0 +1,15 @@
+import 'package:get/get.dart';
+
+class ValueAddedServicesNoteAndEmailDetailState {
+ ValueAddedServicesNoteAndEmailDetailState() {
+ if (Get.arguments is Map && Get.arguments.isNotEmpty) {
+ if (Get.arguments['type'] != null) {
+ selectType.value = Get.arguments['type'];
+ }
+ }
+ }
+
+ RxInt selectType = 0.obs; //1-短信;2-邮件
+ RxInt remainCount = 0.obs; //当前短信/邮箱剩余数量
+ RxString buyUrl = ''.obs; //短信/邮箱购买链接
+}
diff --git a/lib/mine/valueAddedServices/valueAddedServicesRealName/value_added_services_real_name_page.dart b/lib/mine/valueAddedServices/valueAddedServicesRealName/value_added_services_real_name_page.dart
index 6bdebbf9..5ceead34 100755
--- a/lib/mine/valueAddedServices/valueAddedServicesRealName/value_added_services_real_name_page.dart
+++ b/lib/mine/valueAddedServices/valueAddedServicesRealName/value_added_services_real_name_page.dart
@@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:star_lock/appRouters.dart';
+import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart';
import 'package:star_lock/mine/valueAddedServices/valueAddedServicesRealName/value_added_services_real_name_logic.dart';
import 'package:star_lock/mine/valueAddedServices/valueAddedServicesRealName/value_added_services_real_name_state.dart';
import 'package:star_lock/mine/valueAddedServices/valueAddedServicesRecord/use_record_list_arg.dart';
@@ -94,8 +95,9 @@ class _ValueAddedServicesRealNamePageState
),
GestureDetector(
onTap: () {
- Get.toNamed(Routers.advancedFeaturesWebPage,
- arguments: {'isShop': false});
+ Get.toNamed(Routers.advancedFeaturesWebPage, arguments: {
+ 'webBuyType': XSConstantMacro.webBuyTypeAuth,
+ });
},
child: Container(
width: 200.w,
diff --git a/lib/tools/showCupertinoAlertView.dart b/lib/tools/showCupertinoAlertView.dart
index aef9105b..c73223e1 100755
--- a/lib/tools/showCupertinoAlertView.dart
+++ b/lib/tools/showCupertinoAlertView.dart
@@ -5,6 +5,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'package:star_lock/appRouters.dart';
import 'package:star_lock/app_settings/app_colors.dart';
+import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart';
typedef AuthInfoCallback = void Function(String? idCard, String? name);
@@ -89,8 +90,9 @@ class ShowCupertinoAlertView {
style: TextStyle(color: AppColors.mainColor),
),
onPressed: () async {
- Get.toNamed(Routers.advancedFeaturesWebPage,
- arguments: {'isShop': true});
+ Get.toNamed(Routers.advancedFeaturesWebPage, arguments: {
+ 'webBuyType': XSConstantMacro.webBuyTypeVip,
+ });
},
),
],
@@ -121,7 +123,7 @@ class ShowCupertinoAlertView {
),
onPressed: () {
Get.toNamed(Routers.advancedFeaturesWebPage, arguments: {
- 'isShop': true,
+ 'webBuyType': XSConstantMacro.webBuyTypeVip,
});
},
child: Text(
diff --git a/pubspec.yaml b/pubspec.yaml
index 33dfa7cb..125651e6 100755
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -32,13 +32,13 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# 1.0.27+2024041101:打包提审
# 1.0.27+2024041102:打包预发布环境给田总测试
# 1.0.28+2024041702:打包给欧阳回归测试
-# 1.0.27+2024041702 打包鑫锁提审华为
-# 1.0.27+2024041703 打包鑫锁提审ios
-# 1.0.27+2024042204 打包鑫锁提审ios与 android
-# 1.0.28+2024042601 打包鑫锁提审华为
+# 1.0.27+2024041702 打包星星锁提审华为
+# 1.0.27+2024041703 打包星星锁提审ios
+# 1.0.27+2024042204 打包星星锁提审ios与 android
+# 1.0.28+2024042601 打包星星锁提审华为
# 1.0.29+2024042901 打包给欧阳测试
-# 1.0.30+2024043001 打包鑫锁提审ios
-# 1.0.31+2024050301 打包鑫锁提审华为
+# 1.0.30+2024043001 打包星星锁提审ios
+# 1.0.31+2024050301 打包星星锁提审华为
# 1.0.32+2024051001:打包给欧阳回归测试
# 1.0.33+2024051401:打包给欧阳回归测试
# 1.0.34+2024051402:打包给欧阳回归测试
@@ -59,9 +59,10 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# 1.0.49+2024052401:xhj UI ,预发布环境
# 1.0.50+2024052701:xhj UI ,预发布环境
# 1.0.51+2024052801:xhj 线上环境,提审
-# 1.0.53+2024052803:xhj 线上环境,提审
+# 1.0.53+2024052803:xhj 线上环境,提审 sky 线上环境提审
+# 1.0.53+2024052804:xhj 线上环境,提审 修改鑫锁名字为星星锁
-version: 1.0.53+2024052803
+version: 1.0.53+2024052804
environment:
sdk: '>=2.12.0 <3.0.0'