# 创建一个大屏

进入 应用创建 -> 应用开发 -> 点击添加应用

  • 应用名称

  • 所属项目

  • 标签(应用标签,可以根据应用自定义标签)

  • 开发状态(主要供给给大屏统计使用,可统计当前正在开发中的大屏,谨慎填写,内容有:开发中、测试中、已交付、Demo)

    填写以上内容,然后点击保存(应用封面需要在应用编辑页面上传)。

# 同学,我们这时候已经新建完一张大屏了,赶紧开始设计大屏吧。

# 大屏区域划分

大屏编辑区域从左到右依次划分为:

  • 页面组件列表
  • 组件区域
  • 实时预览区
  • 操作区
  • 设置区

# 1、页面组件列表

展示当前应用已使用组件列表,可直接在列表选中对应组件进行配置以及操作。

# 2、组件区域

# 划分为两个分类:

  • 基础组件
    • 内置配置化程度高、可复用的组件
  • 项目组件
    • 针对当前大屏定制化开发的组件

# 功能:

拖动相应分类下组件到实时预览区域,即可添加组件到大屏中。

# 3、实时预览区

对已经拖拽到预览区组件的进行再拖拽和再操作功能

# 4、操作区域

针对实时预览区域进行操作

# 包含以下可执行操作

  • 撤销
    • 回退操作到上一步
  • 重做
    • 回退到页面打开时候的大屏初始
  • 复制
    • 复制当前选中的组件到粘贴板
  • 粘贴
    • 粘贴粘贴板中的组件
  • 向左移动
    • 向左移动当前选中的组件
  • 向右移动
    • 向右移动当前选中的组件
  • 向上移动
    • 向上移动当前选中的组件
  • 向下移动
    • 向下移动当前选中的组件
  • 至顶层
    • 设置当前组件层级结构到最顶层
  • 至底层
    • 设置当前组件层级结构到最底层
  • 分组
    • 按住 shift 键多选的组件组合成组,组合成组之后不可单个编辑组件
  • 解组
    • 接触当前选中的组件组
  • 删除
    • 删除当前选中的组件
  • 当前尺寸调整
    • 调整实时预览区的尺寸
  • 缩小到适应尺寸
    • 缩小实时预览区的尺寸到适应当前屏幕的尺寸
  • 显示原始尺寸
    • 显示实时预览区设置的不进行缩放的原始尺寸
  • 开启/关闭编辑模式
    • 默认开启编辑模式,关闭情况下,试试预览区内的所有组件不可选中(适配需要进行测试组件点击等事件测试的情况)

# 5、设置区

默认为大屏设置,选中组件后,展示为当前选中组件的可配置项

# 大屏设置

  • 设置
  • 事件
  • 函数
  • 数据集

# 组件设置

  • 样式
  • 数据

# 设置大屏

# 1、设置宽高

点击大屏旁白部分,设置区域中设置大屏宽高,从下拉选项中选择相应的宽高,如没有合适的宽高,可直接输入回车即可设置。

# 2、设置缩放方式

点击大屏旁白部分,设置区域中设置缩放方式,支持如下缩放方式

  • 不缩放(默认值)
  • 等比缩放
  • 适应宽度
  • 适应高度
  • 全屏铺满

# 3、设置组件请求前缀

点击大屏旁白部分,设置区域中设置组件请求前缀,在组件发出请求中会组合接口和前缀发送请求,请求前缀要求必须包含 http://或 https://。

# 4、设置全局变量

点击大屏旁白部分,设置区域中设置全局变量,设置格式要求为 JSON 对象格式。

# 5、设置页面

点击大屏旁白部分,设置区域中设置页面,可修改大屏名称和浏览器页签 icon。

# 6、设置主题配色

点击大屏旁白部分,设置区域中设置主题配色,可设置背景颜色、背景图片,背景图片是否平铺操作。

# 7、设置全局 css

点击大屏旁白部分,设置区域中设置自定义 css,设置的自定义 css 会挂载在可视化预览区域全局,可设置全局 css 覆盖组件默认样式,但也可能会影响组件正常展示,请设置完保证自测充分。

# 自定义函数

点击大屏旁白部分,设置区域中点击函数,对函数的增删改查。设置的自定义函数只能提供给当前大屏使用,常见的用法是提供给大屏的事件使用。

# 新增函数

点击新增函数 -> 编辑函数 -> 点击确认

  • 函数名称(name)
  • 函数参数(args)
  • 函数体(body)

保存的数据结构为:

{
  "name": "sayHello",
  "body": "console.log('hello '+name)",
  "args": "name"
}

示例:

# 自定义事件

主要用途为监听大屏或者组件的行为,触发相应的动作。常用于大屏和组件的交互、组件间相互通信。

点击大屏旁白部分,设置区域中点击事件,设置的自定义事件只能提供给当前大屏使用。

# 事件基本构成

# name 事件名称

作为事件的标识,大屏内设置不可重复

# source 事件源

触发事件产生的源头,当前支持如下事件源:

  • 大屏(app)
  • 组件(component::组件 id)

# type 事件类型

事件源产生的事件包含鼠标、屏幕、自定义事件等,主要有以下类型

  • 大屏
    • 鼠标移动 mousemove
    • 鼠标按下 mousedown
    • 鼠标松开 mouseup
    • 鼠标移出 mouseleave
    • 鼠标移入 mouseenter
    • 挂载完成 mounted
    • 全屏 fullScreen
    • 退出全屏 exitFullScreen
    • 浏览器窗口尺寸变化 resize
    • 自定义(大屏类实例 trigger 的事件,理论上以上鼠标、屏幕等事件都可由自定义设置)
  • 组件
    • 鼠标移动 mousemove
    • 鼠标按下 mousedown
    • 鼠标松开 mouseup
    • 鼠标移出 mouseleave
    • 鼠标移入 mouseenter
    • 鼠标双击 dblclick
    • 挂载完成 mounted
    • 自定义(组件类实例 trigger 的事件,理论上以上鼠标等事件都可由自定义设置)

# action 动作

当事件源触发相应事件,会触发配置的相应动作,主要有以下动作类型:

  • 调用大屏方法 callScreenMethod
    • fullScreen 全屏
    • exitFullScreen 退出全屏
    • resize 重新计算浏览器窗口尺寸
    • trigger 自定义(提供给监听大屏事件的组件实例使用。查看组件如何监听大屏消息
  • 调用自定义函数 callFunction         执行相应的自定义函数
  • 调用组件方法 callComponentMethod
    • draw 重新绘制
    • setSize 调整组件大小
    • setPosition 调整组件位置
    • load 加载数据
    • show 显示组件
    • hide 隐藏组件
    • trigger 自定义(组件实例自身 trigger 消息,如果组件实例自身 bind 接收消息,则可触发执行 bind 的回调。也可以由此触发到另一个事件的产生,请谨慎配置组件实例串行事件,容易产生事件死循环)

# options 事件触发动作的参数

以下动作需要配置参数:

  • 调取自定义函数         需要配置具体调取的函数
  • tigger         需要配置具体发出的消息

# 新增事件

点击新增事件 -> 输入事件名称 -> 按步骤配置事件 -> 配置完成点击确认

保存的数据结构为:

{
  "name": "事件",
  "source": "component::DMOI-3TN1-F2LO-1GI1-9RGD-91GE",
  "type": "onDataActiveChanged",
  "action": "callComponentMethod",
  "options": {
    "component": "GJ3E-FIU1-F34I-AGFE-U3B6-Q0Q2",
    "method": "trigger",
    "args": ["changeOrganName"]
  }
}

# 全局数据集

提供大屏数据支撑,主要解决多组件公用数据情况,支持 JSON、模型、http 请求类型。组件使用全局数据集

点击大屏旁白部分,设置区域中点击数据集,设置的全局数据集只能提供给当前大屏使用。

# 数据集基本构成

# name 数据集名称

作为数据集的标识,大屏内设置不可重复

# type 数据集类型

支持 JSON、模型、http 请求类型

# options 数据集参数

不同类型的数据集 options 包含的内容不同

# JSON (类型:json)
  • json JSON 字符串格式
{
  json: "";
}
# 模型(类型:model)
  • model 模型 id(由数据分析平台提供)
  • interval 定时刷新时间(单位:秒)
  • vars 请求携带的变量(JSON 字符串格式)
{
  model: "",
  interval: 0,
  vars: ""
}
# http(类型:http)
  • url 请求的 url(如没有携带 http://或者 https://前缀,则会自动组合大屏设置的 componentApiDomain 参数)
  • method 请求类型(支持 GET 或者 POST)
  • interval 定时刷新时间(单位:秒)
  • vars 请求携带的变量(JSON 字符串格式)
  • apiSuccessCode 请求是否成功的 code 码(默认为 window.DATAVI_ENV.apiSuccessCode 的值,默认为 200,设置后以设置的为准)
  • getDataField 从数据中解析值(默认为 data,设置后以设置的为准)
{
  url: '',
  method: 'GET',
  interval: 0,
  vars: '',
  apiSuccessCode: 200,
  getDataField: 'data'
}

# 新增数据集

点击新增数据集 -> 输入数据集名称 -> 配置数据集 -> 点击确认

保存的数据结构为:

{
  "name": "",
  "type": "json",
  "options": {}
}

# 添加组件至大屏

# 拖动组件

从组件区域拖动组件到实时预览区域,即可在大屏上添加一个组件。

# 调整组件大小位置

选中组件,即可使用鼠标进行拖拽改变位置

选中组件,组件出现矩形选中框,拖拽矩形任意点即可改变组件宽度高度。

当公共组件满足不了需求,查看如何开发定制组件。

# 配置组件

点击选中实时预览区域中的组件,右侧即可出现组件设置区域。

# 1、设置宽高位置

点击选中实时预览区域中的组件,设置区域中设置组件宽高,输入相应的宽高。

在实时预览区域拖拽改变组件宽高位置与此处输入框数值一致。

# 2、设置 css 类名

点击选中实时预览区域中的组件,设置区域中设置组件 css 类名

可使用在大屏设置中设置的自定义 css

# 3、设置组件默认显示隐藏

点击选中实时预览区域中的组件,设置区域中设置组件默认显示隐藏

# 4、其他组件配置

根据组件不同和实际需求,配置个性化组件。

# 组件绑定数据源

提供组件数据支撑,支持组件绑定数据,支持 JSON、模型、http 请求、绑定全局数据集。

点击选中实时预览区域中的组件,右侧即可出现组件设置区域,选择数据标签。

# 数据绑定基本构成

# type 数据类型

支持 JSON、模型、http 请求类型、全局数据集

# options 数据集参数

不同类型的数据集 options 包含的内容不同

# JSON(类型:json)
  • json JSON 字符串格式
{
  json: "";
}
# 模型(类型:model)
  • model 模型 id(由数据分析平台提供)
  • interval 定时刷新时间(单位:秒)
  • vars 请求携带的变量(JSON 字符串格式)
{
  model: "",
  interval: 0,
  vars: ""
}
# http(类型:http)
  • url 请求的 url(如没有携带 http://或者 https://前缀,则会自动组合大屏设置的 componentApiDomain 参数)
  • method 请求类型(支持 GET 或者 POST)
  • interval 定时刷新时间(单位:秒)
  • vars 请求携带的变量(JSON 字符串格式)
  • apiSuccessCode 请求是否成功的 code 码(默认为 window.DATAVI_ENV.apiSuccessCode 的值,默认为 200,设置后以设置的为准)
  • getDataField 从数据中解析值(默认为 data,设置后以设置的为准)
{
  url: '',
  method: 'GET',
  interval: 0,
  vars: '',
  apiSuccessCode: 200,
  getDataField: 'data'
}
# 全局数据集(类型:screenDataSource)
  • dataSourceName 数据集名称
  • transferGlobalDataFunc 解析全局数据集的方法
{
  dataSourceName: "",
  transferGlobalDataFunc: "function transferGlobalData(data) { return data; }"
}

# 编辑数据后点击应用

保存的数据结构为:

"dataSource": {
  "type": "json",
  "options": {

  }
}