/** * @file 地图组件对接编辑器的描述文件 */ export class CmpPlugin { /** * rendererName 为自定义组件名称,用于标识组件的唯一性 * 在构建时根据当前组件目录名称自动生成 */ // rendererName: string = 'map-widget'; // 组件名称,用于设置在编辑器左侧组件面板中展示的名称 name: string = '地图组件'; // 组件描述,用于设置在编辑器左侧组件面板中展示的描述 description: string = '地图展示组件,支持传入经纬度或地址名称'; // 分类标签,用于设置在编辑器左侧组件面板哪个分类中展示(可设置多个分类标签) tags: string[] = ['自定义组件']; // 组件图标,用于设置在编辑器左侧组件面板中展示的图标 iconSrc: string = 'https://custom-widgets.bj.bcebos.com/map.svg'; // 初次插入页面的默认属性数据 scaffold = { label: '地图组件', // longitude: 116.397428, // 北京天安门经度 // latitude: 39.90923, // 北京天安门纬度 locationName: '北京市天安门广场', // 位置名称(可选) zoom: 14, // 缩放级别 markerTitle: '当前位置', // 标记点标题 height: 400, // 地图高度 }; // 设计器端预览时展示的默认数据 previewSchema = { label: '地图组件', }; panelTitle = '配置'; /** * 组件面板配置,用于生成编辑器右侧属性配置面板内容 */ panelBodyCreator = () => [ { type: 'input-text', name: 'locationName', label: '位置名称', placeholder: '例如:北京市天安门广场', description: '输入地址名称自动定位(优先级高于经纬度)', }, { type: 'input-number', name: 'longitude', label: '经度', // value: 116.397428, min: -180, max: 180, step: 0.000001, precision: 6, }, { type: 'input-number', name: 'latitude', label: '纬度', // value: 39.90923, min: -90, max: 90, step: 0.000001, precision: 6, }, { type: 'input-text', name: 'markerTitle', label: '标记点标题', value: '当前位置', }, { type: 'input-number', name: 'zoom', label: '缩放级别', value: 14, min: 3, max: 18, description: '地图缩放级别,3-18之间,数值越大越详细', }, { type: 'input-number', name: 'height', label: '地图高度', value: 400, min: 200, max: 800, step: 50, description: '地图容器的高度(像素)', }, ]; } export default CmpPlugin;