带着问题学习
1 如何图层看在第几层 点击左侧会显示
2 好多按钮点进去就变回首页了 比如一些说明文档 权限
3 不支持编辑撤回吗 不支持
4 调整尺寸等数字只能手动输入 不能滚轮或者小键盘吗 嗯
5 蓝图编辑器是查看功能 还有别的用途吗
可以设置事件 进行数据处理
6 数据源选择API 跨域问题是要配置代理吗 我试了一个接口报500
勾选配置代理按钮
!7 地图组件不显示
!8 数据源这个是直连数据库吗 还可以写sql语句
1 图层管理
锁定 隐藏 分组 成表单组 收藏到组件库 置顶
2 组件列表
七八类 下方可以搜索
3 画布编辑
右侧设置图标尺寸与电脑分辨率相同,还有位置 左上角中心点
支持辅助线设置 单击上方标尺显示 双击取消
缩放有快捷键 鼠标滚轮也可以 或者手动输入
==删除操作不支持回滚!!==
4 组件样式 有说明文档 可以查看组件指南
组件升级 各大屏分别升级 相互不影响
美化工具箱 不知道咋用不敢动
5设置数据源
点击组件 可以设置数据源
数据过滤器代码: 进行数据格式修改转换 支持代码导入
数据过滤器统一管理 标尺上方筛选按钮
可以查看哪个组件在调用这个过滤器 鼠标放到1个组件正在调用上面
6 地理组件
添加太多会卡 没反应 对机器要求高
下钻 单独一部分修改还没试过
7 回调事件 这个还需要研究一下
数据源选择数据库 可以编辑sql语句
只能传数字和字符串
图层
1 下拉框选择器 :
设置尺寸为0
设置value值 应用到全局变量
数据源设置为静态数据 如日
当点击button-[日]时 改变value变量值 下拉框选择器监听到变量值变化 会更改数据 然后应用到全局
css
界面自动适配: 设置位置自适应
交互事件: 绑定到变量 如果是相同的变量 当值变化 监听到之变化时会自动更新数据
一般使用翻牌器 0-最终数值显示
地图 点+ 出现很多层 越往上 层级越往上
小知识
1看控件: help.aliyun.com/document_de…
2获取id的方法:运行然后点击在控制台打印id
3 hook绑定事件 根据id stage.get("id名")
数据源根据0长0宽 获取到data数据
将data数据进行转换 在配置进行列名修改
一般是name value的形式
4下拉框选择器设置默认筛选条件
这个条件可以是多个类别组合成的对象
点击其他tab按钮 修改下拉框选择器映射绑定的value值 这个值是全局变量 会重新筛选整个页面
5 顺序问题 当控件先渲染 onChange事件不会执行,等拿到值之后再执行onChange
6 原型图还原 : 位置 可以现在外层布局 然后再拖到内层
7 查看动态拼接接口返回值: 在选择器里面打印值 然后运行 看控制台
8 图片已上传地址可以直接复制
交互ID能改变组件的数据
select的value值绑定一个变量 当select进行某些操作时,其他与这个变量相关的数据也会发生变化
实例: 实现日月年切换 关联翻牌器=> 通过关联全局变量 点击按钮修改全局变量值value值
图层: 日月年显隐 默认日外框显示 月和年选中框隐藏
蓝图: 当点击月时 将日年选中框隐藏,月显示
翻牌器的value绑定变量 time_type
设置默认数据源为从数据库获取 select后面动态拼接time_type
where aa.time_type =:time_type
日按钮
绑定变量
value:time_type
数据源:静态数据 变量默认赋值为3
[ { "value": "3" }]
月按钮: value:2
年按钮: value:1
日 月 年绑定相同的变量 点击会给变量赋值 这个变量是全局变量 当值变化, 接口中变量参数检测, 重新渲染全局中引用这个变量的元素
2 地图控件
多层级叠加
层级越往上 代表在最上层
3 弹窗显示详情
数据源
数据过滤器语法: js es6
数据源 最外面新建 后面选择
组件接收全部数据 分派到其他组件
蓝图编辑器: 导出翻牌器 注意!!!组件的名字一定要设置清晰
图层编辑界面
一 数据源赋值三种方式 1api 2蓝图 3 hook
1 api
拼接动态参数 :后面的变量和控件的value绑定的变量名称一致
http://10.236.9.150/datav/ngx/chinaUnicom/midplatform/smartOperation/opi/zhmh/v1/summary?area_id=:areaID&time_type=:time_type
2 蓝图法
打开f12 选中组件可以查看id
输入返回输出接口
rap2api.taobao.org/app/mock/17…
一个项目10多个不要太多否则难维护
可以连接 设置方法,进行数据处理和条件判断等操作 支持串行和并行方法 支持显隐等方法 无需编辑
screen改成hook 是原生事件编辑器
原生事件处理复杂交互
实例:按钮切换实践
日 月 年
点击月 将月的样式修改为mb,日样式修改为Da,年样式修改为Ya
点击和 不点击 是不同的图层组件样式
月点击交互: 绑定变量
3 hook法
针对大屏组件做二次开发 将screen改为hook
Tip: F12打断点调试查看数据 找代码直接filter搜索hook,找到写的代码
module.exports = (stage) => {
//数据源
const dataset = stage.get('main-title_VSOCc')
// 左边翻牌器
const number_left = stage.get('number-title-flop_ax2Tc')
//右边翻牌器
const number_right = stage.get('number-title-flop_1E8Iq')
//赋值
let rs = dataset.data()
// 重写value
number_left.render([{ value: rs.response0 }])
number_right.render([{ value: rs.response1 }])
console.log(dataset.data())
console.log('abc')
}
区别在于 hooks是初始化的时候就把数据赋值到组件,而蓝图编辑器是在页面加载完再赋值
hook和蓝图编辑器不能做相同操作 会相互影响
二 数据可视化proxy
官网地址: help.aliyun.com/document_de…
本地部署有路径规范
官网下载zip安装包,获取密钥然后在datav中配置
一般部署到专有云中 进行内部传输
预告:
websocket通信
version node 8-12
echartjs包 做自定义组件 发布
-
很多api提到的组件里面没有 比如倒计时 搜不到
-
hooks的子组件
6.5.2 等后面的这些都是哪个组件 mapbox...序列
-
上次说到党建的地图 打开完json格式后就被打断了 geojson数据吗
三 千人千面
登录生成token 拿到token对大屏api数据进行控制
api.test.cn 返回一个值 同一个链接发过去 肯定是同一个值 ,==勾选cookie== ,大屏发布会生成外部链接,后端接收api请求拿到cookies值 进行鉴权返回给大屏,不同账号对应不同cookies ,最终不同人看到的大屏是不一样的
hook 组件二次开发
实现鼠标移动到地图区域 就能显示名称和数值
查找组件暴露哪些方法 并且如何找到方法
area
on() 方法在被选元素及子元素上添加一个或多个事件处理程序
鼠标移动事件: mouseOver mouseOut
现在是高亮 锁定事件 事件回调 便于取数 最好能拿到方位值
拿到父级 省份的物理中点center 经纬度
放大缩小是地图事件 地图怎么做到聚焦到某个点 flyTo
mapView.map.flyTo
websocket
通用代码
阿里云服务器广播事件
location.search.match 匹配到?后面的一串
定义socket new Socket ('大屏id 地址栏有 hook/id',自定义,变量定义 )
一开始就是红色
蓝图编辑器的方法
自定义组件
版本管理工具
登录账号
选择文件夹
创建组件
基于echarts
依赖包