1,新增获取邮件模版列表API对接及逻辑处理

2,新增获取默认邮件模版(电子钥匙、密码类型)API对接
This commit is contained in:
Daisy 2024-06-05 18:24:59 +08:00
parent 9ed5160617
commit 9158ce71e7
14 changed files with 61 additions and 40 deletions

View File

@ -863,6 +863,7 @@
"六": "Sat",
"日": "Sun",
"新建短信模版":"New SMS template",
"新建邮件模版":"New email template",
"自定义短信模版":"Custom SMS template",
"自定义邮件模版":"Custom email template",
"名称":"Name",

View File

@ -895,6 +895,7 @@
"六":"六",
"日":"日",
"新建短信模版":"新建短信模版",
"新建邮件模版":"新建邮件模版",
"自定义短信模版":"自定义短信模版",
"自定义邮件模版":"自定义邮件模版",
"名称":"名称",

View File

@ -863,6 +863,7 @@
"六": "六",
"日": "日",
"新建短信模版":"新建短信模版",
"新建邮件模版":"新建邮件模版",
"自定义短信模版":"自定义短信模版",
"自定义邮件模版":"自定义邮件模版",
"名称":"名称",

View File

@ -111,13 +111,9 @@ class _ValueAddedServicesNoteAndEmailDetailPageState
children: <Widget>[
GestureDetector(
onTap: () {
if (type == 1) {
Navigator.pushNamed(
context, Routers.customSMSTemplateListPage);
} else {
Navigator.pushNamed(context,
Routers.valueAddedServicesListEmailTemplatePage);
}
Navigator.pushNamed(
context, Routers.customSMSTemplateListPage,
arguments: <String, int>{'type': type});
},
child: Row(
children: <Widget>[

View File

@ -46,6 +46,8 @@ class SMSTemplateData {
String? tips = '';
int? id;
String? name;
int? type;
bool? isUpdate = false;
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{};

View File

@ -14,12 +14,11 @@ class NewSMSTemplateLogic extends BaseGetXController {
//-- 1: 2:
Future<void> getDefaultTemplate() async {
final NewSMSTemplateEntity entity =
await ApiRepository.to.getDefaultTemplate(type: 1);
final NewSMSTemplateEntity entity = await ApiRepository.to
.getDefaultTemplate(type: state.currentTemplate.value.type ?? 0);
if (entity.errorCode!.codeIsSuccessful) {
state.templateList.value = entity.dataList ?? <SMSTemplateData>[];
if (state.templateList.isNotEmpty) {
// state.templateTypeText.value = state.templateList[0].name ?? '';
state.currentTemplate.value = state.templateList.firstWhere(
(SMSTemplateData element) =>
element.name == state.templateList[0].name,
@ -29,14 +28,14 @@ class NewSMSTemplateLogic extends BaseGetXController {
}
}
//-- 1: 2:
//-- 1: 2:
Future<void> addSMSTemplate() async {
if (state.templateNameTf.text.isEmpty) {
showToast('请输入模板名称');
return;
}
final LoginEntity entity = await ApiRepository.to.addSMSTemplate(
type: 1,
final LoginEntity entity = await ApiRepository.to.addTemplateService(
type: state.templateType.value,
name: state.templateNameTf.text,
fixedKey: state.currentTemplate.value.fixedKey ?? '',
contentType: state.currentTemplate.value.contentType ?? 0,
@ -200,7 +199,7 @@ class NewSMSTemplateLogic extends BaseGetXController {
Future<void> onReady() async {
super.onReady();
if (state.isUpdate.value == false) {
if (state.currentTemplate.value.isUpdate == false) {
getDefaultTemplate();
}
}

View File

@ -28,7 +28,7 @@ class _NewSMSTemplatePageState extends State<NewSMSTemplatePage> {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: '新建短信模版'.tr,
barTitle: state.templateType.value == 1 ? '新建短信模版'.tr : '新建邮件模版'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor,
),
@ -46,7 +46,7 @@ class _NewSMSTemplatePageState extends State<NewSMSTemplatePage> {
child: SubmitBtn(
btnName: TranslationLoader.lanKeys!.save!.tr,
onClick: () {
if (state.isUpdate.value == true) {
if (state.currentTemplate.value.isUpdate == true) {
logic.updateTemplateInfo();
} else {
logic.addSMSTemplate();

View File

@ -9,10 +9,10 @@ class NewSMSTemplateState {
final Map map = Get.arguments;
currentTemplate.value = map['currentTemplate'];
currentTemplate.refresh();
isUpdate.value = true;
templateNameTf.text = currentTemplate.value.name ?? '';
templateOneTf.text = currentTemplate.value.regards ?? '';
templateTwoTf.text = currentTemplate.value.tips ?? '';
templateType.value = currentTemplate.value.type ?? 0;
}
}
@ -20,7 +20,7 @@ class NewSMSTemplateState {
final TextStyle highStyle =
TextStyle(color: const Color(0xFFEEDFA8), fontSize: 20.sp);
//
//
final TextStyle defaultStyle =
TextStyle(color: Colors.black, fontSize: 20.sp);
@ -30,9 +30,7 @@ class NewSMSTemplateState {
RxBool isVip = false.obs;
RxList<SMSTemplateData> templateList = <SMSTemplateData>[].obs;
// RxString templateTypeText = '电子钥匙'.tr.obs;
// RxString templateContentText = ''.obs; //
Rx<SMSTemplateData> currentTemplate = SMSTemplateData().obs;
RxBool isShowDate = false.obs;
RxBool isUpdate = false.obs;
RxInt templateType = 0.obs;
}

View File

@ -21,7 +21,9 @@ class CustomSMSTemplateListLogic extends BaseGetXController {
}
final CustomSMSTemplateListEntity entity = await ApiRepository.to
.getSMSTemplateList(
type: 1, pageNo: pageNo, pageSize: int.parse(pageSize));
type: state.type.value,
pageNo: pageNo,
pageSize: int.parse(pageSize));
if (entity.errorCode!.codeIsSuccessful) {
state.smsTemplateList.value =
entity.data?.list ?? <CustomSMSTemplateItem>[];

View File

@ -41,7 +41,7 @@ class _CustomSMSTemplateListPageState extends State<CustomSMSTemplateListPage> {
return Scaffold(
backgroundColor: AppColors.mainBackgroundColor,
appBar: TitleAppBar(
barTitle: '自定义短信模版'.tr,
barTitle: state.type.value == 1 ? '自定义短信模版'.tr : '自定义邮件模版'.tr,
haveBack: true,
backgroundColor: AppColors.mainColor),
body: EasyRefreshTool(
@ -65,7 +65,15 @@ class _CustomSMSTemplateListPageState extends State<CustomSMSTemplateListPage> {
left: 30.w, right: 30.w, top: 30.w, bottom: 30.w),
padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
onClick: () async {
final result = await Get.toNamed(Routers.newSMSTemplatePage);
final SMSTemplateData templateData = SMSTemplateData();
templateData.type = state.type.value;
templateData.isUpdate = false;
templateData.typeName =
templateData.contentType == 1 ? '电子钥匙' : '密码';
final result = await Get.toNamed(Routers.newSMSTemplatePage,
arguments: <String, SMSTemplateData>{
'currentTemplate': templateData
});
if (result != null) {
logic.getSMSTemplateListRequest(isRefresh: true);
}
@ -195,6 +203,8 @@ class _CustomSMSTemplateListPageState extends State<CustomSMSTemplateListPage> {
templateData.template = itemData.template;
templateData.contentType = itemData.contentType;
templateData.typeName = templateData.contentType == 1 ? '电子钥匙' : '密码';
templateData.type = itemData.type;
templateData.isUpdate = true;
final result = await Get.toNamed(Routers.newSMSTemplatePage,
arguments: <String, SMSTemplateData>{
'currentTemplate': templateData

View File

@ -4,6 +4,11 @@ import 'package:get/get.dart';
import 'package:star_lock/mine/valueAddedServices/valueAddedServicesSMSTemplate/valueAddedServicesListSMSTemplate/customSMSTemplateList_entity.dart';
class CustomSMSTemplateListState {
CustomSMSTemplateListState() {
if (Get.arguments != null) {
type.value = Get.arguments['type'];
}
}
//
final TextStyle highStyle =
TextStyle(color: const Color(0xFFEEDFA8), fontSize: 20.sp);
@ -14,4 +19,5 @@ class CustomSMSTemplateListState {
RxBool isVip = false.obs;
RxList<CustomSMSTemplateItem> smsTemplateList = <CustomSMSTemplateItem>[].obs;
RxInt type = 0.obs;
}

View File

@ -243,12 +243,12 @@ abstract class Api {
final String getNoticeTemplateURL = '/key/getNoticeTemplate'; //
final String appGetAppInfoURL = '/app/getAppInfo'; //APP基本信息
final String appGetFwVersionURL = '/app/getFwVersion'; //
final String smsTemplateListURL = '/v2/service/listSmsTemplate'; //
final String smsTemplateListURL = '/v2/service/listTemplate'; //
final String emailTemplateListURL =
'/v2/service/listEmailTemplate'; //
final String getDefaultTemplateURL =
'/v2/service/getDefaultTemplate'; //
final String addSMSTemplateURL = '/v2/service/addSmsTemplate'; //
final String addTemplateServiceURL = '/v2/service/addTemplate'; //
final String keydetail = ' /key/detail'; //
final String updateTemplateInfoURL = '/v2/service/update'; //
final String deleteTemplateURL = '/v2/service/delete'; //

View File

@ -614,8 +614,13 @@ class ApiProvider extends BaseProvider {
post(deleteElectronicKeyURL.toUrl,
jsonEncode({'uid': uid, 'includeUnderlings': includeUnderlings}));
Future<Response> updateAdministrator(String uid, String keyName,
String endDate, String startDate, int isOnlyManageSelf, int keyType) =>
Future<Response> updateAdministrator(
String uid,
String keyName,
String endDate,
String startDate,
int isOnlyManageSelf,
int keyType) =>
post(
updateAdministratorURL.toUrl,
jsonEncode({
@ -2185,10 +2190,10 @@ class ApiProvider extends BaseProvider {
);
//
Future<Response<dynamic>> addSMSTemplate(int type, String name,
Future<Response<dynamic>> addTemplateService(int type, String name,
int contentType, String regards, String tips, String fixedKey) =>
post(
addSMSTemplateURL.toUrl,
addTemplateServiceURL.toUrl,
jsonEncode(<String, dynamic>{
'type': type,
'name': name,

View File

@ -644,14 +644,14 @@ class ApiRepository {
}
//
Future<AdministratorDetailEntity> updateAdministrator(
{required String uid,
required String keyName,
required String endDate,
required String startDate,
required int isOnlyManageSelf,
required int keyType,
}) async {
Future<AdministratorDetailEntity> updateAdministrator({
required String uid,
required String keyName,
required String endDate,
required String startDate,
required int isOnlyManageSelf,
required int keyType,
}) async {
final res = await apiProvider.updateAdministrator(
uid, keyName, endDate, startDate, isOnlyManageSelf, keyType);
return AdministratorDetailEntity.fromJson(res.body);
@ -2209,14 +2209,14 @@ class ApiRepository {
}
//
Future<LoginEntity> addSMSTemplate(
Future<LoginEntity> addTemplateService(
{required int type,
required String name,
required int contentType,
required String regards,
required String tips,
required String fixedKey}) async {
final Response<dynamic> res = await apiProvider.addSMSTemplate(
final Response<dynamic> res = await apiProvider.addTemplateService(
type, name, contentType, regards, tips, fixedKey);
return LoginEntity.fromJson(res.body);
}