由于加载项中可以对事件和WPS自身的按钮做控制,如果同个组件有多个加载项时,则可能出现WPS加载项冲突,对按钮或者事件的控制无法达到预期,所以只推荐使用三种模式中的其中一种,根据不同的使用场景,使用不同的模式。
通过sdk中提供的卸载和安装方法,在OA系统页面加载时,调用接口自动生成publish.xml到jsaddons目录,实现原理是先去卸载客户本地publish.xml中所有的WPS加载项,然后只安装OA配置的WPS加载项。具体请参考publish自动安装
如果是多个业务系统的情况,那么在加载项卸载安装完成后,需要重启WPS客户端,新安装的加载项才会加载成功
通过WPS每次启动都会去读取配置文件oem.ini的特性,在配置文件中配置:
[Support] #启用jsplugins.xml模式 JsApiPlugin=true [Server] #去哪找jsplugins.xml文件 JSPluginsServer=jsplugins.xml文件地址
实际环境中,不可能让每一个客户都去手动修改该配置文件。如果使用这种模式,那么就需要联系对应项目的金山项目经理,将这两个配置打包到WPS安装包中,客户只需要安装新的WPS安装包,即可使用配置的WPS加载项。
无需配置oem.ini,在OA唤起WPS的方法WpsInvoke.InvokeAsHttp中传递第七个参数jsPluginsXml,传递为jsplugins.xml的服务端地址,例如:
//多进程唤起方式 var wpsClient=new WpsClient("wps")//新建一个WPS文字进程的对象。表格:et,演示:wpp wpsClient.jsPluginsXml="http://127.0.0.1/jsplugin.xml";//指定jsplugons.xml /** * * @param {string} name 加载项名称 * @param {string} func 要调用的加载项中的函数行 * @param {string} param 在加载项中执行函数func要传递的数据 * @param {function({int, string})} callBack 回调函数,status = 0 表示成功,失败请查看message信息 * @param {bool} showToFront 设置wps是否显示到前面来 * @param {*} timeout 等待wps客户端启动的超时时间,单位为ms * @param {*} startparam 传递给wps客户端的启动参数 * @return {string} "Failed to send message to WPS." 发送消息失败,客户端已关闭; * "WPS Addon is not response." 加载项阻塞,函数执行失败 */ wpsClient.InvokeAsHttp("WpsOAAssist","dispatcher",{},function(data){//多进程方式唤起 console.log(data) })
//单进程唤起方式 /** * @param {*} clientType 加载项类型, wps / wpp / et * @param {*} name 加载项名称 * @param {*} func 客户端加载项要执行的方法 * @param {*} param 客户端加载项执行方法的参数 * @param {*} callBack 回调函数 * @param {*} showToFront 设置客户端是否显示到前面 * @param {*} jsPluginsXml 设置加载项路径 * @param {*} silentMode 是否是静默启动 * @param {*} timeout 等待wps客户端启动的超时时间,单位为ms * @param {*} startparam 传递给wps客户端的启动参数 */ WpsInvoke.InvokeAsHttp("wps", "WpsOAAssist","dispatcher",{},function(data){//多进程方式唤起 console.log(data) },undefined,"http://127.0.0.1/jsplugin.xml")
一般配合着多进程一起使用,为每一个业务系统单独开一个WPS进程,保证各个业务系统之间的WPS加载项互不影响。
由于加载项中可以对事件和WPS自身的按钮做控制,如果同个组件有多个加载项时,则可能出现WPS加载项冲突,对按钮或者事件的控制无法达到预期,所以只推荐使用三种模式中的其中一种,根据不同的使用场景,使用不同的模式。
publish模式
如何配置
通过sdk中提供的卸载和安装方法,在OA系统页面加载时,调用接口自动生成publish.xml到jsaddons目录,实现原理是先去卸载客户本地publish.xml中所有的WPS加载项,然后只安装OA配置的WPS加载项。具体请参考publish自动安装
适用场景
如果是多个业务系统的情况,那么在加载项卸载安装完成后,需要重启WPS客户端,新安装的加载项才会加载成功
jsplugins.xml模式
如何配置
通过WPS每次启动都会去读取配置文件oem.ini的特性,在配置文件中配置:
实际环境中,不可能让每一个客户都去手动修改该配置文件。如果使用这种模式,那么就需要联系对应项目的金山项目经理,将这两个配置打包到WPS安装包中,客户只需要安装新的WPS安装包,即可使用配置的WPS加载项。
适用场景
jsplugins.xml动态传递模式
如何配置
无需配置oem.ini,在OA唤起WPS的方法WpsInvoke.InvokeAsHttp中传递第七个参数jsPluginsXml,传递为jsplugins.xml的服务端地址,例如:
多进程
单进程
适用场景
一般配合着多进程一起使用,为每一个业务系统单独开一个WPS进程,保证各个业务系统之间的WPS加载项互不影响。
📋 章节目录
publish模式 如何配置 适用场景 jsplugins.xml模式 如何配置 适用场景 jsplugins.xml动态传递模式 如何配置 多进程 单进程 适用场景