# 一、M3集成第三方H5页面

# 1、概述

M3集成第三方H5页面,通常是通过CIP平台做的单点登录方式,通过两个系统的人员数据对接,做单点登录后,跳转到第三方H5应用页面;由于第三方页面运行在M3 原生APP中,第三方页面也可以通过导入CMP相关JS文件调起APP原生的一些功能,比如:拍照、定位、扫一扫等原生特色功能

# 2、集成中常预见的问题说明

# 1)第三方H5页面关闭M3的webview

问:从M3统一待办进入到第三方处理页面,处理完成后如何关闭webview? 答:关闭webview的话必须要调用M3 app中的关闭webview的原生方法,那么在第三方的web 页面需要导入原生JS库和cmp.js,当处理完成的逻辑执行完成后调用cmp.href.closePage()具体如下:

第三方.html

<!--导入原生js库-->
<script  src="http://cmp/v1.0.0/js/cordova/__CMPSHELL_PLATFORM__/cordova.js"></script>
<script  src="http://cmp/v1.0.0/js/cordova/cordova-plugins.js"></script>
<!--导入cmp.js-->
<script  src="http://cmp/v/js/cmp-i18n.js"></script>
<script  src="http://cmp/v/js/cmp.js"></script>
<script>
    ...
    ...
    $("#处理按钮").bind("tap",function(){
    //处理提交的逻辑
		cmp.href.closePage();==================================>调用关闭webview的函数
        });
</script>

# 2)第三方页面刷新统一待办

问:从M3统一待办进入到第三方页面详细页面审批完成后,如何刷新待办列表 ? 答:需要使用M3原生提供的刷新函数webviewListener进行刷新。

第三方.html

<!--导入原生js库-->
<script  src="http://cmp/v1.0.0/js/cordova/__CMPSHELL_PLATFORM__/cordova.js"></script>
<script  src="http://cmp/v1.0.0/js/cordova/cordova-plugins.js"></script>
<!--导入cmp.js-->
<script  src="http://cmp/v/js/cmp-i18n.js"></script>
<script  src="http://cmp/v/js/cmp.js"></script>
<script src="http://cmp/v/js/cmp-webviewListener.js"></script>
<script>
    ...
    ...
    $("#处理按钮").bind("tap",function(){
    //处理提交的逻辑
    //调用刷新统一待办列表逻辑
        cmp.webViewListener.fire({
              type: 'com.seeyon.m3.ListRefresh',
              data: {type: 'update'}
       });
    });
</script>

# 二、微协同H5页面被第三方APP集成

# 1、单点登录

一般情况下,第三方APP集成微协同一般是APP添加一个图标作为应用入口或者将协同系统的待办作为第三方APP统一待办,直接进入到详细页面,当然要进行详细页面,前提需要进行单点登录后才能进入微协同H5页面

1659510931791.png

  • 用户点击第三方APP上集成微协同的图标或者从第三方应用的统一待办发起登录申请
  • 第三方服务端需要提前喝OA系统对接人员数据,一般情况下出于安全设计考虑第三方服务端会生成一个临时加密ticket,此ticket和OA系统的登录名进行绑定关系
  • 第三方系统通过此ticket和OA系统进行多次握手认定后认为请求是有效的进行登录操作,然后将cookie返回给H5页面
  • H5再重定向到OA系统中的H5应用页面,完成整个单点登录过程

# 2、适配必要的第三方APP原生功能

# 1)概述

第三方App接入微协同,微协同标准应用有涉及到webview、文件等操作时,第三方App认为平台提供的接口解决办法不符合第三方App的要求,可进行第三方App接口的注册,对平台自身的代码无任何侵入(前提条件:第三方App必须具备Hybrid App能力,必须能提供JS调用原生接口的能力)

原则上如果注册了第三方App的原生接口,则调用第三方原生接口,否则会调用CMP平台认为比较合理的备用接口来实现和原生差不多的功能;可注册的接口包括:

  1. 关闭webview(第三方App想关闭webview此接口必须注册,无备用接口);
  2. 附件下载(download);
  3. 附件上传(upload);
  4. 附件查看(read);
  5. 选择附件(getFile);
  6. 照相、选择相册(camera);
  7. 获取定位位置(getPosition)

# 2)如何注册

  • 找到微协同服务器目录第三方平台接口注册文件【A8目录/webapps/seeyon/m3/cmp/extend/cmp-thirdPlatformPlugins.js】
  • 打开文件,进行接口函数注册

1659510987361.png

# 3)接口注册规范

1659510994820.png

1659511004871.png

1659511008571.png

# 4)视频教程

# 三、微协同H5页面被第三方APP集成(过时版本)

致远微协同标准集成只支持微信服务号、企业微信/微信企业号、钉钉。 随着企业的发展,很多企业都会考虑使用自己专属的APP平台,来塑造企业形象,实现统一移动办公。 致远微协同可以通过少量客开来实现在其它APP上使用,本文主要针对第三方APP如何集成微协同做介绍,主要分以下几个步骤:

  1. 组织机构同步(可选)
  2. 身份认证
  3. 访问协同H5页面
  4. 消息推送(可选)

依赖版本要求:V6.1SP2(含)以上,包含微协同插件。

# 1)组织机构同步

第三方APP都有人员唯一标识,需要和V5人员建议对应关系,一般有两种方式:

  • 通过组织机构同步实现自动绑定,V5组织架构也会一目了然的展现在第三方APP通讯录中
  • 员工自行手动绑定

详细手册请参考组织同步文档:

  • http://open.seeyon.com/book/ctp/ji-cheng-chang-jing/zu-zhi-mo-xing-tong-bu.html

# 2)身份认证

访问协同H5页面,必须有人员身份,并且占用PC并发,实现方式:

  • 通过Rest接口获取人员token
//Rest请求地址
协同地址 + "/seeyon/rest/token/" + restName + "/" + restPassword + "?loginName=" + loginName + "&memberId=" + memberId + "&userAgentFrom=weixin

参数:
    restName:Rest账号
    restPassword:Rest密码
    loginName:协同人员账号
    memberId:协同人员ID
返回值:
    {"bindingUser":{},"id":"93701378-c5e7-4d9b-9938-7b243baaff17"},id为需要的token

详细手册请参考REST调用文档:

  • http://open.seeyon.com/book/ctp/restjie-kou/gai-shu.html

# 3)访问协同H5页面

默认访问微协同待办首页,可以自定义直接访问某应用首页

//访问H5页面
协同地址/seeyon/H5/collaboration/index.html?token=93701378-c5e7-4d9b-9938-7b243baaff17&html=&loginName=

参数:
    token:人员身份信息
    html:要访问的H5页面地址,传空默认进入微协同待办首页
    loginName:协同人员姓名,需URLEncoder.encode

# 4)消息推送

通过接口实现消息推送到第三方APP

通过实现MessagePipeline接口,实现消息推送
    消息链接:可参考WeixinMessagePipeline拼接
    消息穿透:同样需要人员身份信息token

详细手册请参考消息集成文档:

  • http://open.seeyon.com/book/ctp/ji-cheng-chang-jing/xiao-xi-ji-cheng.html

# 5)其它注意事项

  • 返回问题、关闭问题
在协同安装目录\webapps\seeyon\m3\cmp\js\cmp.js中
    _.platform.wechatOrDD,设为true
    _.href.closePage,实现第三方app关闭webview的方法
  • 文件下载问题、文件查看问题
重写cmp.att.download_third方法
重写cmp.att.read_third方法

详细手册请参考CMP文档:

  • http://open.seeyon.com/seeyon/cmp2.0/book/chapter-4/questions.html#disanfang

# 小程序集成方案

微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验。 我们通过微协同H5与小程序进行了快速集成,入口更快捷,体验更顺畅。 本文详细介绍小程序通过客开集成的方案,主要分以下几个步骤: 1696819159407.png

# 1)小程序注册

小程序注册登录地址:https://mp.weixin.qq.com (opens new window)

首先需要完成小程序的注册并且通过微信认证,每个邮箱仅能申请一个小程序,目前有2种方式:

  • 单独注册小程序,通过微信认证(提供企业资质信息,支付认证费用)
  • 【推荐使用】通过已认证公众号快速注册并认证小程序,可复用公众号资质(免认证)

注:小程序名称谨慎填写,因为小程序发布后,只能通过再次认证方式改名。

# 2)小程序配置

  1. 获取AppID和AppSecret

    在【设置-开发设置】开发者ID中获取

    1696819190586.png

  2. 配置服务器域名和业务域名

    在【设置-开发设置】服务器域名/业务域名中配置,域名为协同服务器外网地址

    • 服务器域名/业务域名需经过ICP备案,且只支持https安全域名
    • 业务域名配置的时候需要校验,参考腾讯说明:请下载校验文件,并将文件放置在域名根目录下,例如wx.qq.com,并确保可以访问该文件。如配置中遇到问题,请查看具体指引

    1696819202605.png

# 3. V5协同配置

  • 协同版本在V7.0SP2(含)以上
  • 协同有微协同插件
  • 部署《小程序插件》包
  • 在微协同基础配置中配置协同服务器地址
    • 协同服务器有外网地址,有经过ICP备案的域名,且只支持https安全协议

1696819213794.png

# 4. 小程序代码开发

  1. 下载小程序开发工具

    • https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html
  2. 获取代码

    1696819238405.png

  3. 修改代码

    • 在config.js中修改相关配置信息

      hostPrefix:V5协同服务器域名

      appid:小程序AppID

      html:要跳转的H5地址,默认为空(微协同首页)

    1696819252650.png

  4. 上传代码

# 5. 小程序代码审核

在【开发管理】中维护,将开发版本提交审核,也可选为体验版本先进行体验测试

  • 提交微信审核,可能需要测试账号才能通过审核

1696819261422.png

# 6. 小程序发布

在【开发管理】中维护,将审核通过版本正式发布使用

1696819268592.png

# 7. 小程序使用

公布小程序码,通过扫码使用,使用方式有两种:

  • 手机号一键登录,通过手机号免绑定,前提是微信绑定的手机号和协同账号的手机号一致
  • 协同账号登录,通过协同账号密码绑定

1696819282252.png

创建人:admin