发表于: 2019-10-02 23:16:57
0 793
今天完成的事情:
1,公共服务
public post(url: string, data?: any) {
const params = typeof(data) === 'object' && String(data) !== '[object File]' ? this.paramFormat(data) : data;
return this.http.post(url, params, httpOptions);
}
public put(url: string, data?: any) {
const params = typeof(data) === 'object' && String(data) !== '[object File]' ? this.paramFormat(data) : data;
return this.http.put(url, params, httpOptions);
}
public delete(url: string, data?: any,) {
const params = typeof(data) === 'object' && String(data) !== '[object File]' ? this.paramFormat(data) : data;
return this.http.delete(url, params);
}
public get(url: string, data?: any) {
return this.http.get(url, data);
}
// 序列化参数
private paramFormat(data: any): string {
let paramStr = '', name, value, subName, innerObj;
let that = this;
for (name in data) {
value = data[name];
if (value instanceof Array) {
for (let i of value) {
subName = name;
innerObj = {};
innerObj[subName] = i;
paramStr += this.paramFormat(innerObj) + '&';
}
} else if (value instanceof Object) {
Object.keys(value).forEach(function (key) {
subName = name + '[' + key + ']';
innerObj = {};
innerObj[subName] = value[key];
paramStr += that.paramFormat(innerObj) + '&';
});
} else if (value !== undefined && value !== null) {
paramStr += encodeURIComponent(name) + '='
+ encodeURIComponent(value) + '&';
}
}
return paramStr.length ? paramStr.substr(0, paramStr.length - 1) : paramStr;
}
}
评论