Postman sends the request, the date parameter automatically converts the timestamp to send, and postman fills in the date to automatically convert the timestamp

directly on the code

/**
 * excludes: 极个别不需要转换的键,默认为 [],参数形式:[key1, key1, ...] 例如:turn(['k1', 'k2'])
 * 加参数原因:一般不需要设置,但是由于判断的毕竟不完善,
 * 防止某些键比如 price 也自动转换成了时间戳,只需要单独将 price 设置里边即可 ['price']
 */
function turn(excludes = []){
    
    
    var mode = pm.request.body.mode
    console.log(pm.request.body.mode)
    turnQs(excludes)
    eval(`turn${
      
      mode}([...excludes])`)
}
function turnQs(excludes = []){
    
    
    var qs = pm.request.url.getQueryString()
    qs.split('&').forEach(s => {
    
    
        var [k, v] = s.split('=')
        if(!excludes.includes(k)){
    
    
            var times = new Date(v).getTime()
            if(!isNaN(times)){
    
    
                pm.request.url.query.remove(k)
                pm.request.url.query.add({
    
    "key": k, "value": Math.floor(times / 1000).toString()})
            }
        }
    })
}
function turnraw(excludes = []){
    
    
    var raw = JSON.parse(pm.request.body.raw)
    var ret = {
    
    }
    Object.entries(raw).forEach(([k, v])=>{
    
    
        if(!excludes.includes(k)){
    
    
            var times = new Date(v).getTime()
            if(isNaN(times)){
    
    
                ret[k] = v
            } else {
    
    
                ret[k] = Math.floor(times / 1000)
            }
        } else {
    
    
            ret[k] = v
        }
    })
    pm.request.body.raw = JSON.stringify(ret)
}
function turnformdata(excludes = []){
    
    
    pm.request.body.formdata.each(item=>{
    
    
        console.log(item)
        var {
    
    key: k, value: v, type: t} = item
        if(!excludes.includes(k)){
    
    
            var times = new Date(v).getTime()
            if(!isNaN(times)){
    
    
                pm.request.body.formdata.remove(k)
                pm.request.body.formdata.add({
    
    "key": k, "value": Math.floor(times / 1000).toString(), "type": t})
            }
        }
    })
}
function turnurlencoded(excludes = []){
    
    
    pm.request.body.urlencoded.each(item=>{
    
    
        var {
    
    key: k, value: v} = item
        if(!excludes.includes(k)){
    
    
            var times = new Date(v).getTime()
            if(!isNaN(times)){
    
    
                pm.request.body.urlencoded.remove(k)
                pm.request.body.urlencoded.add({
    
    "key": k, "value": Math.floor(times / 1000).toString()})
            }
        }
    })
}
// 例子:
turn(['a','d', 'ccc_time'])

usage

Use Demo

insert image description here

Form one - formdata

insert image description here
insert image description here

Form 2 - x-www-form-urlencoded

insert image description here
insert image description here

Form 3 - body - raw - JSON format

insert image description here
insert image description here

Guess you like

Origin blog.csdn.net/qq_38652871/article/details/129506555