echarts提供了很多精美图表插件,通过浏览器来渲染后,用户可以保存图表为图片。但是有些应用场景,需要在用户不打开浏览器的情况下,能把图表保存下来,比如把echarts图表插入到word文档中。这种需求下,我开发了echarts图片导出服务,并提供了相关接口。
提供了两种类型的接口:
把定制页面的echarts图表保存为图片
请求实例:
参数解释:
- 请求接口:http://115.29.188.241:3100/
- 请求方法:POST
- 请求参数:
- 参数格式:JSON
- url:定制的echarts图表页面,如:http://115.29.188.241/public/echarts/default.html
- funcs:上面指定的URL页面上暴露的echarts实例全局变量,多个实例用半角逗号隔开,如:salesChart,bubbleChart。
- delay:可选项,单位ms,默认100,最大值5000。延时执行时间,有的echarts图表带有动画,需要等待动画执行完,delay时间越长,等待接口返回时间越长,建议关闭动画。
返回结果:
出参解释:
- err: 0 或者 1 , 0 表示没有错误,1表示发生错误。
- msg: 成功返回success,失败返回错误的信息。
- imgs:json对象,key为请求参数funcs中指定的全局变量名,比如这里的salesChart对应的图片为http://saas-pubsentiment-img1.oss-cn-hangzhou.aliyuncs.com/2017/04/14/1492183306861.png,bubbleChart对应的图片为http://saas-pubsentiment-img1.oss-cn-hangzhou.aliyuncs.com/2017/04/14/1492182803618.png
根据echarts option参数来生成图片,这里echarts的版本为3.5.3
请求实例:
参数解释:
- 请求接口:http://115.29.188.241:3100/
- 请求方法:POST
- 请求参数:
- 参数格式:JSON
- echartsOption:echarts的配置信息
- width:可选项,生成图片的宽度,单位px,最大值:2000,默认值:600
- height:可选项,生成图片的高度,单位px,最大值:2000,默认值:4001{"err":0,"msg":"success","imgs":{"myChart":"http://saas-pubsentiment-img1.oss-cn-hangzhou.aliyuncs.com/2017/04/14/1492184722716.png"}}
出参解释:
- err: 0 或者 1 , 0 表示没有错误,1表示发生错误。
- msg: 成功返回success,失败返回错误的信息。
- imgs:这里的key固定为myChart