前端怎么对接后端的导出接口

news/2024/7/10 0:02:48 标签: 前端, vue, js

背景

做开发系统的,经常遇到导出功能,一般就是导出表格。怎么对接后端人员给的导出接口?

实现

// 导出
exportExcel() {
   // 1、首先进行参数校验
   if (!this.search.formDate) {
       return this.$notify.error("必须选择一个时间");
   }
   if (!this.shopId) {
       return this.$notify.error("请选择门店");
   }
   
   // 2、参数     
   const param = {
         startTime: this.search.formDate[0]? Util.formatTime(new Date(this.search.formDate[0])) : undefined,
         endTime: this.search.formDate[1]? Util.formatTime(new Date(this.search.formDate[1])) : undefined
   };
   param.selectedCurrentShopId = this.shopId;

   // 3、服务链接地址(https://域名:端口) + 接口路径 + 参数
   const exportExcelUrl = URLApiBase + '/xxx/xxx/导出接口路径?' + this.QS(param);
   
   // 4、路径是否要补充token
   let paramUrl = '';
   if (window.localStorage.getItem('userToken')) {
       paramUrl = `&userToken=${window.localStorage.getItem('userToken')}`
   }

   // 5、打开处理好的地址
   window.open(exportExcelUrl + paramUrl);

},

// 参数URI编码:为了避免服务器收到不可预知的请求,对任何用户输入的作为URI部分的内容你都需要用
// encodeURIComponent进行转义
QS(data) {
    const ret = [];
    for (const item in data) {
        if (data[item] !== undefined && data[item] !== null) {
            ret.push(encodeURIComponent(item) + '=' + encodeURIComponent(data[item]));
        }
    }
    return ret.join('&');
}

总结

对接导出接口,主要是用 window.open(url) 打开相应的地址就可以下载导出的文件了

 


http://www.niftyadmin.cn/n/1365357.html

相关文章

HDUOJ 2031

进制转换 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 12130 Accepted Submission(s): 6844Problem Description输入一个十进制数N,将它转换成R进制数输出。Input输入数据包含多个测试实例&…

获取List中的元素ID(某属性)然后返回新的List集合(stream写法)

写法1 List<Long> stockCheckSheetIdList stockCheckSheetPOList.stream().map(StockCheckSheetPO::getId).collect(Collectors.toList()); 写法2 // 数组 Long[] stockCheckProductDetailsIds stockCheckProductDetailsPOList.stream().map(StockCheckProductDeta…

sprite基本知识、[缩放,旋转,透明度,XY翻转,颜色设置,z值改变,换图]

1 CCSprite* sprite[CCSprite spriteWithFile:"Icon.png"]; 2 [self addChild:sprite z:1 tag:100]; //z 值默认为0&#xff1b; 3 sprite.scale0.8f;// 缩放&#xff1b; 4 sprite.rotation90; // 旋转80度&#xff1b; 5 …

好看的电脑桌面悬浮时钟工具

前言 有没有人跟我一样&#xff0c;很容易发呆走神或者很容易刷手机的。因为低头刷手机刷多&#xff0c;影响眼睛&#xff0c;影响形体&#xff0c;所以我想在自己的电脑桌面搞上一个时钟&#xff0c;主要让秒数一直动&#xff0c;让自己的焦点集中在电脑上&#xff0c;专心工…

一、Orchard的基本概念

一般的CMS概念 Content CMS系统中的内容.如一篇博文、一条评论、一个产品、导航菜单或logo等。 Admin panel,Dashboard or back-end 管理后台。管理网站和内容的地方。 CMS 内容管理系统的缩写。 Front-end 被用户访问的前台。 Setup 系统的安装及基本设置 Orchard concept…

(动图教学)Typora 打小黑点,空心圆,实心方框的无序列表

文字教学 首先按下*号和空格键&#xff0c;就能打出小黑点。然后换行生成同级的小黑点&#xff0c;按下Tab键就能打出空心圆&#xff0c;然后换行生成同级的空心圆&#xff0c;再按下Tab键就能打出实心方框了。 动图教学 PS&#xff1a; 按下组合键【Ctrl[】&#xff0c;就能…

三、自定义网站(一) Previewing and applying a theme

Orchard提供了功能强大并且简单易用的主题系统。Orchard默认包含了一个主题。 Managing Themes 在控制面板中点击 Themes进入主题管理. 转载于:https://www.cnblogs.com/ibrady/archive/2012/03/20/2407433.html

如何远程连接云服务器

找到服务器控制台 先百度阿里云&#xff0c;点进去&#xff0c;登录&#xff0c;然后&#xff1a; 操作自己的服务器 xShell远程连接服务器 新建会话&#xff1a; 设置属性&#xff1a; 连接成功&#xff1a; 防火墙开放端口