提交 cf78eaa4 编写于 作者: W wangzuohuai

网络绿色版及相关小程序包

上级 7fad9917
此差异已折叠。
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子目录有ZbaService.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/Net/ACadApplet.pid","MD5":"F5165E67E373A51177C7ED5934977EDD","Version":"2.0.3.11","Size":688128,"HideIns":0,"Type":8,"Cookie":"","Auth":"","TK":"002EF9422D4905EC27D5428250DC150F1A12D91A98CAF80917E44DD7434AFC3FA9215B28CF5DBBD2B70938E9C4B315FD065F9C9A12A0FE667AC4D4F687717A3C371CE8FDD7DDA352D51B4FE06CE1C9D2CFCC9F49D620282E2415474A1A5FCB701219E787C4ED95A91B7A99C64D453476DC7D60A10F588B63277ECC1D682CDEB8028B3F59DF057C05ED9ABFE630CD3C2543870315D8CAC036D41A3E6FC49CABE49F121ABB1B7FEC2BC0B03A2CF9C39E84B18B6C7B073AE09226A861EF85E7E99AFC2F9DC846467AEE0D7ECC5C8E2704FA88E5EE9FDC109BB979500CB4BD7694D1089ADA8479000C5D07E036C704B73A474A084C9B3F12446CC17A0B121D96892D"}}
启动安装后,会不断收到安装进度直到安装结束。
在发布时,也可以把此小程序目录文件和中间件一起打包后发布,不用单独分发。
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/Net/ACadApplet_Update.pid","MD5":"B6E649D55AF90BA91F3C7B79992BC368","Version":"2.0.3.11","Size":688128,"HideIns":0,"Type":8,"Cookie":"","Auth":"","TK":"1FAA59795A6F5CECFAE3C4BAD237678DED9BFE664F17C22FD8EB07729719061CD6FC503F38C67678D9C20B0E8E93035C004E6A4169F0DEEDF955B99D6D3FB5F6E51A6DA473CC02AD93DDE4FF7AE1F4E1FD5DAC57EB7ACDE87E01EC10FCA2C8AA983DE6DF9254DF1A70A19AE38F3007D189E02A9BEAB7A4CBE8EF6BF11A0A121B2022F00236270E5A6855EFEE940C385E05CFD587BD42374D25B891207A9C3A4043A176D38DA52F84E159F976050C47AE13466F75628F0EA2771A914CFAB017FAFB5CF67BED36C4C0F13F10C24F42C8135BBEC077D20D20742AF5C76968C503451F4C2CFF0356F2BE501C095C472D11156E38DF13F7A79AA8947C8594A93F0EDD"}}
以上安装和升级的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子目录有ZbaService.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/Net/WrlFileApplet.pid","MD5":"EB344AB2571F530E5DB0332052CC0C29","Version":"2.0.3.11","Size":491520,"HideIns":0,"Type":1,"Cookie":"","Auth":"","TK":"4506EE4343F1901DF9563270A6051DD2A0136FA0E962E340E66ECB5245E8288F9C21AAA36EC03B125D23DF1219C3D26525F06BD1B1DD2D4310169790E29CA5318CB64136EBA7D1A7E2BB507A22F1F8F79B0B78961F003D8EDDAD3ECA5D47AD749264A7B23875B6129A95C46E2D61CF684CBE7291A624EAC6E90F712C34C92F37D7A6E95715E1B90B79F8221797FFECEEC8339607B1FD1B560AD562A405D32C4473DA667B1C694E966BC5E9212F715491E456D9933B70AF141A7F2509D6B77C3F7B18EB2B701E979CE0309A4992AE3448C106FC138CB0B9814E6155F3DCF67289F7C75DA81DA4A1C4593F7B35CA04A349AA6E7C350F59CCE895097BC44E04B205"}}
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/Net/WrlFileApplet_Update.pid","MD5":"8A752457E2CBE7024067F9B83392DD9A","Version":"2.0.3.11","Size":491520,"HideIns":0,"Type":1,"Cookie":"","Auth":"","TK":"367F66557211206A2B6F776316BD3B0437A205FCB2723AE42AD31187DB6239F005C921783A2B095B81DF8507C5C1FF7AF40320371B3D59B4EB1353145656F0D44478ECB955E311A2850735A0C3733018DB9C2BEED40E0E42F532706DCB820C0DFE2A2AD69B3E44308DCD2A932A6E9BD1F9F03AF5C1626DD2A954E1E9617573D1A622914E4E0A3D4870F3B2D9C16A3850EB0A973368B1C3DF6FA310605BA7F941AEBA23A51B59BEDD3CDD119519DCE6CAC6725B57B475ED345CC163E58105F53D6A111FF52EBD18CE0FABED32DCD6DE481ED0D98955A1A0206E2A4BE2057BF010ECF4EF81635F86888848F59D0E7703EBE5D8E28DB0B733A8678E01D55105B069"}}
以上安装和升级的JSON请求包,可能因版本升级导致内容不同,如遇安装或升级时报错,请联系客服获取最新的请求包。
4、连接请求文件操作小程序服务:
1)、图像文件处理及本地文件操作服务
说明:以下功能请通过Web Socket连接后可执行,如默认侦听端口不是80(关于如何配置侦听端口,请参考SDK包中的文档“PluginOK开发者手册.doc”),请在连接地址中指定端口号进行连接。
打开测试网页,输入地址:ws://localhost:83?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子目录有ZbaService.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/Net/FlashApplet.pid","MD5":"05F2EFA3B7D8A7FA5C986FF4B7EE2164","Version":"2.0.3.11","Size":524288,"HideIns":0,"Type":8,"Cookie":"","Auth":"","TK":"730B25263B1DF15E8FF91214DEAE2577ADC6387DEEB8716029B9EB21734415455AE71DC1AC958D1404BE10C309E72016044AF4FF9C37103D00950753135E8BB35A4E7AEC900BEF8E9DA311B139041C1A0A9E5CEBB74F6A657ACBB074FC3C67FBEA25F97430AB025C4D53CFB58192D87BD6E8B9DB9939CDCED6856E58D234A74A49381CFDB784C1A6BE28ED32B50F8AA4E7295B12D99DF6AF9FDC2E75958C36DA87264273C3EFDDC5FA8572B297724BFE71117813FD016C888E203862A658B1E5E171CD73076A9B4610D1C331C4919C51DADF9AF04029CF975B8A5548761A86B862075761AC31D65B9EB9FC2CFC72BD8B1638D316BBC15FA23F32D2A105F4EA12"}}
启动安装后,会不断收到安装进度直到安装结束。
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/Net/FlashApplet_Update.pid","MD5":"965E4260DCC45CA7349F362429AE7780","Version":"2.0.3.11","Size":524288,"HideIns":0,"Type":8,"Cookie":"","Auth":"","TK":"4C5C678E218DD7AEE864994EC9139748B57901BCA253149BEC97FE6293137F6CF15D47B58C27B7175D0BA56C689659E5A784E934DD5CD145895C2B56E1E1DDDBFDBAC78952AB4B34E44DB683F0DE45DCEF42CD405F323E8D1940FAD83C42E48C3D6FC17A9E8D283B0490902716D248A9EE20B9D66ABCA4AB1C7AB32F966E8737E77EFB92F37F06E1864D85A335DFDC27E44020303A0A851A2262A9D54A46FD063392A5B40E793B5E73D7C2BB0D0C304B69AFCA3F00401B1EA6E376670137ADD287C4A9FB4C82D70ACBD8BE48F5CA25EC3EC049E150804D62DA0B4154E5478F4930D95B86F6B453FBDC1E4A06E1F0EA7C1356CEF4C82B6F35C2A8BDEAA08519F0"}}
以上安装和升级的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代表正常
如您需要更多的接口,请联系我们。
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”。
如还有疑问请直接联系客服 加微信: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子目录有ZbaService.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为启动小程序时返回的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/Net/IEApplet.pid","MD5":"38BEB2740F7C49FD95983E383F1F8E21","Version":"2.0.3.11","Size":753664,"HideIns":0,"Type":8,"Cookie":"","Auth":"","TK":"45A0CD3A74AAB38467D5EE3E54B3C3537C73076B14D50ADFE05C58F8E8AC69C1C90796AE15ABEB5CA3FE8DCB6FD087B82745E4CBE3EBB3E46563B9C5DBEB42068F4754E0EE54500B55BA37C9BF9838A48654CBA2BCEF7D7BC952DF62255311A736F6D5A5FC04A300708A96318055A4B8B95BF3266F8611D83AF20253C5BE1BCB32EC31588AF8201642C6DFA86DD3530C60C593CCC376955A4C2A7770AD3AEE84A8C3A6D537A4DD17A26A4E6B92DAED6BC49F3B435CA31C64DE8E7F9DB6CD3BF6E7B74C630BD83C73F9FDABD35FAB5EAE7DAE0B7658571BCA121C30AE84307A71F456AF5801DA7E49BFEE5A87EB3620137D358C57605319E17F28687A386C81D8"}}
启动安装后,会不断收到安装进度直到安装结束。
在发布时,也可以把此小程序目录文件和中间件一起打包后发布,不用单独分发。
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/Net/IEApplet_Update.pid","MD5":"F5F94B67E7D66FEEADB3254405826100","Version":"2.0.3.11","Size":753664,"HideIns":0,"Type":8,"Cookie":"","Auth":"","TK":"51CBBEDB3967236E4FCCBD1276774E96B78565EF89EE8A58878B1E1CF1AF037A392EC534DEA56E25BA91A813DD6641A88195D8F7663A0C7B7CD979BCF19D6BD4B35364B14FF2D96131C6A03C6720F0D38DAEF83CB064AC42C07F567226FB8AFA15108A9E4D0167B3058B74B9FEA3BA9446BCB50B5629D373A8F7CCE48002EF8A4B8355D356E137BB5941AB496F32D4F825E04155403F08A84A308046F9B5E422D6AE524BEDEB7C8E3280AF3458B212036A673CE0CA21E251775859B59271E48DDA91C48FE20A0948A28CB3FB1C89EE89234A10563E2B68EAD7DCA68FB30D0212182CD9972E61C32FAADD3A26FEB702CF53906C3A416C1BB610EF71E2CE359B1C"}}
以上安装和升级的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子目录有ZbaService.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位版
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/Net/IENewTab.pid","MD5":"7DA7D7077B358AD5EE334806DB1EE182","Version":"2.0.3.11","Size":753664,"HideIns":0,"Type":8,"Cookie":"","Auth":"","TK":"7CC6CDD16793B8A8766D172797A39562AC38BF1DA48F12BA8793F7E21847EBCBE23065DA8CF13B9AD70D24207F880CBD9250BA989ACE3CAEC65AC552C306B1153FB1E0E03DADEA2B8FAB0AB60EED663E82B2EF6BC054655FAA9989AAE0452B4EE9A0B1AE462E5AA9293E56355570C1B2929BAF8624DAA6FE1896B3C1B09CFBB8CC41DA4C6A04BD483B52D41404917EA812E4072F25D11BADFE919DCC953B6A51448C46157231149B7A1ABA2C8F72FC8ECFCA3569C4F91F3AA01E757E5A885D817AE88ACF1AC2832997A57DC0987021D04F02408838A87ABC1F7EED9900DC8F19DD3AE0BC1BEF1F995B59E3219EC7DAAE1C57E0061633EDAB82D15B5FB1B717EA"}}
启动安装后,会不断收到安装进度直到安装结束。
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/Net/IENewTab_Update.pid","MD5":"108B6262DAE9FC694441E2ED9651AC51","Version":"2.0.3.11","Size":753664,"HideIns":0,"Type":8,"Cookie":"","Auth":"","TK":"51D0AC5017A52BB258E61C5406F41EA7FF0BFD69BB370F8515D4C73700B6A1EEEB087EEC7D977F20861F243A246F2633AAB0F085243D5DB624B7A6ECD7D965DDFD07C2DC0420ACA2A1B487DDA7884E9709F4EDD6E4715B7DE6CE632F7A61F88C61005ACC6CDE0DF3F8C63739AAE464557E4C0D54342435CA0C6E0D47B3859E3F6C9929D7520D669AD607E104A70DD3604300B36799136E2DE1F9718740BB4C4698A143F41468886173013712C5C895CF75C5460A42787CC09D213E12983E3BCD3A0702ECC951415AB3EB4BE925AC57BECB3CE667D41AC26D1CB80943B130129ED80B4970EE9C103F0113D4F1172BECCE590B235695CA445DF7B6B3483762569C"}}
以上安装和升级的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
ZbaSetup.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子目录有ZbaService.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为启动小程序时返回的ID值,Scall为缩放百分比
{"req":"Wrl_AppletScJSON中ale","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/Net/OfficeApplet.pid","MD5":"AEDDA48FA77BEAAF1F5F30B706CA6600","Version":"2.0.3.11","Size":753664,"HideIns":0,"Type":8,"Cookie":"","Auth":"","TK":"B1EE64B03B4C114D1E99A93092F6AECB910F26B43557F1FF0C958EBC1DC27A8813A2BB13DDAD40F86D715D3432549641E08B880CA386036E0755EB8FB54D506AC418F5C23EB36FBE661B6B6BB230852D3AAAD709DF838E175E704D8B927F72E5CD791650C0717D1FDF5294F6AB1E254B6078BB0E1A213665474B9F285FADC2E91B7331BDF56FA3F6682F041550490FEDE297F7877D5AC54B7CCEEABC22A788FC5E72CFBE9BBFD4DFF009887840A137C556B5C36FE56446E9CFE7F128E6965700518A4293E8C1AB51BE1B0595C64849B2546505863BAF4E12343DBBC0B5A1E8B90958B0D47312CB39F712878F62A4369735A15997EE68CEDC851B2AC63B9C231C"}}
启动安装后,会不断收到安装进度直到安装结束。
在发布时,也可以把此小程序目录文件和中间件一起打包后发布,不用单独分发。
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/Net/OfficeApplet_Update.pid","MD5":"A5BCFE96DB598F08BE93041762DFD8F9","Version":"2.0.3.11","Size":753664,"HideIns":0,"Type":8,"Cookie":"","Auth":"","TK":"B818520D7951417633E6227D30750F479C3CC68A31B4A74E2C275BAA8B61D6EFF33580471533588ADA42D3FDE45A50AA73700A74264068C7EC0FE58D976FE89758AC15597AAE2C1C57D0414F40643DEC78CCDE24E0B83C63F216DB4230A1B649115C11285226F58B0D3B13C39CC03EFE5A8D9F5F901ACC959B38983C01CC426B73CD8AAE9C9065D9EFCA6410F4FC7ED873C482B280F32C529D91C1CB49C516EAC4AF7B0599C0F9FD3946982A68044D6CF900290E1F48E3E3A0E3FA51760A191B36E68C461AEF40AEB720648BDDC38CF784BA22A34AAEF39177B843B9AA8E11C534EA3273E841883A94C301640001592582ED3AF02AEA2FAF058001D6E67A80F1"}}
以上安装和升级的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>
[
{
"File" : "[WRL]PluginNetDll.dll",
"Remove" : 1
}
]
{
"FirstInstall":"flashplayer.exe",
"PORT": 990
}
\ No newline at end of file
{
"PORT": 12800
}
\ No newline at end of file
cd /d %~dp0
ZbaSetup.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子目录有ZbaService.txt日志文件输出运行情况;
4)、此小程序不能运行在系统服务下,需要修改ZbaConfig.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/Net/WrlSpVoice.pid","MD5":"B121BE1DA39CD4651246CD85C9C92333","Version":"2.0.3.11","Size":458752,"HideIns":0,"Type":1,"Cookie":"","Auth":"","TK":"049742AA1AD91B828BFFE450577DC381F1CE0289285D937D57B847FEECD64E45BEF0301D48B77068A8D57800CBE10CE8533DEC06D6ED9D23C26DBB263E2BFC37B4F4DEF3904163769DF42BFACB98D74BCDC83E16221CCAE3AC3BCA7C372768F02EDF7DB83DE57324F5CDC1FF584A0AB5B39CA0454938ED0B60E1351B32DAD7FBF4B43D2BC6B10E767AE693DC0CA7B778552679F825D1363A154752A511D02CE6BD24C52551D6DDB99C95E87CFF9989CDC6FFFB375F09EDB7DB69160AB741F7A33DE3CB07DA91482AFEFB63E091382D96844C0DC250EF10F6C3A25AEBE8EBBB0529C2103290D0B9B51617EA54A5A612C3BC5D4FEAB2D93C2E9B770FF61C6423F1"}}
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/Net/WrlSpVoice_Update.pid","MD5":"CB4A1BA5FDB21FDD7076C9F3A087F02F","Version":"2.0.3.11","Size":458752,"HideIns":0,"Type":1,"Cookie":"","Auth":"","TK":"4C954AFDE95335351E7F5DEA4298C33201DAF012D52002D983775022E3F87B46BD1D97BABBA6959BD54666328BCBB04873F87C63C160A5982ACB86D82862881012155BEBA351F05DFC20D6C94A13DA8CF4992159C765A91B9A5A8C03A0B7F1792BB2C2D7A5907B08A596543A6FAE6EED00C943C115F035A2FEEB985599B314EC995BD56418087250478315B2DD72C89EE0E775990B4CE432E9BB745EF392F74CB03D199FE52D4FB9D10C46DD9F53AFCC34F5D73D06D6BF52661D30C4D9EEC6DDA66B9AA1CE6A5139873C5CC8659BBE5EA728613F839610A8F44AF65267E5A79D1FE9E0E2D3531626253F912E4AFA21ECEF9AC028527ECB1292CED63C5F7C8FC1"}}
以上安装和升级的JSON请求包,可能因版本升级导致内容不同,如遇安装或升级时报错,请联系客服获取最新的请求包。
4、连接请求微软语音引擎小程序服务:
说明:以下功能请通过Web Socket连接后可执行,如默认侦听端口不是80(关于如何配置侦听端口,请参考SDK包中的文档“PluginOK开发者手册.doc”),请在连接地址中指定端口号进行连接。
HTTP网页在线测试:http://local.zorrosoft.com HTTPS网页在线测试:https://local.zorrosoft.com
打开测试网页,输入地址:ws://localhost?sid=112&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":"你好"}}支持的协议功能如下:
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、访问测试网页 http://local.zorrosoft.com/ 下载最新的PluginOK中间件并按TestWrl.txt说明安装好中间件;
2、请求安装串口小程序,在测试页面上输入 ws://localhost:83?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/Net/WrlComm.pid","MD5":"C44855DFC157DAC779A920E76B812870","Version":"2.0.3.11","Size":753664,"HideIns":0,"Type":1,"Cookie":"","Auth":"","TK":"509DB4DA25FC6635CA4AC20DBEF1E6DD8674F69B68D74068B50F651B572AF4E72D858A830D3C15A3A6A3EAFF3BDCC409B5D82DE702D4B243ACE51C3BF7E89DEA64D61B0E516CDC124478B56087281883C6D1DEB637BD7FEA9E96A62D4D34F081108F4684766A26076D0A0C14A3136635314572ECA9F9D3AB0B77DFFBC3270C1BA6B14606574515C2AD0116D02C15B38F5D02E9D83FA84FFEC0FB3858ADC97ED28378F74A421C49C4D7D62FFB1A0B96133951BD335B3BC542322A870903786DD4D586505A8D9083C2ED64480EDB474889E2AEF2175B9FA3B705E83D85816AA9C2B9B2CF9706917D33CECF6255907CFBFC2F325E00280AE9E11B7EB4F854DEF71E"}}
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/Net/WrlComm_Update.pid","MD5":"C9CB304EA89D85540462DE7AAAE815C2","Version":"2.0.3.11","Size":753664,"HideIns":0,"Type":1,"Cookie":"","Auth":"","TK":"0D3F1909119B02F692E0B6FCE03A78869DABD540E0E8A5F77A65BC7AAE9C5D278622218C1AC0C31EE83D418977B84BCEFE073C2CBCD7417A5DB63BCB589428AE58DF6F540023EFA41E4FBCF7EBE5FA6DCB33D8AF85BC185F0F0F2ECCEC24E855CAE7F1ACF6A8B0596AA7D0C086393128FD8917EE99B8995955C19EA0B4D202F5031C39328ED9EBB39EC9DAF335EF27AAB1D40287E85B14159D579A02AB7B6B402E2984FE0142F9D8FCF1C30C86F2B99B1AD1C161871948E0F1A40F21C0EB592DEC49BE7037288331B4736CC7B88059C635E86DBE6ED55689DC9C9072BF411D3B6CCFD2C426A3B0D6F37A5AE72EB79BC7048BA9A249EDCF7BB404BEF1EA721090"}}
以上安装和升级的JSON请求包,可能因版本升级导致内容不同,如遇安装或升级时报错,请联系客服获取最新的请求包。
4、连接请求串口通讯小程序服务:
说明:以下功能请通过Web Socket连接后可执行,如默认侦听端口不是80(关于如何配置侦听端口,请参考SDK包中的文档“PluginOK开发者手册.doc”),请在连接地址中指定端口号进行连接。
打开测试网页,输入地址:ws://wrl.zorrosoft.com:83?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
ZbaSetup.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子目录有ZbaService.txt日志文件输出运行情况。
2、金山WPS内嵌网页小程序控制相关接口:
说明:以下功能请通过Web Socket连接PluginOK主服务(ws://localhost?sid=12345&flag=1)后可执行,如默认侦听端口不是80(关于如何配置侦听端口,请参考SDK包中的文档“PluginOK开发者手册.doc”),请在连接地址中指定端口号进行连接。
HTTP在线测试网页:http://local.zorrosoft.com HTTPS在线测试网页:https://local.zorrosoft.com
前端集成可参考以上测试网页进行,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为启动小程序时返回的ID值,Scall为缩放百分比
{"req":"Wrl_AppletScJSON中ale","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/Net/WpsApplet.pid","MD5":"BE872368D255B53C36D1131F9FB0843A","Version":"2.0.3.11","Size":753664,"HideIns":0,"Type":8,"Cookie":"","Auth":"","TK":"AE023BD2170C0B957A2D33194A3E1EA0158AAA7021D77576B9EAD7A5FDC4E79E01741E7A149758B16F03BC0B5A9422ED0BFB3471C3CF81E6D7BA92F29B26C4F7FB7A6FBCB80AEE9601D3FB6C0F997DDF424890C6BE7CC9BF44119F245777F115B8C2101988D5E690C17FD2312A67D13CD6F54398A50BF37ACED0FB879B8347952F1B879F0A19B1C8B59D8DC8FFE60371DA4244334229E2BF56F449274D35E10CC420E8BA71D3B7E7DCF9E3E41A6455D05720D13DCBD13E3DA916BFB1CA4421C47AFD4623906CBB033C551B90079E884D5F4CDB6A7192107956C54B6A1D14F249ACD9A6476C1F1E29D24D9105EB43735DE59F0A12E68A86D1D3A1867A4A2BC2B0"}}
启动安装后,会不断收到安装进度直到安装结束。
在发布时,也可以把此小程序目录文件和中间件一起打包后发布,不用单独分发。
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/Net/WpsApplet_Update.pid","MD5":"97E3875D29346CEE9C66F8FEB8452CB1","Version":"2.0.3.11","Size":753664,"HideIns":0,"Type":8,"Cookie":"","Auth":"","TK":"0306D6AD0A945639F4B6EBA023C4F82B8CACCBB96E7AAEE35932601FCB419DF0F1442F471872D77BB5390E03AFE3D0DD9B3DBDD42FDF4E8333399A7AE43AF8DDD1386F5FCC3AA9E31FEEC775435EBDCFF85BCA33727F5647AC6F45B1CBA055E4A3D0E18FD9E063270DDE7D7DEC3E6F860FB3946ED930F2771A2AE0FA327BBC4C1B98E7D4C060ACAD0B91D5818904D07CBBD41950C0F402DB3FD741601EFFD559DD78231E5389A13E09191A841541276CB72088B20197243353840C4BA3CA134D0076FCD775935F3FDC779CA01CB03C0B9C5BC4DC76C3D8FE163FEBB626D58D0F33AD3A72B609863700815517711109EC137402E4C30EFA473E5E74C86BC46C9F"}}
以上安装和升级的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": 98,
"HTTPS": 460,
"Localhost": 1,
"ListenIP": "",
"WSErrTime": 30,
"ValidHour": 48,
"Monitor": 60,
"Delay": 1,
"Mac": 1,
"Language": "CHS",
"NoService": 0,
"UDisk": 0,
"ServerPort": 888,
"ServerAddr": "www.zorrosoft.com"
}
\ No newline at end of file
文件已添加
文件已添加
文件已添加
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册