返回 AiToEarn
common.ts
1 import * as xml2js from 'xml2js';
2 // 公共工具类
3 export class CommonUtils {
4 /**
5 * 成功返回
6 * @param msg
7 * @param data
8 * @returns {string}
9 */
10 static success(msg = '', data = null) {
11 return JSON.stringify({
12 code: 1,
13 msg: msg,
14 data: data,
15 });
16 }
17
18 /**
19 * 错误返回
20 */
21 static error(msg = '', data = null) {
22 return JSON.stringify({
23 code: 0,
24 msg: msg,
25 data: data,
26 });
27 }
28
29 /**
30 * cookie字符串或对象转String
31 */
32 static convertCookieToJson(cookieJson: any) {
33 if (typeof cookieJson === 'string') {
34 cookieJson = JSON.parse(cookieJson);
35 }
36 let cookieStr = '';
37 cookieJson.forEach((cookie: any) => {
38 cookieStr += `${cookie.name}=${cookie.value}; `;
39 });
40 return cookieStr;
41 }
42
43 /**
44 * 睡眠指定时长
45 */
46 static waitFor(time: number) {
47 return new Promise((resolve) => {
48 setTimeout(() => {
49 resolve(true);
50 }, time);
51 });
52 }
53
54 /**
55 * 判断字符串是否是Json字符串
56 */
57 static isJsonString(str: string) {
58 if (typeof str == 'string') {
59 try {
60 const obj = JSON.parse(str);
61 return !!(typeof obj === 'object' && obj);
62 } catch (e) {
63 return false;
64 }
65 } else {
66 return false;
67 }
68 }
69
70 /**
71 * 转换xml为json对象
72 */
73 static xml2json(xml: any) {
74 return new Promise((resolve, reject) => {
75 const parser = new xml2js.Parser();
76 parser.parseString(xml, (err, result) => {
77 if (err) {
78 reject(err);
79 } else {
80 resolve(result);
81 }
82 });
83 });
84 }
85
86 /**
87 * 转换json对象为xml
88 */
89 static json2xml(json: object) {
90 return new Promise((resolve, reject) => {
91 try {
92 const builder = new xml2js.Builder({
93 rootName: 'CompleteMultipartUpload',
94 });
95 const xml = builder.buildObject(json);
96 resolve(xml);
97 } catch (err) {
98 reject(err);
99 }
100 });
101 }
102
103 static buildUrl(baseUrl: string, params: any) {
104 const url = new URL(baseUrl);
105 Object.keys(params).forEach((key) => {
106 if (
107 params[key] !== undefined &&
108 params[key] !== null &&
109 params[key] !== ''
110 ) {
111 url.searchParams.append(key, params[key]);
112 }
113 });
114 // console.log('url:', url.toString());
115 return url.toString();
116 }
117 }
118
118 lines TYPESCRIPT