大家帮我确定下,红框内容是不是多余了,能否安全删除?
代码如下:
import request from '@/plugin/axios'
import qs from 'qs'
// import store from '@/store/index'
const store = require('@/store/index')
let commonData = {
loginType: 'R',
mchannelId: 'PIBS',
deviceType: 'PC' // 设备号
}
export function httpGet(url, params = {}) {
commonData = {
...commonData
}
let obj = {}
if (params.transCode) {
obj = {
transCode: params.transCode
}
}
return request({
url,
method: 'get',
params: {
...params,
...commonData,
...obj
}
})
}
export function httpPost(url, data = {}) {
let obj = {}
if (data.transCode) {
obj = {
transCode: data.transCode
}
}
return request({
url,
method: 'post',
headers: {
'Content-Type': 'application/json; charset=utf-8',
...commonData
},
data: {
...data,
...commonData,
...obj
},
transformRequest: [
function (data) {
return JSON.stringify(data)
}
]
})
}
export function httpForm(url, data = {}) {
let obj = {}
if (data.transCode) {
obj = {
transCode: data.transCode
}
}
return request({
url,
method: 'post',
headers: {
'Content-Type': 'application/json; charset=utf-8',
...commonData
},
data: {
...data,
...commonData,
...obj
},
transformRequest: [
function (data) {
return JSON.stringify(data)
}
]
})
}
export function httpFormConfirm(url, data = {}) {
let obj = {}
if (data.transCode) {
obj = {
transCode: data.transCode
}
}
return request({
url,
method: 'post',
headers: {
'Content-Type': 'application/json; charset=utf-8',
trsType: 'confirm',
...commonData
},
data: {
...data,
...commonData,
...obj
},
transformRequest: [
function (data) {
return JSON.stringify(data)
}
]
})
}
export function download(url, data = {}) {
return request({
url,
method: 'post',
responseType: 'blob',
data: {
...commonData,
...data
},
transformRequest: [
function (data) {
data = qs.stringify(data)
return data
}
]
})
}
export function getDownload(url, params) {
commonData = {
...commonData,
...params
}
return request({
url,
method: 'get',
responseType: 'blob',
params: {
...params,
...commonData
}
/* transformRequest: [function (data) {
data = qs.stringify(data)
return data
}] */
})
}
###是否多余要看commonData
对象里是否也有transCode
属性。
看代码表达意图:
- 用
commonData
对象补充传入的对象params
/data
。 - 如果传入的对象有
transCode
属性,则不要commonData
里的同名属性覆盖。
和这个同理,某种意义上来说,并没有多余
request({
data: {
...data,
...commonData,
// 这里可能为空,看代码的意思,如果为空,是不需要提交这个字段的
// 一般的请求库,空值给个null,会自动过滤掉,如果这个自己写的一个库,可能提交时,没对data做空值过滤
// 后端有时候会通过前端有没有传这个值,来判断是否需要修改数据库对应的数据
// 而且有这个键值,会覆盖前面解构的同名键值
transCode: params.transCode || null
}
})
###是多余了,params和data的解构已经包含transCode了,obj赋值再解构transCode完全没必要
###感觉多余了,个人不能理解这样的意义
data = { transCode: null }, obj = {} // 解构的值 { transCode: null }
data = { transCode: 1 }, obj = { transCode: 1 } // 解构的值 { transCode: 1 }
data = { transCode: {} }, obj = { transCode: {} } // 解构的值 { transCode: {} }
常见的操作不是补充默认值之类的吗?