企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
框架内部的http请求是基于axios进行的扩展,除了保留axios原有的请求方式外,还扩展了如下请求方式: ``` postJson(url, params, config); ``` * url:请求地址。**必填** * params:请求参数。**选填** * config:axios的配置,**选填** <br/>**同时针对axios的config也进行了扩展,新增参数如下:** > **所有的请求默认都会添加一个全局的遮罩,如果不需要遮罩,请在config中添加loading:false的配置项。** ``` //此处仅以post请求方式为例,其他方式也支持。 .post('http://jboot.e7lu.cn', {id: '11'}, { errorTip: boolean, //请求异常时,是否自动弹出异常信息提示。默认为true。3.1.3690版本起,也可通过全局http配置项disabledErrorTip统一关闭异常提示。 loading: boolean, //请求发送时,是否展示loading,默认是true,不需要的请求可以显示声明为false值。也可通过配置项全局禁用,详见【开始使用】章节的httpConfig部分。 loadingId: string, //框架内部用于记录loadingId的。不要随意修改! download: boolean, //是否是下载请求,默认为false,如果值为true,那么请求会自动修改返回类型为blob,并执行下载操作。 downloadFileName: string //当前请求是下载类型时,该属性用于声明文件的名称。非必填。 }); ``` <br/>**在axios的基础上,增加mock的支持,使用方式如下:** ``` //此处仅以post请求方式为例,其他方式也支持。 const mockResult = function(params){ //params为请求传输的参数,在此处代表{id:'11'} return { name: '张三', age: 25, ... } 或 return [ {id: '1', name: '张三'}, {id: '2', name: '李四'}, ... ] }; .post('http://jboot.e7lu.cn',{id: '11'},{ //将mock属性注释掉以后,该请求就会正常发送。 mock: mockResult }) 也可采用this.$ajax.mock(mockResult).post()或api文件中使用http.mock(mockResult).post()的方式。 ``` <br/>**增加请求合并功能,用于相同接口请求在不同组件并发时的场景。使用方式如下:** ``` //此处仅以post请求方式为例,其他方式也支持。 .post('http://jboot.e7lu.cn',{id: '11'},{ merge: true //此属性代表该请求并发时,只请求一次,共用同一份接口返回数据。 }) ``` <br/>**增加请求缓存功能,用于接口数据基本不变的情况,缓存结果,下次请求直接返回该结果,避免重复请求。使用方式如下:** ``` //此处仅以post请求方式为例,其他方式也支持。 .post('http://jboot.e7lu.cn',{id: '11'},{ cache: 'local' //可选值为local(存储到localStorage中)、session(存储到sessionStorage中) }) ```