这是基于vue-vben-admin 模板适用于abp Vnext的前端管理项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

74 lines
2.5 KiB

import 'package:core/models/abp.dto.dart';
import 'package:core/models/request.dart';
import 'package:core/services/rest.service.dart';
import 'package:core/services/service.base.dart';
import '../models/notification.dart';
class NotificationService extends ServiceBase {
NotificationService(super._injector);
RestService get _restService => resolve<RestService>();
Future<void> sendAsyncByInput(NotificationSendDto input, { RequestOptions? requestOptions }) {
return _restService.request(
method: HttpMethod.POST,
url: '/api/notifications',
data: input,
requestOptions: requestOptions,
);
}
Future<void> subscribe(String name, { RequestOptions? requestOptions }) {
return _restService.request(
method: HttpMethod.POST,
url: '/api/notifications/my-subscribes',
data: {
'name': name,
},
requestOptions: requestOptions,
);
}
Future<void> unSubscribe(String name, { RequestOptions? requestOptions }) {
return _restService.request<void>(
method: HttpMethod.DELETE,
url: '/api/notifications/my-subscribes?name=$name',
requestOptions: requestOptions,
);
}
Future<ListResultDto<UserSubscreNotificationDto>> getMySubscribedListAsync({ RequestOptions? requestOptions }) {
return _restService.request(
method: HttpMethod.GET,
requestOptions: requestOptions,
url: '/api/notifications/my-subscribes/all',
transformer: (res) => ListResultDto<UserSubscreNotificationDto>(
items: (res.data['items'] as List<dynamic>).map((e) => UserSubscreNotificationDto.fromJson(e)).toList(),
),
);
}
Future<ListResultDto<NotificationGroupDto>> getAssignableNotifiersAsync({ RequestOptions? requestOptions }) {
return _restService.request(
method: HttpMethod.GET,
requestOptions: requestOptions,
url: '/api/notifications/assignables',
transformer: (res) => ListResultDto<NotificationGroupDto>(
items: (res.data['items'] as List<dynamic>).map((e) => NotificationGroupDto.fromJson(e)).toList(),
),
);
}
Future<ListResultDto<NotificationTemplateDto>> getAssignableTemplatesAsync({ RequestOptions? requestOptions }) {
return _restService.request(
method: HttpMethod.GET,
requestOptions: requestOptions,
url: '/api/notifications/assignable-templates',
transformer: (res) => ListResultDto<NotificationTemplateDto>(
items: (res.data['items'] as List<dynamic>)
.map((e) => NotificationTemplateDto.fromJson(e)).toList()
),
);
}
}