1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
import { Http } from '@/utils/http/http';
/**
* 视图消息组
*
* @export
* @class ViewMessageGroupService
*/
export default class ViewMessageGroupService {
/**
* 单例变量声明
*
* @private
* @static
* @type {ViewMessageGroupService}
* @memberof ViewMessageGroupService
*/
private static ViewMessageGroup: ViewMessageGroupService;
/**
* 所有视图消息组对象
*
* @private
* @static
* @type {ViewMessageGroupService}
* @memberof ViewMessageGroupService
*/
private static allViewMessageGroup:any;
/**
* 初始化实例
*
* @memberof ViewMessageGroupService
*/
constructor(opts:any = {}){}
/**
* 获取 ViewMessageGroupService 单例对象
*
* @static
* @returns {ViewMessageGroupService}
* @memberof ViewMessageGroupService
*/
public static getInstance(): ViewMessageGroupService {
if (!ViewMessageGroupService.ViewMessageGroup) {
ViewMessageGroupService.ViewMessageGroup = new ViewMessageGroupService();
}
return this.ViewMessageGroup;
}
/**
* 获取视图消息组成员集合
*
* @returns {Promise<any></any>}
* @memberof ViewMessageGroupService
*/
public async getViewMessageDetailsByTag(tag:string):Promise<any>{
if(ViewMessageGroupService.allViewMessageGroup){
return ViewMessageGroupService.allViewMessageGroup[tag]?ViewMessageGroupService.allViewMessageGroup[tag]:[];
}else{
let result:any = await this.loadAllViewMessageGroup();
return result[tag]?result[tag]:[];
}
}
/**
* 加载应用所有视图消息组集合
*
* @returns {Promise<any></any>}
* @memberof ViewMessageGroupService
*/
public loadAllViewMessageGroup():Promise<any>{
return new Promise((resolve:any,reject:any) =>{
Http.getInstance().get('./assets/json/view-message-group.json').then((response: any) => {
if (response && response.status === 200 && response.data) {
ViewMessageGroupService.allViewMessageGroup = response.data;
resolve(response.data);
}
}).catch((error: any) => {
console.log(error);
});
})
}
}