-
908791215 数据达人Lv4
发表于2020-3-13 11:28
楼主
1、页面访问的API接口
1.1 查看移动应用首页
1.2 查看某个移动应用
1.3 查看某个分析表(做填报表需要二维码的看这里!!!)
以下参数也可写在报表脚本中控制:
2、脚本调整移动端分析表样式
2.1 调整移动端分析表样式脚本方法(abi 5.2.3版本后支持)
2.2 脚本方法使用示例2.2.1 表格不分页,一屏宽
2.2.2 tab标签头样式修改
2.2.3 报表下拉框样式
2.2.4 容器加载完成后显示内容(避免容器渲染时看到内容位置闪动)
2.3 echart统计图设置2.3.1 上下滑动统计图
3、获取应用及资源JSON格式API接口
3.1 获取所有移动应用(不包含应用下的资源)
字段含义:
3.2 获取某移动应用下的所有资源
字段含义(部分字段含义省略):
3.3 获取所有移动应用(包含应用下所有资源)
4 、移动端分析表做表注意事项4.1 表格不支持跨表取数
android如果没有浏览器也可以下载测试应用测试,下载地址:https://www.pgyer.com/nZlp,
使用方法在首页面输入框输入上述地址点跳转即可进入对应界面。
地址前缀:服务器地址 + /emobportal/weixin.do?action=turnresource
注意:接口URL中不带"&id=用户名&pw=密码"是可以访问的,但如果用户未登陆,则会被拦截到登录页面,
假如需要访问时默认登录,那么需要加上这两个参数
1.1 查看移动应用首页
例如:服务器地址 + /emobportal/weixin.do?action=turnresource
是否必须 | 参数 | 值 | 说明 |
id | 用户名id | 免登录(需要传) | |
pw | 用户密码 |
1.2 查看某个移动应用
例如:服务器地址 + /emobportal/weixin.do?action=turnresource&restype=1&appid=xxx
是否必须 | 参数 | 值 | 说明 |
√ | restype | 1 | 查看某个移动应用资源 |
√ | appid | 应用id | |
id | 用户名id | 免登录(需要传) | |
pw | 用户密码 |
1.3 查看某个分析表(做填报表需要二维码的看这里!!!)
例如:服务器地址 + /emobportal/weixin.do?action=turnresource&restype=3&resid=xxx
这个地址拼出来以后,拿到这个地址去https://cli.im/这个网站上,把地址粘贴进去生成二维码!!!
是否必须 | 参数 | 值 | 说明 |
√ | restype | 3 | 查看报表 |
√ | resid | 报表id | |
resname | 报表名称 | 假如需要额外指定报表名称(一般都是不需要的), 按下面写法来写,并且注意把tomcat配置utf-8编码, resname=编码后的报表名称 | |
id | 用户名id | 免登录(需要传) | |
pw | 用户密码 | ||
openRefreshCalc | true|false | 控制分析表是否可以下拉刷新计算 | |
parampanelRightBtnOnlyBack | true|false | 分析表参数面板右侧按钮是否只有关闭面板的功能 | |
isHideFloatBtn | true|false | 是否隐藏分析表浮动按钮 | |
calcnow | true|false | 分析表是否需要计算(可以不传,默认是true)计算 | |
isShowZqWaitToast | true|false | 点击钻取时是否显示黑色等待框(默认true) | |
自定义传递的报表参数 |
以下参数也可写在报表脚本中控制:
openRefreshCalc = false; parampanelRightBtnTxt = "返回";//参数面板右侧按钮文字 parampanelRightBtnOnlyBack = true; isHideFloatBtn = true; isShowZqWaitToast = true; |
2、脚本调整移动端分析表样式
2.1 调整移动端分析表样式脚本方法(abi 5.2.3版本后支持)
组件 | 脚本方法 |
调整计算参数位置 | function adjustCalcparamPosition() |
WidgetsBuilder 报表加载完毕后的事件,可以调整样式 | function adjustWidgetBuilder(bodyarea) |
WidgetObj 统计图或其他组件样式调整 | function adjustWidgetObj(className,bodyarea,basedom) |
WidgetObj 调整高度 | function adjustWidgetObj_getChildMaxHeight(childnodes,max) |
WidgetParamComboBox 下拉框样式 | function adjustWidgetCombox(basedom,pnode,edit,label) |
WidgetParamComboBox 加载前 | function adjustWidgetCombox_initDom(basedom,pnode,edit,label) |
WidgetParamComboBoxTree 下拉树组件 | function adjustWidgetComboxTree(basedom,pnode,edit,label) |
WidgetParamComboBoxTree 加载前 | function adjustWidgetComboxTree_initDom(basedom,pnode,edit,label) |
WidgetParamDate 日期组件 | function adjustWidgetDate(basedom,pnode,edit,label) |
WidgetParamDate 加载前 | function adjustWidgetDate_initDom(basedom,pnode,edit,label) |
WidgetParamEdit 输入框组件 | function adjustWidgetEdit(basedom,pnode,edit,label) |
WidgetParamEdit 加载前 | function adjustWidgetEdit_initDom(basedom,pnode,edit,label) |
WidgetTab tab组件样式 | function adjustWidgetTab(tab) |
WidgetTab 切换tab页 active 页 | function adjustWidgetTabActive(active) |
WidgetContainer 容器布局 | function adjustWidgetContainer(basedom) |
WidgetContainer 加载前 | function adjustWidgetContainer_initDom(basedom) |
WidgetContainer 渲染完成后 | function adjustWidgetContainer_delayInit(basedom) |
WidgetLayout sheet容器调整 | function adjustAddSheet(widget) |
WidgetResultGrid 表格样式 | function adjustWidgetResultGrid(basedom,table) |
例: //提前注入移动端脚本 if((typeof(isInjectionMobileJs)!="undefined")&&!isInjectionMobileJs){ //不显示钻取等待框 isShowZqWaitToast = false; //固定tab标签页+调整参数框位置 function adjustWidgetTab() { ...... } } |
2.2 脚本方法使用示例2.2.1 表格不分页,一屏宽
1、设置表格外容器|布局,取消勾选【手机自适应】选择
2、适当调整表格中文字大小,12px以上比较好
3、报表添加脚本:
function adjustWidgetResultGrid(basedom,table){ var width = this.document.body.clientWidth; var tableWidth = table.clientWidth; var scalenum = width/basedom.clientWidth; if(tableWidth > basedom.clientWidth){ scalenum = width/tableWidth; } basedom.style.top= "-"+table.clientHeight*(1-scalenum)/2+"px"; basedom.style.transform="scale("+scalenum +")"; basedom.style.transformOrigin="left"; } |
2.2.2 tab标签头样式修改
function adjustWidgetTab() { //标签头字号 $(".headcontainer .subhead, .headcontainer .subhead_active").css("font-size", "10px"); //标签头高度 $(".headcontainer").css({"height":"35px","line-height":"32px"}); $(".bodycontainer").css({"top":"35px"}); } |
2.2.3 报表下拉框样式
function adjustWidgetCombox(basedom, pnode, editinput, editlabel) { //是否是横屏 var isHorScreen = false; if (window.screen.width > window.screen.height) { isHorScreen = true; } else { if (window.orientation == 90 || window.orientation == -90) {//ios isHorScreen = true; } } if(isHorScreen){//横屏情况下下拉框 左右间距20px 宽度占屏幕宽度的三分之一 basedom.style.left = "0px"; basedom.style.width = (window.screen.width - 40) / 3 + "px"; }else{//竖屏情况下下拉框 宽度占屏幕宽度的二分之一 basedom.style.width = (window.screen.width) / 2 + "px"; } } |
2.2.4 容器加载完成后显示内容(避免容器渲染时看到内容位置闪动)
function adjustWidgetContainer_initDom(basedom){ var wid = basedom.getAttribute("wid"); if(wid==="WidgetContainer78"){ basedom.style.visibility="hidden"; } } function adjustWidgetContainer_delayInit(basedom){ var wid = basedom.getAttribute("wid"); if(wid==="WidgetContainer78"){ basedom.style.visibility=""; } } |
2.3 echart统计图设置2.3.1 上下滑动统计图
//报表中设置统计图属性【计算后】 datajson.dataZoom.type="inside"; datajson.dataZoom.moveOnMouseWheel=false; datajson.dataZoom.preventDefaultMouseMove=false; datajson.tooltip.triggerOn = "click"; |
3、获取应用及资源JSON格式API接口
地址前缀:服务器地址 + /emobportal/mobportalapi.do?
注意:接口URL中不带"&id=用户名&pw=密码"是可以访问的,但如果用户未登陆,则会被拦截到登录页面,假如需要访问时默认登录,那么需要加上这两个参数
3.1 获取所有移动应用(不包含应用下的资源)
例如:服务器地址 + /emobportal/mobportalapi.do?action=listapps
是否必须 | 参数 | 值 | 说明 |
√ | action | listapps | 获取应用列表信息 |
id | 用户id | 免登录(必须传) | |
pw | 用户密码 |
返回结果JSON:
{ "icon":"%2Femobportal%2Fmobileappmgr.do%3Fcmd%3Dshowicon%26vfs%3Dtrue%26appid%3Dcad37ab183e24db28a81f5fdaf117f51%26iconpath%3D", "updatetime":"2019-08-29 17:12:26", "rescnt":5, "createby":"q", "enable":true, "caption":"测试123", "type":1, "url":"", "version":4, "id":"cad37ab183e24db28a81f5fdaf117f51", "createtime":"2019-05-30 11:27:44", "resInfos":[ ], "visiable":true, "synchash":"" } |
字段含义:
名称 | 描述 |
icon | 图标,该资源获取icon的接口URL地址的编码格式 icon使用方法:java中解码,URLDecoder.decode(url, "UTF-8"); 界面中直接在img的src=解码的地址即可获取图标 |
updatetime | 最近更改时间 |
rescnt | 该应用下的所有资源(分组+报表)的个数 |
createby | 创建者 |
enable | 该应用是否启用,即在移动端可见,使用时需与visiable区分开 |
caption | 应用名称 |
type | 应用类型。 0代表系统应用(如:新闻公告,待办事项等); 1代表门户应用(即用户创建的应用) |
url | 用于非单点系统时显示服务器地址,一般为"" |
version | 版本号 |
id | 应用id |
createtime | 该应用创建时间 |
resInfos | 该应用下的所有资源的JSON格式 |
visiable | 内部字段属性,一般为true,可忽略 |
synchash | 内部字段属性,一般为"",可忽略 |
3.2 获取某移动应用下的所有资源
例如:服务器地址 + /emobportal/mobportalapi.do?action=listres&appid=xxx
是否必须 | 参数 | 值 | 说明 |
√ | action | listres | 获取应用资源 |
√ | appid | 应用的ID | |
id | 用户id | 免登录(必须传) | |
pw | 用户密码 |
返回结果JSON:
{ "id":"c9ce57ee83214436be88b7b4dcb13c79", "icon":"%2Fqihch%2Femobportal%2Fmobileappmgr.do%3Fcmd%3Dshowicon%26vfs%3Dtrue%26appid%3D57e93325dbfc4c0884785552f020dccd%26resid%3Dc9ce57ee83214436be88b7b4dcb13c79%26groupid%3D%26iconpath%3D%26number%3D0.6956119912527589", "name":"123", "rpts":[ { "id":"EANA$2$2$1$7a22a8c202ba402bb05b0c450493a445$67e233d40d01449d902d68e3ceae90cc", "icon":"%2Fqihch%2Femobportal%2Fmobileappmgr.do%3Fcmd%3Dshowicon%26vfs%3Dtrue%26appid%3D57e93325dbfc4c0884785552f020dccd%26resid%3DEANA%242%242%241%247a22a8c202ba402bb05b0c450493a445%2467e233d40d01449d902d68e3ceae90cc%26groupid%3Dc9ce57ee83214436be88b7b4dcb13c79%26iconpath%3D%26number%3D0.909506756856343", "visible":true, "name":"COPYOF_02表单回填-个人信息表demo", "type":1, "url":"", "ssoId":"" } ], "type":0 } |
字段含义(部分字段含义省略):
名称 | 描述 |
type | 资源类型。0代表分组,1代表报表,3代表URL资源 |
rpts | 表示分组下资源的JSON格式 |
previewUrl | 主要用于服务器生成预览二维码,URL链接资源里存储的是跳转的地址 |
visiable | 可忽略 |
url | 可忽略 |
ssoId | 可忽略 |
3.3 获取所有移动应用(包含应用下所有资源)
例如:服务器地址 + /emobportal/mobportalapi.do?action=listappres
是否必须 | 参数 | 值 | 说明 |
√ | action | listappres | 获取应用资源 |
id | 用户id | 免登录(必须传) | |
pw | 用户密码 |
4 、移动端分析表做表注意事项4.1 表格不支持跨表取数
不支持通过宏表达式取其他表格数据,该类问题请做表解决。
因为移动端目前表格计算机制是,表格单独请求计算。