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.
 
 
 
 
pocketcommunityweb/src/app/message/message.service.ts

88 lines
1.7 KiB

import {Injectable} from '@angular/core';
import {TranslateService} from '@ngx-translate/core';
@Injectable({
providedIn: 'root'
})
export class MessageService {
// 提示框信息
// tslint:disable-next-line:variable-name
private _message = null;
// 提示框样式
// tslint:disable-next-line:variable-name
private _messageStyle;
get message() {
return this._message;
}
set message(value) {
this._message = value;
}
get messageStyle() {
return this._messageStyle;
}
set messageStyle(value) {
this._messageStyle = value;
}
info(message: string) {
this.messageStyle = 'info';
this.message = message;
}
danger(message: string) {
this.messageStyle = 'danger';
this.message = message;
}
constructor() {
}
}
@Injectable({
providedIn: 'root'
})
// 获取国际化翻译
export class MessageUtil {
constructor(private translate: TranslateService,
private messageService: MessageService) {
}
// tslint:disable-next-line:ban-types
info(key: string | Array<string>, interpolateParams?: Object) {
this.translate.get(key, interpolateParams).subscribe(s => {
this.messageService.info(s);
});
}
// tslint:disable-next-line:ban-types
danger(key: string | Array<string>, interpolateParams?: Object) {
this.translate.get(key, interpolateParams).subscribe(s => {
this.messageService.danger(s);
});
}
// tslint:disable-next-line:ban-types
alert(key: string | Array<string>, interpolateParams?: Object) {
this.translate.get(key, interpolateParams).subscribe(s => {
alert(s);
});
}
reset() {
this.messageService.message = null;
}
}
// 国际化前缀
export interface MessageInterface {
prefix(key: string): string;
}