1. post请求头设置为application/x-www-form-urlencoded时参数如何设置?

使用qs将参数格式转换为”a=b&c=d”

  1. static getDingTalkConfig(params) {
  2. return http({
  3. method: 'post',
  4. url: Api.GET_DDCONFIG_URL,
  5. headers: {
  6. "Content-Type": "application/x-www-form-urlencoded;charset=utf-8"
  7. },
  8. data: qs.stringify({ url: config.pageUrl })
  9. })
  10. }

2. 后端返回文件流如何进行下载?

使用 blob 格式接受响应,并使用 Blob 进行解析

  1. // 导出字典模板 ok
  2. static EXPORT_DICT_URL = `/message/v1/dir/definition/export`;
  3. static exportDict(params) {
  4. return http.post(Api.EXPORT_DICT_URL, params, {
  5. // 设置responseType为blob
  6. responseType: 'blob',
  7. });
  8. }
  1. // 下载文件
  2. export function download({ data, title = '模板' }) {
  3. const blob = new Blob([data]);
  4. const a = document.createElement('a');
  5. a.setAttribute('download', `${title}.xls`)
  6. a.setAttribute('href', window.URL.createObjectURL(blob))
  7. a.click();
  8. }