Echarts2热力图设置背景图片
HTML
1 | <div id="main"></div> |
这里需要引人echarts-all.js
, 这个文件在2.0版本的官网中下载
JavaScript
1 | var heatData = []; |
这是最简配置, 其中opacity: 0.6
决定热力图的透明度, 设置为半透明后再为Div #main
设置背景图片即可
CSS
1 | #main { |
1 | <div id="main"></div> |
这里需要引人echarts-all.js
, 这个文件在2.0版本的官网中下载
1 | var heatData = []; |
这是最简配置, 其中opacity: 0.6
决定热力图的透明度, 设置为半透明后再为Div #main
设置背景图片即可
1 | #main { |
有时候代码中会允许用户提交一小段js代码并返回运行结果, 例如在模版配置中允许用户选择几个内置参数配置一个字符串
就像main/java/{packagePath}/database/service/{customClassName}Service.java
允许用户配置自定义文件路径, 其中packagePath
和customClassName
… 是内置对象
要实现这个功能
"{customClassName}"
那就出现问题了, 就需要再考虑转义的问题eval()
, 但是直接执行用户提交的脚本是有风险的, 这里就可以用到虚拟环境, Node.js自带的vm
包1 | const vm = require('vm'); |
使用执行脚本的方式避免了前面转义的问题, 而且极大扩充了自定义性, 用户可以在${customClassName}
中调用js原生的字符串操作函数
这里提供了一种虚拟环境的使用场景, 但是即使在虚拟环境下也不建议运行不信任的脚本