点击蓝字 关注我们
前言
本节我们讲一下移动端相关表单API,自eMobile7做了WfForm对象下接口的兼容,从而大大减少了开发工作量和维护成本。
01.
|判断是否为移动端
前端可以通过WfForm.isMobile()判断
//true表示移动端设备,如EM,WX,钉钉等,false则为PC端
var isMobile = wfForm.isMobile();
后端可以通过请求头进行区分
//true表示是EM,WX,钉钉等移动设备,false 代表PC 端
Boolean isMobile = "true".equals(request.getParameter("_ec_ismobile"));
02.
|表单的打开方式
移动端表单链接说明:
//新建链接,传参路径id
var createUrl = "/spa/workflow/forwardMobileForm.html?iscreate=1&workflowid=747";
//查看链接,传参请求id
var viewUrl = "/spa/workflow/forwardMobileForm.html?requestid=4503066";
打开表单的方式有三种:
(推荐)第一种:
通过调用现封装方法,但是如果是通过移动端脚手架来打包模块,是可以直接调用;如果是自定义开发的页面,则需要另外入/spa/coms/openLink.js
openLink.openWorkflow(url, callbackFun, returnUrl)
参数 | 参数类型 | 说明 |
url | String | 打开表单的链接 |
callbackFun | Function | 仅限 EM 客户端,返回时的回调函数 |
returnUrl | String | 非EM客户端,返回或提交后到指定链接 |
注意: | ||
最低支持版本: | KB900190601 |
window.openLink.openWorkflow(createUrl,
function(){
alert("E-mobile打开表单链接,返回或提交后触发此回调函数");
}
);
//非EM终端打开,返回或提交后返回到流程中心界面
window.openLink.openWorkflow(createUrl, null, "/spa/workflow/static4mobile/index.html#/center/doing");
第二种方式:
仅限于 EM 客户端,打开表单并可控制表单返回/提交后事件回调,使用 EM-SDK,通过弹 webview 方式来实现
//分为两步,第一步调用SDK弹webview,第二步调用SDK控制回调刷新
window.em.openLink({
url: viewUrl,
openType: 2
});
window.em.ready(function(){
window.em.registerBroadcast({
name: "_closeWfFormCallBack",
action: function (argument) {
alert("E-mobile打开表单链接,返回或提交后触发此回调函数");
}
});
});
第三种方式:
window.open 或者 window.location.href 进行跳转,但是如果是在 EM 客户端建议不要使用此方案。
window.open(viewUrl+"&returnUrl="+window.encodeURIComponent("/test.jsp?param1=test11¶m2=test22"));
注:此方式中 url 可以传参数 returnUrl,并且需要 URI 转码,可用于指定返回/提交后跳转的地址。
附: PC 端打开表单方式
新建请求:传参路径 id,会自动计算活动版本的路径 id
window.open("/workflow/request/CreateRequestForward.jsp?workflowid=747");
查看请求:传参请求 id,用户具备查看权限,需带入账号信息
window.open("/workflow/request/ViewRequestForwardSPA.jsp?requestid=5963690");
最后
|
当然涉及到的移动端操作表单还有其他 API 点,在后续介绍中说明。
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...