【仅供内部供应商使用,不提供对外解答和培训】
【仅供内部供应商使用,不提供对外解答和培训】
移动端不同于PC端,访问一个报表的时候先生成一个html文件,再让浏览器执行html里面的JavaScript代码去获取和加载新的页内容。移动端采用最小数据传输原则,仅返回JSON格式的字符串。
__device__的可选类型包括:iPhone,iPad,android,androidPad,PC
报表的结果页面用JSON格式输出,然后再在各自的客户端做解析和渲染。不管是iOS还是android,后台输出部分是一样的,客户端根据拿到的JSON对象,再具体的解析成展现页眉页脚、悬浮元素、格子等的元素。
目前参数界面输出的JSON的格式为:
通用
(控件共有的属性)
type
控件类型
text --> 文本框
label –> 标签
button --> 按钮
combo --> 下拉框
tagcombocheckbox --> 下拉复选框控件
datetime --> 日期控件
textarea --> 文本域
checkboxgroup –> 复选框组
radiogroup --> 单选按钮组
number --> 数字控件
treecombobox --> 下拉树
password –> 密码
checkbox --> 复选框
tree --> 视图树
对象,数据字典返回值.
data: value 属性有值时返回数据对象 { text: 显示值, value: 实际值 }, 否则不返回
value: 默认值,与控件的 value 值一致
text
button
(自定义button)
freebutton
默认为 false. 值为 true时,控件的 type属性为 "freebutton"
icon
button: 字符串
freebutton: 对象, background 属性为图片 url
combo
见通用下拉框
tagcombocheckbox
datetime
number
默认为空
radiogroup
对象,数据字典返回值.
data:数据对象 { text: 显示值, value: 实际值 }
value: 默认值,与控件的 value 值一致
checkboxgroup
默认为 false, true 表示支持全选
对象,数据字典返回值.
data:数据对象 { text: 显示值, value: 实际值 }
value: 默认值,与控件的 value 值一致
textarea
afterinit --> 初始化后
beforeedit --> 编辑前
afteredit --> 编辑后
stopedit --> 结束编辑
click --> 点击
nodeadd --> 节点生成
statechange --> 状态改变
请求:
报表输出的JSON的格式为:
如果是多sheet的情况,会多一个sheets属性
为了获取填报报表格子内容,请求的地址为
响应的内容格式如下,区别是当单元格有控件时,会多一个widget属性,单单元格设置了形态的时候,会多一个present属性
客户端发起请求:
如果有参数界面, 则获取的格式如下:
如果没有参数界面, 则获取的格式如下:
通过formlet获取到参数界面后, 根据sessionid来继续获取表单正文控件:
表单正文内容格式如下:
通用
report --> 网络报表
email --> 邮件
web --> 网页链接
dynamic --> 动态参数
javascript --> js
chartpop --> 悬浮窗图表
chartRelate --> 联动单元格
widget --> 当前表单对象
parameters
(邮件类型不包含)
"_blank" 为新窗口
"_dialog" 为对话框
"_self" 为当前窗口
report
script
chartpop
isCell
默认值为:-1
(默认-1, 左对齐2, 居中0, 右对齐4, 分散对齐6)
默认值为:0
(靠上1, 居中0, 靠下3)
默认值为自动换行:0
(自动换行0, 单行显示1, 单行显示调整字体2, 多行显示调整字体3)
默认值为水平方向:0
(自定义角度水平方向0, 从左向右 1)
默认值居中布局:1
(默认1, 平铺0, 拉伸2, 适应 4)
如果是默认的边框线,border属性对应成 {"border" : {"b1":true}}
如果为自定义边框线时, border 有 t / r / b / l 四个属性,分别表示 上 / 右 / 下 / 左 四个边
每个边的属性说明如下:
边框线类型有很多种,不同值对应不同类型
虚线
NOTE:
ul 对应的值, 可根据设计器中字体下划线选项从上至下依次对应为 1, 2, 3, 4, 14, 5, 6, 7, 8, 9, 10, 11, 12, 13 具体线的形状见设计器
注意字体,如果是默认字体的话,将不会输出字体信息。
背景不为颜色时,才有 image 属性, 格式以 base64编码
ColorBackground --> 颜色背景
TextureBackground --> 纹理背景
PatternBackground –> 图案背景
ImageBackground --> 图片背景
GradientBackground --> 渐变色背景(见上面代码块)
以html形式输出:
以图片形式输出:
以二进制下载链接形式输出:
普通文本:
普通数字:
单元格元素为图表:
图片元素:
斜线元素:backslash属性默认为空,表示斜线由左上到右下发散,该属性为true怎表示斜线由左下到右上发散
请求参数:
返回JSON数据
请求参数:
返回JSON:
客户端发起请求:
请求参数:
返回JSON格式:
客户端发起请求:
请求参数:
返回long:
客户端发起请求:
请求参数:
返回:
客户端发起请求:
请求参数:
返回:
客户端发起请求:
请求参数:
返回:
请求
op=h5_fs_json&id=-1&state=dingtalk&__divice__=iphone
(__device__的可选类型包括:iPhone,iPad,android,androidPad,PC)
(ps: 这里的两个属性仅仅为 h5 所需属性,其他属性有待补充)
对应字体编码
rootReports 属性说明
结构[{},{},...]
由0个或多个二级目录对象组成的数组,见二级目录
用三位二进制表示在什么终端上运行,高位到低位依次为手机/平板/电脑
(支持为1,不支持为0, 如都支持,则为二进制数111,对应十进制为7)