url拼接参数

将后台返回的数据对象拼接到url地址上

// 拆分数据
splitData: function (data) {
    let url = ''
    for (let k in data) {
        if (data.hasOwnProperty(k)) {
            let value = data[k] || ''
            url = url + '&' + k + '=' + encodeURIComponent(value)
        }
    }
    return url ? url.substring(1) : ''
},

// 拼接参数
contractUrl: function (url, data) {
    return url + (url.indexOf('?') < 0 ? '?' : '&') + this.splitData(data)
},

后台返回的数据

let url = "https://ds.capcn.com.cn/facevi"
let data = {
    institutionID: "100200",
    returnImage: "00",
    frontUrl: "http://22.202.250.78/api/face-formt/face-info",
    backUrl: "http://22.202.100.12/api/face-recognition/face-info",
    remark: "00125",
    frontMethod: "0",
}

拼接后的地址

https://ds.capcn.com.cn/facevi?institutionID=100200&returnImage=00&frontUrl=http%3A%2F%2F22.202.250.78%2Fapi%2Fface-formt%2Fface-info&backUrl=http%3A%2F%2F22.202.100.12%2Fapi%2Fface-recognition%2Fface-info&remark=00125&frontMethod=0

备注

post方法

/**
 *  导出excel文件
 * @param url 下载地址
 * @param data 参数
 * @param name 下载文件名
 */
export const $export2 = (url, data, name) => {
    let opt = {
        url: url,
        method: 'post',
        responseType: 'blob',
        data: data
    }
    axios.request(opt).then(res => {
        const BLOB = res.data
        const fileReader = new FileReader()
        fileReader.readAsDataURL(BLOB)
        fileReader.onload = (event) => {
            let a = document.createElement('a')
            a.download = `${name}.xls`
            a.href = event.target.result
            document.body.appendChild(a)
            a.click()
            document.body.removeChild(a)
        }
    })
}

get方法

/**
 *  导出excel文件 get方法拼接地址
 * @param url 下载地址
 * @param data 参数
 * @param name 下载文件名
 */
export const $export = (url, data, name) => {
    let exportIn = {
        splitData: function (data) {
            let url = ''
            for (let k in data) {
                if (data.hasOwnProperty(k)) {
                    let value = data[k] || ''
                    url = url + '&' + k + '=' + encodeURIComponent(value)
                }
            }
            return url ? url.substring(1) : ''
        },
        contractUrl: function (url, data) {
            return url + (url.indexOf('?') < 0 ? '?' : '&') + exportIn.splitData(data)
        },
    }
    let finalUrl = exportIn.contractUrl(url, data)
    window.open(finalUrl)
}
原文地址:https://www.cnblogs.com/codebook/p/12316934.html