1,新增短信/邮件购买记录、使用记录接口对接

2,修改发送电子钥匙报错问题
This commit is contained in:
Daisy 2024-05-30 18:22:31 +08:00
parent dafb40954a
commit e2c5066bec
10 changed files with 134 additions and 108 deletions

View File

@ -197,7 +197,7 @@ class AuthorizedAdminLogic extends BaseGetXController {
required String endTime}) async { required String endTime}) async {
final AuthorizedAdminSendEntity entity = await ApiRepository.to final AuthorizedAdminSendEntity entity = await ApiRepository.to
.sendElectronicKey( .sendElectronicKey(
createUser: state.isCreateUser.value ? '1' : '0', createUser: state.createUser.value,
countryCode: state.countryCode.value, countryCode: state.countryCode.value,
usernameType: '1', usernameType: '1',
endDate: int.parse(endDate), endDate: int.parse(endDate),
@ -224,18 +224,20 @@ class AuthorizedAdminLogic extends BaseGetXController {
? state.idCardController.text ? state.idCardController.text
: ''); : '');
if (entity.errorCode!.codeIsSuccessful) { if (entity.errorCode!.codeIsSuccessful) {
state.isCreateUser.value = false; state.createUser.value = 0;
state.isSendSuccess.value = true; state.isSendSuccess.value = true;
state.addUserId.value = entity.data!.receiverUser!.id.toString(); state.addUserId.value = entity.data!.receiverUser!.id.toString();
keyId = entity.data!.keyId; keyId = entity.data!.keyId;
eventBus.fire(AuthorizedAdminPageRefreshUI()); eventBus.fire(AuthorizedAdminPageRefreshUI());
} else { } else {
//
if (entity.errorCode == 425) { if (entity.errorCode == 425) {
// update();
state.isCreateUser.value = true;
ShowTipView().showIosTipWithContentDialog( ShowTipView().showIosTipWithContentDialog(
'${"是否发送授权管理员给未注册账号".tr}\n${state.emailOrPhoneController.text}', '${"是否发送电子钥匙给未注册账号".tr}\n${state.emailOrPhoneController.text}', () {
sendElectronicKeyRequest); state.createUser.value = 1;
sendElectronicKeyRequest();
});
} }
} }
} }

View File

@ -29,7 +29,7 @@ class AuthorizedAdminState {
RxString countryName = '中国'.obs; RxString countryName = '中国'.obs;
RxString countryCode = '86'.obs; RxString countryCode = '86'.obs;
RxList weekdaysList = [].obs; RxList weekdaysList = [].obs;
RxBool isCreateUser = false.obs; //1 0 RxInt createUser = 0.obs; //1 0
RxInt seletType = 0.obs; RxInt seletType = 0.obs;
String pwdShareStr = '您好,您的授权管理员生成成功'; String pwdShareStr = '您好,您的授权管理员生成成功';

View File

@ -1,8 +1,8 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:get_storage/get_storage.dart';
import 'package:star_lock/appRouters.dart'; import 'package:star_lock/appRouters.dart';
import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart'; import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.dart';
import 'package:star_lock/main/lockDetail/authorizedAdmin/authorizedAdmin/authorizedAdmin_entity.dart';
import 'package:star_lock/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_state.dart'; import 'package:star_lock/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_state.dart';
import 'package:star_lock/mine/valueAddedServices/advancedFunctionRecord/advancedFunctionRecord_entity.dart'; import 'package:star_lock/mine/valueAddedServices/advancedFunctionRecord/advancedFunctionRecord_entity.dart';
import 'package:star_lock/network/api_repository.dart'; import 'package:star_lock/network/api_repository.dart';
@ -16,40 +16,39 @@ import 'package:star_lock/tools/showTipView.dart';
import 'package:star_lock/tools/storage.dart'; import 'package:star_lock/tools/storage.dart';
class SendElectronicKeyViewLogic extends BaseGetXController { class SendElectronicKeyViewLogic extends BaseGetXController {
SendElectronicKeyViewLogic(this.type);
String type; String type;
final SendElectronicKeyViewState state = SendElectronicKeyViewState(); final SendElectronicKeyViewState state = SendElectronicKeyViewState();
SendElectronicKeyViewLogic(this.type);
@override @override
void onInit() { void onInit() {
super.onInit(); super.onInit();
Storage.getBool(ifIsDemoModeOrNot) Storage.getBool(ifIsDemoModeOrNot)
.then((value) => state.isDemoMode = value ?? false); .then((bool? value) => state.isDemoMode = value ?? false);
} }
// //
Future<void> sendElectronicKeyRequest() async { Future<void> sendElectronicKeyRequest() async {
if (state.emailOrPhoneController.text.isEmpty) { if (state.emailOrPhoneController.text.isEmpty) {
showToast("请输入接收者账号".tr); showToast('请输入接收者账号'.tr);
return; return;
} }
var startDate = "0"; var startDate = '0';
var endDate = "0"; var endDate = '0';
var startTime = "0"; var startTime = '0';
var endTime = "0"; var endTime = '0';
int typeValue; int typeValue;
switch (type) { switch (type) {
case '0': case '0':
// //
if (state.timeLimitBeginTime.isEmpty) { if (state.timeLimitBeginTime.isEmpty) {
showToast("请选择开始时间".tr); showToast('请选择开始时间'.tr);
return; return;
} }
if (state.timeLimitEndTime.isEmpty) { if (state.timeLimitEndTime.isEmpty) {
showToast("请选择结束时间".tr); showToast('请选择结束时间'.tr);
return; return;
} }
@ -58,11 +57,11 @@ class SendElectronicKeyViewLogic extends BaseGetXController {
DateTool().dateToTimestamp(state.timeLimitBeginTime, 1).toString(); DateTool().dateToTimestamp(state.timeLimitBeginTime, 1).toString();
endDate = endDate =
DateTool().dateToTimestamp(state.timeLimitEndTime, 1).toString(); DateTool().dateToTimestamp(state.timeLimitEndTime, 1).toString();
startTime = "0"; startTime = '0';
endTime = "0"; endTime = '0';
if (int.parse(startDate) >= int.parse(endDate)) { if (int.parse(startDate) >= int.parse(endDate)) {
showToast("失效时间要大于生效时间".tr); showToast('失效时间要大于生效时间'.tr);
return; return;
} }
@ -76,7 +75,7 @@ class SendElectronicKeyViewLogic extends BaseGetXController {
case '3': case '3':
typeValue = XSConstantMacro.keyTypeLoop; typeValue = XSConstantMacro.keyTypeLoop;
if (state.cycleBeginTime.isEmpty) { if (state.cycleBeginTime.isEmpty) {
showToast("请选择有效期".tr); showToast('请选择有效期'.tr);
return; return;
} }
startDate = startDate =
@ -96,12 +95,12 @@ class SendElectronicKeyViewLogic extends BaseGetXController {
// //
if (state.isAuthentication.value == true) { if (state.isAuthentication.value == true) {
if (state.realNameController.text.isEmpty) { if (state.realNameController.text.isEmpty) {
showToast("请输入真实姓名".tr); showToast('请输入真实姓名'.tr);
return; return;
} }
if (state.idCardController.text.isEmpty) { if (state.idCardController.text.isEmpty) {
showToast("请输入身份证号".tr); showToast('请输入身份证号'.tr);
return; return;
} }
// //
@ -137,37 +136,40 @@ class SendElectronicKeyViewLogic extends BaseGetXController {
required int typeValue, required int typeValue,
required String getKeyType, required String getKeyType,
}) async { }) async {
var entity = await ApiRepository.to.sendElectronicKey( final AuthorizedAdminSendEntity entity = await ApiRepository.to
createUser: state.isCreateUser == true ? "1" : "0", .sendElectronicKey(
countryCode: state.countryCode, createUser: state.createUser.value,
usernameType: RegularExpression() countryCode: state.countryCode,
.isPhoneNumber(state.emailOrPhoneController.text) == usernameType: RegularExpression()
true .isPhoneNumber(state.emailOrPhoneController.text) ==
? '1' true
: '2', ? '1'
endDate: int.parse(endDate), : '2',
faceAuthentication: state.isAuthentication.value == true ? '1' : '2', endDate: int.parse(endDate),
isCameraEnable: '2', faceAuthentication:
isRemoteUnlock: state.isRemoteUnlock.value == true ? '1' : '2', state.isAuthentication.value == true ? '1' : '2',
keyNameForAdmin: state.keyNameController.text, isCameraEnable: '2',
keyRight: '0', isRemoteUnlock: state.isRemoteUnlock.value == true ? '1' : '2',
keyType: getKeyType, keyNameForAdmin: state.keyNameController.text,
lockId: CommonDataManage().currentKeyInfo.lockId.toString(), keyRight: '0',
operatorUid: '', keyType: getKeyType,
receiverUsername: state.emailOrPhoneController.text, lockId: CommonDataManage().currentKeyInfo.lockId.toString(),
remarks: '', operatorUid: '',
startDate: int.parse(startDate), receiverUsername: state.emailOrPhoneController.text,
weekDays: state.weekdaysList, remarks: '',
startTime: int.parse(startTime), startDate: int.parse(startDate),
endTime: int.parse(endTime), weekDays: state.weekdaysList,
isOnlyManageSelf: 0, startTime: int.parse(startTime),
realName: state.isRequireAuth.value == true endTime: int.parse(endTime),
? state.realNameController.text isOnlyManageSelf: 0,
: "", realName: state.isRequireAuth.value == true
idCardNumber: state.isRequireAuth.value == true ? state.realNameController.text
? state.idCardController.text : '',
: ""); idCardNumber: state.isRequireAuth.value == true
? state.idCardController.text
: '');
if (entity.errorCode!.codeIsSuccessful) { if (entity.errorCode!.codeIsSuccessful) {
state.createUser.value = 0;
state.isSendSuccess = true; state.isSendSuccess = true;
resetData(); resetData();
update(); update();
@ -175,10 +177,10 @@ class SendElectronicKeyViewLogic extends BaseGetXController {
} else { } else {
if (entity.errorCode == 425) { if (entity.errorCode == 425) {
// //
state.isCreateUser = true;
update(); update();
ShowTipView().showIosTipWithContentDialog( ShowTipView().showIosTipWithContentDialog(
'${"是否发送电子钥匙给未注册账号".tr}\n${state.emailOrPhoneController.text}', () { '${"是否发送电子钥匙给未注册账号".tr}\n${state.emailOrPhoneController.text}', () {
state.createUser.value = 1;
sendElectronicKeyRequest(); sendElectronicKeyRequest();
}); });
} }
@ -231,19 +233,20 @@ class SendElectronicKeyViewLogic extends BaseGetXController {
} }
void resetData() { void resetData() {
state.emailOrPhoneController.text = ""; state.emailOrPhoneController.text = '';
state.keyNameController.text = ""; state.keyNameController.text = '';
state.realNameController.text = ""; state.realNameController.text = '';
state.idCardController.text = ""; state.idCardController.text = '';
state.timeLimitBeginTime = DateTool().dateToYMDHNString( state.timeLimitBeginTime = DateTool().dateToYMDHNString(
DateTime.now().millisecondsSinceEpoch.toString()); // DateTime.now().millisecondsSinceEpoch.toString()); //
state.timeLimitEndTime = DateTool().dateToYMDHNString( state.timeLimitEndTime = DateTool().dateToYMDHNString(
DateTime.now().millisecondsSinceEpoch.toString()); // DateTime.now().millisecondsSinceEpoch.toString()); //
state.cycleBeginTime = ""; // state.cycleBeginTime = ''; //
state.cycleEndTime = ""; // state.cycleEndTime = ''; //
state.effectiveDateTime = ""; // state.effectiveDateTime = ''; //
state.failureDateTime = ""; // state.failureDateTime = ''; //
state.weekdaysList = []; state.weekdaysList = [];
state.createUser.value = 0;
update(); update();
} }
} }

View File

@ -6,6 +6,7 @@ import 'package:get/get.dart';
import 'package:star_lock/appRouters.dart'; import 'package:star_lock/appRouters.dart';
import 'package:star_lock/app_settings/app_colors.dart'; import 'package:star_lock/app_settings/app_colors.dart';
import 'package:flutter_native_contact_picker/flutter_native_contact_picker.dart'; import 'package:flutter_native_contact_picker/flutter_native_contact_picker.dart';
import 'package:star_lock/login/login/entity/LoginEntity.dart';
import 'package:star_lock/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_logic.dart'; import 'package:star_lock/main/lockDetail/electronicKey/sendElectronicKey/sendElectronicKey/view/sendElectronicKeyView_logic.dart';
import 'package:star_lock/network/api_repository.dart'; import 'package:star_lock/network/api_repository.dart';
import 'package:star_lock/tools/NativeInteractionTool.dart'; import 'package:star_lock/tools/NativeInteractionTool.dart';
@ -127,7 +128,7 @@ class _SendElectronicKeyViewState extends State<SendElectronicKeyView>
TextStyle(fontSize: 22.sp, color: AppColors.darkGrayTextColor), TextStyle(fontSize: 22.sp, color: AppColors.darkGrayTextColor),
), ),
action: () async { action: () async {
var result = await Navigator.pushNamed( final result = await Navigator.pushNamed(
context, Routers.selectCountryRegionPage); context, Routers.selectCountryRegionPage);
if (result != null) { if (result != null) {
result as Map<String, dynamic>; result as Map<String, dynamic>;
@ -158,7 +159,7 @@ class _SendElectronicKeyViewState extends State<SendElectronicKeyView>
isHaveLine: true, isHaveLine: true,
isHaveDirection: true, isHaveDirection: true,
action: () { action: () {
PDuration selectDate = PDuration.parse( final PDuration selectDate = PDuration.parse(
DateTime.parse(logic.state.timeLimitBeginTime)); DateTime.parse(logic.state.timeLimitBeginTime));
Pickers.showDatePicker(context, Pickers.showDatePicker(context,
selectDate: selectDate, mode: DateMode.YMDHM, onConfirm: (p) { selectDate: selectDate, mode: DateMode.YMDHM, onConfirm: (p) {
@ -172,7 +173,7 @@ class _SendElectronicKeyViewState extends State<SendElectronicKeyView>
rightTitle: logic.state.timeLimitEndTime, rightTitle: logic.state.timeLimitEndTime,
isHaveDirection: true, isHaveDirection: true,
action: () { action: () {
PDuration selectDate = PDuration.parse( final PDuration selectDate = PDuration.parse(
DateTime.tryParse(logic.state.timeLimitEndTime)); DateTime.tryParse(logic.state.timeLimitEndTime));
Pickers.showDatePicker(context, Pickers.showDatePicker(context,
selectDate: selectDate, mode: DateMode.YMDHM, onConfirm: (p) { selectDate: selectDate, mode: DateMode.YMDHM, onConfirm: (p) {
@ -194,8 +195,7 @@ class _SendElectronicKeyViewState extends State<SendElectronicKeyView>
leftTitel: TranslationLoader.lanKeys!.realNameAuthentication!.tr, leftTitel: TranslationLoader.lanKeys!.realNameAuthentication!.tr,
rightTitle: '', rightTitle: '',
isTipsImg: true, isTipsImg: true,
isHaveLine: isHaveLine: logic.state.isRequireAuth.value,
logic.state.isRequireAuth.value == true ? true : false,
tipsImgAction: () { tipsImgAction: () {
ShowTipView().showSureAlertDialog( ShowTipView().showSureAlertDialog(
'人脸实名认证指的是用户在使用手机APP开锁时需要先进行本人人脸验证验证通过才能开锁。'.tr); '人脸实名认证指的是用户在使用手机APP开锁时需要先进行本人人脸验证验证通过才能开锁。'.tr);
@ -236,7 +236,7 @@ class _SendElectronicKeyViewState extends State<SendElectronicKeyView>
isHaveDirection: true, isHaveDirection: true,
isHaveLine: true, isHaveLine: true,
action: () async { action: () async {
var result = final result =
await Get.toNamed(Routers.seletKeyCyclicDatePage, arguments: { await Get.toNamed(Routers.seletKeyCyclicDatePage, arguments: {
'validityValue': logic.state.weekdaysList, 'validityValue': logic.state.weekdaysList,
'starDate': logic.state.cycleBeginTime, 'starDate': logic.state.cycleBeginTime,
@ -254,15 +254,16 @@ class _SendElectronicKeyViewState extends State<SendElectronicKeyView>
} }
}), }),
Visibility( Visibility(
visible: logic.state.weekdaysList.isNotEmpty ? true : false, visible: logic.state.weekdaysList.isNotEmpty,
child: CommonItem( child: CommonItem(
leftTitel: '有效日'.tr, leftTitel: '有效日'.tr,
rightTitle: logic.state.weekdaysList.join(',').toString(), rightTitle: logic.state.weekdaysList.join(',').toString(),
isHaveDirection: true, isHaveDirection: true,
isHaveLine: true, isHaveLine: true,
action: () async { action: () async {
var result = await Get.toNamed(Routers.seletKeyCyclicDatePage, final result = await Get.toNamed(
arguments: { Routers.seletKeyCyclicDatePage,
arguments: <String, Object>{
'validityValue': logic.state.weekdaysList, 'validityValue': logic.state.weekdaysList,
'starDate': logic.state.cycleBeginTime, 'starDate': logic.state.cycleBeginTime,
'endDate': logic.state.cycleEndTime, 'endDate': logic.state.cycleEndTime,
@ -287,7 +288,8 @@ class _SendElectronicKeyViewState extends State<SendElectronicKeyView>
isHaveDirection: true, isHaveDirection: true,
isHaveLine: true, isHaveLine: true,
action: () async { action: () async {
var result = await Get.toNamed(Routers.seletKeyCyclicDatePage, final result = await Get.toNamed(
Routers.seletKeyCyclicDatePage,
arguments: { arguments: {
'validityValue': logic.state.weekdaysList, 'validityValue': logic.state.weekdaysList,
'starDate': logic.state.cycleBeginTime, 'starDate': logic.state.cycleBeginTime,
@ -367,7 +369,7 @@ class _SendElectronicKeyViewState extends State<SendElectronicKeyView>
// //
Widget sendElectronicKeySucceed(SendElectronicKeyViewLogic logic) { Widget sendElectronicKeySucceed(SendElectronicKeyViewLogic logic) {
return Column( return Column(
children: [ children: <Widget>[
Container( Container(
height: 250.h, height: 250.h,
width: 1.sw, width: 1.sw,
@ -428,7 +430,7 @@ class _SendElectronicKeyViewState extends State<SendElectronicKeyView>
// isOn:: 1 2 // isOn:: 1 2
Future<void> updateRoomCheckIn(SendElectronicKeyViewLogic logic) async { Future<void> updateRoomCheckIn(SendElectronicKeyViewLogic logic) async {
var entity = await ApiRepository.to.setRoomStatusData( final LoginEntity entity = await ApiRepository.to.setRoomStatusData(
lockId: CommonDataManage().currentKeyInfo.lockId!, lockId: CommonDataManage().currentKeyInfo.lockId!,
roomStatus: 1, roomStatus: 1,
); );
@ -526,7 +528,7 @@ class _SendElectronicKeyViewState extends State<SendElectronicKeyView>
? true ? true
: false), : false),
child: Column( child: Column(
children: [ children: <Widget>[
Obx(() => CommonItem( Obx(() => CommonItem(
leftTitel: TranslationLoader.lanKeys!.remoteUnlockingAllowed!.tr, leftTitel: TranslationLoader.lanKeys!.remoteUnlockingAllowed!.tr,
rightTitle: '', rightTitle: '',
@ -565,7 +567,7 @@ class _SendElectronicKeyViewState extends State<SendElectronicKeyView>
); );
} }
Future _openModalBottomSheet() async { Future<void> _openModalBottomSheet() async {
showModalBottomSheet( showModalBottomSheet(
context: context, context: context,
shape: RoundedRectangleBorder( shape: RoundedRectangleBorder(
@ -604,7 +606,7 @@ class _SendElectronicKeyViewState extends State<SendElectronicKeyView>
} }
List<Widget> initBottomSheetList() { List<Widget> initBottomSheetList() {
List<Widget> widgetList = []; final List<Widget> widgetList = [];
widgetList.add(buildCenter3('images/icon_wechat.png', '微信好友'.tr, 0)); widgetList.add(buildCenter3('images/icon_wechat.png', '微信好友'.tr, 0));
widgetList.add(buildCenter3('images/icon_message.png', '短信'.tr, 1)); widgetList.add(buildCenter3('images/icon_message.png', '短信'.tr, 1));
widgetList.add(buildCenter3('images/icon_email.png', '邮件'.tr, 2)); widgetList.add(buildCenter3('images/icon_email.png', '邮件'.tr, 2));
@ -643,17 +645,17 @@ class _SendElectronicKeyViewState extends State<SendElectronicKeyView>
); );
} }
_jumpSmartDeviceRoute(int itemIndex) { void _jumpSmartDeviceRoute(int itemIndex) {
Get.back(); Get.back();
switch (itemIndex) { switch (itemIndex) {
case 0: case 0:
// //
String pwdShareStr = '您好,您的电子钥匙生成成功'.tr; final String pwdShareStr = '您好,您的电子钥匙生成成功'.tr;
NativeInteractionTool().loadNativeShare(shareText: pwdShareStr); NativeInteractionTool().loadNativeShare(shareText: pwdShareStr);
break; break;
case 1: case 1:
// //
String pwdShareStr = '您好,您的电子钥匙生成成功'.tr; final String pwdShareStr = '您好,您的电子钥匙生成成功'.tr;
NativeInteractionTool().loadNativeShare(shareText: pwdShareStr); NativeInteractionTool().loadNativeShare(shareText: pwdShareStr);
break; break;
case 2: case 2:
@ -662,7 +664,7 @@ class _SendElectronicKeyViewState extends State<SendElectronicKeyView>
break; break;
case 3: case 3:
// //
String pwdShareStr = '您好,您的电子钥匙生成成功'.tr; final String pwdShareStr = '您好,您的电子钥匙生成成功'.tr;
NativeInteractionTool().loadNativeShare(shareText: pwdShareStr); NativeInteractionTool().loadNativeShare(shareText: pwdShareStr);
break; break;
default: default:

View File

@ -13,28 +13,28 @@ class SendElectronicKeyViewState {
final FlutterContactPicker contactPicker = FlutterContactPicker(); final FlutterContactPicker contactPicker = FlutterContactPicker();
late Contact contact; late Contact contact;
var isRemoteUnlock = false.obs; // RxBool isRemoteUnlock = false.obs; //
var isAuthentication = false.obs; // RxBool isAuthentication = false.obs; //
var timeLimitBeginTime = DateTool().dateToYMDHNString( String timeLimitBeginTime = DateTool().dateToYMDHNString(
DateTime.now().millisecondsSinceEpoch.toString()); // DateTime.now().millisecondsSinceEpoch.toString()); //
var timeLimitEndTime = DateTool().dateToYMDHNString( String timeLimitEndTime = DateTool().dateToYMDHNString(
DateTime.now().millisecondsSinceEpoch.toString()); // DateTime.now().millisecondsSinceEpoch.toString()); //
var cycleBeginTime = ""; // String cycleBeginTime = ''; //
var cycleEndTime = ""; // String cycleEndTime = ''; //
var effectiveDateTime = ""; // String effectiveDateTime = ''; //
var failureDateTime = ""; // String failureDateTime = ''; //
var weekdaysList = []; List<int> weekdaysList = <int>[];
var isSendSuccess = false; bool isSendSuccess = false;
var countryName = '中国'.tr; String countryName = '中国'.tr;
var countryCode = '86'; String countryCode = '86';
var isCreateUser = false; //1 0 RxInt createUser = 0.obs; //1 0
var isDemoMode = false; bool isDemoMode = false;
var isRequireAuth = false.obs; // RxBool isRequireAuth = false.obs; //
final timeLimitTips = '接收者在有效期内可以不限次数使用'; // final String timeLimitTips = '接收者在有效期内可以不限次数使用'; //
final permanentTips = '接收者可以使用此App开关锁'; // final String permanentTips = '接收者可以使用此App开关锁'; //
final onceLimitTips = '单次钥匙有效期为1小时只能使用一次'; // final String onceLimitTips = '单次钥匙有效期为1小时只能使用一次'; //
final cycleLimitTips = '接收者可以在有效期内的固定时间段里,不限次数使用'; // final String cycleLimitTips = '接收者可以在有效期内的固定时间段里,不限次数使用'; //
} }

View File

@ -4,6 +4,7 @@ import 'package:get/get.dart';
import 'package:star_lock/common/XSConstantMacro/XSConstantMacro.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_logic.dart';
import 'package:star_lock/mine/valueAddedServices/valueAddedServicesNoteAndEmailDetail/valueAddedServicesNoteAndEmailDetail_state.dart'; import 'package:star_lock/mine/valueAddedServices/valueAddedServicesNoteAndEmailDetail/valueAddedServicesNoteAndEmailDetail_state.dart';
import 'package:star_lock/mine/valueAddedServices/valueAddedServicesRecord/use_record_list_arg.dart';
import '../../../appRouters.dart'; import '../../../appRouters.dart';
import '../../../app_settings/app_colors.dart'; import '../../../app_settings/app_colors.dart';
@ -139,8 +140,13 @@ class _ValueAddedServicesNoteAndEmailDetailPageState
), ),
GestureDetector( GestureDetector(
onTap: () { onTap: () {
Navigator.pushNamed(context, if (type == 1) {
Routers.valueAddedServicesBuyAndUseRecordManagePage); Get.toNamed(Routers.valueAddedServicesRecordPage,
arguments: UseRecordListArg.sms);
} else if (type == 2) {
Get.toNamed(Routers.valueAddedServicesRecordPage,
arguments: UseRecordListArg.email);
}
}, },
child: Container( child: Container(
width: 90, width: 90,

View File

@ -2,6 +2,7 @@ import 'dart:async';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:star_lock/mine/valueAddedServices/advancedFunctionRecord/advancedFunctionRecord_entity.dart'; import 'package:star_lock/mine/valueAddedServices/advancedFunctionRecord/advancedFunctionRecord_entity.dart';
import 'package:star_lock/mine/valueAddedServices/valueAddedServicesRecord/use_record_list_arg.dart';
import 'package:star_lock/mine/valueAddedServices/valueAddedServicesRecord/use_record_list_entity.dart'; import 'package:star_lock/mine/valueAddedServices/valueAddedServicesRecord/use_record_list_entity.dart';
import 'package:star_lock/mine/valueAddedServices/valueAddedServicesRecord/value_added_services_record_state.dart'; import 'package:star_lock/mine/valueAddedServices/valueAddedServicesRecord/value_added_services_record_state.dart';
import 'package:star_lock/tools/baseGetXController.dart'; import 'package:star_lock/tools/baseGetXController.dart';
@ -58,6 +59,17 @@ class ValueAddedServicesRecordLogic extends BaseGetXController {
} }
} }
String getBuyRecordListTitle(RecordItem itemData) {
if (itemData.type == UseRecordListArg.sms['type']) {
return '${itemData.smsCount}';
} else if (itemData.type == UseRecordListArg.email['type']) {
return '${itemData.emailCount}';
} else if (itemData.type == UseRecordListArg.cloudauth['type']) {
return '实名认证/${itemData.cloudauthCount}';
}
return '';
}
@override @override
void onReady() { void onReady() {
super.onReady(); super.onReady();

View File

@ -89,14 +89,15 @@ class _PurchaseRecords extends StatelessWidget {
? ListView.builder( ? ListView.builder(
itemCount: buyRecordList.length, itemCount: buyRecordList.length,
itemBuilder: (BuildContext context, int index) { itemBuilder: (BuildContext context, int index) {
return _recordKeyItem(buyRecordList[index]); return _recordKeyItem(buyRecordList[index], logic);
}) })
: NoData(), : NoData(),
); );
}); });
} }
Widget _recordKeyItem(RecordItem itemData) { Widget _recordKeyItem(
RecordItem itemData, ValueAddedServicesRecordLogic logic) {
return Container( return Container(
color: Colors.white, color: Colors.white,
margin: EdgeInsets.symmetric(horizontal: 20.w, vertical: 10.h), margin: EdgeInsets.symmetric(horizontal: 20.w, vertical: 10.h),
@ -122,7 +123,7 @@ class _PurchaseRecords extends StatelessWidget {
], ],
), ),
SizedBox(height: 8.h), SizedBox(height: 8.h),
Text('实名认证/${itemData.cloudauthCount}', Text(logic.getBuyRecordListTitle(itemData),
style: TextStyle( style: TextStyle(
fontSize: 22.sp, color: AppColors.darkGrayTextColor)), fontSize: 22.sp, color: AppColors.darkGrayTextColor)),
], ],

View File

@ -124,7 +124,7 @@ class ApiProvider extends BaseProvider {
})); }));
Future<Response> sendElectronicKey( Future<Response> sendElectronicKey(
String createUser, int createUser,
String countryCode, String countryCode,
String usernameType, String usernameType,
int endDate, int endDate,

View File

@ -167,7 +167,7 @@ class ApiRepository {
// //
Future<AuthorizedAdminSendEntity> sendElectronicKey( Future<AuthorizedAdminSendEntity> sendElectronicKey(
{required String createUser, {required int createUser,
required String countryCode, required String countryCode,
required String usernameType, required String usernameType,
required int endDate, required int endDate,