From 983dce53f686db1da78d80def0a17c8227a1feda Mon Sep 17 00:00:00 2001 From: Daisy <> Date: Sat, 4 May 2024 14:41:44 +0800 Subject: [PATCH] =?UTF-8?q?1=EF=BC=8C=E6=96=B0=E5=A2=9E=E5=AE=9E=E5=90=8D?= =?UTF-8?q?=E8=AE=A4=E8=AF=81=E8=B4=AD=E4=B9=B0=E6=B5=81=E7=A8=8B=202?= =?UTF-8?q?=EF=BC=8C=E6=96=B0=E5=A2=9E=E5=AE=9E=E5=90=8D=E8=AE=A4=E8=AF=81?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E7=94=A8=E6=88=B7=E4=BD=99=E9=87=8F=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=AF=B9=E6=8E=A5=203=EF=BC=8C=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=AE=9E=E5=90=8D=E8=AE=A4=E8=AF=81=E8=B4=AD=E4=B9=B0=E8=AE=B0?= =?UTF-8?q?=E5=BD=95=E5=92=8C=E4=BD=BF=E7=94=A8=E8=AE=B0=E5=BD=95=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E5=8F=8AUI=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- star_lock/images/lan/lan_en.json | 4 +- star_lock/images/lan/lan_keys.json | 4 +- star_lock/images/lan/lan_zh.json | 4 +- .../lib/mine/about/webviewShow_page.dart | 2 +- .../lib/mine/mine/starLockMine_page.dart | 3 +- .../advancedFeaturesWeb_logic.dart | 11 +- .../advancedFeaturesWeb_page.dart | 12 +- .../advancedFeaturesWeb_state.dart | 12 +- .../valueAddedServicesList_page.dart | 3 +- .../value_added_services_real_name_logic.dart | 23 ++- .../value_added_services_real_name_page.dart | 32 ++-- .../value_added_services_real_name_state.dart | 4 + .../buy_record_list_entity.dart | 141 +++++++++++++++--- .../value_added_services_record_logic.dart | 14 +- .../value_added_services_record_page.dart | 47 ++++-- .../value_added_services_record_state.dart | 4 + .../lib/tools/advancedFunctionHandle.dart | 7 +- 17 files changed, 251 insertions(+), 76 deletions(-) diff --git a/star_lock/images/lan/lan_en.json b/star_lock/images/lan/lan_en.json index 30fdba60..9852fba1 100644 --- a/star_lock/images/lan/lan_en.json +++ b/star_lock/images/lan/lan_en.json @@ -790,5 +790,7 @@ "固件升级完成": "Firmware upgrade completed", "记录":"Record", "开通高级功能后才可以对锁进行管理":"You can manage locks only after the advanced function is enabled", - "去开通":"Go and Activate" + "去开通":"Go and Activate", + "实名认证":"Real-name authentication", + "当前剩余数量":"Current surplus quantity" } diff --git a/star_lock/images/lan/lan_keys.json b/star_lock/images/lan/lan_keys.json index 3eb8e9f9..f966c98a 100644 --- a/star_lock/images/lan/lan_keys.json +++ b/star_lock/images/lan/lan_keys.json @@ -817,5 +817,7 @@ "固件升级完成":"固件升级完成", "记录":"记录", "开通高级功能后才可以对锁进行管理":"开通高级功能后才可以对锁进行管理", - "去开通":"去开通" + "去开通":"去开通", + "实名认证":"实名认证", + "当前剩余数量":"当前剩余数量" } diff --git a/star_lock/images/lan/lan_zh.json b/star_lock/images/lan/lan_zh.json index 07ba434d..172214a8 100644 --- a/star_lock/images/lan/lan_zh.json +++ b/star_lock/images/lan/lan_zh.json @@ -820,5 +820,7 @@ "文件校验失败 0x03":"文件校验失败 0x03", "固件升级完成":"固件升级完成", "开通高级功能后才可以对锁进行管理":"开通高级功能后才可以对锁进行管理", - "去开通":"去开通" + "去开通":"去开通", + "实名认证":"实名认证", + "当前剩余数量":"当前剩余数量" } diff --git a/star_lock/lib/mine/about/webviewShow_page.dart b/star_lock/lib/mine/about/webviewShow_page.dart index baa7d3ce..425bd675 100644 --- a/star_lock/lib/mine/about/webviewShow_page.dart +++ b/star_lock/lib/mine/about/webviewShow_page.dart @@ -65,7 +65,7 @@ class _WebviewShowPageState extends State { onPressed: () { Get.back(); }, - icon: Icon(Icons.arrow_back_ios)), + icon: const Icon(Icons.arrow_back_ios)), ], ), ); diff --git a/star_lock/lib/mine/mine/starLockMine_page.dart b/star_lock/lib/mine/mine/starLockMine_page.dart index b105c14a..54f8d203 100644 --- a/star_lock/lib/mine/mine/starLockMine_page.dart +++ b/star_lock/lib/mine/mine/starLockMine_page.dart @@ -91,7 +91,8 @@ class StarLockMinePageState extends State with BaseWidget { Obx(() => GestureDetector( onTap: () { if (state.isVip.value == null || !state.isVip.value) { - Get.toNamed(Routers.advancedFeaturesWebPage); + Get.toNamed(Routers.advancedFeaturesWebPage, + arguments: {'isShop': true}); } else { Get.toNamed( Routers.valueAddedServicesHighFunctionPage); diff --git a/star_lock/lib/mine/valueAddedServices/advancedFeaturesWeb/advancedFeaturesWeb_logic.dart b/star_lock/lib/mine/valueAddedServices/advancedFeaturesWeb/advancedFeaturesWeb_logic.dart index 15f1cef6..0a23cf62 100644 --- a/star_lock/lib/mine/valueAddedServices/advancedFeaturesWeb/advancedFeaturesWeb_logic.dart +++ b/star_lock/lib/mine/valueAddedServices/advancedFeaturesWeb/advancedFeaturesWeb_logic.dart @@ -12,17 +12,20 @@ import 'package:star_lock/webview/webview_logic.dart'; import 'package:webview_flutter/webview_flutter.dart'; class AdvancedFeaturesWebLogic extends BaseGetXController { - late AdvancedFeaturesWebState state; + late AdvancedFeaturesWebState state = AdvancedFeaturesWebState(); - AdvancedFeaturesWebLogic({required bool allowReturn}) - : state = AdvancedFeaturesWebState(allowReturn: allowReturn); + // AdvancedFeaturesWebLogic({required bool allowReturn, required bool isShop}) + // : state = + // AdvancedFeaturesWebState(allowReturn: allowReturn, isShop: isShop); //获取商城跳转地址 Future getVipBuyURLRequest() async { AdvancedFeaturesWebEntity entity = await ApiRepository.to.getServicePackageBuyUrl(); if (entity.errorCode!.codeIsSuccessful) { - state.vipBuyUrl.value = entity.data!.shopList!; + state.vipBuyUrl.value = state.isShop.value == true + ? entity.data!.shopList! + : entity.data!.cloudauthBuyUrl!; state.mallWebView.setNavigationDelegate( NavigationDelegate( onProgress: (int progress) { diff --git a/star_lock/lib/mine/valueAddedServices/advancedFeaturesWeb/advancedFeaturesWeb_page.dart b/star_lock/lib/mine/valueAddedServices/advancedFeaturesWeb/advancedFeaturesWeb_page.dart index 522fd08c..1fd4b034 100644 --- a/star_lock/lib/mine/valueAddedServices/advancedFeaturesWeb/advancedFeaturesWeb_page.dart +++ b/star_lock/lib/mine/valueAddedServices/advancedFeaturesWeb/advancedFeaturesWeb_page.dart @@ -8,10 +8,14 @@ import 'package:webview_flutter/webview_flutter.dart'; class AdvancedFeaturesWebPage extends StatefulWidget { AdvancedFeaturesWebPage( - {Key? key, this.showAppBar = true, this.allowReturn = true}) + {Key? key, + this.showAppBar = true, + this.allowReturn = true, + this.isShop = true}) : super(key: key); bool showAppBar; bool allowReturn; + bool isShop; @override State createState() => @@ -27,7 +31,7 @@ class _AdvancedFeaturesWebPageState extends State { @override Widget build(BuildContext context) { return GetBuilder( - init: AdvancedFeaturesWebLogic(allowReturn: widget.allowReturn), + init: AdvancedFeaturesWebLogic(), builder: (AdvancedFeaturesWebLogic logic) { return PopScope( onPopInvoked: logic.canGoBack, @@ -37,7 +41,9 @@ class _AdvancedFeaturesWebPageState extends State { backgroundColor: const Color(0xFFFFFFFF), appBar: widget.showAppBar ? TitleAppBar( - barTitle: '高级功能', + barTitle: logic.state.isShop.value == true + ? '高级功能'.tr + : '实名认证'.tr, haveBack: true, backgroundColor: AppColors.mainColor, ) diff --git a/star_lock/lib/mine/valueAddedServices/advancedFeaturesWeb/advancedFeaturesWeb_state.dart b/star_lock/lib/mine/valueAddedServices/advancedFeaturesWeb/advancedFeaturesWeb_state.dart index aa4d5725..f1e55368 100644 --- a/star_lock/lib/mine/valueAddedServices/advancedFeaturesWeb/advancedFeaturesWeb_state.dart +++ b/star_lock/lib/mine/valueAddedServices/advancedFeaturesWeb/advancedFeaturesWeb_state.dart @@ -4,12 +4,13 @@ import 'package:star_lock/webview/webview_logic.dart'; import 'package:webview_flutter/webview_flutter.dart'; class AdvancedFeaturesWebState { - AdvancedFeaturesWebState({required this.allowReturn}); + // AdvancedFeaturesWebState({required this.allowReturn, required this.isShop}); var vipBuyUrl = "".obs; var webProgress = 0.0.obs; - bool allowReturn; + bool allowReturn = true; late WebViewController mallWebView = initWebViewController(); + var isShop = true.obs; //是否为高级功能购买页面 //初始化webView控制器 WebViewController initWebViewController() { @@ -19,4 +20,11 @@ class AdvancedFeaturesWebState { allWebView.setUserAgent(WebViewLogic.userAgent); return allWebView; } + + AdvancedFeaturesWebState() { + Map map = Get.arguments; + if (map['isShop'] != null) { + isShop.value = map['isShop']; + } + } } diff --git a/star_lock/lib/mine/valueAddedServices/valueAddedServicesList/valueAddedServicesList_page.dart b/star_lock/lib/mine/valueAddedServices/valueAddedServicesList/valueAddedServicesList_page.dart index d78696a0..25d7493f 100644 --- a/star_lock/lib/mine/valueAddedServices/valueAddedServicesList/valueAddedServicesList_page.dart +++ b/star_lock/lib/mine/valueAddedServices/valueAddedServicesList/valueAddedServicesList_page.dart @@ -65,7 +65,8 @@ class _ValueAddedServicesPageListState TranslationLoader.lanKeys!.advancedFunction!.tr, () async { var isVip = await Storage.getBool(saveIsVip); if (isVip == null || !isVip) { - Get.toNamed(Routers.advancedFeaturesWebPage); + Get.toNamed(Routers.advancedFeaturesWebPage, + arguments: {'isShop': true}); } else { Get.toNamed(Routers.valueAddedServicesHighFunctionPage); } diff --git a/star_lock/lib/mine/valueAddedServices/valueAddedServicesRealName/value_added_services_real_name_logic.dart b/star_lock/lib/mine/valueAddedServices/valueAddedServicesRealName/value_added_services_real_name_logic.dart index f6b6d2d3..86b1a743 100644 --- a/star_lock/lib/mine/valueAddedServices/valueAddedServicesRealName/value_added_services_real_name_logic.dart +++ b/star_lock/lib/mine/valueAddedServices/valueAddedServicesRealName/value_added_services_real_name_logic.dart @@ -5,13 +5,12 @@ import 'package:star_lock/mine/valueAddedServices/valueAddedServicesRealName/fac import 'package:star_lock/mine/valueAddedServices/valueAddedServicesRealName/value_added_services_real_name_state.dart'; import 'package:star_lock/tools/baseGetXController.dart'; import '../../../network/api_repository.dart'; -import '../../../tools/eventBusEventManage.dart'; class ValueAddedServicesRealNameLogic extends BaseGetXController { final ValueAddedServicesRealNameState state = ValueAddedServicesRealNameState(); - //请求消息列表 + //实名认证频次设置 Future setFaceAuthentication(int faceAuthFrequence) async { FaceAuthenticationEntity entity = await ApiRepository.to.setFaceAuthentication( @@ -20,6 +19,24 @@ class ValueAddedServicesRealNameLogic extends BaseGetXController { return entity.errorCode!.codeIsSuccessful; } + //获取增值服务用户余量包 + Future getServiceUserPackage() async { + var entity = await ApiRepository.to.getServiceUserPackage(); + if (entity.errorCode!.codeIsSuccessful) { + state.realNameRemainCount.value = entity.data!.cloudauthCount!; + state.realNameRemainCount.refresh(); + } + } + + //增值服务套餐购包链接 + Future getServicePackageBuyUrl() async { + var entity = await ApiRepository.to.getServicePackageBuyUrl(); + if (entity.errorCode!.codeIsSuccessful) { + state.realNameBuyUrl.value = entity.data!.cloudauthBuyUrl!; + state.realNameBuyUrl.refresh(); + } + } + Future check(int index) async { bool isSuccessful = await setFaceAuthentication(state.index + 1); if (isSuccessful) { @@ -37,6 +54,8 @@ class ValueAddedServicesRealNameLogic extends BaseGetXController { @override void onInit() { super.onInit(); + + getServiceUserPackage(); } @override diff --git a/star_lock/lib/mine/valueAddedServices/valueAddedServicesRealName/value_added_services_real_name_page.dart b/star_lock/lib/mine/valueAddedServices/valueAddedServicesRealName/value_added_services_real_name_page.dart index d9a8ea77..6e2dbb45 100644 --- a/star_lock/lib/mine/valueAddedServices/valueAddedServicesRealName/value_added_services_real_name_page.dart +++ b/star_lock/lib/mine/valueAddedServices/valueAddedServicesRealName/value_added_services_real_name_page.dart @@ -19,6 +19,9 @@ class ValueAddedServicesRealNamePage extends StatefulWidget { class _ValueAddedServicesRealNamePageState extends State { + final logic = Get.put(ValueAddedServicesRealNameLogic()); + final state = Get.find().state; + @override Widget build(BuildContext context) { return GetBuilder( @@ -27,7 +30,7 @@ class _ValueAddedServicesRealNamePageState return Scaffold( backgroundColor: AppColors.mainBackgroundColor, appBar: TitleAppBar( - barTitle: TranslationLoader.lanKeys!.realNameAuthentication!.tr, + barTitle: '实名认证'.tr, haveBack: true, backgroundColor: AppColors.mainColor), body: Column( @@ -42,12 +45,6 @@ class _ValueAddedServicesRealNamePageState style: TextStyle( color: AppColors.darkGrayTextColor, fontSize: 20.sp), )), - TextButton( - onPressed: () { - Get.toNamed(Routers.valueAddedServicesRecordPage, - arguments: UseRecordListArg.cloudauth); - }, - child: Text('asdasd')), middleWidget(), bottomWidget() ], @@ -73,10 +70,10 @@ class _ValueAddedServicesRealNamePageState child: Row( mainAxisAlignment: MainAxisAlignment.center, children: [ - Text( - "${TranslationLoader.lanKeys!.currentRemainingQuantity!.tr}:0", - style: TextStyle(fontSize: 24.sp), - ) + Obx(() => Text( + "${'当前剩余数量'.tr}:${state.realNameRemainCount.value}", + style: TextStyle(fontSize: 24.sp), + )) ], ), ), @@ -92,25 +89,24 @@ class _ValueAddedServicesRealNamePageState }, child: Container( width: 200.w, + color: Colors.transparent, child: Center( - child: Text(TranslationLoader.lanKeys!.record!.tr, + child: Text('记录'.tr, style: TextStyle( color: Colors.black, fontSize: 24.sp)))), ), GestureDetector( onTap: () { - // Navigator.pushNamed( - // context, Routers.valueAddedServicesBuyPage, - // arguments: 3); + Get.toNamed(Routers.advancedFeaturesWebPage, + arguments: {'isShop': false}); }, child: Container( width: 200.w, color: Colors.transparent, child: Center( - child: Text(TranslationLoader.lanKeys!.buy!.tr, + child: Text('购买'.tr, style: TextStyle( - // color: AppColors.mainColor, - color: AppColors.blackColor, + color: AppColors.mainColor, fontSize: 24.sp)))), ), ], diff --git a/star_lock/lib/mine/valueAddedServices/valueAddedServicesRealName/value_added_services_real_name_state.dart b/star_lock/lib/mine/valueAddedServices/valueAddedServicesRealName/value_added_services_real_name_state.dart index b9dff32e..824549f5 100644 --- a/star_lock/lib/mine/valueAddedServices/valueAddedServicesRealName/value_added_services_real_name_state.dart +++ b/star_lock/lib/mine/valueAddedServices/valueAddedServicesRealName/value_added_services_real_name_state.dart @@ -1,3 +1,7 @@ +import 'package:get/get.dart'; + class ValueAddedServicesRealNameState { int index = 0; + var realNameRemainCount = 0.obs; //当前剩余数量 + var realNameBuyUrl = ''.obs; //购买链接 } diff --git a/star_lock/lib/mine/valueAddedServices/valueAddedServicesRecord/buy_record_list_entity.dart b/star_lock/lib/mine/valueAddedServices/valueAddedServicesRecord/buy_record_list_entity.dart index dc4f6633..c3fcbe3e 100644 --- a/star_lock/lib/mine/valueAddedServices/valueAddedServicesRecord/buy_record_list_entity.dart +++ b/star_lock/lib/mine/valueAddedServices/valueAddedServicesRecord/buy_record_list_entity.dart @@ -1,25 +1,130 @@ class BuyRecordListEntity { - BuyRecordListEntity({ - this.description, - this.errorCode, - this.errorMsg, - }); - - BuyRecordListEntity.fromJson(dynamic json) { - description = json['description']; - errorCode = json['errorCode']; - errorMsg = json['errorMsg']; - } - - String? description; int? errorCode; + String? description; String? errorMsg; + BuyRecordListData? data; + + BuyRecordListEntity( + {this.errorCode, this.description, this.errorMsg, this.data}); + + BuyRecordListEntity.fromJson(Map json) { + errorCode = json['errorCode']; + description = json['description']; + errorMsg = json['errorMsg']; + data = + json['data'] != null ? BuyRecordListData.fromJson(json['data']) : null; + } Map toJson() { - final map = {}; - map['description'] = description; - map['errorCode'] = errorCode; - map['errorMsg'] = errorMsg; - return map; + final Map data = {}; + data['errorCode'] = errorCode; + data['description'] = description; + data['errorMsg'] = errorMsg; + if (this.data != null) { + data['data'] = this.data!.toJson(); + } + return data; + } +} + +class BuyRecordListData { + int? pageNo; + int? pageSize; + int? total; + List? buyRecordlist; + + BuyRecordListData( + {this.pageNo, this.pageSize, this.total, this.buyRecordlist}); + + BuyRecordListData.fromJson(Map json) { + pageNo = json['pageNo']; + pageSize = json['pageSize']; + total = json['total']; + if (json['list'] != null) { + buyRecordlist = []; + json['list'].forEach((v) { + buyRecordlist!.add(BuyRecordItem.fromJson(v)); + }); + } + } + + Map toJson() { + final Map data = {}; + data['pageNo'] = pageNo; + data['pageSize'] = pageSize; + data['total'] = total; + if (buyRecordlist != null) { + data['list'] = buyRecordlist!.map((v) => v.toJson()).toList(); + } + return data; + } +} + +class BuyRecordItem { + int? id; + int? userId; + String? orderNumber; + String? type; + int? recordType; + int? smsCount; + int? emailCount; + int? cloudauthCount; + int? vipLockCount; + int? vipYear; + int? isApply; + String? money; + String? createdAt; + String? updatedAt; + + BuyRecordItem( + {this.id, + this.userId, + this.orderNumber, + this.type, + this.recordType, + this.smsCount, + this.emailCount, + this.cloudauthCount, + this.vipLockCount, + this.vipYear, + this.isApply, + this.money, + this.createdAt, + this.updatedAt}); + + BuyRecordItem.fromJson(Map json) { + id = json['id']; + userId = json['user_id']; + orderNumber = json['order_number']; + type = json['type']; + recordType = json['record_type']; + smsCount = json['sms_count']; + emailCount = json['email_count']; + cloudauthCount = json['cloudauth_count']; + vipLockCount = json['vip_lock_count']; + vipYear = json['vip_year']; + isApply = json['is_apply']; + money = json['money']; + createdAt = json['created_at']; + updatedAt = json['updated_at']; + } + + Map toJson() { + final Map data = {}; + data['id'] = id; + data['user_id'] = userId; + data['order_number'] = orderNumber; + data['type'] = type; + data['record_type'] = recordType; + data['sms_count'] = smsCount; + data['email_count'] = emailCount; + data['cloudauth_count'] = cloudauthCount; + data['vip_lock_count'] = vipLockCount; + data['vip_year'] = vipYear; + data['is_apply'] = isApply; + data['money'] = money; + data['created_at'] = createdAt; + data['updated_at'] = updatedAt; + return data; } } diff --git a/star_lock/lib/mine/valueAddedServices/valueAddedServicesRecord/value_added_services_record_logic.dart b/star_lock/lib/mine/valueAddedServices/valueAddedServicesRecord/value_added_services_record_logic.dart index cd338717..cfa16b0c 100644 --- a/star_lock/lib/mine/valueAddedServices/valueAddedServicesRecord/value_added_services_record_logic.dart +++ b/star_lock/lib/mine/valueAddedServices/valueAddedServicesRecord/value_added_services_record_logic.dart @@ -1,13 +1,10 @@ import 'dart:async'; import 'package:get/get.dart'; -import 'package:get/utils.dart'; -import 'package:star_lock/mine/valueAddedServices/valueAddedServicesRealName/face_authentication_entity.dart'; import 'package:star_lock/mine/valueAddedServices/valueAddedServicesRecord/buy_record_list_entity.dart'; import 'package:star_lock/mine/valueAddedServices/valueAddedServicesRecord/value_added_services_record_state.dart'; import 'package:star_lock/tools/baseGetXController.dart'; import '../../../network/api_repository.dart'; -import '../../../tools/eventBusEventManage.dart'; class ValueAddedServicesRecordLogic extends BaseGetXController { ValueAddedServicesRecordLogic(); @@ -27,7 +24,7 @@ class ValueAddedServicesRecordLogic extends BaseGetXController { type = data['type']; } - //请求消息列表 + //请求购买记录列表 Future loadBuyRecordList(bool load) async { if (!load) { buyPageNo = 1; @@ -37,16 +34,15 @@ class ValueAddedServicesRecordLogic extends BaseGetXController { recordType: 10, pageNo: buyPageNo, ); - if (entity.errorCode!.codeIsSuccessful) {} + if (entity.errorCode!.codeIsSuccessful) { + state.buyRecordList.value = entity.data!.buyRecordlist!; + } } @override void onReady() { super.onReady(); - } - @override - void onClose() { - super.onClose(); + loadBuyRecordList(true); } } diff --git a/star_lock/lib/mine/valueAddedServices/valueAddedServicesRecord/value_added_services_record_page.dart b/star_lock/lib/mine/valueAddedServices/valueAddedServicesRecord/value_added_services_record_page.dart index c1ca477d..e4831292 100644 --- a/star_lock/lib/mine/valueAddedServices/valueAddedServicesRecord/value_added_services_record_page.dart +++ b/star_lock/lib/mine/valueAddedServices/valueAddedServicesRecord/value_added_services_record_page.dart @@ -1,12 +1,14 @@ import 'package:easy_refresh/easy_refresh.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; import 'package:star_lock/mine/valueAddedServices/valueAddedServicesRecord/value_added_services_record_logic.dart'; +import 'package:star_lock/tools/noData.dart'; import '../../../app_settings/app_colors.dart'; import '../../../tools/titleAppBar.dart'; class ValueAddedServicesRecordPage extends StatefulWidget { - ValueAddedServicesRecordPage({ + const ValueAddedServicesRecordPage({ Key? key, }) : super(key: key); @@ -33,15 +35,20 @@ class _ValueAddedServicesRealNamePageState child: Column( children: [ TabBar( - tabs: [ - Text('购买记录'.tr), - Text('使用记录'.tr), - ], + tabs: [tabTextItem('购买记录'.tr), tabTextItem('使用记录'.tr)], + indicatorColor: AppColors.mainColor, + indicatorSize: TabBarIndicatorSize.label, + labelColor: AppColors.mainColor, + unselectedLabelColor: AppColors.darkGrayTextColor, ), Expanded( child: TabBarView(children: [ - _PurchaseRecords(), - Text('使用记录'), + _PurchaseRecords( + getRecordList: logic.state.buyRecordList.value, + ), + _PurchaseRecords( + getRecordList: logic.state.useRecordList.value, + ), ]), ), ], @@ -52,14 +59,26 @@ class _ValueAddedServicesRealNamePageState } } +Widget tabTextItem(String tabText) { + return Container( + margin: EdgeInsets.only(top: 16.h, bottom: 16.h), + child: Text( + tabText, + style: TextStyle(fontSize: 24.sp), + ), + ); +} + +//购买记录、使用记录 class _PurchaseRecords extends StatefulWidget { - const _PurchaseRecords({key}); + final List getRecordList; + + const _PurchaseRecords({required this.getRecordList}); @override State<_PurchaseRecords> createState() => _PurchaseRecordsState(); } -//购买记录 class _PurchaseRecordsState extends State<_PurchaseRecords> { @override Widget build(BuildContext context) { @@ -68,9 +87,13 @@ class _PurchaseRecordsState extends State<_PurchaseRecords> { return EasyRefresh( onRefresh: () async {}, onLoad: () async {}, - child: ListView.builder(itemCount: 0,itemBuilder: (BuildContext context, int index) { - return SizedBox(); - }), + child: widget.getRecordList.isNotEmpty + ? ListView.builder( + itemCount: widget.getRecordList.length, + itemBuilder: (BuildContext context, int index) { + return const SizedBox(); + }) + : NoData(), ); }); } diff --git a/star_lock/lib/mine/valueAddedServices/valueAddedServicesRecord/value_added_services_record_state.dart b/star_lock/lib/mine/valueAddedServices/valueAddedServicesRecord/value_added_services_record_state.dart index eb2da13a..0ca96fbf 100644 --- a/star_lock/lib/mine/valueAddedServices/valueAddedServicesRecord/value_added_services_record_state.dart +++ b/star_lock/lib/mine/valueAddedServices/valueAddedServicesRecord/value_added_services_record_state.dart @@ -1,3 +1,7 @@ +import 'package:get/get.dart'; + class ValueAddedServicesRecordState { int index = 0; + var buyRecordList = [].obs; + var useRecordList = [].obs; } diff --git a/star_lock/lib/tools/advancedFunctionHandle.dart b/star_lock/lib/tools/advancedFunctionHandle.dart index c41a0fcf..19045565 100644 --- a/star_lock/lib/tools/advancedFunctionHandle.dart +++ b/star_lock/lib/tools/advancedFunctionHandle.dart @@ -37,7 +37,8 @@ class AdvancedFunctionHandle { style: TextStyle(color: AppColors.mainColor), ), onPressed: () async { - Get.toNamed(Routers.advancedFeaturesWebPage); + Get.toNamed(Routers.advancedFeaturesWebPage, + arguments: {'isShop': true}); }, ), ], @@ -67,7 +68,9 @@ class AdvancedFunctionHandle { backgroundColor: AppColors.vipFeatureBtnBgColor, ), onPressed: () { - Get.toNamed(Routers.advancedFeaturesWebPage); + Get.toNamed(Routers.advancedFeaturesWebPage, arguments: { + 'isShop': true, + }); }, child: Text( '去开通'.tr,