代办任务推送第三方移动端,实现PC端进入PC端的任务处理页面,移动端进入移动端任务处理页面

1 业务背景
代办任务通过消息渠道推送给第三方app,比如企微、钉钉、泛微OA等,这些第三方终端是有pc桌面版和移动app版的,现状是,第三方终端无论是PC端还是移动端通过点击代办任务进入的都是苍穹移动审批处理页面;现场想达到的效果是第三方PC端点击代办进入的是PC端任务处理页面,移动端进入移动端任务处理页面
2 思路与方案
扩展移动端审批处理页面wf_approvalpagemobile_bac元数据,添加插件处理,在插件判断是否是通过PC端点击的代办任务,如果是则跳转到PC端的任务处理界面
3 实现步骤
以下是以钉钉桌面版为例
步骤1
扩展默认的移动端审批处理页面wf_approvalpagemobile_bac元数据,如果是新版则扩展wf_approvalpage_mob元数据,如何查看用的【默认/新版】移动端审批处理页面,见下图:

比如用的【默认审批界面】,则扩展wf_approvalpagemobile_bac:

步骤2
编写二开处理插件kdec.demo.case01.plugin.bill.PopLeaveAppPlugin
import java.util.HashMap;
import java.util.Map;
import kd.bos.bill.AbstractBillPlugIn;
import kd.bos.context.RequestContext;
import kd.bos.entity.datamodel.events.BizDataEventArgs;
import kd.bos.form.FormShowParameter;
import kd.bos.form.IClientViewProxy;
import kd.bos.logging.Log;
import kd.bos.logging.LogFactory;
/**
* 待办任务--移动端插件
* 增加判断访问时PC端和手机端
*/
public class PopLeaveAppPlugin extends AbstractBillPlugIn {
private final static Log logger = LogFactory.getLog(PopLeaveAppPlugin.class);
@Override
public void createNewData(BizDataEventArgs e) {
RequestContext rc = RequestContext.get();
String user = rc.getClient();
//获取请求代理信息,从而判断是否是PC端点击进入
String requestHeader = rc.getUserAgent();
requestHeader = requestHeader.toLowerCase();
if (!this.pcOrPhone(requestHeader)){
IClientViewProxy proxy = this.getView().getService(IClientViewProxy.class);
Map<String, String> mpURL = new HashMap<>(2);
FormShowParameter formShowParameter = this.getView().getFormShowParameter();
Map<String, Object> customParams = formShowParameter.getCustomParams();
//获取代码任务id
Object tid = customParams.get("tId");
//拼写PC端代办处理页面地址
String url = "index.html?formId=wf_approvalp代办任务推送第三方移动端,实现PC端进入PC端的任务处理页面,移动端进入移动端任务处理页面
1 业务背景代办任务通过消息渠道推送给第三方app,比如企微、钉钉、泛微OA等,这些第三方终端是有pc桌面版和移动app版的,现状是,第三方...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



