提交 83ccb432 编写于 作者: W wangzuohuai

单机绿色版程序包及官方发布的小程序版本

上级 8fe72980
此差异已折叠。
Autodesk内嵌网页小程序:基于跨浏览器的小程序系统-PluginOK(牛插)中间件( https://github.com/wangzuohuai/WebRunLocal )开发,底层调用Autodesk的AutoCAD软件VBA接口及DWG True View或Design Review的OCX控件实现可程序化驱动的dwg等工程图在线查看、编辑、审阅等,可分别将AutoCAD、DWG True View、Design Review软件窗口内嵌到网页指定区域运行并操控。最低可用在Chrome 41、Firefox 52、Edge 80(Chromium内核)、360极速/安全、IE 8、Oprea 36、QQ等浏览器,也兼容运行于这些浏览器的最新版本。
1、PluginOK(牛插)中间件的安装:
1)、如果是exe的安装程序,请直接运行安装;
2)、如果是绿色版的程序包,请解压到磁盘某个目录后,双击“InstallWrl.bat”进行安装;
3)、安装完成时会启动PluginOK中间件服务,在安装目录下的Data子目录有WrlService.txt日志文件输出运行情况。
2、Autodesk内嵌网页小程序控制相关接口:
说明:以下功能请通过Web Socket连接PluginOK主服务(ws://localhost?sid=12345&flag=1)后可执行,如默认侦听端口不是80(关于如何配置侦听端口,请参考SDK包中的文档“PluginOK开发者手册.doc”),请在连接地址中指定端口号进行连接。
HTTP网页在线测试:http://zorrosoft.com/acadfull.html HTTPS网页在线测试:https://zorrosoft.com/acadframe.html
前端集成可参考以上测试网页进行,HTML网页中需要嵌入以下类似代码;
A、标记小程序的显示位置和大小
.ACADApplet {
margin: 20px 0 0 20px;
width: 480px;
height: 320px;
border: 1px solid blue;
}
或者
.ACADApplet {
width: 480px;
height: 320px;
top: 20px;
left: 20px;
border: 1px solid blue;
}
B、嵌入
支持IFrame的:
<iframe name="ACADApplet" id="ACADApplet" src="AcadApplet3.html" frameborder="0" align="left" width="550" height="540" scrolling="no></iframe>
或者直接用
<div id="ACADApplet" class="ACADApplet"</div>
另外需要嵌入用到的JS脚本,脚本程序是完全开源的。
1)、请求启动Autodesk内嵌网页小程序实现网页中局部加载dwg/dxf等文档进行操作:
Type为浏览器类型,传0自动判断(前提是当前浏览器已启动并显示在最前端,Flag指定当前页加载时必须是0) 可强制指定浏览器类型Type(2代表Chrome 4代表Firefox 8代表Opera 16代表Edge(Chromium内核) 32代表360极速浏览器 33代表360安全浏览器 34代表360企业安全浏览器 50代表QQ浏览器 60代表搜狗浏览器)
Title:网页标题中的关键词
Flag掩码标记:1指定新标签加载(1和16都不指定时为当前页加载) 2小程序显示窗口边框 4不自动裁剪越界窗口 8自动适配网页高度和宽度显示 64根据标题避免重复加载相同的小程序
IframeX和IframeY分别为iframe嵌套的横竖偏移修正坐标
BarW和BarH分别是网页右侧和底部预留区域
小程序实际显示首先会基于网页中指定的坐标和大小,再根据IframeX、IframeY、BarW、BarH设定的值做修正
App:0启动AutoCAD实现在线编辑(推荐用2015及以上版本,可根据具体版本定制) 1启动DWG True View在线查看和转换 2启动Design Review在线审阅
Url:加载小程序所在的网页实际地址
Open:为需要打开的文档路径,磁盘目录斜杠用/
注意:Open和Url如果有特殊字符或中文等,需要用URL编码处理后传递
举例:
自动识别当前浏览器并启动AutoCAD程序在线编辑dwg、dxf等文档
{"req":"Wrl_ACADApplet","rid":5,"para":{"Type":"0","Title":"Autodesk Applet","Flag":1,"IframeX":0,"IframeY":0,"BarW":0,"BarH":0,"Url": "http://zorrosoft.com/acadframe.html","App":"0","Open":"D:/Zorro/test.dwg"}}
自动识别当前浏览器并启动DWG True View程序在线查看或转换dwg文档
{"req":"Wrl_ACADApplet","rid":6,"para":{"Type":"0","Title":"Autodesk Applet","Flag":1,"IframeX":0,"IframeY":0,"BarW":0,"BarH":0,"Url": "http://zorrosoft.com/acadframe.html","App":"1","Open":"D:/Zorro/test.dwg"}}
自动识别当前浏览器并启动Design Review程序在线审阅dwg、dxf文档
{"req":"Wrl_ACADApplet","rid":7,"para":{"Type":"0","Title":"Autodesk Applet","Flag":1,"IframeX":0,"IframeY":0,"BarW":0,"BarH":0,"Url": "http://zorrosoft.com/acadframe.html","App":"2","Open":"D:/Zorro/test.dwg"}}
自动识别当前浏览器指定位置自动适配网页大小启动:
{"req":"Wrl_ACADApplet","rid":8,"para":{"Type":"0","Title":"Autodesk Applet","Flag":9,"IframeX":0,"IframeY":0,"BarW":0,"BarH":0,"Url": "http://zorrosoft.com/acadfull.html","App":"0","Open":"D:/Zorro/test.dwg"}}
当前页指定位置自动适配网页加载测试
http://zorrosoft.com/acadframe.html
启动后会前后收到两个JSON数据包
A、{"ret":0,"rid":1,"data":{"ID":3}}
返回ID为当前小程序运行ID,通过此ID,可执行Wrl_AppletControl、Wrl_AppletScroll、Wrl_AppletResize等命令。
B、{"event":"Wrl_Listen","aid":3,"data":{"SID":"123","PID":"997599C3-3C4D-445E-B741-0AD934B45459","Port":990}}
返回的侦听端口,可再建立一个Web Socket连接后,调用小程序中的相关功能,比如新打开一个网页。
2)、请求控制Autodesk内嵌网页小程序:
当前端不再需要小程序时可指定关闭,或者显示/隐藏及全屏显示等
ID为启动小程序时返回JSON中的ID值,Code代表控制类型掩码:1关闭 2全屏显示 4自动隐藏 8还原显示 16自动适配网页高度和宽度显示模式切换 32强制隐藏。其中全屏显示2,可直接通过热键ESC或取消,4和32隐藏后可通过8恢复显示
{"req":"Wrl_AppletControl","rid":2,"para":{"ID":"1","Code":4}}
3)、请求滚动Autodesk内嵌网页小程序:
当前端截取到网页滚动通知时,需要调用此接口实现小程序和网页的滚动联动
ID为启动小程序时返回JSON中的ID值
Code为滚动方向1是水平直,2是垂直,3是同时
Left为横向滚动条位置,Top为纵向滚动条位置
{"req":"Wrl_AppletScroll","rid":3,"para":{"ID":"1","Code":2,"Left":0,"Top":100}}
4)、请求改变Autodesk内嵌网页小程序显示位置或大小:
当前端网页显示区域缩放时,可动态修改小程序的显示位置或大小
ID为启动小程序时返回JSON中的ID值,Width和Height分别为新的宽度和高度,X和Y分别为新的显示位置,不指定时保持不变,指定时原设置的IframeX和IframeY失效
{"req":"Wrl_AppletResize","rid":4,"para":{"ID":1,"Width":500,"Height":600}}
或同时设置小程序显示起始坐标
{"req":"Wrl_AppletResize","rid":5,"para":{"ID":1,"Width":500,"Height":600,"X":20,"Y":20}}
5)、请求设置网页预留右侧宽度和底部高度,滚动条信息、垂直滚动及水平滚动位置:
当小程序显示区域超过当前网页时,需去除滚动条的显示影响
ID为启动小程序时返回JSON中的ID值,BarW为预留右侧宽度 BarH为预留底部高度
Code 1代表有水平滚动条,2代表有垂直滚动条,3代表都有
ScrollTop垂直滚动条位置 ScrollTop水平滚动条位置
{"req":"Wrl_ScrollBar","rid":6,"para":{"ID":"1","Code":2,"BarW":0,"BarH":0,"ScrollTop":0,"ScrollLeft":0}}
6)、请求缩放微软Autodesk内嵌网页小程序,用于浏览器网页按比例缩放,一般不需要处理:
ID为启动小程序时返回JSON中的ID值,Scall为缩放百分比
{"req":"Wrl_AppletScale","rid":7,"para":{"ID":1,"Scale":120}}
3、小程序安装、升级、卸载
1)、请求安装Autodesk内嵌网页小程序
请在输入框中,输入如下请求,然后点击发送,完成安装:
{"req":"Plugin_Install","rid":1,"para":{"Name":"Autodesk内嵌网页小程序","PID":"997599C3-3C4D-445E-B741-0AD934B45459","Date":"2020-12-12","Desc":"PluginOK之上跨浏览器的Autodesk内嵌网页小程序,支持在Chrome、Firefox、Edge、IE、Oprea、360、QQ等最新版本浏览器网页中内嵌AutoCAD等程序进行在线编辑、查看或审阅工程图","DownAddr":"http://local.zorrosoft.com/Files/Plugin/ACadApplet.pid","MD5":"8707024DADD8A827F01EF1FE6B3DAB16","Version":"2.0.3.11","Size":688128,"HideIns":0,"Type":8,"Cookie":"","Auth":"","TK":"65E092DAA42BCC40348F9779A7798E508F68BFCC13FEEF79B377FD82CD709FFA0064E5F1740D2A54D13FD500257496B34CA38A158E3F90824E97E999DE63934582653E1936247142B98CF4B86BF416324975567FB0B486EB741CD1FE67103437C18F2996C176BFD374F5CEAD49A8DFF595B607393004087E9E8CB3DA67579544FD4D69F610144192F82193EB867B00A0B74AE26BD6C2D3F671B76A8D405C2DFFBD778F16B65443DE38C8BE2B3DE027B177FE7319AC23E0F2B269BCCE2E916CAEAB9F3DFB713906A0AEE06A32B6421354349AFB6742C21337358A2EB7EC4A1655A4F4C618D7AA74A56F41C27ED59E202CDC235BA3F5A36027DAFBCEA26480757A"}}
启动安装后,会不断收到安装进度直到安装结束。
在发布时,也可以把此小程序目录文件和中间件一起打包后发布,不用单独分发。
2)、请求升级Autodesk内嵌网页小程序:
{"req":"Plugin_Update","rid":1,"para":{"Name":"Autodesk内嵌网页小程序","PID":"997599C3-3C4D-445E-B741-0AD934B45459","Date":"2020-12-12","Desc":"PluginOK之上跨浏览器的Autodesk内嵌网页小程序,支持在Chrome、Firefox、Edge、IE、Oprea、360、QQ等最新版本浏览器网页中内嵌AutoCAD等程序进行在线编辑、查看或审阅工程图","DownAddr":"http://local.zorrosoft.com/Files/Plugin/ACadApplet_Update.pid","MD5":"092BDB17DA72FE833E602A85C0A930FD","Version":"2.0.3.11","Size":688128,"HideIns":0,"Type":8,"Cookie":"","Auth":"","TK":"AF873AE213CFAB5C7C21C65670BF9A43B64D9544F44E0B109F1F712BFE912B41E333357F9A4F59D20E286C28F8E806CAAE13705385015C213E9BDC415701EDD7865A93FF3E8A366BD0992F8E833D9692626834B5278D98BD7F0B0D1892AB8B3B2B34AEA0A213726E5FAA4AB8FB5E0723FC8A8B01F518D9F1CA58836A7B4F2DF01D30D6C7F0452C124FD95EF12625092022BF721580AEC7C3221A2722074F3C767FD2009CAA2AA7B685BFFBC7ABE61C75E2F87739241F393F9328A441895061BE3E4333F7FC1C6124DA08CF307E00EAE69792AC423D790D425F5AABE5BE794A949F03B3B4A38815DBA0FFD336603D099D9BB1BA06F932FF6381A20473461FBE3D"}}
以上安装和升级的JSON请求包,可能因版本升级导致内容不同,如遇安装或升级时报错,请联系客服获取最新的请求包。
3)、请求卸载Autodesk内嵌网页小程序:
{"req":"Plugin_Remove","rid":3,"para":{"PID":"997599C3-3C4D-445E-B741-0AD934B45459","Type":8}}
4、Autodesk内嵌网页小程序转调用Autodesk的AutoCAD软件VBA接口及DWG True View或Design Review的OCX控件接口,先根据Wrl_ACADApplet请求启动后返回的端口号,新建立一个WebSocket连接后可执行如下指令:
A、常用功能请求:
请求退出小程序
{"req":"ACAD_Exit","rid":1,"para":{}}
请求关闭文档
{"req":"ACAD_Close","rid":2,"para":{}}
请求打开文档
{"req":"ACAD_Open","rid":3,"para":{"Open":"D:/Zorro/test.dwg"}}
5、事件通知:
A、
B、PluginOK支持的事件通知:
1) 小程序是否响应了热键全屏
{"event":"ACAD_FullScreen","data":{"FullScreen":0}} FullScreen为当前是否全屏标记
2) Wrl_AppletExit 小程序退出通知
{"event":"Wrl_AppletExit","data":{"ID":1}}
6、其它
请求参数的JSON数据包,请确保是UTF-8无签名的编码。
更多接口请求说明,请参考安装目录中的文档TestWrl.txt、SDK包中的“PluginOK开发者手册.doc”及“PluginOK中间件安全解决方案”。
如还有疑问请直接联系客服 加微信:ZorroSoft,或加QQ群:23126938
\ No newline at end of file
2020-12-12 PluginOK升级网络版2.0.7.6(单机版1.2.18.6)
1、发布Autodesk公司内嵌网页小程序体验版,支持内嵌AutoCAD软件、DWG True View及Design Review的OCX控件实现可程序化驱动的dwg等工程图在线编辑、查看、审阅等,搭配文件操作小程序可实现工程图文件的下载后自动打开编辑、保存后自动上传服务器管理;
2、网络版支持前端请求自动移除指定终端电脑授权并卸载,回收可用授权数量;
3、小程序侦听IP可设置为实际IP,而非127.0.0.1并输出日志;
4、解决内嵌小程序首次启动运行可能失败问题;
5、解决本地路径的小程序安装可能失败问题;
6、解决数据文件目录初始化设置可能错误问题;
7、更新范例小程序及中间件开发版授权截止日期。
2020-11-11 PluginOK升级网络版2.0.7.5(单机版1.2.18.5)
1、改进前端请求内嵌小程序的全屏显示及退出全屏实现;
2、延迟高级版服务运行启动到桌面时的提示运行问题;
4、安装时增加自动注册C#无窗小程序及小程序的COM组件;
5、解决内嵌小程序加载多个操作时可能浏览器卡死问题;
6、解决前端WS可能无法成功连接中间件或小程序问题;
7、改进解析网页中内嵌小程序的大小和位置参数算法;
8、解决服务运行时调用Wrl_OpenFile和Wrl_OpenUrl不显示问题;
9、解决自绘内嵌小程序在滚动时的刷新显示问题;
10、解决内嵌小程序启动时可能不显示和释放时可能崩溃问题;
11、各内嵌小程序添加在自连接中请求退出功能;
12、解决VLC网页小程序可能无法选中和选中后全屏显示问题;
13、VLC网页小程序增加设置TCP方式播放RTSP,初始化播放多个源;
14、VLC网页小程序支持使用绿色版VLC播放控件;
15、IE控件及标签页小程序支持更多请求协议。
2020-10-26 PluginOK升级网络版2.0.7.2(单机版1.2.18.2)
1、所有执行程序和动态库等支持本公司的中文描述及双证书代码签名;
2、完善VLC网页内嵌的多媒体播放小程序功能,支持动态切换分屏数;
3、增加协议Wrl_UpdateSslCert支持在前端导入更新有效期后的SSL证书;
4、Wrl_RegCom用于非小程序重新注册时需增加TK校验;
5、解决WS连接释放时可能导致CPU占用可能高或服务重启问题;
6、优化IE中所用的WS连接组件性能,增加连接超时设置;
7、解决不同网页中启动同一个小程序时越来越慢的问题;
8、解决加载多个小程序后浏览器放大缩小等操作后界面响应迟缓问题。
2020-10-09 PluginOK升级网络版2.0.6.5(单机版1.2.17.5)
1、正式发布文件操作小程序;
2、正式发布VLC内嵌网页的多媒体播放小程序;
3、正式发布点聚电子签章内嵌网页小程序;
4、修改标准版启动监控程序方式,避免弹窗提示;
5、解决Chrome 84版开始WSS连接失败问题;
6、解决前端请求Wrl_RegCom可能失败问题;
7、解决内嵌网页小程序启动时可能失败问题。
2020-09-29 PluginOK升级网络版2.0.6.3(单机版1.2.17.3)
1、正式版中支持调试内嵌小程序;
2、中间件支持获取当前网络路由器MAC地址;
3、支持前端请求切换中间件程序是否服务模式运行;
4、配置文件中增加服务监控有效时间判断参数;
5、优化非系统服务运行模式小程序适配性能和效果;
6、解决无窗口小程序请求超时导致服务重启问题;
7、解决非系统服务运行模式下热插拔U盘监控问题;
8、解决Windows7下IE小程序指定内核版本无效问题;
9、解决网络版可能无法从服务端获取授权信息问题;
10、解决本机无HOSTS文件时配置SSL证书代理问题。
2020-09-15 PluginOK升级网络版2.0.6.1(单机版1.2.17.1)
1、中间件主程序支持非系统服务的方式运行;
2、前端支持URL Protocol启动中间件主程序;
3、改进Windows 10下启动内嵌小程序时使用体验;
4、优化Windows 7及XP系统内嵌小程序的显示效果;
5、优化加载多个内嵌小程序时的运行性能;
6、优化开启U盘使用监控和前端的交互信息;
7、解决重启系统时服务运行可能不正常问题;
8、解决重新安装中间件时服务可能不正常问题;
9、解决加载本地安装包或升级包时不能继续问题;
10、优化小程序底部和网页的滚动条重叠时的显示;
11、解决浏览器最小化后再恢复时内嵌小程序状态修复;
12、修复加载IE内嵌小程序指定内核版本不生效问题;
13、优化屏蔽日志输出,加快系统运行速度;
14、优化网络请求及解决反馈的其它问题。
2020-08-24 PluginOK升级网络版2.0.3.2(单机版1.2.15.2)
1、IE小程序支持64位版;
2、优化前端判断滚动条算法;
3、升级内嵌小程序接口支持更多功能;
4、优化内嵌小程序运行过程;
5、优化弹窗小程序启动效果;
6、升级VLC内嵌网页播放小程序,支持多窗口播放;
7、优化Windows 7下内嵌小程序适配。
2020-08-13 2.0.2.1 PluginOK网络正式版(单机正式版1.2.12.2)
1、切换软件授权模式,支持可独立部署的网络版,原单机版客户可继续使用并获得升级服务,网络版文件名前缀由Wrl改为Zba,和原单机版可同时运行;
2、增加获取本地指定文件信息的协议Wrl_GetFileInfo,支持获取文件大小、文件属性、文件MD5、文件版本、文件创建及修改时间、图像宽度及高度等;
3、网络版配置文件名ZbaConfig.json,增加语言配置Language及服务端ServerAddr地址及ServerPort端口,配置生效目录改为Data目录(原单机版升级后WrlConfig.json生效目录也改为Data目录);
4、去掉系统重启过程中可能尝试重新注册服务的操作;
5、IE小程序支持注入脚本、执行脚本、调用脚本函数等;
6、发布微软Office及金山WPS内嵌网页小程序体验版;
7、发布VLC内嵌网页播放小程序体验版;
8、解决反馈的其它问题。
2020-07-13 1.2.11.1 发布PluginOK高级版(支持内嵌网页窗口小程序)
1、实现在浏览器网页中内嵌窗口小程序运行,支持同时加载多个运行,支持上下左右滚动小程序;
2、实现在Chrome、Firefox、Edge、Opera、IE、360、QQ等浏览器网页可加载IE指定版本内核的控件小程序或标签小程序运行;
3、发布在Chrome、Firefox、Edge、Opera、IE、360、QQ等浏览器中运行的Flash Player内嵌窗口小程序;
4、内嵌网页窗口小程序支持Windows XP及以上桌面及服务操作系统,兼容低版本的IE8及Chrome 41等;
5、升级安装程序,安装或升级包的JSON请求数据包中支持用本地路径,不用单独部署HTTP服务器来测试;
6、基础版功能增加单选或多选文件、选择文件保存路径、选择目录的功能;
7、修改PluginOK之上运行的插件名称,统一改为小程序;
8、解决IE中使用的Web Socket连接组件不稳定等问题;
9、基础版功能实现对Edge新内核版兼容支持;
10、解决历史版本中反馈的问题。
2019-11-07 1.1.1.5
1、实现关联打开本地文件协议Wrl_OpenFile,不支持exe、bat、msi、jar等可执行程序;
2、解决启动exe插件时不返回侦听端口问题;
3、解决协议Wrl_OpenUrl对XP兼容性问题;
4、解决XP下获取电脑信息及当前登录用户错误问题;
5、解决正式版授权误弹未授权提示;
6、解决Wrl_Version协议指定More时获取当前登录用户错误问题;
7、优化Wrl_OpenUrl协议请求返回进程ID及窗口句柄;
8、优化Wrl_RegCom协议不指定插件ID时实现为重新注册中间件,连接会断开;
9、Wrl_Version协议请求指定More可获取当前登录用户、当前电脑制造商及型号等信息;
10、添加重新注册框架组件或指定插件协议Wrl_RegCom,用于恢复可能被破坏的注册项目;
11、解决安装无界面DLL插件后需要重启服务才能正常请求插件功能问题;
12、实现用指定浏览器指定URL;
13、插件升级安装或框架升级时,支持无界面的静默安装模式;
14、实现刷新插件加载协议,方便插件开发调试,无需手工重启服务;
15、查询插件或插件列表时可指定返回插件程序全路径;
16、解决多个网卡情况指定返回本机MAC地址信息错误问题;
17、WrlConfig.json可配置卸载或重启框架请求中的有效期。
2019-10-10 1.0.9.15
1、单独提供一个升级框架授权文件的功能;
2、解决EXE类型插件可能无法创建通信组件实例问题;
3、修改一些提示语;
4、支持C#插件自注册;
5、优化EXE插件启动兼容性;
6、增强插件DLL加载路径依赖;
7、版本获取时支持本地Mac信息;
8、解决打包工具文件大小0时执行无法结束问题;
9、解决授权过期时服务不断重启问题;
10、解决前端发送过长JSON数据包的兼容问题;
11、优化性能及稳定性。
2019-06-29 1.0.9.9
1、完善平台与插件之间授权机制及优化内存操作;
2、正式版请求插件服务提供不校验TK选择;
3、解决C#插件卸载错误问题;
4、解决打包工具可能报错问题;
5、解决插件打包时RSA秘钥不设置密码引发的问题;
6、解决EXE插件运行初始化数据错误问题;
7、安装程序添加静默安装支持;
8、修复安装程序启动后没自动显示到前端问题;
9、插件包中启动的一次性安装附加程序改为校验DM5是否启动;
10、解决个别目录安装后写数据权限不够导致无法正常加载EXE插件问题;
11、优化程序临时文件处理;
12、执行程序加入360安全卫士的白名单。
2019-05-05 1.0.8.12
1、改进IE中使用的WEB SOCKET连接组件;
2、完善安装卸载命令行,不用每次填写实际的路径;
3、修复启动EXE插件不推送端口问题;
4、改进插件卸载和启动插件流程;
5、启用新的产品LOGO;
6、 升级框架支持C#无界面插件开发及调用;
7、打包工具增加输出JAVA所需的公钥证书类型;
8、增加IE浏览器中所用的WEB SOCKET连接网页测试页面;
9、 框架升级、插件下载请求添加Cookie和Auth参数以支持有权限的下载,涉及底层网络操作组件接口变更;
10、解决远程云端连接时可能启动EXE插件失败问题;
11、解决插件更新安装时覆盖失败加载错误问题,安装结束时强制重启主服务。
2019-04-11 1.0.6.2
第一个正式发布版本。PluginOK(牛插)中间件是一个实现网页浏览器(Web Browser)与本地程序(Local App)之间进行双向调用的低成本、强兼容、安全可控、轻量级、易集成、可扩展、跨浏览器的小程序系统。通过此中间件可实现网页前端JS脚本无障碍操作本地电脑各种硬件、调用本地系统API及相关组件功能,可彻底解决DLL模块、ActiveX控件及自动化程序(如微软Office、金山WPS、AutoCAD等)在Chrome、Edge、360、FireFox、IE、Opera、QQ、搜狗等浏览器各版本中的嵌入使用问题,媲美原Java Applet的效果。
文件操作浏览器小程序,基于跨浏览器的小程序系统-PluginOK(牛插)中间件(https://github.com/wangzuohuai/WebRunLocal)开发,提供本地文件HTTP协议的上传与下载、本地图像文件旋转与缩放、本地文件访问、本地程序运行等服务。最低可用在Chrome 41、Firefox 52、Edge 80(Chromium内核)、360极速/安全、IE 8、Oprea 36、QQ、搜狗等浏览器,也兼容运行于这些浏览器的最新版本。
1、PluginOK(牛插)中间件的安装:
1)、如果是exe的安装程序,请直接运行安装;
2)、如果是绿色版的程序包,请解压到磁盘某个目录后,双击“InstallWrl.bat”进行安装;
3)、安装完成时会启动PluginOK中间件服务,在安装目录下的Data子目录有WrlService.txt日志文件输出运行情况。
2、请求安装文件操作小程序:
{"req":"Plugin_Install","rid":1,"para":{"Name":"文件操作小程序","PID":"199BB8A7-9DD5-41F5-AE9D-2AA94300B0B3","Date":"2020-12-12","Desc":"PluginOK中间件之上跨浏览器的文件操作小程序,提供文件HTTP协议上传与下载、本地图像文件缩放与旋转、本地文件访问、本地程序运行等服务,可在Chrome、Edge、Firefox、IE、Opera、360、QQ等的浏览器最新版中调用","DownAddr":"http://local.zorrosoft.com/Files/Plugin/WrlFileApplet.pid","MD5":"371D26B8C6A35A5A48317C04D9EE1735","Version":"2.0.3.11","Size":491520,"HideIns":0,"Type":1,"Cookie":"","Auth":"","TK":"532632DC918676470FC065990C284015B3AD370E260707A7B97A205D6F237BA0011E989380B23F62F6D6BD53451066C85D17EF7317FA564639326F9A411FBD4F9742DAE05A2CADC431511C7FB64247F410547FE68F43D2FDCA799F42B9138D7364A0107590DB17223AC7C3C5AACDDE3755DE2D45BD525B514012F821F8295DB2D95876853CEA999E52EBF36BB544F9DE3F8BE118472C04E8CA26226C294827DC1D53DEBF6241F6DCDE09AC69B537A414BE900ADD9483A0FA94AA8EB1CCFC49C0439AE877B7E0D71AD28E858E7B7234F7388C7AC0D37CE3BFE4E97ACDC1095D939DD520344DFB4CDA531178855413CA6669E44A5637C17E531A022A64E419092E"}}
3、请求更新文件操作小程序:
{"req":"Plugin_Update","rid":1,"para":{"Name":"文件操作小程序","PID":"199BB8A7-9DD5-41F5-AE9D-2AA94300B0B3","Date":"2020-12-12","Desc":"PluginOK中间件之上跨浏览器的文件操作小程序,提供文件HTTP协议上传与下载、本地图像文件缩放与旋转、本地文件访问、本地程序运行等服务,可在Chrome、Edge、Firefox、IE、Opera、360、QQ等的浏览器最新版中调用","DownAddr":"http://local.zorrosoft.com/Files/Plugin/WrlFileApplet_Update.pid","MD5":"7BF5F7F1AA6D6CBA7A040513B8C7D413","Version":"2.0.3.11","Size":491520,"HideIns":0,"Type":1,"Cookie":"","Auth":"","TK":"0DD9E2269A0C5D610AB44C6DB87C883A4BC272EE525320909465B6FDB65DE951E9ACE4B311149B163CA7A42C28DDB22BADA3F157E4886E6F12334BB841C9CA093F7239F478B6ED927D9E9B13BC0DC3C5C5F7C733B9AA0894C5E32B086FD7F6EB934B1609A6786B843FAF5A1CE69AB00D3B8F55DF0D06B997B140F53562F74EF0C0033130C14F248C7D72E753C85A67933D9E7ABA454B03773FFF805EC1CBF06A6310568BCA3C16D8759F21B9EEDB0780F7C66F646E14DEBA9B1F597E9F40C4748215B9908FEF9C7BA0D058A885EEC5F1B4CC33E92224893282F57841A66DEDD5852AC7440C3EFDA8A518D3A8FB1B8BA4159773ED7B83F7A3EB16F81FA809B681"}}
以上安装和升级的JSON请求包,可能因版本升级导致内容不同,如遇安装或升级时报错,请联系客服获取最新的请求包。
4、连接请求文件操作小程序服务:
1)、图像文件处理及本地文件操作服务
说明:以下功能请通过Web Socket连接后可执行,如默认侦听端口不是80(关于如何配置侦听端口,请参考SDK包中的文档“PluginOK开发者手册.doc”),请在连接地址中指定端口号进行连接。
打开测试网页,输入地址:ws://localhost?sid=667&pid=D325C871-AB46-479B-B20E-1D861D26CA89&flag=1 点击连接;
支持的协议功能如下:
A、批量旋转图像文件
SrcFile、DestFile传入前需进行UrlEncode编码
{"req":"File_RotateImg","rid":1,"para":{"Angle":90,"Items":[{"ID":"11","SrcFile":"C:/Users/trade/Pictures/test/test.png","DestFile":"C:/Users/trade/Pictures/test/testnew.png"}]}}
旋转指定文件SrcFile指定角度Angle,DestFile为指定时代表生成新图像文件,不指定时直接覆盖到原图
返回内容 {"ret":0,"rid":1,"data":{"Ret":[{"ID":"","Ret":1},{"ID":"","Ret":1}]}} Ret代表是否成功
B、请求指定图像文件的BASE64编码数据
File传入前需进行UrlEncode编码
{"req":"File_GetImg","rid":2,"para":{"File":"C:/test.jpg","Original":1,"Thumb":{"Width":200,"Height":300,"File":"C:/Newtest.jpg"}}}
指定Original为1时代表同时取原图,有Thumb节点时取指定大小的缩略图,Thumb节点中指定File文件名代表保存到本地,不指定时取原图数据 {"ret":0,"rid":2,"data":{"Thumb":"","Original":"","ThumbFile":"","Ret":1}}
C、关联打开指定文件或指定执行程序打开
File传入前需进行UrlEncode编码
{"req":"File_Open","rid":3,"para":{"File":"D:/Zorro/WRL/Data/WrlService.txt"}} File为本地路径
指定执行程序打开指定文件
{"req":"File_Open","rid":4,"para":{"File":"C:/Windows/System32/notepad.exe D:/Zorro/WRL/Data/WrlService.txt"}}
D、删除本地文件
Items子项目传入前需进行UrlEncode编码
{"req":"File_Delete","rid":5,"para":{"Day":7,"Items":["c:/Newtest.jpg","c:/test.jpg"]}} 删除Items指定的本地文件,可支持多个
E、创建指定目录
Dir传入前需进行UrlEncode编码
{"req":"File_CreateDir","rid":6,"para":{"Dir":"D:/Zorro/WRL/Data/Temp"}} Dir为本地路径
返回如下信息:
{"ret":0,"rid":6,"data":{"Ret":"1","ErrCode":0}}
F、删除指定目录及子目录所有文件
Dir传入前需进行UrlEncode编码,不能删除磁盘根目录及系统及程序目录等文件
{"req":"File_DelDir","rid":7,"para":{"Dir":"D:/Zorro/WRL/Data/Temp"}} Dir为本地路径
返回如下信息:
{"ret":0,"rid":7,"data":{"Ret":"1"}}
G、取指定文件属性
Dir传入前需进行UrlEncode编码,不能删除磁盘根目录及系统及程序目录等文件
{"req":"File_Info","rid":8,"para":{"File":"C:/Users/trade/Pictures/test/test.png"}} File为本地路径
返回如下类似信息:
{"ret":0,"rid":8,"data":{"Ret":"1","Size":92095,"MD5":"B28B987EC70E1E7853F89A52CEDE68F0","Attribute":32,"CreateTime":"2020-10-07 13:07:20","LastWriteTime":"2020-07-14 10:09:43","Ver":"","CorpName":"","Desc":"","Width":1280,"Height":720}}
H、取指定目录下文件和目录列表
Dir传入前需进行UrlEncode编码,不能删除磁盘根目录及系统及程序目录等文件
{"req":"File_List","rid":8,"para":{"Dir":"D:/Zorro/WRL","Find":"*.*"}} Dir为本地路径
返回如下类似信息:
{"ret":0,"rid":8,"data":[{"Name":"WrlSetup.exe","Size":157184,"Attr":2080,"Write":"2020-10-07 15:00:15"},{"Name":"X64"}]}
无属性Attr、大小Size和文件修改时间Write的是目录,否则是文件
2)、文件HTTP上传与下载服务
打开测试网页,输入地址:ws://localhost?sid=678&pid=762C3400-B3E5-4F00-8AA7-18E00F13E414&flag=1 点击连接;
支持的协议功能如下:
A、下载文件
Url、File传入前需进行UrlEncode编码
{"req":"File_Download","rid":1,"para":{"Cookie":"","Auth":"","Items":[{"ID":"","Url":"","File":"","MD5":"","Size":300}]}} 批量下载指定URL及文件名File等参数的文件,ID是前端指定的唯一ID,返回添加成功数量,重复的不计算,增加下载权限参数Cookie及Auth
B、上传文件
Url、Items子项目传入前需进行UrlEncode编码
{"req":"File_Upload","rid":2,"para":{"ID":"","Url":"","Cookie":"","Auth":"","Para":{},"Items":["c:/Newtest.jpg","c:/test.jpg"]}} 批量上传到指定URL的本地文件,返回添加成功数量,重复的不计算
C、停止上传/下载 一般用于页面退出
{"req":"File_Stop","rid":3,"para":{""Type":1}} 不指定停止所有,指定Type时1代表下载 2代表上传
D、删除数据记录
{"req":"File_Delete","rid":4,"para":{"Day":7}} 删除指定Day前数据库中的上传下载任务记录
/// 单个下载任务通知
{"event":"File_Status","data":{"ID":"","Url":"","File":"","Type":1,"Status":0,"Percent":0,"Error":""}} Status为状态码(1等待 2 正在进行 4成功 8取消 16错误) Percent为百分比 Error错误描述
/// 单个上传任务通知
{"event":"File_Status","data":{"ID":"","Ret":"","Type":2,"Status":0,"Percent":0,"Error":""}} Status为状态码(1等待 2 正在进行 4成功 8取消 16错误) Percent为百分比 Error错误描述 Ret为上传成功服务器返回的数据包
/// 上传或下载全部结束通知
{"event":"File_OK","data":{"Type":1"}} 通知上传或下载结束,Type 1代表下载全部完成 2代码上传全部完成
5、其它
请求参数的JSON数据包,请确保是UTF-8无签名的编码。
更多接口请求说明,请参考安装目录中的文档TestWrl.txt、SDK包中的“PluginOK开发者手册.doc”及“PluginOK中间件安全解决方案”。
如还有疑问请直接联系客服 加微信:ZorroSoft,或加QQ群:23126938
\ No newline at end of file
Flash Player小程序(内嵌网页):基于跨浏览器的小程序系统-PluginOK(牛插)中间件( https://github.com/wangzuohuai/WebRunLocal )开发,底层调用Adobe公司的ActiveX控件Flash.ocx(Windows 7及以下版本下载URL: http://get.adobe.com/flashplayer )实现播放。最低可用在Chrome 41、Firefox 52、Edge 80(Chromium内核)、360极速/安全、IE 8、Oprea 36、QQ、搜狗等浏览器,也兼容运行于这些浏览器的最新版本。
1、牛插(PluginOK)中间件的安装:
1)、如果是exe的安装程序,请直接运行安装;
2)、如果是绿色版的程序包,请解压到磁盘某个目录后,双击“InstallWrl.bat”进行安装;
3)、安装完成时会启动PluginOK中间件服务,在安装目录下的Data子目录有WrlService.txt日志文件输出运行情况。
2、Flash Player内嵌网页小程序控制相关接口:
说明:以下功能请通过Web Socket连接PluginOK主服务(ws://localhost?sid=12345&flag=1)后可执行,如默认侦听端口不是80(关于如何配置侦听端口,请参考SDK包中的文档“PluginOK开发者手册.doc”),请在连接地址中指定端口号进行连接。
HTTP网页在线测试:http://zorrosoft.com/flashfull.html HTTPS网页在线测试:https://zorrosoft.com/flashframe.html
前端集成可参考以上测试网页进行,HTML网页中需要嵌入以下类似代码;
A、标记小程序的显示位置和大小
.FlashApplet {
margin: 20px 0 0 20px;
width: 480px;
height: 320px;
border: 1px solid blue;
}
或者
.FlashApplet {
width: 480px;
height: 320px;
top: 20px;
left: 20px;
border: 1px solid blue;
}
B、嵌入
支持IFrame的:
<iframe name="FlashApplet" id="FlashApplet" src="FlashApplet3.html" frameborder="0" align="left" width="550" height="540" scrolling="no">
或者直接用
<div id="FlashApplet" class="FlashApplet"</div>
另外需要嵌入用到的JS脚本,脚本程序是完全开源的。
1)、请求启动Flash Player内嵌网页小程序:
Type为浏览器类型,传0自动判断(前提是当前浏览器已启动并显示在最前端,Flag指定当前页加载时必须是0) 可强制指定浏览器类型Type(1代表IE 2代表Chrome 4代表Firefox 8代表Opera 16代表Edge(Chromium内核) 32代表360极速浏览器 33代表360安全浏览器 34代表360企业安全浏览器 50代表QQ浏览器 60代表搜狗浏览器)
Title:网页标题中的关键词
Flag掩码标记:1指定新标签加载(1和16都不指定时为当前页加载) 2小程序显示窗口边框 4不自动裁剪越界窗口 8自动适配网页高度和宽度显示 64根据标题避免重复加载相同的小程序
IframeX和IframeY分别为iframe嵌套的横竖偏移修正坐标
BarW和BarH分别是网页右侧和底部预留区域
小程序实际显示首先会基于网页中指定的坐标和大小,再根据IframeX、IframeY、BarW、BarH设定的值做修正
Url:加载小程序所在的网页实际地址
Open:为需要播放的多媒体路径,磁盘目录斜杠用/
注意:Open和Url如果有特殊字符或中文等,需要用URL编码处理后传递
举例:
自动识别当前浏览器指定位置和大小启动:
{"req":"Wrl_FlashApplet","rid":1,"para":{"Type":"0","Title":"Flash Applet","Flag":1,"IframeX":0,"IframeY":0,"BarW":0,"BarH":0,"Url":"http://zorrosoft.com/FlashApplet.html","Open":"http://zorrosoft.com/Files/test.swf"}}
自动识别当前浏览器自动适配网页大小启动:
{"req":"Wrl_FlashApplet","rid":3,"para":{"Type":"0","Title":"Flash Applet","Flag":9,"IframeX":0,"IframeY":0,"BarW":0,"BarH":0,"Url":"http://zorrosoft.com/FlashApplet.html","Open":"http://zorrosoft.com/Files/test.swf"}}
当前页指定位置自动适配网页加载测试
http://zorrosoft.com/flashframe.html
启动后会先后收到两个JSON数据包
A、{"ret":0,"rid":1,"data":{"ID":2}}
返回ID为当前小程序运行ID,通过此ID,可执行Wrl_AppletControl、Wrl_AppletScroll、Wrl_AppletResize等命令。
B、{"event":"Wrl_Listen","aid":2,"data":{"SID":"123","PID":"E7C7BDA6-C828-46F1-A7BA-B4C572A01100","Port":990}}
返回的侦听端口,可再建立一个Web Socket连接后,调用小程序中的相关功能,比如新播放一个Flash。
2)、请求控制Flash Player内嵌网页小程序:
当前端不再需要小程序时可指定关闭,或者显示/隐藏及全屏显示等
ID为Wrl_FlashApplet启动小程序时返回JSON中的ID值,Code代表控制类型掩码:1关闭 2全屏显示 4自动隐藏 8还原显示 16自动适配网页高度和宽度显示模式切换 32强制隐藏。其中全屏显示2,可直接通过热键ESC或取消,4和32隐藏后可通过8恢复显示
{"req":"Wrl_AppletControl","rid":2,"para":{"ID":"1","Code":4}}
3)、请求滚动网页中Flash Player内嵌网页小程序:
当前端截取到网页滚动通知时,需要调用此接口实现小程序和网页的滚动联动
ID为启动小程序时返回JSON中的ID值
Code为滚动方向1是水平直,2是垂直,3是同时
Left为横向滚动条位置,Top为纵向滚动条位置
{"req":"Wrl_AppletScroll","rid":3,"para":{"ID":"1","Code":2,"Left":0,"Top":100}}
4)、请求改变网页中Flash Player内嵌网页小程序显示位置或大小:
当前端网页显示区域缩放时,可动态修改小程序的显示位置或大小
ID为Wrl_FlashApplet启动小程序时返回JSON中的ID值,Width和Height分别为新的宽度和高度
X和Y分别为新的显示位置,不指定时保持不变,指定时原设置的IframeX和IframeY失效
{"req":"Wrl_AppletResize","rid":4,"para":{"ID":1,"Width":500,"Height":600}}
或,同时修改小程序显示起始坐标
{"req":"Wrl_AppletResize","rid":5,"para":{"ID":1,"Width":500,"Height":600,"X":20,"Y":20}}
5)、请求设置网页预留右侧宽度和底部高度,滚动条信息、垂直滚动及水平滚动位置:
当小程序显示区域超过当前网页时,需去除滚动条的显示影响
ID为启动小程序时返回JSON中的ID值,BarW为预留右侧宽度 BarH为预留底部高度
Code 1代表有水平滚动条,2代表有垂直滚动条,3代表都有
ScrollTop垂直滚动条位置 ScrollTop水平滚动条位置
{"req":"Wrl_ScrollBar","rid":6,"para":{"ID":"1","Code":2,"BarW":0,"BarH":0,"ScrollTop":0,"ScrollLeft":0}}
6)、请求缩放网页中Flash Player内嵌网页小程序,用于浏览器网页按比例缩放时响应,一般不需要处理:
ID为Wrl_FlashApplet启动小程序时返回的ID值,Scall为缩放百分比
{"req":"Wrl_AppletScale","rid":7,"para":{"ID":1,"Scale":120}}
3、小程序安装、升级、卸载
1)、请求安装Flash Player内嵌网页小程序
请在输入框中,输入如下请求,然后点击发送,完成安装:
{"req":"Plugin_Install","rid":1,"para":{"Name":"Flash Player内嵌网页小程序","PID":"E7C7BDA6-C828-46F1-A7BA-B4C572A01100","Date":"2020-12-12","Desc":"PluginOK之上跨浏览器的Flash Player内嵌网页小程序,支持在Chrome、Firefox、Edge、IE、Oprea、360、QQ等最新版本浏览器网页中内嵌使用","DownAddr":"http://local.zorrosoft.com/Files/Plugin/FlashApplet.pid","MD5":"8BC01FA1DB86B9A0D04F247790229A1E","Version":"2.0.3.11","Size":524288,"HideIns":0,"Type":8,"Cookie":"","Auth":"","TK":"2DA27288A218FABF06D6AB8735F009D7236516290AAE5E9719608670FD97FC5503C0275AFC2F051949464199D4386A9A3E1531291D1A5CE6F137B8A4CD2165D235290A6EA162306777E9F10E7EB6F354B3C15AA00F56568E40D55B3C9F99484B1B2EB63119B995990DDD50F1528D44B54CA5E00669BCD55DFB47A22A2F1B9B8A557B895EAE65EC90C3727C52042D1B4DFD9276D3B382C56F1690974ACD9B219750349647B8A45C7CC9E37DF63B8D56721BD3CF2CDEB133043EE2D243EECD3EFBA6CF6094CCA0521F49252A63E0446B27B4C5E41A826A58B6B365F00213BBDB682682166A169E7E17B55FC39A86F663492235CD36594CB7BA2319CE08C30C8D98"}}
启动安装后,会不断收到安装进度直到安装结束。
2)、请求升级Flash Player内嵌网页小程序:
{"req":"Plugin_Update","rid":1,"para":{"Name":"Flash Player内嵌网页小程序","PID":"E7C7BDA6-C828-46F1-A7BA-B4C572A01100","Date":"2020-12-12","Desc":"PluginOK之上跨浏览器的Flash Player内嵌网页小程序,支持在Chrome、Firefox、Edge、IE、Oprea、360、QQ等最新版本浏览器网页中内嵌使用","DownAddr":"http://local.zorrosoft.com/Files/Plugin/FlashApplet_Update.pid","MD5":"82AC72E2BA176EA2884143C7ABBA07CE","Version":"2.0.3.11","Size":524288,"HideIns":0,"Type":8,"Cookie":"","Auth":"","TK":"77144F52D980B80B04DD1E3EC7FAD6BE50BE1DE747EF1D1C6EB169A301F1CC541182D2817AE059230485DAD69B9864D8115863A4BAFAD185B81379DC9DB90807DA5864AE9645F36796A273FBB0A41CD0772F539BDF0FDA04F9B530A466C201C564151A23DD0477CA0F3A4BDD37D507F6195794107195207AD4D3B89DA4CAC6FCB77B4D48ABA077387E778F1F0DE17B411E16B200AF2AEC3C5C196EC5D4A154DC409E9F4394C3930EC8FB4E1EB95C416A7867F90910F74AFC0721815011795B8A44BE41A6B0CDD29449AE7A41FF3D2A56D972C55F573BE6F18A72E4552DCBCC7573F341A0DE08F5287D67106729C6571AD93D0C212D6A21605635216355122C0A"}}
以上安装和升级的JSON请求包,可能因版本升级导致内容不同,如遇安装或升级时报错,请联系客服获取最新的请求包。
3)、请求卸载Flash Player内嵌网页小程序:
{"req":"Plugin_Remove","rid":3,"para":{"PID":"E7C7BDA6-C828-46F1-A7BA-B4C572A01100","Type":8}}
4、Flash Player小程序转调用ActiveX接口,先根据Wrl_FlashApplet请求启动后返回的端口号,新建立一个WebSocket连接后可执行如下指令:
A、常用功能请求:
1) 当前是否在播放
请求:{"req":"Flash_IsPlaying","rid":50,"para":{}}
返回:{"ret":0,"rid":50,"data":{"IsPlaying":"1"}}
ret为请求返回值,0正常,非零不正常,不正常时请取和ret同级的错误描述err,下同
IsPlaying为1代表正常播放
2) 设置是否循环播放
请求:{"req":"Flash_PutLoop","rid":51,"para":{"Loop":"1"}}
返回:{"ret":0,"rid":51,"data":{"Ret":"0"}}
Ret为调用ActiveX对应函数返回值,0代表正常
3) 获取是否循环播放
请求:{"req":"Flash_GetLoop","rid":52,"para":{}}
返回:{"ret":0,"rid":52,"data":{"Loop":"1"}}
Loop返回是否循环播放,1代表循环
4) 设置播放内容
请求:{"req":"Flash_PutMovie","rid":53,"para":{"Movie":"http://zorrosoft.com/Files/test.swf"}}
Movie为播放路径,如果是本地文件或非英文的,本地路径斜杠\替换为反斜杠/,非英文的需要URL编码后再传递
返回:{"ret":0,"rid":53,"data":{"Ret":"0"}}
Ret为调用ActiveX对应函数返回值,0代表正常
5) 获取循环内容
请求:{"req":"Flash_GetMovie","rid":54,"para":{}}
返回:{"ret":0,"rid":54,"data":{"Movie":"http://zorrosoft.com/Files/test.swf"}}
Movie返回循环内容
6) 请求播放执行
请求:{"req":"Flash_Play","rid":55,"para":{}}
返回:{"ret":0,"rid":55,"data":{"Ret":"0"}}
Ret为调用ActiveX对应函数返回值,0代表正常
7) 请求播放停止
请求:{"req":"Flash_Stop","rid":56,"para":{}}
返回:{"ret":0,"rid":56,"data":{"Ret":"0"}}
Ret为调用ActiveX对应函数返回值,0代表正常
8) 请求播放回退
请求:{"req":"Flash_Back","rid":57,"para":{}}
返回:{"ret":0,"rid":57,"data":{"Ret":"0"}}
Ret为调用ActiveX对应函数返回值,0代表正常
9) 请求播放前进
请求:{"req":"Flash_Forward","rid":58,"para":{}}
返回:{"ret":0,"rid":58,"data":{"Ret":"0"}}
Ret为调用ActiveX对应函数返回值,0代表正常
10) 请求Flash的版本
请求:{"req":"Flash_Version","rid":59,"para":{}}
返回:{"ret":0,"rid":59,"data":{"Ret":"0"}}
Version返回版本信息
11) 请求退出小程序
请求:{"req":"Flash_Exit","rid":60,"para":{}}
B、其他功能请求:
1) 请求获取Flash参数
请求:{"req":"Flash_GetFlashVars","rid":70,"para":{}}
返回:{"ret":0,"rid":70,"data":{"FlashVars":""}}
FlashVars返回参数
2) 请求设置Flash参数
请求:{"req":"Flash_PutFlashVars","rid":71,"para":{"FlashVars":"Test"}}
返回:{"ret":0,"rid":71,"data":{"Ret":""}}
Ret为调用ActiveX对应函数返回值,0代表正常
3) 请求获取参数
请求:{"req":"Flash_GetVariable","rid":72,"para":{"Name":"Test"}}
返回:{"ret":0,"rid":72,"data":{"Variable":""}}
FlashVars返回参数
4) 请求设置参数
请求:{"req":"Flash_PutVariable","rid":73,"para":{"Name":"Test","Value":"1"}}
返回:{"ret":0,"rid":73,"data":{"Ret":""}}
Ret为调用ActiveX对应函数返回值,0代表正常
5) 请求获取就绪状态
请求:{"req":"Flash_GetReadyState","rid":74,"para":{}}
返回:{"ret":0,"rid":74,"data":{"ReadyState":""}}
ReadyState返回就绪状态
6) 请求获取总帧数
请求:{"req":"Flash_GetTotalFrames","rid":75,"para":{}}
返回:{"ret":0,"rid":75,"data":{"TotalFrames":""}}
ReadyState返回就绪状态
7) 请求获取加载百分比
请求:{"req":"Flash_PercentLoaded","rid":76,"para":{}}
返回:{"ret":0,"rid":76,"data":{"PercentLoaded":""}}
PercentLoaded返回加载百分比
8) 请求获取播放品质
请求:{"req":"Flash_GetQuality","rid":77,"para":{}}
返回:{"ret":0,"rid":77,"data":{"Quality":""}}
Quality返回播放品质
9) 请求设置播放品质
请求:{"req":"Flash_PutQuality","rid":78,"para":{"Quality":1}}
返回:{"ret":0,"rid":78,"data":{"Ret":""}}
Ret为调用ActiveX对应函数返回值,0代表正常
10) 请求获取背景色
请求:{"req":"Flash_GetBackgroundColor","rid":79,"para":{}}
返回:{"ret":0,"rid":79,"data":{"BackgroundColor":""}}
BackgroundColor返回播放品质
11) 请求设置背景色
请求:{"req":"Flash_PutBackgroundColor","rid":80,"para":{"BackgroundColor":-1}}
返回:{"ret":0,"rid":80,"data":{"Ret":""}}
Ret为调用ActiveX对应函数返回值,0代表正常
12) 请求退出小程序
请求:{"req":"Flash_Exit","rid":81,"para":{}}
如您需要更多的接口,请联系我们。
5、Flash Player内嵌网页小程序接收的通知:
这些通知必须通过WebSocket连接到此小程序侦听的端口才能接收到。
A、ActiveX事件:
1) ReadyState状态变化事件通知
{"event":"Flash_ReadyStateChange","data":{"State":0}} State为状态值
2) Progress进度事件通知
{"event":"Flash_Progress","data":{"Percent":0}} Percent为进度百分比
3) FSCommand执行事件通知
{"event":"Flash_FSCommand","data":{"Command":"","Args":""}} Command为请求命令,Args为参数
4) Call事件通知
{"event":"Flash_Call","data":{"Request":""}} Request为请求
B、PluginOK支持的事件通知:
1) Flash_FullScreen 小程序是否响应了热键全屏
{"event":"Flash_FullScreen","data":{"FullScreen":0}} FullScreen为当前是否全屏标记
2) Wrl_AppletExit 小程序退出通知
{"event":"Wrl_AppletExit","data":{"ID":1}}
6、其它
请求参数的JSON数据包,请确保是UTF-8无签名的编码。
更多接口请求说明,请参考安装目录中的文档TestWrl.txt、SDK包中的“PluginOK开发者手册.doc”及“PluginOK中间件安全解决方案”。
如还有疑问请直接联系客服 加微信:ZorroSoft,或加QQ群:23126938
\ No newline at end of file
IE控件小程序(内嵌网页):基于跨浏览器的小程序系统-PluginOK(牛插)中间件( https://github.com/wangzuohuai/WebRunLocal )开发,底层调用IE内核的ActiveX控件实现可程序化驱动的双内核浏览器。最低可用在Chrome 41、Firefox 52、Edge 80(Chromium内核)、360极速/安全、IE 8、Oprea 36、QQ、搜狗等浏览器,也兼容运行于这些浏览器的最新版本。
1、PluginOK(牛插)中间件的安装:
1)、如果是exe的安装程序,请直接运行安装;
2)、如果是绿色版的程序包,请解压到磁盘某个目录后,双击“InstallWrl.bat”进行安装;
3)、安装完成时会启动PluginOK中间件服务,在安装目录下的Data子目录有WrlService.txt日志文件输出运行情况。
2、IE控件内嵌网页小程序控制相关接口:
说明:以下功能请通过Web Socket连接PluginOK主服务(ws://localhost?sid=12345&flag=1)后可执行,如默认侦听端口不是80(关于如何配置侦听端口,请参考SDK包中的文档“PluginOK开发者手册.doc”),请在连接地址中指定端口号进行连接。
HTTP网页在线测试:http://zorrosoft.com/iefull.html HTTPS网页在线测试:https://zorrosoft.com/ieframe.html
前端集成可参考以上测试网页进行,HTML网页中需要嵌入以下类似代码;
A、标记小程序的显示位置和大小
.IEApplet {
margin: 20px 0 0 20px;
width: 480px;
height: 320px;
border: 1px solid blue;
}
或者
.IEApplet {
width: 480px;
height: 320px;
top: 20px;
left: 20px;
border: 1px solid blue;
}
B、嵌入
支持IFrame的:
<iframe name="IEApplet" id="IEApplet" src="IEApplet3.html" frameborder="0" align="left" width="550" height="540" scrolling="no">
或者直接用
<div id="IEApplet" class="IEApplet"</div>
另外需要嵌入用到的JS脚本,脚本程序是完全开源的。
1)、请求启动IE控件内嵌网页小程序实现网页中局部加载IE内核网页显示:
Type为浏览器类型,传0自动判断(前提是当前浏览器已启动并显示在最前端,Flag指定当前页加载时必须是0) 可强制指定浏览器类型Type(2代表Chrome 4代表Firefox 8代表Opera 16代表Edge(Chromium内核) 32代表360极速浏览器 33代表360安全浏览器 34代表360企业安全浏览器 50代表QQ浏览器 60代表搜狗浏览器)
Title:网页标题中的关键词
Flag掩码标记:1指定新标签加载(1和16都不指定时为当前页加载) 2小程序显示窗口边框 4不自动裁剪越界窗口 8自动适配网页高度和宽度显示 64根据标题避免重复加载相同的小程序
IframeX和IframeY分别为iframe嵌套的横竖偏移修正坐标
BarW和BarH分别是网页右侧和底部预留区域
小程序实际显示首先会基于网页中指定的坐标和大小,再根据IframeX、IframeY、BarW、BarH设定的值做修正
Version 指定加载的IE版本,0不指定,比如9999是IE9标准模式 8888是IE8标准模式 8000是IE8兼容模式 7000是IE7 详细定义参考:https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/general-info/ee330730(v=vs.85)?redirectedfrom=MSDN#browser_emulation
X64:是否启动64位版
Url:加载小程序所在的网页实际地址
Open:为需要用IE内核打开的Url地址或本地网页地址
注意:Open和Url如果有特殊字符或中文等,需要用URL编码处理后传递
举例:
自动识别当前浏览器指定位置和大小启动:
{"req":"Wrl_IEApplet","rid":1,"para":{"Type":"0","Title":"IE Applet","Flag":3,"Version":"0","X64":"0","IframeX":0,"IframeY":0,"BarW":0,"BarH":0,"Url": "http://zorrosoft.com/IEApplet.html","Open":"http://www.zorrosoft.com"}}
自动识别当前浏览器指定位置自动适配网页大小启动:
{"req":"Wrl_IEApplet","rid":2,"para":{"Type":"0","Title":"IE Applet","Flag":11,"Version":"0","X64":"0","IframeX":0,"IframeY":0,"BarW":0,"BarH":0,"Url": "http://zorrosoft.com/IEApplet.html","Open":"http://www.zorrosoft.com"}}
当前页指定位置自动适配网页加载测试
http://zorrosoft.com/ieframe.html
启动后会先后收到两个JSON数据包
A、{"ret":0,"rid":1,"data":{"ID":3}}
返回ID为当前小程序运行ID,通过此ID,可执行Wrl_AppletControl、Wrl_AppletScroll、Wrl_AppletResize等命令。
B、{"event":"Wrl_Listen","aid":3,"data":{"SID":"123","PID":"18BDC030-AF37-50E1-B0AE-E5EF336BE282","Port":985}}
返回的侦听端口,可再建立一个Web Socket连接后,调用小程序中的相关功能,比如新打开一个网页。
2)、请求控制IE控件内嵌网页小程序:
当前端不再需要小程序时可指定关闭,或者显示/隐藏及全屏显示等
ID为启动小程序时返回JSON中的ID值,Code代表控制类型掩码:1关闭 2全屏显示 4自动隐藏 8还原显示 16自动适配网页高度和宽度显示模式切换 32强制隐藏。其中全屏显示2,可直接通过热键ESC或取消,4和32隐藏后可通过8恢复显示
{"req":"Wrl_AppletControl","rid":2,"para":{"ID":"1","Code":4}}
3)、请求滚动IE控件内嵌网页小程序:
当前端截取到网页滚动通知时,需要调用此接口实现小程序和网页的滚动联动
ID为启动小程序时返回JSON中的ID值
Code为滚动方向1是水平直,2是垂直,3是同时
Left为横向滚动条位置,Top为纵向滚动条位置
{"req":"Wrl_AppletScroll","rid":3,"para":{"ID":"1","Code":2,"Left":0,"Top":100}}
4)、请求改变IE控件内嵌网页小程序显示位置或大小:
当前端网页显示区域缩放时,可动态修改小程序的显示位置或大小
ID为启动小程序时返回JSON中的ID值,Width和Height分别为新的宽度和高度,X和Y分别为新的显示位置,不指定时保持不变,指定时原设置的IframeX和IframeY失效
{"req":"Wrl_AppletResize","rid":4,"para":{"ID":1,"Width":500,"Height":600}}
或同时设置小程序显示起始坐标
{"req":"Wrl_AppletResize","rid":5,"para":{"ID":1,"Width":500,"Height":600,"X":20,"Y":20}}
5)、请求设置网页预留右侧宽度和底部高度,滚动条信息、垂直滚动及水平滚动位置:
当小程序显示区域超过当前网页时,需去除滚动条的显示影响
ID为启动小程序时返回JSON中的ID值,BarW为预留右侧宽度 BarH为预留底部高度
Code 1代表有水平滚动条,2代表有垂直滚动条,3代表都有
ScrollTop垂直滚动条位置 ScrollTop水平滚动条位置
{"req":"Wrl_ScrollBar","rid":6,"para":{"ID":"1","Code":2,"BarW":0,"BarH":0,"ScrollTop":0,"ScrollLeft":0}}
6)、请求缩放IE控件内嵌网页小程序,用于浏览器网页按比例缩放,一般不需要处理:
ID为启动小程序时返回JSON中的ID值,Scall为缩放百分比
{"req":"Wrl_AppletScale","rid":7,"para":{"ID":1,"Scale":120}}
3、小程序安装、升级、卸载
1)、请求安装IE控件内嵌网页小程序
请在输入框中,输入如下请求,然后点击发送,完成安装:
{"req":"Plugin_Install","rid":1,"para":{"Name":"IE控件小程序","PID":"18BDC030-AF37-50E1-B0AE-E5EF336BE282","Date":"2020-12-12","Desc":"PluginOK之上跨浏览器的IE控件内嵌网页小程序,支持在Chrome、Edge、Firefox、IE、Oprea、360、QQ等最新版本浏览器网页中内嵌使用","DownAddr":"http://local.zorrosoft.com/Files/Plugin/IEApplet.pid","MD5":"F6E95C632B79D29951FB07BB9111D31F","Version":"2.0.3.11","Size":753664,"HideIns":0,"Type":8,"Cookie":"","Auth":"","TK":"63746BE3DCBCAB381B0734CF901178EB1732153DB2D9362D0A0E02A6DB988D2AE3E9CAF3CFD8F592B64B5774DA31E29A47DB5F0184AE93EE33D9763E92B883E3F0DE415EC51BD47E56F16C1EEF2A9ABB9490F85374530DE648129B677E070E5689408BE40A87A5C4A7094ECD4F9B672C1A9FEA14A6E2CA920276C5E3AF74C412E00F3B11FF99C37105C5B14BA141AFEE3E0F1F9A1A14D69E6C02B286410319609215137598E6B26F065360C78303D5E1C3AB7264160619400A51B40A3C052FAD87A418BD399E775BCF832123B4BBF3E541295E25858C909F4892B071D21F1DA15AF24B24098FC34E3E52CF3B9C3BA147ED98F5BC448647592B5DAB0B9A80551D"}}
启动安装后,会不断收到安装进度直到安装结束。
在发布时,也可以把此小程序目录文件和中间件一起打包后发布,不用单独分发。
2)、请求升级IE内核内嵌小程序:
{"req":"Plugin_Update","rid":1,"para":{"Name":"IE控件小程序","PID":"18BDC030-AF37-50E1-B0AE-E5EF336BE282","Date":"2020-12-12","Desc":"PluginOK之上跨浏览器的IE控件内嵌网页小程序,支持在Chrome、Edge、Firefox、IE、Oprea、360、QQ等最新版本浏览器网页中内嵌使用","DownAddr":"http://local.zorrosoft.com/Files/Plugin/IEApplet_Update.pid","MD5":"189EF6FA72F2F861E1115AF548E83115","Version":"2.0.3.11","Size":753664,"HideIns":0,"Type":8,"Cookie":"","Auth":"","TK":"92B8F79F52D566062AE98A3C2FAA994133EF42175C2F6945A681082F1FCA8EE63FBD2C37BD76B34312E0F6D498B17FAD8DBFEF14FE901A697885698EA46BA6073C991C04AF651C662F36F78FF962D14679AA2669DEAE186F353D642B4796A06DAA6905248D32EA0240717410A5AFF43B238056C3C91F41578FBE6A48453251CC57C5204A1CAABCA2B6CC0DD3B60802A307639E5B538A5CE4D26F5E1D789E979AC4BAEA0E5D0EAAD05473D7AF668E5104189BB8C458B2BDB3642E887E7E58031854A4161254DBC7D00BDC7CFAF3C5927CD59B0D525B775F3750C95F8316848CC1A687939382D821100CFEB62B528231326AE93BE388488E4D0F7320409D5C485D"}}
以上安装和升级的JSON请求包,可能因版本升级导致内容不同,如遇安装或升级时报错,请联系客服获取最新的请求包。
3)、请求卸载IE控件内嵌网页小程序:
{"req":"Plugin_Remove","rid":3,"para":{"PID":"18BDC030-AF37-50E1-B0AE-E5EF336BE282","Type":8}}
4、IE控件内嵌网页小程序转调用ActiveX接口,先根据Wrl_IEApplet请求启动后返回的端口号,新建立一个WebSocket连接后可执行如下指令:
A、常用功能请求:
1) 停止
请求:{"req":"IE_Stop","rid":50,"para":{}}
返回:{"ret":0,"rid":50,"data":{"Ret":"0"}}
ret为请求返回值,0正常,非零不正常,不正常时请取和ret同级的错误描述err,下同
Ret为调用ActiveX对应函数返回值,0代表正常
2) 刷新网页
请求:{"req":"IE_Refresh","rid":51,"para":{"Loop":"1"}}
返回:{"ret":0,"rid":51,"data":{"Ret":"0"}}
Ret为调用ActiveX对应函数返回值,0代表正常
3) 回退
请求:{"req":"IE_GoBack","rid":52,"para":{}}
返回:{"ret":0,"rid":52,"data":{"Ret":"0"}}
Ret为调用ActiveX对应函数返回值,0代表正常
4) 前进
请求:{"req":"IE_GoForward","rid":53,"para":{}}
返回:{"ret":0,"rid":53,"data":{"Ret":"0"}}
Ret为调用ActiveX对应函数返回值,0代表正常
5) 导航到主页
请求:{"req":"IE_GoHome","rid":54,"para":{}}
返回:{"ret":0,"rid":54,"data":{"Ret":"0"}}
Ret为调用ActiveX对应函数返回值,0代表正常
6) 导航到指定网页
请求:{"req":"IE_Navigate","rid":55,"para":{"Url":"http://www.baidu.com"}}
返回:{"ret":0,"rid":55,"data":{"Ret":"0"}}
Ret为调用ActiveX对应函数返回值,0代表正常
7) 请求执行脚本,必须等文档加载完成后
Code为需要执行的脚本内容
Language 脚本类型
请求:{"req":"IE_ExecScript","rid":56,"para":{"Code":"alert(\"hello\");","Language":"javascript"}}
返回:{"ret":0,"rid":56,"data":{"Ret":"0","ScriptRet":""}}
Ret为调用返回值,0代表正常
ScriptRet执行脚本返回内容,只支持字符型,非字符型先用BASE64编码
8) 请求注入脚本,必须等文档加载完成后
Code为需要注入的脚本内容
请求:{"req":"IE_AddScript","rid":57,"para":{"Code":"alert(\"hello\");"}}
返回:{"ret":0,"rid":57,"data":{"Ret":"0"}}
Ret为调用返回值,0代表正常
9) 请求调用脚本(已在打开的网页中),必须等文档加载完成后
FuncName脚本函数名称
Para函数参数
请求:{"req":"IE_InvokeScript","rid":58,"para":{"FuncName":"HelloWord";","Para":["My","Name"]}}
返回:{"ret":0,"rid":58,"data":{"Ret":"0","FuncRet":""}}
Ret为调用返回值,0代表正常
FuncRet调用函数返回内容,只支持字符型,非字符型先用BASE64编码
10) 请求退出小程序
请求:{"req":"IE_Exit","rid":59,"para":{}}
5、事件通知:
A、IE控件事件
1) IE_BeforeNavigate 准备打开新的URL
{"event":"IE_BeforeNavigate","data":{"Url":""}} Url为新打开的URL地址
2) IE_NavigateComplete URL打开完成
{"event":"IE_NavigateComplete","data":{"Url":""}} Url为URL地址
3) IE_DocumentComplete URL文档加载完成
{"event":"IE_DocumentComplete","data":{"Url":""}} Url为URL地址
4) IE_NewNavigate 新窗口打开指定URL
{"event":"IE_NewNavigate","data":{"Url":"","Ret":0}} Url为新URL地址 Ret为打开结果
5) IE_ProgressChange 进度条进度通知
{"event":"IE_ProgressChange","data":{"Progress":0,"Max":0}} Progress当前进度 Max进度最大值
6) IE_SetSecureLockIcon 设置安全锁定图标
{"event":"IE_SetSecureLockIcon","data":{"SecureLockIcon":0}}
7) IE_StatusTextChange 状态变化
{"event":"IE_StatusTextChange","data":{"Status":""}} Status状态文字描述
8) IE_TitleChange 标题变化
{"event":"IE_TitleChange","data":{"Title":""}} Title 标题
9) IE_WindowClosing 窗口关闭
{"event":"IE_WindowClosing","data":{"ChildWindow":0}} ChildWindow是否子窗口
10) IE_CommandStateChange 命令状态变化
{"event":"IE_CommandStateChange","data":{"Command":0,"Enable":0}} Command命令ID,Enable是否启用
B、PluginOK支持的事件通知:
1) IE_FullScreen 小程序是否响应了热键全屏
{"event":"IE_FullScreen","data":{"FullScreen":0}} FullScreen为当前是否全屏标记
2) Wrl_AppletExit 小程序退出通知
{"event":"Wrl_AppletExit","data":{"ID":1}}
6、其它
请求参数的JSON数据包,请确保是UTF-8无签名的编码。
更多接口请求说明,请参考安装目录中的文档TestWrl.txt、SDK包中的“PluginOK开发者手册.doc”及“PluginOK中间件安全解决方案”。
如还有疑问请直接联系客服 加微信:ZorroSoft,或加QQ群:23126938
\ No newline at end of file
文件已添加
IE标签页小程序:基于跨浏览器的小程序系统-PluginOK(牛插)中间件( https://github.com/wangzuohuai/WebRunLocal )开发,底层调用IE内核的ActiveX控件实现可程序化驱动的双内核浏览器。最低可用在Chrome 41、Firefox 52、Edge 80(Chromium内核)、360极速/安全、IE、Oprea 36、QQ等浏览器,也兼容运行于这些浏览器的最新版本。
1、PluginOK(牛插)中间件的安装:
1)、如果是exe的安装程序,请直接运行安装;
2)、如果是绿色版的程序包,请解压到磁盘某个目录后,双击“InstallWrl.bat”进行安装;
3)、安装完成时会启动PluginOK中间件服务,在安装目录下的Data子目录有WrlService.txt日志文件输出运行情况。
2、IE标签页小程序控制相关接口:
说明:以下功能请通过Web Socket连接PluginOK主服务(ws://localhost?sid=12345&flag=1)后可执行,如默认侦听端口不是80(关于如何配置侦听端口,请参考SDK包中的文档“PluginOK开发者手册.doc”),请在连接地址中指定端口号进行连接。
HTTP网页在线测试:http://zorrosoft.com/ienewtab.html HTTPS网页在线测试:https://zorrosoft.com/ienewtab.html
1)、请求启动IE标签页小程序:
Type为浏览器类型,传0自动判断(前提是当前浏览器已启动并显示在最前端,Flag指定当前页加载时必须是0) 可强制指定浏览器类型Type(2代表Chrome 4代表Firefox 8代表Opera 16代表Edge(Chromium内核) 32代表360极速浏览器 33代表360安全浏览器 34代表360企业安全浏览器 50代表QQ浏览器 60代表搜狗浏览器)
Flag掩码标记:1指定标签页加载(1和16都不指定时为当前页加载) 2小程序显示窗口边框 64根据标题避免重复加载相同的小程序
Title:标签页页时为创建的网页标题
Version 指定加载的IE版本,0不指定,比如9999是IE9标准模式 8888是IE8标准模式 8000是IE8兼容模式 7000是IE7 详细定义参考:https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/general-info/ee330730(v=vs.85)?redirectedfrom=MSDN#browser_emulation
X64:是否启动64位版
Url:加载小程序所在的网页地址
Open:为需要用IE内核打开的Url实际地址或本地网页地址
注意:Open和Url如果有特殊字符或中文等,需要用URL编码处理后传递
举例:
自动识别当前浏览器启动:
{"req":"Wrl_IETab","rid":6,"para":{"Type":"0","Flag":1,"Title":"IE Tab","Version":"0","X64":"0","Open":"http://xiuxiu.web.meitu.com/main.html"}}
浏览器当前页面启动演示
http://zorrosoft.com/IENewTab.html
启动后会先后收到两个JSON数据包
A、{"ret":0,"rid":1,"data":{"ID":1}}
返回ID为当前小程序运行ID,通过此ID,可执行Wrl_AppletControl命令。
B、{"event":"Wrl_Listen","aid":1,"data":{"SID":"123","PID":"18BDC030-AF37-50E1-B0AE-E5EF336BE281","Port":980}}
返回的侦听端口,可再建立一个Web Socket连接后,调用小程序中的相关功能,比如新打开一个网页。
2)、请求控制IE标签页小程序:
当前端不再需要小程序时可指定关闭,或者显示/隐藏及全屏显示等
ID为Wrl_IETab启动小程序时返回的ID值,Code代表控制类型掩码:1关闭 2全屏显示 4自动隐藏 8还原显示。其中全屏显示2,可直接通过热键ESC或取消,4隐藏后可通过8恢复显示
{"req":"Wrl_AppletControl","rid":2,"para":{"ID":"1","Code":4}}
3、小程序安装、升级、卸载
1)、请求安装IE标签页小程序
请在输入框中,输入如下请求,然后点击发送,完成安装:
{"req":"Plugin_Install","rid":1,"para":{"Name":"IE标签页小程序","PID":"18BDC030-AF37-50E1-B0AE-E5EF336BE281","Date":"2020-12-12","Desc":"PluginOK之上跨浏览器的IE标签页内嵌小程序,支持在Chrome、Edge、Firefox、IE、Oprea、360、QQ等最新版本浏览器网页中内嵌使用","DownAddr":"http://local.zorrosoft.com/Files/Plugin/IENewTab.pid","MD5":"93CFD040B121A10C77CB4A0563E93690","Version":"2.0.3.11","Size":753664,"HideIns":0,"Type":8,"Cookie":"","Auth":"","TK":"A27E174AD1FBCF4844BA88D9A18C701E522BBE7681D66579215D1879E33D8D5B36DF7C8457F2F831E0F0A2C3F1A809A39A6EB0E20E2DA6A80A833DF0EE5CE5216ACA09A4FF670F43ADA0AB537DAE6A3429795EBEAB8CCD3A8B878ACB9C5595EA0E6F64C9DB4900F8D3F36260F3BA4EC53B2B1A78599F461A7841AC2A45DD2FF11B89A42720853A490EA668489F1B5CE15C72B48C06185F898A77D054B095806CA4D033249029876E0DE6A1D9ED37A428B959CEED2DBC1B5D5EBC18556F557230FA0FE942072749C2592375D985C3228D7EC55727030DD4496F13E551101588BE3BD3F4888DDA346E1F0D4BE5213D13814CA1D33AA0633B9D43A212507D9900B4"}}
启动安装后,会不断收到安装进度直到安装结束。
2)、请求升级IE标签页小程序:
{"req":"Plugin_Update","rid":1,"para":{"Name":"IE标签页小程序","PID":"18BDC030-AF37-50E1-B0AE-E5EF336BE281","Date":"2020-12-12","Desc":"PluginOK之上跨浏览器的IE标签页内嵌小程序,支持在Chrome、Edge、Firefox、IE、Oprea、360、QQ等最新版本浏览器网页中内嵌使用","DownAddr":"http://local.zorrosoft.com/Files/Plugin/IENewTab_Update.pid","MD5":"8D5D3EFD60AE53D4757BF270DF1374D3","Version":"2.0.3.11","Size":753664,"HideIns":0,"Type":8,"Cookie":"","Auth":"","TK":"65B230C51C1CB33DFBC2F3BC42077B8DA2BF09C678C4FA871C936486802D562BEC92C2FD51F0977645B9B777345DC08D60860830CC547C1BED2F3582B54FAD3871581AB1C4AB2C205ECA759E6AE5433B30AB26F7B1EEA6FE585DE7F28FEDD69A94A80D7BA20B3DF91E3E6C2468AB4FCF1D1001A3A2D84072565AE2EFFB6E86AF360DEFA262CDF7BAB032971C4FC480B7338D2B966E918D9EAC1E483EBF1993E5435978DC174EB8A2895FB61B66A23DD7D3C26DD69EB6BD0BC95A655ECBA7E2487D5823F47D56CE19A9FA71FB0844B342127DAB14FC8E3124314857FD10A585C80E3DB3194FB275A6A8EC2F6FE713112DAA3005D543095D98840911020088D05B"}}
以上安装和升级的JSON请求包,可能因版本升级导致内容不同,如遇安装或升级时报错,请联系客服获取最新的请求包。
3)、请求卸载IE标签页小程序:
{"req":"Plugin_Remove","rid":3,"para":{"PID":"18BDC030-AF37-50E1-B0AE-E5EF336BE281","Type":8}}
4、IE标签页小程序转调用ActiveX接口,先根据Wrl_IETab请求启动后返回的端口号,新建立一个WebSocket连接后可执行如下指令:
A、常用功能请求:
1) 停止
请求:{"req":"IE_Stop","rid":50,"para":{}}
返回:{"ret":0,"rid":50,"data":{"Ret":"0"}}
ret为请求返回值,0正常,非零不正常,不正常时请取和ret同级的错误描述err,下同
Ret为调用ActiveX对应函数返回值,0代表正常
2) 刷新网页
请求:{"req":"IE_Refresh","rid":51,"para":{"Loop":"1"}}
返回:{"ret":0,"rid":51,"data":{"Ret":"0"}}
Ret为调用ActiveX对应函数返回值,0代表正常
3) 回退
请求:{"req":"IE_GoBack","rid":52,"para":{}}
返回:{"ret":0,"rid":52,"data":{"Ret":"0"}}
Ret为调用ActiveX对应函数返回值,0代表正常
4) 前进
请求:{"req":"IE_GoForward","rid":53,"para":{}}
返回:{"ret":0,"rid":53,"data":{"Ret":"0"}}
Ret为调用ActiveX对应函数返回值,0代表正常
5) 导航到主页
请求:{"req":"IE_GoHome","rid":54,"para":{}}
返回:{"ret":0,"rid":54,"data":{"Ret":"0"}}
Ret为调用ActiveX对应函数返回值,0代表正常
6) 导航到指定网页
请求:{"req":"IE_Navigate","rid":55,"para":{"Url":"http://www.baidu.com"}}
返回:{"ret":0,"rid":55,"data":{"Ret":"0"}}
Ret为调用ActiveX对应函数返回值,0代表正常
7) 请求执行脚本,必须等文档加载完成后
Code为需要执行的脚本内容
Language 脚本类型
请求:{"req":"IE_ExecScript","rid":56,"para":{"Code":"alert(\"hello\");","Language":"javascript"}}
返回:{"ret":0,"rid":56,"data":{"Ret":"0","ScriptRet":""}}
Ret为调用返回值,0代表正常
ScriptRet执行脚本返回内容,只支持字符型,非字符型先用BASE64编码
8) 请求注入脚本,必须等文档加载完成后
Code为需要注入的脚本内容
请求:{"req":"IE_AddScript","rid":57,"para":{"Code":"alert(\"hello\");"}}
返回:{"ret":0,"rid":57,"data":{"Ret":"0"}}
Ret为调用返回值,0代表正常
9) 请求调用脚本(已在打开的网页中),必须等文档加载完成后
FuncName脚本函数名称
Para函数参数
请求:{"req":"IE_InvokeScript","rid":58,"para":{"FuncName":"HelloWord";","Para":["My","Name"]}}
返回:{"ret":0,"rid":58,"data":{"Ret":"0","FuncRet":""}}
Ret为调用返回值,0代表正常
FuncRet调用函数返回内容,只支持字符型,非字符型先用BASE64编码
10) 请求退出小程序
请求:{"req":"IE_Exit","rid":59,"para":{}}
5、事件通知:
A、IE控件事件
1) IE_BeforeNavigate 准备打开新的URL
{"event":"IE_BeforeNavigate","data":{"Url":""}} Url为新打开的URL地址
2) IE_NavigateComplete URL打开完成
{"event":"IE_NavigateComplete","data":{"Url":""}} Url为URL地址
3) IE_DocumentComplete URL文档加载完成
{"event":"IE_DocumentComplete","data":{"Url":""}} Url为URL地址
4) IE_NewNavigate 新窗口打开指定URL
{"event":"IE_NewNavigate","data":{"Url":"","Ret":0}} Url为新URL地址 Ret为打开结果
5) IE_ProgressChange 进度条进度通知
{"event":"IE_ProgressChange","data":{"Progress":0,"Max":0}} Progress当前进度 Max进度最大值
6) IE_SetSecureLockIcon 设置安全锁定图标
{"event":"IE_SetSecureLockIcon","data":{"SecureLockIcon":0}}
7) IE_StatusTextChange 状态变化
{"event":"IE_StatusTextChange","data":{"Status":""}} Status状态文字描述
8) IE_TitleChange 标题变化
{"event":"IE_TitleChange","data":{"Title":""}} Title 标题
9) IE_WindowClosing 窗口关闭
{"event":"IE_WindowClosing","data":{"ChildWindow":0}} ChildWindow是否子窗口
10) IE_CommandStateChange 命令状态变化
{"event":"IE_CommandStateChange","data":{"Command":0,"Enable":0}} Command命令ID,Enable是否启用
B、PluginOK支持的事件通知:
1) IE_FullScreen 小程序是否响应了热键全屏
{"event":"IE_FullScreen","data":{"FullScreen":0}} FullScreen为当前是否全屏标记
2) Wrl_AppletExit 小程序退出通知
{"event":"Wrl_AppletExit","data":{"ID":1}}
6、其它
请求参数的JSON数据包,请确保是UTF-8无签名的编码。
更多接口请求说明,请参考安装目录中的文档TestWrl.txt、SDK包中的“PluginOK开发者手册.doc”及“PluginOK中间件安全解决方案”。
如还有疑问请直接联系客服 加微信:ZorroSoft,或加QQ群:23126938
\ No newline at end of file
cd /d %~dp0
WrlSetup.exe /I
\ No newline at end of file
微软Office内嵌网页小程序:基于跨浏览器的小程序系统-PluginOK(牛插)中间件( https://github.com/wangzuohuai/WebRunLocal )开发,底层调用微软Office的VBA接口实现可程序化驱动的网页在线编辑办公控件,可分别将Word、Excel、PowerPoint软件窗口内嵌到网页指定区域运行并操控。最低可用在Chrome 41、Firefox 52、Edge 80(Chromium内核)、360极速/安全、IE 8、Oprea 36、QQ、搜狗等浏览器,也兼容运行于这些浏览器的最新版本。
1、PluginOK(牛插)中间件的安装:
1)、如果是exe的安装程序,请直接运行安装;
2)、如果是绿色版的程序包,请解压到磁盘某个目录后,双击“InstallWrl.bat”进行安装;
3)、安装完成时会启动PluginOK中间件服务,在安装目录下的Data子目录有WrlService.txt日志文件输出运行情况。
2、微软Office内嵌网页小程序控制相关接口:
说明:以下功能请通过Web Socket连接PluginOK主服务(ws://localhost?sid=12345&flag=1)后可执行,如默认侦听端口不是80(关于如何配置侦听端口,请参考SDK包中的文档“PluginOK开发者手册.doc”),请在连接地址中指定端口号进行连接。
HTTP网页在线测试:http://zorrosoft.com/wordfull.html HTTPS网页在线测试:https://zorrosoft.com/officeframe.html
前端集成可参考以上测试网页进行,HTML网页中需要嵌入以下类似代码;
A、标记小程序的显示位置和大小
.OfficeApplet {
margin: 20px 0 0 20px;
width: 480px;
height: 320px;
border: 1px solid blue;
}
或者
.OfficeApplet {
width: 480px;
height: 320px;
top: 20px;
left: 20px;
border: 1px solid blue;
}
B、嵌入
支持IFrame的:
<iframe name="OfficeApplet" id="OfficeApplet" src="OfficeApplet3.html" frameborder="0" align="left" width="550" height="540" scrolling="no">
或者直接用
<div id="OfficeApplet" class="OfficeApplet"</div>
另外需要嵌入用到的JS脚本,脚本程序是完全开源的。
1)、请求启动微软Office内嵌网页小程序实现网页中局部加载doc/xls/ppt等文档显示:
Type为浏览器类型,传0自动判断(前提是当前浏览器已启动并显示在最前端,Flag指定当前页加载时必须是0) 可强制指定浏览器类型Type(2代表Chrome 4代表Firefox 8代表Opera 16代表Edge(Chromium内核) 32代表360极速浏览器 33代表360安全浏览器 34代表360企业安全浏览器 50代表QQ浏览器 60代表搜狗浏览器)
Title:网页标题中的关键词
Flag掩码标记:1指定新标签加载(1和16都不指定时为当前页加载) 2小程序显示窗口边框 4不自动裁剪越界窗口 8自动适配网页高度和宽度显示 64根据标题避免重复加载相同的小程序
IframeX和IframeY分别为iframe嵌套的横竖偏移修正坐标
BarW和BarH分别是网页右侧和底部预留区域
小程序实际显示首先会基于网页中指定的坐标和大小,再根据IframeX、IframeY、BarW、BarH设定的值做修正
OType 1启动微软Word;OType 2启动微软Excel;OType 3启动微软PPT;
Url:加载小程序所在的网页实际地址
Open:为需要打开的文档路径,磁盘目录斜杠用/
注意:Open和Url如果有特殊字符或中文等,需要用URL编码处理后传递
举例:
自动识别当前浏览器并启动微软Word程序
{"req":"Wrl_OfficeApplet","rid":5,"para":{"Type":"0","Title":"Office Applet","Flag":1,"IframeX":0,"IframeY":0,"BarW":0,"BarH":0,"Url": "http://zorrosoft.com/OfficeApplet2.html","OType":"1","Open":"D:/Zorro/test.doc"}}
自动识别当前浏览器并启动微软Excel程序
{"req":"Wrl_OfficeApplet","rid":6,"para":{"Type":"0","Title":"Office Applet","Flag":1,"IframeX":0,"IframeY":0,"BarW":0,"BarH":0,"Url": "http://zorrosoft.com/OfficeApplet2.html","OType":"2","Open":"D:/Zorro/test.xls"}}
自动识别当前浏览器并启动微软PPT程序
{"req":"Wrl_OfficeApplet","rid":7,"para":{"Type":"0","Title":"Office Applet","Flag":1,"IframeX":0,"IframeY":0,"BarW":0,"BarH":0,"Url": "http://zorrosoft.com/OfficeApplet2.html","OType":"3","Open":"D:/Zorro/test.ppt"}}
自动识别当前浏览器指定位置自动适配网页大小启动:
{"req":"Wrl_OfficeApplet","rid":8,"para":{"Type":"0","Title":"Office Applet","Flag":9,"IframeX":0,"IframeY":0,"BarW":0,"BarH":0,"Url": "http://zorrosoft.com/OfficeApplet2.html","OType":"1","Open":"D:/Zorro/test.doc"}}
当前页指定位置自动适配网页加载测试
http://zorrosoft.com/officeframe.html
启动后会先后收到两个JSON数据包
A、{"ret":0,"rid":1,"data":{"ID":3}}
返回ID为当前小程序运行ID,通过此ID,可执行Wrl_AppletControl、Wrl_AppletScroll、Wrl_AppletResize等命令。
B、{"event":"Wrl_Listen","aid":3,"data":{"SID":"123","PID":"EF720B55-787B-4CBC-AD0A-AE219CFD52C9","Port":950}}
返回的侦听端口,可再建立一个Web Socket连接后,调用小程序中的相关功能,比如新打开一个网页。
2)、请求控制微软Office内嵌网页小程序:
当前端不再需要小程序时可指定关闭,或者显示/隐藏及全屏显示等
ID为启动小程序时返回JSON中的ID值,Code代表控制类型掩码:1关闭 2全屏显示 4自动隐藏 8还原显示 16自动适配网页高度和宽度显示模式切换 32强制隐藏。其中全屏显示2,可直接通过热键ESC或取消,4和32隐藏后可通过8恢复显示
{"req":"Wrl_AppletControl","rid":2,"para":{"ID":"1","Code":4}}
3)、请求滚动微软Office内嵌网页小程序:
当前端截取到网页滚动通知时,需要调用此接口实现小程序和网页的滚动联动
ID为启动小程序时返回JSON中的ID值
Code为滚动方向1是水平直,2是垂直,3是同时
Left为横向滚动条位置,Top为纵向滚动条位置
{"req":"Wrl_AppletScroll","rid":3,"para":{"ID":"1","Code":2,"Left":0,"Top":100}}
4)、请求改变微软Office内嵌网页小程序显示位置或大小:
当前端网页显示区域缩放时,可动态修改小程序的显示位置或大小
ID为启动小程序时返回JSON中的ID值,Width和Height分别为新的宽度和高度,X和Y分别为新的显示位置,不指定时保持不变,指定时原设置的IframeX和IframeY失效
{"req":"Wrl_AppletResize","rid":4,"para":{"ID":1,"Width":500,"Height":600}}
或同时设置小程序显示起始坐标
{"req":"Wrl_AppletResize","rid":5,"para":{"ID":1,"Width":500,"Height":600,"X":20,"Y":20}}
5)、请求设置网页预留右侧宽度和底部高度,滚动条信息、垂直滚动及水平滚动位置:
当小程序显示区域超过当前网页时,需去除滚动条的显示影响
ID为启动小程序时返回JSON中的ID值,BarW为预留右侧宽度 BarH为预留底部高度
Code 1代表有水平滚动条,2代表有垂直滚动条,3代表都有
ScrollTop垂直滚动条位置 ScrollTop水平滚动条位置
{"req":"Wrl_ScrollBar","rid":6,"para":{"ID":"1","Code":2,"BarW":0,"BarH":0,"ScrollTop":0,"ScrollLeft":0}}
6)、请求缩放微软Office内嵌网页小程序,用于浏览器网页按比例缩放,一般不需要处理:
ID为启动小程序时返回JSON中的ID值,Scall为缩放百分比
{"req":"Wrl_AppletScale","rid":7,"para":{"ID":1,"Scale":120}}
3、小程序安装、升级、卸载
1)、请求安装微软Office内嵌网页小程序
请在输入框中,输入如下请求,然后点击发送,完成安装:
{"req":"Plugin_Install","rid":1,"para":{"Name":"微软Office内嵌网页小程序","PID":"EF720B55-787B-4CBC-AD0A-AE219CFD52C9","Date":"2020-12-12","Desc":"PluginOK之上跨浏览器的微软Office内嵌网页小程序,支持在Chrome、Firefox、Edge、IE、Oprea、360、QQ等最新版本浏览器网页中内嵌Word、Excel、PowerPoint等程序进行在线编辑或审阅各类办公文档","DownAddr":"http://local.zorrosoft.com/Files/Plugin/OfficeApplet.pid","MD5":"E3252299F94130E12DC79BA959A6302F","Version":"2.0.3.11","Size":753664,"HideIns":0,"Type":8,"Cookie":"","Auth":"","TK":"676DE1A347AA5718DD7A1170DE9D096CBFED9C9ABB68FD6070AE1CBF81B3B011542F65740C788D4084E634CFD5952E77D52E4C82B9E1CB34A6906FFB5DD0C348FFAC0F466AA8C75D0C88841F4AFDDB2697377DE129CF53262E123505DF5928AC5016FE22AB7CA52341B9708C72C5ECE23000ED968532A18020F82C7AD2C77012EEDE48BC696DFACC167B2ECCEA01E8012783848B8B4CEC71EF96713E77929CAD8BF8D8B875DF62DECABDBC3072E70534B879A7208C52088D95A84D6C9D659C04852CA0039EEE8DDEFC96AF12645ADA73637F286A125C813EC383A3F4A8549BE8681138341D2845768DADA9A7E0B3303FC3D7046562ECD9793F3B11F97D85167D"}}
启动安装后,会不断收到安装进度直到安装结束。
在发布时,也可以把此小程序目录文件和中间件一起打包后发布,不用单独分发。
2)、请求升级微软Office内嵌网页小程序:
{"req":"Plugin_Update","rid":1,"para":{"Name":"微软Office内嵌网页小程序","PID":"EF720B55-787B-4CBC-AD0A-AE219CFD52C9","Date":"2020-12-12","Desc":"PluginOK之上跨浏览器的微软Office内嵌网页小程序,支持在Chrome、Firefox、Edge、IE、Oprea、360、QQ等最新版本浏览器网页中内嵌Word、Excel、PowerPoint等程序进行在线编辑或审阅各类办公文档","DownAddr":"http://local.zorrosoft.com/Files/Plugin/OfficeApplet_Update.pid","MD5":"37D8373EB2F68005B0C3D27938562FE7","Version":"2.0.3.11","Size":753664,"HideIns":0,"Type":8,"Cookie":"","Auth":"","TK":"9D996D3F9910A141E175B1227C57104F327784E6152B6BE0CFC3255E7CE2B7D12A71ECFE5C926905CBD6B448D8A4F4B438FCD7E2E52362EACC6C7863F64BE827942FB7C5432F69E5A6C37CB48AE24EF11D66DBC5CAFD53E2DC94D63F1EBBDF014E3317C60A86F17A5B140077A27B91BBA4F36498E08064BD82676B0AF4947920C5A2CD7C245E5B744A9EA22EDA2FCF30A841CDD2DE3CED387F0BD2A19D10F373D77095F1A922AFC26303FE00EA8EDB4482221C8F7A3E1D42865D14BE0F4C105A43D651555F02F0268716C2952B055C98EB7294AC80B50E780517D920CD13A5D4CE25E396DAA29F189057C8787D572B58BF9150E5AE58C72FA26D7E7E64F03364"}}
以上安装和升级的JSON请求包,可能因版本升级导致内容不同,如遇安装或升级时报错,请联系客服获取最新的请求包。
3)、请求卸载微软Office内嵌网页小程序:
{"req":"Plugin_Remove","rid":3,"para":{"PID":"EF720B55-787B-4CBC-AD0A-AE219CFD52C9","Type":8}}
4、微软Office内嵌网页小程序转调用Office软件的VBA接口,先根据Wrl_OfficeApplet请求启动后返回的端口号,新建立一个WebSocket连接后可执行如下指令:
A、常用功能请求:
请求退出小程序
{"req":"Office_Exit","rid":1,"para":{}}
请求关闭文档
{"req":"Office_Close","rid":2,"para":{}}
请求打开文档
{"req":"Office_Open","rid":3,"para":{"Open":"D:/Zorro/test.doc"}}
5、事件通知:
A、
B、PluginOK支持的事件通知:
1) 小程序是否响应了热键全屏
以下分别为Word字处理、Excel表格、Powerpoint演示程序的全屏事件通知
{"event":"WORD_FullScreen","data":{"FullScreen":0}} FullScreen为当前是否全屏标记
{"event":"EXCEL_FullScreen","data":{"FullScreen":0}} FullScreen为当前是否全屏标记
{"event":"PPT_FullScreen","data":{"FullScreen":0}} FullScreen为当前是否全屏标记
2) Wrl_AppletExit 小程序退出通知
{"event":"Wrl_AppletExit","data":{"ID":1}}
6、其它
请求参数的JSON数据包,请确保是UTF-8无签名的编码。
更多接口请求说明,请参考安装目录中的文档TestWrl.txt、SDK包中的“PluginOK开发者手册.doc”及“PluginOK中间件安全解决方案”。
如还有疑问请直接联系客服 加微信:ZorroSoft,或加QQ群:23126938
\ No newline at end of file
文件已添加
文件已添加
{
"FirstInstall":"AIP_Setup.exe",
"PORT": 1200
}
\ No newline at end of file
{
"FirstInstall":"VLCIns.exe",
"COM": "axvlc.dll",
"Caching":300,
"RTSPTCP":0,
"PORT": 930
}
\ No newline at end of file
{
"PORT": 12900
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
{
"FirstInstall":"flashplayer.exe",
"PORT": 990
}
\ No newline at end of file
{
"PORT": 12800
}
\ No newline at end of file
cd /d %~dp0
WrlSetup.exe /U
\ No newline at end of file
微软语音引擎小程序,基于跨浏览器的小程序系统-PluginOK(牛插)中间件(https://github.com/wangzuohuai/WebRunLocal)开发,提供文本朗读等服务。最低可用在Chrome 41、Firefox 52、Edge 80(Chromium内核)、360极速/安全、IE 8、Oprea 36、QQ、搜狗等浏览器,也兼容运行于这些浏览器的最新版本。
1、PluginOK(牛插)中间件的安装:
1)、如果是exe的安装程序,请直接运行安装;
2)、如果是绿色版的程序包,请解压到磁盘某个目录后,双击“InstallWrl.bat”进行安装;
3)、安装完成时会启动PluginOK中间件服务,在安装目录下的Data子目录有WrlService.txt日志文件输出运行情况;
4)、此小程序不能运行在系统服务下,需要修改WrlConfig.json里的NoService为1后安装,如已生成data目录下的此配置文件,需要同步修改。
2、请求安装微软语音引擎小程序:
{"req":"Plugin_Install","rid":1,"para":{"Name":"微软语音引擎小程序","PID":"AE023C55-E408-45DB-BF58-8B11C4E8D945","Date":"2020-12-18","Desc":"PluginOK中间件之上跨浏览器的微软语音引擎小程序,可在Chrome、Edge、Firefox、IE、Opera、360、QQ、搜狗等的浏览器最新版中实现朗读指定文字功能","DownAddr":"http://local.zorrosoft.com/Files/Plugin/WrlSpVoice.pid","MD5":"3A3F91ED95C7EBC8D07F4DA03EA069EE","Version":"2.0.3.11","Size":458752,"HideIns":0,"Type":1,"Cookie":"","Auth":"","TK":"AFE0F076A6C0E2B2F5B1FFA26B18658B4DB1528EBDD3339C68A2BC3A7DC7F93928B68111405DF90505B30F91276145B24241D5651EA18E95FDA7BA2DAE177994C65DAC5605345575556658B4BCE618E3D2800BB25AE5481E493B53428968512E4618C70B854D62EAA184F7D4BF33C4853311E66C5F9D58591894B9CCEEBA49161CEB7917D10081F43C1635A9C6C27B0569AF8EBD2EAEE98E88F6D3988F10062068E8B77BBD602D8F89A16D4141D68785E5E1B2634F51FFE4B6DF426B7A78492BBA85C6FFB0E5BDFA3CB47FA924649C228744DA785AD2F0B2A0FFC0F536953055A89E8D2CE9A0126087152A645404813BE64CED46A00F5C98C1843A42ECFD663F"}}
3、请求更新微软语音引擎小程序:
{"req":"Plugin_Update","rid":1,"para":{"Name":"微软语音引擎小程序","PID":"AE023C55-E408-45DB-BF58-8B11C4E8D945","Date":"2020-12-18","Desc":"PluginOK中间件之上跨浏览器的微软语音引擎小程序,可在Chrome、Edge、Firefox、IE、Opera、360、QQ、搜狗等的浏览器最新版中实现朗读指定文字功能","DownAddr":"http://local.zorrosoft.com/Files/Plugin/WrlSpVoice_Update.pid","MD5":"B1465FD907A366E036956D9A796F1D87","Version":"2.0.3.11","Size":458752,"HideIns":0,"Type":1,"Cookie":"","Auth":"","TK":"850DF6D8CFD0DAA5DCFCE9CD8813B724EF7301BB32B4598BD677B32D2A7BDAD0A435C3E883A47CE68DED21A9E24CD0270A355C604EC54871E37ACC51B2ED1B57E1F69BA07AE0720F89B09BB9885B03E31DCD253B4604D7539B72C031426DC72B5A73B2CA7791D6F3A351DA688E365CD2FB6344F51E48B56748E0403C0E62B5790779BF8247C3984F54C32FF31297BA7AB21E1311B9B5E6273E44465BB1826A0F04D05EE297473E39EC71231691DDBE0039490DD6CDF69BAD24DE78263025F0F7993976D5EB6DFA53A6230D5EB025E4FA48428D5E2D84A0D15D6CD57FB2C6A881E5FAAB28E38ED7DDEE027DC7425D116F8FA6D602F0C540B933C33C4F1E9EC225"}}
以上安装和升级的JSON请求包,可能因版本升级导致内容不同,如遇安装或升级时报错,请联系客服获取最新的请求包。
4、连接请求微软语音引擎小程序服务:
说明:以下功能请通过Web Socket连接后可执行,如默认侦听端口不是80(关于如何配置侦听端口,请参考SDK包中的文档“PluginOK开发者手册.doc”),请在连接地址中指定端口号进行连接。
HTTP网页在线测试:http://local.zorrosoft.com HTTPS网页在线测试:https://local.zorrosoft.com
打开测试网页,输入地址:ws://localhost?sid=111&pid=5DC63C90-904B-445F-BBE0-5518E741783B&flag=1 点击连接;
支持的协议功能如下:
A、朗读指定文本
Text为朗读内容,也可以是实际的WAV声音文件来播放 Type为朗读类型(1异步,0同步),仅对朗读文字有效,播放WAV是同步方式,指定OutFile参数时代表朗读文字时自动录音保存到wav文件中
{"req":"SAPI_Speak","rid":1,"para":{"Text":"你好","Type":1,"OutFile":"D:/Zorro/test.wav"}}
返回内容 {"ret":0,"rid":1,"data":{"Ret":0}} Ret代表是否成功
B、暂停朗读
{"req":"SAPI_Pause","rid":2,"para":{}}
返回内容 {"ret":0,"rid":2,"data":{"Ret":0}} Ret代表是否成功
C、恢复朗读
{"req":"SAPI_Resume","rid":3,"para":{}}
返回内容 {"ret":0,"rid":3,"data":{"Ret":0}} Ret代表是否成功
D、停止朗读
{"req":"SAPI_Stop","rid":4,"para":{}}
返回内容 {"ret":0,"rid":4,"data":{"Ret":0}} Ret代表是否成功
E、设置朗读音量 范围是 0 - 100
{"req":"SAPI_SetVolume","rid":5,"para":{"Volume":50}}
返回内容 {"ret":0,"rid":5,"data":{"Ret":0}} Ret代表是否成功
F、获取朗读音量
{"req":"SAPI_GetVolume","rid":6,"para":{}}
返回内容 {"ret":0,"rid":6,"data":{"Volume":50}
G、设置朗读速率 范围是 -10 - 10
{"req":"SAPI_SetRate","rid":7,"para":{"Rate":1}}
返回内容 {"ret":0,"rid":7,"data":{"Ret":0}} Ret代表是否成功
H、获取朗读速率
{"req":"SAPI_GetRate","rid":8,"para":{}}
返回内容 {"ret":0,"rid":8,"data":{"Rate":0}}
I、获取当前语言引擎名称
{"req":"SAPI_GetCurToken","rid":9,"para":{}}
返回内容 {"ret":0,"rid":9,"data":{"TokenID":""}}
J、获取所有可用语言引擎名称
{"req":"SAPI_GetAllToken","rid":10,"para":{}}
返回内容 {"ret":0,"rid":10,"data":["TTS_MS_EN-US_ZIRA_11.0","TTS_MS_ZH-CN_HUIHUI_11.0"]}
K、设置当前语言引擎名称
{"req":"SAPI_SetCurToken","rid":11,"para":{"Token":"TTS_MS_EN-US_ZIRA_11.0"}}
返回内容 {"ret":0,"rid":7,"data":{"Ret":0}} Ret代表是否成功
L、指定WAV声音文件,识别为文字
{"req":"SAPI_GetWavText","rid":12,"para":{"File":"D:/Zorro/test.wav"}}
事件返回,可能多个:{"ret":0,"rid":12,"para":{"Text":"你好"}}
5、其它
请求参数的JSON数据包,请确保是UTF-8无签名的编码。
更多接口请求说明,请参考安装目录中的文档TestWrl.txt、SDK包中的“PluginOK开发者手册.doc”及“PluginOK中间件安全解决方案”。
如还有疑问请直接联系客服 加微信:ZorroSoft,或加QQ群:23126938
\ No newline at end of file
串口通信浏览器小程序,基于跨浏览器的小程序系统-PluginOK(牛插)中间件(https://github.com/wangzuohuai/WebRunLocal)开发,底层实现调用微软串口通讯控件MSComm32.ocx,最低可用在Chrome 41、Firefox 52、Edge 80(Chromium内核)、360极速/安全、IE 8、Oprea 36、QQ、搜狗等浏览器,也兼容运行于这些浏览器的最新版本。通过此小程序,可以在浏览器中通过JS非常方便的操作COMM串口打印机、GSM 猫、手机、扫描枪、屏显、钱箱等设备。小程序中涉及到的属性等含义,请直接参考 微软串口通讯控件MSComm32.ocx中的定义,也可以参考这里:https://blog.csdn.net/shenziheng1/article/details/52884444
以下是体验小程序步骤:
1、PluginOK(牛插)中间件的安装:
1)、如果是exe的安装程序,请直接运行安装;
2)、如果是绿色版的程序包,请解压到磁盘某个目录后,双击“InstallWrl.bat”进行安装;
3)、安装完成时会启动PluginOK中间件服务,在安装目录下的Data子目录有WrlService.txt日志文件输出运行情况。
2、请求安装串口通信小程序,在测试页面上输入 ws://localhost?sid=123&flag=1 先连接上中间件服务,然后输入一下内容点击发送:
{"req":"Plugin_Install","rid":1,"para":{"Name":"串口通信浏览器小程序","PID":"C0B01CD6-7DD9-4D3C-B668-04168D5236FC","Date":"2020-12-12","Desc":"PluginOK中间件之上跨浏览器的串口通信小程序,可在Chrome、Edge、Firefox、IE、Opera、360、QQ等的浏览器最新版中调用","DownAddr":"http://local.zorrosoft.com/Files/Plugin/WrlComm.pid","MD5":"628817FE6A190CBCC538974CA5EC6B00","Version":"2.0.3.11","Size":753664,"HideIns":0,"Type":1,"Cookie":"","Auth":"","TK":"55E06F607D655FE105E9D99AD2ABD9CBACEDBAD3EF6A1454A6F81F70A539AF46846132E917D6E96B552D63DE6D677169848384532BB375AB15F15E3D6941A94291CEA2038951304CAB2FC6FC00E686E4E63E2685B3D568907FDBBFA36F3B33BB5F31D01F1708053A1958E22CDBCAB432EBA4A086F1CA7C46765FF789992FAA9AB00BD1F1BF1D60CB230AD8893D21D355E91E7364A76CEEC47FD9F78D8F9813563090855291544DD5CC413C9045B66C9AE34D92974DF3A8763365CDC64DDC3A5C6002EB288D745C28093F638617BC3C5048750B329CAB292BEA3445D485D4898A75E18EE6BAC14946F6172915922AEC93CE638BBA114CBA15CEE0ABD8661A5738"}}
3、请求串口通信小程序更新:
{"req":"Plugin_Update","rid":1,"para":{"Name":"串口通信浏览器小程序","PID":"C0B01CD6-7DD9-4D3C-B668-04168D5236FC","Date":"2020-12-12","Desc":"PluginOK中间件之上跨浏览器的串口通信小程序,可在Chrome、Edge、Firefox、IE、Opera、360、QQ等的浏览器最新版中调用","DownAddr":"http://local.zorrosoft.com/Files/Plugin/WrlComm_Update.pid","MD5":"6F24CD5141249F50A5A5E98414901BD5","Version":"2.0.3.11","Size":753664,"HideIns":0,"Type":1,"Cookie":"","Auth":"","TK":"72606452D9D9E4B5B8DE3162A7634F88DF63E615EC1B6DD2709913215B73A7900B672EC2DE44E4F65757B2A6B86C121AC0D0A8E3B2EC1ADE4C4DE09EDAAAF59CD3B66BEA1ED4EAEADC1BBA54ACDA538E363770AF1E39538CABBFCBD76D27517DBA15C78BB73B6F415E308DE5410B8A94C948B4AC23573DE51AF2C7CF0AE73135E5DE8F200DA8947049569048C89E9AE79AEDCF4A4270E024837581B0DDCAEDEC6CD849621DEA55A4989E587F14A7248E2495F307A15A525A2527C2BFD9C9FBCA9F15102CB72B54561DEBEED251A863D6FE2082CFCD5F29F8755D2ABEF2A4A1045A66703A106A1E5A631B54AADEEF6BDE8BF12A2BF686468025EFD531BF7C2F4F"}}
以上安装和升级的JSON请求包,可能因版本升级导致内容不同,如遇安装或升级时报错,请联系客服获取最新的请求包。
4、连接请求串口通讯小程序服务:
说明:以下功能请通过Web Socket连接后可执行,如默认侦听端口不是80(关于如何配置侦听端口,请参考SDK包中的文档“PluginOK开发者手册.doc”),请在连接地址中指定端口号进行连接。
打开测试网页,输入地址:ws://wrl.zorrosoft.com?sid=668&pid=407F58DA-67A5-4C74-B9F9-44A02A20B205&flag=1 点击连接;
支持的协议功能如下:
A、获取参数
{"req":"SP_Get","rid":1,"para":{"Items":["EventFlag","Base64","CDHolding","CDTimeout","CommID","CommPort","CTSHolding","CTSTimeout","DSRHolding","DSRTimeout","DTREnable","Handshaking","InBufferSize","InBufferCount","Break","InputLen","Interval","NullDiscard","OutBufferSize","OutBufferCount","ParityReplace","PortOpen","RThreshold","RTSEnable","Settings","SThreshold","Output","Input","CommEvent","EOFEnable","InputMode"]}}
获取指定名称的参数值,可批量获取,也可以获取单个。其中EventFlag默认0,为1时采用事件驱动模式,收到内容自动通知到前端(SP_Event事件),Base64指定通讯内容是否经过Base64编码后传输,默认0,如果通讯内容是二进制推荐设置为1,Output和Input内容如果Base64设置为1表示是Base64编码后的结果,原通讯控件中布尔值规则1为真,0为假。其它参数都是串口通讯的属性。
返回内容格式如下:
{"ret":0,"rid":1,"data":{"EventFlag":0,"Base64":0,"CDHolding":0,"CDTimeout":0,"CommID":-1,"CommPort":1,"CTSHolding":0,"CTSTimeout":0,"DSRHolding":0,"DSRTimeout":0,"DTREnable":0,"Handshaking":0,"InBufferSize":1024,"InBufferCount":0,"Break":0,"InputLen":0,"Interval":1000,"NullDiscard":0,"OutBufferSize":1024,"OutBufferCount":0,"OutBufferCount":"?","PortOpen":0,"RThreshold":0,"RTSEnable":0,"Settings":"9600,n,8,1","SThreshold":0,"Output":"","Input":"","CommEvent":-4083,"EOFEnable":0,"InputMode":0}}
请求Items中的每个名称都对应自己名称的值
简单举例1,获取当前操作的COM端口、波特率及是否打开:{"req":"SP_Get","rid":2,"para":{"Items":["PortOpen","CommPort","Settings"]}}
{"ret":0,"rid":2,"data":{"PortOpen":1,"CommPort":1,"Settings":"9600,n,8,1"}} 代表当前打开了COM1端口,使用的波特率是9600,n,8,1
简单举例2,获取端口收到的内容:{"req":"SP_Get","rid":3,"para":{"Items":["Output"]}}
{"ret":0,"rid":3,"data":{"Output":"OK"}} 代表当前端口收到内容OK
B、设置参数
{"req":"SP_Put","rid":6,"para":{"CommPort":1,"CDTimeout":0,"CTSTimeout":0,"DSRTimeout":0,"DTREnable":0,"Handshaking":0,"InBufferCount":0,"Break":0,"Interval":1000,"NullDiscard":0,"OutBufferCount":0,"OutBufferCount":"?","RThreshold":0,"RTSEnable":0,"SThreshold":0,"CommEvent":0,"EOFEnable":0}}
设置指定名称的参数值,规则和获取参数类似。
返回内容格式如下:
{"ret":0,"rid":6,"data":{"CommPort":1,"CDTimeout":1,"CTSTimeout":1,"DSRTimeout":1,"DTREnable":1,"Handshaking":1,"InBufferCount":1,"Break":1,"Interval":1,"OutBufferCount":1,"RThreshold":1,"RTSEnable":1,"SThreshold":1,"CommEvent":0,"EOFEnable":1}}
每个设置结果,在对应的结果中,1成功,0失败
C、指定参数打开端口
EventFlag为1时收到内容自动通知到前端(SP_Event事件)
Base64 接收和发送的内容是否经过Base64编码
CommPort 指定打开的端口序号
Settings 设置波特率等参数如:115200,n,8,1
InBufferSize OutBufferSize 读写缓冲区大小都是1024,
InputLen 设置当前接收区数据长度为0,表示全部读取
InputMode 串口接收数据的模式 0文本,1二进制内容
RThreshold 接收缓冲区有1个以及1个以上字符时,将引发接收数据的OnComm事件
协议举例:
{"req":"SP_Open","rid":15,"para":{"EventFlag":0,"Base64":0,"CommPort":2,"Settings":"115200,n,8,1","InBufferSize":1024,"OutBufferSize":1024,"InputLen":0,"InputMode":0,"RThreshold":16}}
{"ret":0,"rid":19,"data":{"Ret":1,"Code":0}} Ret为1代表打开成功,Code为错误时错误码
D、读取端口数据
{"req":"SP_Read","rid":18,"para":{}}
如果Base64设置为1,Content为Base64编码后的内容
{"ret":0,"rid":18,"data":{"Content":"OK"}} 取到Content内容为OK
E、写数据端口
如果Base64设置为1,则Content必须是经过Base64编码后的内容(用于二进制流) 写端口:
{"req":"SP_Write","rid":19,"para":{"Content":"AT"}}
{"ret":0,"rid":19,"data":{"Ret":1,"Code":0}} Ret为1代表关闭成功,Code为错误时错误码
F、关闭端口协议:
{"req":"SP_Close","rid":20,"para":{}}
请求返回:
{"ret":0,"rid":20,"data":{"Ret":1,"Code":0}} Ret为1代表关闭成功,Code为错误时错误码
5、事件通知
5.1 收到内容通知
{"event":"SP_Rec","data":{"Content":""}} 如果Base64为1,内容Content里是Base64编码后的结果,实际使用时请用Base64编码还原内容
5.2 发送内容通知
{"event":"SP_Send","data":{"Content":""}} 如果Base64为1,内容Content里是Base64编码后的结果,实际使用时请用Base64编码还原内容
5.3 通讯事件通知
{"event":"SP_Event","data":{"ID":""}} "ID为事件类型 1发送事件、3 clear-to-send 线变化、4 data-set ready 线变化、5 carrier detect 线变化、6 振铃检测、7 文件结束
5.3 错误事件通知
{"event":"SSP_Error","data":{"ID":""}} "ID为错误类型:
comInvalidPropertyValue = 380,无效属性值
comSetNotSupported = 383,属性为只读
comGetNotSupported = 394,属性为只写
comPortOpen = 8000,端口打开时操作不合法
8001 超时值必须大于 0
comPortInvalid = 8002,无效端口号
8003 属性只在运行时有效
8004 属性在运行时为只读
comPortAlreadyOpen = 8005,端口已经打开
8006 设备标识符无效或不支持该标识符
8007 不支持设备的波特率
8008 指定的字节大小无效
8009 缺省参数错误
8010 硬件不可用(被其它设备锁定)
8011 函数不能分配队列
comNoOpen = 8012,设备没有打开
8013 设备已经打开
8014 不能使用通信通知
comSetCommStateFailed = 8015,不能设置端口状态
8016 不能设置 comm 事件屏蔽
comPortNotOpen = 8018,仅当端口打开时操作才有效
8019 设备忙
comReadError = 8020,读端口设备错误
comDCBError = 8021,为该端口检索设备控制块时的内部错误
comBreak = 1001,接收到中断信号
comCTSTO = 1002, Clear-to-send 超时
comDSRTO = 1003,Data-set ready 超时
comFrame = 1004,帧错误
comOverrun = 1006,端口超速
comCDTO = 1007,Carrier detect 超时
comRxOver = 1008,接收缓冲区溢出
comRxParity = 1009,Parity 错误
comTxFull = 1010,传输缓冲区满
comDCB = 1011检索端口 设备控制块 (DCB) 时的意外错误
6、其它
请求参数的JSON数据包,请确保是UTF-8无签名的编码。
更多接口请求说明,请参考安装目录中的文档TestWrl.txt、SDK包中的“PluginOK开发者手册.doc”及“PluginOK中间件安全解决方案”。
如还有疑问请直接联系客服 加微信:ZorroSoft,或加QQ群:23126938
\ No newline at end of file
cd /d %~dp0
WrlSetup.exe /S
\ No newline at end of file
此差异已折叠。
此差异已折叠。
金山WPS内嵌网页小程序:基于跨浏览器的小程序系统-PluginOK(牛插)中间件( https://github.com/wangzuohuai/WebRunLocal )开发,底层调用金山WPS的VBA接口实现可程序化驱动的网页在线编辑办公控件,可分别将WPS文字、WPS表格、WPS演示软件窗口内嵌到网页指定区域运行并操控。最低可用在Chrome 41、Firefox 52、Edge 80(Chromium内核)、360极速/安全、IE 8、Oprea 36、QQ、搜狗等浏览器,也兼容运行于这些浏览器的最新版本。
1、PluginOK(牛插)中间件的安装:
1)、如果是exe的安装程序,请直接运行安装;
2)、如果是绿色版的程序包,请解压到磁盘某个目录后,双击“InstallWrl.bat”进行安装;
3)、安装完成时会启动PluginOK中间件服务,在安装目录下的Data子目录有WrlService.txt日志文件输出运行情况。
2、金山WPS内嵌网页小程序控制相关接口:
说明:以下功能请通过Web Socket连接PluginOK主服务(ws://localhost?sid=12345&flag=1)后可执行,如默认侦听端口不是80(关于如何配置侦听端口,请参考SDK包中的文档“PluginOK开发者手册.doc”),请在连接地址中指定端口号进行连接。
HTTP网页在线测试:http://zorrosoft.com/wordfull.html HTTPS网页在线测试:https://zorrosoft.com/officeframe.html
前端集成可参考以上测试网页进行,HTML网页中需要嵌入以下类似代码;
A、标记小程序的显示位置和大小
.OfficeApplet {
margin: 20px 0 0 20px;
width: 480px;
height: 320px;
border: 1px solid blue;
}
或者
.OfficeApplet {
width: 480px;
height: 320px;
top: 20px;
left: 20px;
border: 1px solid blue;
}
B、嵌入
支持IFrame的:
<iframe name="OfficeApplet" id="OfficeApplet" src="OfficeApplet3.html" frameborder="0" align="left" width="550" height="540" scrolling="no">
或者直接用
<div id="OfficeApplet" class="OfficeApplet"</div>
另外需要嵌入用到的JS脚本,脚本程序是完全开源的。
1)、请求启动微软Office内嵌网页小程序实现网页中局部加载doc/xls/ppt等文档显示:
Type为浏览器类型,传0自动判断(前提是当前浏览器已启动并显示在最前端,Flag指定当前页加载时必须是0) 可强制指定浏览器类型Type(2代表Chrome 4代表Firefox 8代表Opera 16代表Edge(Chromium内核) 32代表360极速浏览器 33代表360安全浏览器 34代表360企业安全浏览器 50代表QQ浏览器 60代表搜狗浏览器)
Title:网页标题中的关键词
Flag掩码标记:1指定新标签加载(1和16都不指定时为当前页加载) 2小程序显示窗口边框 4不自动裁剪越界窗口 8自动适配网页高度和宽度显示 64根据标题避免重复加载相同的小程序
IframeX和IframeY分别为iframe嵌套的横竖偏移修正坐标
BarW和BarH分别是网页右侧和底部预留区域
小程序实际显示首先会基于网页中指定的坐标和大小,再根据IframeX、IframeY、BarW、BarH设定的值做修正
OType 11启动WPS 文字处理;OType 12启动WPS 表格;OType 13启动WPS 演示;
Url:加载小程序所在的网页实际地址
Open:为需要打开的文档路径,磁盘目录斜杠用/
注意:Open和Url如果有特殊字符或中文等,需要用URL编码处理后传递
举例:
自动识别当前浏览器并启动WPS文字处理
{"req":"Wrl_OfficeApplet","rid":6,"para":{"Type":"0","Title":"Office Applet","Flag":1,"IframeX":0,"IframeY":0,"BarW":0,"BarH":0,"Url": "http://zorrosoft.com/OfficeApplet2.html","OType":"11","Open":"D:/Zorro/test.doc"}}
自动识别当前浏览器并启动WPS表格处理
{"req":"Wrl_OfficeApplet","rid":6,"para":{"Type":"0","Title":"Office Applet","Flag":1,"IframeX":0,"IframeY":0,"BarW":0,"BarH":0,"Url": "http://zorrosoft.com/OfficeApplet2.html","OType":"12","Open":"D:/Zorro/test.xls"}}
自动识别当前浏览器并启动WPS演示处理
{"req":"Wrl_OfficeApplet","rid":6,"para":{"Type":"0","Title":"Office Applet","Flag":1,"IframeX":0,"IframeY":0,"BarW":0,"BarH":0,"Url": "http://zorrosoft.com/OfficeApplet2.html","OType":"13","Open":"D:/Zorro/test.ppt"}}
自动识别当前浏览器指定位置自动适配网页大小启动:
{"req":"Wrl_OfficeApplet","rid":6,"para":{"Type":"0","Title":"Office Applet","Flag":9,"IframeX":0,"IframeY":0,"BarW":0,"BarH":0,"Url": "http://zorrosoft.com/OfficeApplet2.html","OType":"11","Open":"D:/Zorro/test.doc"}}
当前页指定位置自动适配网页加载测试
http://zorrosoft.com/officeframe.html
启动后会先后收到两个JSON数据包
A、{"ret":0,"rid":1,"data":{"ID":3}}
返回ID为当前小程序运行ID,通过此ID,可执行Wrl_AppletControl、Wrl_AppletScroll、Wrl_AppletResize等命令。
B、{"event":"Wrl_Listen","aid":3,"data":{"SID":"123","PID":"60E61D43-503A-470B-9DAA-8E703E1F8BE8","Port":910}}
返回的侦听端口,可再建立一个Web Socket连接后,调用小程序中的相关功能,比如新打开一个网页。
2)、请求控制金山WPS内嵌网页小程序:
当前端不再需要小程序时可指定关闭,或者显示/隐藏及全屏显示等
ID为启动小程序时返回JSON中的ID值,Code代表控制类型掩码:1关闭 2全屏显示 4自动隐藏 8还原显示 16自动适配网页高度和宽度显示模式切换 32强制隐藏。其中全屏显示2,可直接通过热键ESC或取消,4和32隐藏后可通过8恢复显示
{"req":"Wrl_AppletControl","rid":2,"para":{"ID":"1","Code":4}}
3)、请求滚动金山WPS内嵌网页小程序:
当前端截取到网页滚动时,需要调用此接口实现小程序和网页的滚动联动
ID为启动小程序时返回JSON中的ID值
Code为滚动方向1是水平直,2是垂直,3是同时
Left为横向滚动条位置,Top为纵向滚动条位置
{"req":"Wrl_AppletScroll","rid":3,"para":{"ID":"1","Code":2,"Left":0,"Top":100}}
4)、请求改变金山WPS内嵌网页小程序显示位置或大小:
当前端网页显示区域缩放时,可动态修改小程序的显示位置或大小
ID为启动小程序时返回JSON中的ID值,Width和Height分别为新的宽度和高度,X和Y分别为新的显示位置,不指定时保持不变,指定时原设置的IframeX和IframeY失效
{"req":"Wrl_AppletResize","rid":4,"para":{"ID":1,"Width":500,"Height":600}}
或同时设置小程序显示起始坐标
{"req":"Wrl_AppletResize","rid":5,"para":{"ID":1,"Width":500,"Height":600,"X":20,"Y":20}}
5)、请求设置网页预留右侧宽度和底部高度,滚动条信息、垂直滚动及水平滚动位置:
当小程序显示区域超过当前网页时,需去除滚动条的显示影响
ID为启动小程序时返回JSON中的ID值,BarW为预留右侧宽度 BarH为预留底部高度
Code 1代表有水平滚动条,2代表有垂直滚动条,3代表都有
ScrollTop垂直滚动条位置 ScrollTop水平滚动条位置
{"req":"Wrl_ScrollBar","rid":6,"para":{"ID":"1","Code":2,"BarW":0,"BarH":0,"ScrollTop":0,"ScrollLeft":0}}
6)、请求缩放金山WPS内嵌网页小程序,用于浏览器网页按比例缩放,一般不需要处理:
ID为启动小程序时返回JSON中的ID值,Scall为缩放百分比
{"req":"Wrl_AppletScale","rid":7,"para":{"ID":1,"Scale":120}}
3、小程序安装、升级、卸载
1)、请求安装金山WPS内嵌网页小程序
请在输入框中,输入如下请求,然后点击发送,完成安装:
{"req":"Plugin_Install","rid":1,"para":{"Name":"金山WPS内嵌网页小程序","PID":"60E61D43-503A-470B-9DAA-8E703E1F8BE8","Date":"2020-12-12","Desc":"PluginOK之上跨浏览器的金山WPS内嵌网页小程序,支持在Chrome、Firefox、Edge、IE、Oprea、360、QQ等最新版本浏览器网页中内嵌文字、表格、演示等程序进行在线编辑或审阅各类办公文档。","DownAddr":"http://local.zorrosoft.com/Files/Plugin/WpsApplet.pid","MD5":"8A2BF2C3B0B84FD1E10AB78F4DCEA4F7","Version":"2.0.3.11","Size":753664,"HideIns":0,"Type":8,"Cookie":"","Auth":"","TK":"650878023128E9AE45FC679E20F6BA709E21AC3DA8788E1C16BC611E0585BA8D88E1F538FD3690C0312CF0D2E663E78EC5ED7B22B2B4F785270A05FB22BEDC53F6A04A55D81B9DCF6E8E0B465FB72E29961BCF5A81AEE680BB62428729209A1E49CCCDF326C27006740CAF4C6D609ADBF1096EB0241C7F79E71E750DBEE305FB21E47084B6F9F5441AE8B75F5F563E551196F5BCF7E3879B84980F3195F917092B380F17768384282A4BEA602DD0C18B57A95DDFC437F6B11E9358958061E1019060D7BC64668AF82D09FDEA3C91351E54BB13DA30C2BF909FCF4C10E48DF8343B5007267710E07F7165CA5E046376708EC6DDC474A714A95BAECC8E881DC1E3"}}
启动安装后,会不断收到安装进度直到安装结束。
在发布时,也可以把此小程序目录文件和中间件一起打包后发布,不用单独分发。
2)、请求升级金山WPS内嵌网页小程序:
{"req":"Plugin_Update","rid":1,"para":{"Name":"金山WPS内嵌网页小程序","PID":"60E61D43-503A-470B-9DAA-8E703E1F8BE8","Date":"2020-12-12","Desc":"PluginOK之上跨浏览器的金山WPS内嵌网页小程序,支持在Chrome、Firefox、Edge、IE、Oprea、360、QQ等最新版本浏览器网页中内嵌文字、表格、演示等程序进行在线编辑或审阅各类办公文档。","DownAddr":"http://local.zorrosoft.com/Files/Plugin/WpsApplet_Update.pid","MD5":"D630F9EA3EED3108042D1AA5F6D201FC","Version":"2.0.3.11","Size":753664,"HideIns":0,"Type":8,"Cookie":"","Auth":"","TK":"492EB18AEFBC118EDB5AAD43AC3CCDC6160D44CAE463C26E6E326E3BC277907A9B27A8B31B44C896CC384BF1AAD20CC9B8DCA28B6DFB8B4E92D966007DA4F508D925820EF0F3347D7773060D98E3F9570C1D55530AB37FB99396FD157E2D374D61999A8DF1C187126009255F380CAAD9C366DDE0491D877F7C5712FD1930E6B621A6F7B1838185C088230EEFD152382196A77F7B69CC93FBEA7F7B7BF54A947C1C456450BF0E6E1F1C0F8DCB6DD476DBB3ECEB8ED2F0BA82AD5C298615D08681334BD065963529333907D4A6256E85931245CD0524239C1370195016496AEC71FC400F1F6CDB8146F76B6E7313942D8605AA04DEB86B69636B9206262AEEE9F3"}}
以上安装和升级的JSON请求包,可能因版本升级导致内容不同,如遇安装或升级时报错,请联系客服获取最新的请求包。
3)、请求卸载金山WPS内嵌网页小程序:
{"req":"Plugin_Remove","rid":3,"para":{"PID":"60E61D43-503A-470B-9DAA-8E703E1F8BE8","Type":8}}
4、金山WPS内嵌网页小程序转调用WPS软件的VBA接口,先根据Wrl_OfficeApplet请求启动后返回的端口号,新建立一个WebSocket连接后可执行如下指令:
A、常用功能请求:
请求退出小程序
{"req":"Office_Exit","rid":1,"para":{}}
请求关闭文档
{"req":"Office_Close","rid":2,"para":{}}
请求打开文档
{"req":"Office_Open","rid":3,"para":{"Open":"D:/Zorro/test.doc"}}
5、事件通知:
A、
B、PluginOK支持的事件通知:
1) 小程序是否响应了热键全屏
以下分别为Word字处理、Excel表格、Powerpoint演示程序的全屏事件通知
{"event":"WORD_FullScreen","data":{"FullScreen":0}} FullScreen为当前是否全屏标记
{"event":"EXCEL_FullScreen","data":{"FullScreen":0}} FullScreen为当前是否全屏标记
{"event":"PPT_FullScreen","data":{"FullScreen":0}} FullScreen为当前是否全屏标记
2) Wrl_AppletExit 小程序退出通知
{"event":"Wrl_AppletExit","data":{"ID":1}}
6、其它
请求参数的JSON数据包,请确保是UTF-8无签名的编码。
更多接口请求说明,请参考安装目录中的文档TestWrl.txt、SDK包中的“PluginOK开发者手册.doc”及“PluginOK中间件安全解决方案”。
如还有疑问请直接联系客服 加微信:ZorroSoft,或加QQ群:23126938
\ No newline at end of file
文件已添加
文件已添加
文件已添加
文件已添加
文件已添加
{
"WS": 80,
"WSS": 443,
"HTTP": 90,
"HTTPS": 450,
"Localhost": 1,
"ListenIP": "",
"WSErrTime": 30,
"ValidHour": 48,
"Monitor": 60,
"Delay": 0,
"Mac": 1,
"Language": "CHS",
"NoService": 0,
"UDisk": 0
}
\ No newline at end of file
文件已添加
文件已添加
文件已添加
文件已添加
文件已添加
文件已添加
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册