直接在页面使用工具类时需在data中定义要引入的工具类 【在方法method中使用则不需要在data中引入】
<template>
<div>
<el-button type="warning" size="mini" @click="RenderMode.addPoint(111)">增加点2</el-button>
</div>
</template>
<script>
import { basicAttr,RenderMode} from "../apis/cosmix";
export default{
data() {
return {
RenderMode,//引入所需工具类
}
}
}
</script>
src\apis\cosmix.js
//cesium相关的工具类
var basicAttr = {
//颜色格式转换 rgba(27, 139, 59, 128)==>[103,194,58, 128]
rgbOrRgbaToArray(colorString){
var rgbOrgbaJudgeTag = /^([^\(]+)\([^\)]+\)$/i;
var color = rgbOrgbaJudgeTag.exec(colorString);
if(color!==null){
if(color[1].trim()==="rgb"){
var str = colorString;
var strTag = /^rgb[a]*\s*\(([^,]+),([^,]+),([^\)]+)\)$/i;
var result = strTag.exec(str);
if(result===null||result[1].trim()===""||result[2].trim()===""||result[3].trim()===""){
return null;
}
var returnArray = [];
for(var i=1;i<=result.length-1;i++){
returnArray[i-1]=Number(result[i].trim());
}
return returnArray;
}else if(color[1].trim()==="rgba"){
var str = colorString;
var strTag = /^rgb[a]*\s*\(([^,]+),([^,]+),([^,]+),([^\)]+)\)$/i;
var result = strTag.exec(str);
result[4]=Math.ceil(result[4]*225).toString();//向上取整 转字符串
if(result===null||result[1].trim()===""||result[2].trim()===""||result[3].trim()===""){
return null;
}
var returnArray = [];
for(var i=1;i<=result.length-1;i++){//遍历颜色值放入数组
returnArray[i-1]=Number(result[i].trim());
}
return returnArray;
}else{
return null;
}
}else{
return null;
}
},
};
// 渲染模式
var RenderMode={
// 增加点
addPoint(s){
console.log(s)
},
};
export {
basicAttr,
RenderMode,
}