HttpUtils.ets
3.47 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
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
import { SpConstants } from 'wdConstant/Index';
import { DeviceUtil, Logger, SPHelper, StringUtils } from 'wdKit/Index';
import { HttpRequest } from '../http/HttpRequest';
import { http } from '@kit.NetworkKit';
import fs from '@ohos.file.fs';
import { BusinessError } from '@kit.BasicServicesKit';
import { JSON } from '@kit.ArkTS';
const TAG: string = '[HttpUtils]'
/**
* http相关工具类,对外暴露
*/
export class HttpUtils {
static getRefreshToken() {
let refreshToken = SPHelper.default.getSync(SpConstants.USER_REFRESH_TOKEN, "")
if (StringUtils.isNotEmpty(refreshToken)) {
return refreshToken as string;
}
return '';
}
/**
* 设备id,uuid
*/
public static getDeviceId(): string {
return DeviceUtil.clientId();
}
/**
* 定位,城市code
*/
public static getCityCode(): string {
// 城市编码
return SPHelper.default.getSync(SpConstants.LOCATION_CITY_CODE, '') as string
}
/**
* 定位,省份code
*/
public static getProvinceCode(): string {
return SPHelper.default.getSync(SpConstants.LOCATION_PROVINCE_CODE, '') as string
}
/**
* 定位,地区code
*/
public static getDistrictCode(): string {
let districtCode = SPHelper.default.getSync(SpConstants.LOCATION_DISTRICT_CODE, '') as string
if (districtCode === '') {
return districtCode
}
// 截取前6位,如返回310115114,需要310115 (上海浦东)
return districtCode.substring(0, 6);
}
public static getImei(): string {
return DeviceUtil.clientId();
}
public static getUserId(): string {
return SPHelper.default.getSync(SpConstants.USER_ID, "") as string
}
public static getCreatorId(): string {
return SPHelper.default.getSync(SpConstants.USER_CREATOR_ID, "") as string
}
public static getUserType(): string {
return SPHelper.default.getSync(SpConstants.USER_Type, "") as string
}
static getUserToken(): string {
return SPHelper.default.getSync(SpConstants.USER_JWT_TOKEN, "") as string
}
static getMpaasUtdid(): string {
return SPHelper.default.getSync(SpConstants.USER_MPAASUTDID, "") as string
}
public static isLogin(): boolean {
let token = HttpUtils.getUserToken()
if (token == null || token == undefined || token.length <= 0) {
return false
}
return true
}
static downloadUrlToPathWithout(url: string, toFilePath: string): Promise<boolean> {
Logger.debug(TAG, "will donwload url:" + url + " ======> " + toFilePath);
return new Promise((reslove, fail) => {
let httpRequest = http.createHttp()
httpRequest.request(url, (err, data) => {
if (!err && data.responseCode == http.ResponseCode.OK) {
let imgFile = fs.openSync(toFilePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
let wroteLength = 0
fs.write(imgFile.fd, data.result as ArrayBuffer).then((writeLen: number) => {
Logger.debug(TAG, "write data to file succeed and size is:" + writeLen);
wroteLength = writeLen
}).catch((err: BusinessError) => {
Logger.error(TAG, "write data to file failed with error message: " + err.message + ", error code: " + err.code);
}).finally(() => {
fs.closeSync(imgFile);
httpRequest.destroy()
reslove(wroteLength > 0)
});
return
}
Logger.error(TAG, "download failed " + JSON.stringify(err));
httpRequest.destroy()
fail("failed")
});
})
}
}