CommonDataService.ets
1.55 KB
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
import { CompDTO } from '../bean/CompDTO';
import { DataSourceRequest } from '../bean/DataSourceRequest';
import {Logger} from 'wdKit';
import {WDHttp} from 'wdNetwork';
import { LayoutCallback } from './LayoutCallback';
import { BusinessError } from '@ohos.base';
import http from '@ohos.net.http';
import { CompRequest } from '../request/CompRequest';
const TAG = 'CommonDataService';
/**
* 数据源服务
*/
export class CommonDataService {
public loadDataSource<T>(compDTO: CompDTO, request: DataSourceRequest, callback: LayoutCallback<T>): boolean {
CompRequest.fetchDataSource<T>(compDTO, request).then((resDTO: WDHttp.ResponseDTO<T>) => {
if (!resDTO) {
Logger.error(TAG, 'loadDataSource then resDTO is empty');
if (callback) {
callback.onFailed(WDHttp.ErrorCode.FAILED, 'Empty response');
}
return
}
if (resDTO.code != http.ResponseCode.OK || !resDTO.body) {
Logger.error(TAG, `loadDataSource then code:${resDTO.code}, message:${resDTO.message}`);
if (callback) {
callback.onFailed(resDTO.code, resDTO.message)
}
return
}
Logger.info(TAG, "loadDataSource then,resDTO.timeStamp:" + resDTO.timeStamp);
if (callback) {
callback.onSuccess(resDTO.body);
}
}).catch((error: BusinessError) => {
Logger.error(TAG, `loadDataSource catch, error.code : ${error.code}, error.message:${error.message}`);
if (callback) {
callback.onFailed(WDHttp.ErrorCode.FAILED, error.message);
}
})
return true;
}
}