@hzab/data-model
Advanced tools
Comparing version 1.0.2 to 1.1.0
@@ -0,1 +1,5 @@ | ||
# @hzab/data-model@1.1.0 | ||
- formData 问题修复 | ||
# @hzab/data-model@1.0.2 | ||
@@ -2,0 +6,0 @@ |
{ | ||
"name": "@hzab/data-model", | ||
"version": "1.0.2", | ||
"version": "1.1.0", | ||
"description": "data model", | ||
@@ -5,0 +5,0 @@ "main": "src", |
@@ -168,11 +168,12 @@ import _ from "lodash"; | ||
create(params, ctx) { | ||
let _params = _.cloneDeep(params); | ||
if (this.createReqMap) { | ||
_params = this.createReqMap(_params); | ||
} | ||
return new Promise((resolve, reject) => { | ||
const opt = { ...this.axiosConf }; | ||
let _params = _.cloneDeep(formDataToObj(params)); | ||
if (this.createReqMap) { | ||
_params = this.createReqMap(_params, params); | ||
} | ||
const apiUrl = this.getApiUrl(this.createApi, _params, ctx, { from: "create" }); | ||
const opt = { ...this.axiosConf }; | ||
if (_params instanceof FormData) { | ||
if (params instanceof FormData) { | ||
opt.headers = { "Content-Type": "multipart/form-data" }; | ||
_params = objToFormData(_params); | ||
} | ||
@@ -198,11 +199,12 @@ this.axios | ||
update(params, ctx) { | ||
let _params = _.cloneDeep(params); | ||
if (this.updateReqMap) { | ||
_params = this.updateReqMap(_params); | ||
} | ||
return new Promise((resolve, reject) => { | ||
const opt = { ...this.axiosConf }; | ||
let _params = _.cloneDeep(formDataToObj(params)); | ||
if (this.updateReqMap) { | ||
_params = this.updateReqMap(_params, params); | ||
} | ||
const apiUrl = this.getApiUrl(this.updateApi, _params, ctx, { from: "update" }); | ||
const opt = { ...this.axiosConf }; | ||
if (_params instanceof FormData) { | ||
if (params instanceof FormData) { | ||
opt.headers = { "Content-Type": "multipart/form-data" }; | ||
_params = objToFormData(_params); | ||
} | ||
@@ -367,4 +369,26 @@ this.axios | ||
export function objToFormData(data) { | ||
if (data instanceof FormData) { | ||
return data; | ||
} | ||
const formData = new FormData(); | ||
Object.keys(data)?.forEach((key) => { | ||
formData.set(key, data[key]); | ||
}); | ||
return formData; | ||
} | ||
export function formDataToObj(formData) { | ||
if (!(formData instanceof FormData)) { | ||
return formData; | ||
} | ||
const tempData = {}; | ||
for (const [key, value] of formData.entries()) { | ||
tempData[key] = value; | ||
} | ||
return tempData; | ||
} | ||
export { axios, DataModel, setDefaultAxios }; | ||
export default DataModel; |
23241
506