PluginOK中间件网络标准版-跨浏览器的原生小程序系统功能测试说明: 1、请下载中间件网络版安装包(http://local.zorrosoft.com/Files/PluginOK.zip)后执行安装,安装时需要管理员权限运行,安装完成时会启动PluginOK中间件服务,在安装目录下的Data子目录有ZbaService.txt日志文件输出运行情况; 2、启动Chrome等浏览器并打开网页 http://local.zorrosoft.com 进行测试(HTTPS网站测试请打开 https://local.zorrosoft.com ,HTTPS网站请把连接的通讯协议 ws: 改为 wss: 再执行),如在IE内核的网页中测试,如提示启用佐罗软件的WebSocket连接ActiveX控件,请选择“是”; 3、测试连接PluginOK系统服务,下面是参数说明: sid是唯一连接会话标识(小程序服务支持同时多个连接,需要用唯一标识进行区分) pid是连接小程序的唯一标识(在小程序配置文件PluginConfig.json中定义的PID值),不传时表示连接主服务 flag是连接控制掩码,1指定输出调试日志,2指示通讯数据进行GZip压缩(网页JS需要进行同步处理),3代表1+2,4用管理员权限启动(仅限于启动弹窗或内嵌网页小程序)。 请求连接PluginOK主服务:ws://127.0.0.1:83?sid=123&flag=1 点击连接按钮会输出连接结果,在HTTP网页中,127.0.0.1可替换为localhost或wrl.zorrosoft.com(HTTPS网站需要)进行连接,如果您的电脑83端口已经被占用,服务侦听端口会自动切换为84,那么连接地址请修改为:ws://127.0.0.1:84?sid=123&flag=1; 连接PluginOK主服务后支持的功能协议: 1)、获取或对比版本信息 Mac为1时获取本机Mac地址信息,More取更多信息(当前登录用户、键盘和鼠标空闲时间、当前电脑制造商及型号等),IP为1时获取当前网络路由器IP地址和本机IP地址,Router获取当前网络路由器MAC地址的超时时间(0代表不获取,30代表3秒超时),Config为1时获取中间件的一些配置参数。 说明:连接主服务后可执行,返回当前软件版本、当前系统版本、唯一标识、授权有效期、授权客户名称、当前系统启动后运行时间、程序运行路径等; 获取版本信息举例: {"req":"Wrl_Version","rid":1,"para":{"Mac" : 1,"More" : 0,"Config" : 1,"Router" : 0,"IP" : 1}} 协议中的rid代表此请求序号(长整型),请求返回的结果json中也会带这个参数,因为ws请求和返回是异步执行的,这样可以确保请求和结果的一一对应关系,下同 返回:{"ret":0,"rid":1,"req":"Wrl_Version","data":{"Version":"2.2.16.5","ValidDay":"2024-12-31","AuthName":"成都佐罗软件","Type":8,"OS":"10.0.18363.2","Win64":1,"UniID":"C69C5505AD73EFDD7A6BA38D83665889","Time":8103544,"TickCount":17184796,"Adv":1,"RunPath":"D:/Zorro/WRL/","Mac":[{"Card":"802.11n USB Wireless LAN Card","Mac":"38:B84:9E:2F:38:6A"}],"Router":["90:6F:AB:8F:BB:58"],"Config":{"NoService":0,"Localhost":1,"Delay":1,"Monitor":60,"Mac":1,"UDisk":0,"Lang":"CHS"}}} 对比是否有新版本举例: {"req":"Wrl_Version","rid":1,"para":{"Version" : "2.2.16.1"}} 给定新版本号,判断当前中间件版本是否需要升级,返回节点字段Update为1时需要升级,0不需要升级 {"req":"Wrl_Version","rid":1,"para":{"PID" : "F90B1CF0-8485-40ec-B4E8-B87598AAB35D","Version" : "2.2.16.1"}} 指定PID的小程序新版本号,判断小程序是否需要升级,返回节点字段Update为1时需要升级,0不需要升级,2代表小程序还未安装 2)、指定浏览器打开指定Url: 分别指定浏览器类型Type(1代表IE 2代表Chrome 4代表Firefox 8代表Opera 16代表Edge(Chromium内核) 32代表360急速浏览器 33代表360安全浏览器 34代表360企业安全浏览器 50代表QQ浏览器 60代表搜狗浏览器)和Url地址; Flag意义:0代表标签页打开,1代表新窗口打开(360等不支持); Show显示窗口类型,默认1正常显示,2最小化显示 3最大化显示。 此功能主要用于强制IE打开指定网页; 举例1: 强制用IE9兼容模式内核浏览器打开 http://www.zorrosoft.com 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 {"req":"Wrl_OpenUrl","rid":2,"para":{"Type":"1","Url": "http://www.zorrosoft.com","Flag":"1","Version":"9000"}} 举例2: Chrome浏览器新窗口打开http://www.zorrosoft.com Flag为1新窗口打开,否则是新标签打开 {"req":"Wrl_OpenUrl","rid":3,"para":{"Type":"2","Url": "http://www.zorrosoft.com","Flag":"0"}} 举例3,请求FireFox浏览器打开指定URL: {"req":"Wrl_OpenUrl","rid":5,"para":{"Type":"4","Url": "http://www.zorrosoft.com"}} 举例4,请求360极速浏览器打开指定URL: {"req":"Wrl_OpenUrl","rid":6,"para":{"Type":"32","Url": "http://www.zorrosoft.com"}} 举例5,请求360安全浏览器打开指定URL: {"req":"Wrl_OpenUrl","rid":7,"para":{"Type":"33","Url": "http://www.zorrosoft.com"}} 举例6,请求Edge新内核浏览器打开指定URL: {"req":"Wrl_OpenUrl","rid":8,"para":{"Type":"16","Url": "http://www.zorrosoft.com"}} 3)、请求使用关联程序打开指定文件: 指定本地文件全路径,使用本地电脑默认关联的程序打开,路径用反斜杠或双斜杠。如是中文等路径,需要先进行UrlEncode编码。 为安全起见,这些扩展名文件不支持:*.exe *.msi *.js *.jar *.inf *.com *.bat *.vbs *.py,如实在需要支持这些文件的启动,请购买单独发现的文件操作小程序授权,具体请联系客服。 举例: {"req":"Wrl_OpenFile","rid":9,"para":{"File" : "F:/Zorro/Ver/TestWrl.txt"}} 说明:连接主服务后可执行; 4)、单选(多选)磁盘文件/设置文件保存位置: 可指定选择文件对话框标题、筛选文件类型、最大可选文件数量、初始化路径等参数。 Type 操作方式 0代表选择文件 1代表设置文件保存路径 Single 是否单选 选择文件时有效 Ext 文件类型,默认为 图像文件(*.jpg;*.gif;*.bmp;*.png;*.tif)\r*.jpg;*.gif;*.bmp;*.png;*.tif;*.jpeg\r所有文件(*.*)\r*.* Title 对话框标题,默认为 请选择文件 Name 文件保存默认名称 选择文件时无效 BtnText 按钮文字 设置文件保存位置时无效 Path 初始化显示路径,默认为 当前用户文档目录 举例: 选择文件 {"req":"Wrl_SelectFile","rid":10,"para":{"Type" : 0,"Single" : 1,"Title" : "单选文件","BtnText" : "确定(&O)","Ext" : "所有文件(*.*)\r*.*","Path" : "D:/Zorro/"}} 设置文件保存位置 {"req":"Wrl_SelectFile","rid":11,"para":{"Type" : 1,"Title" : "请选择文件保存位置","Ext" : "文本文件(*.txt)\r*.txt","Path" : "D:/Zorro/","Name" : "测试"}} 说明:连接主服务后可执行,由于此请求有对话框阻塞行为,执行后的结果通过事件推送方式返回,定义如下: {"event":"Wrl_SelectFile","rid":12,"data":[{"File":"E:/WRL/测试.txt"}]} 取消时推送:{"event":"Wrl_SelectFile","rid":12,"err":"被取消"} 5)、选择目录: 可指定对话框标题等参数。 Title 对话框标题,默认为 请选择文件 BtnText 按钮文字 设置文件保存位置时无效 举例: {"req":"Wrl_SelectFolder","rid":13,"para":{"Title" : "选择本地目录","BtnText" : "确定(&O)"}} 说明:连接主服务后可执行,由于此请求有对话框阻塞行为,执行后的结果通过事件推送方式返回,定义如下: {"event":"Wrl_SelectFolder","rid":13,"data":[{"Folder":"E:/WRL/"}]} 取消时推送:{"event":"Wrl_SelectFolder","rid":6,"err":"被取消"} 6)、请求获取指定文件大小、版本、文件属性、MD5、创建时间、修改时间等信息: 指定本地文件全路径,路径用反斜杠或双斜杠,如果是图片文件,还会返回高度和宽度信息。 举例: {"req":"Wrl_GetFileInfo","rid":14,"para":{"File" : "D:/Zorro/test.png"}} 说明:连接主服务后可执行; 7)、请求重新注册中间件或小程序: 如指定PID代表重新注册指定的小程序,否则执行重新执行中间件安装批处理(连接会断开),可能因为一些工具或手工误删除了注册表等,用于修复本中间件使用配置。如用于重新配置中间件正式版需要添加TK校验,具体规则请参考SDK包中文档“中间件安全解决方案.pdf”,可在SDK包中的打包程序ZbaPackage.exe的中间件维护生成带TK的请求。 注册小程序,举例: {"req":"Wrl_RegCom","rid":15,"para":{"PID" : "A22E18F1-95F8-4FDB-99D2-188E5FB12B23"}} 指定一些参数重新注册中间件,相当于重新安装中间件 NoService为1代表以非系统服务方式重新安装中间件 Localhost为0代表用本机实际IP来侦听,方便局域网其他电脑访问 {"req":"Wrl_RegCom","rid":15,"para":{"NoService" : "1","Localhost" : "0"}} 说明:连接主服务后可执行; 8)、请求当前浏览器类型、进程ID、版本、是否64位、窗口句柄及标题等信息: 举例: {"req":"Wrl_BrowserInfo","rid":16,"para":{}} 说明:连接主服务后可执行; 返回:ret":0,"rid":16,"req":"Wrl_BrowserInfo","data":{"Type":2,"PID":21152,"BrowserWnd":200396,"DrawWnd":5111854,"X64":1,"Ver":"132.0.6834.84","Path":"C:/Program Files/Google/Chrome/Application/chrome.exe","Title":"PluginOK(%E7%89%9B%E6%8F%92)%E4%B8%AD%E9%97%B4%E4%BB%B6%E6%98%AF%E4%B8%80%E4%B8%AA%E5%AE%9E%E7%8E%B0%E7%BD%91%E9%A1%B5%E4%B8%8E%E6%9C%AC%E5%9C%B0%E7%A8%8B%E5%BA%8F%E9%97%B4%E5%8F%AF%E4%BA%92%E6%93%8D%E4%BD%9C%E7%9A%84%E4%BD%8E%E6%88%90%E"}} Type为浏览器类型 PID为当前进程ID Ver为版本 Path为浏览器程序安装路径 BrowserWnd为当前浏览器主窗口句柄 DrawWnd为绘制窗口句柄 Title为当前窗口进行UrlEncode后的标题,可用于启动内嵌网页小程序前判断是否是当前网页加载 9)、列出当前已授权的小程序列表: 举例:{"req":"Plugin_Authed","rid":17,"para":{}} 说明:连接主服务后可执行,可获取当前已授权所有小程序列表; 10)、列出已安装所有小程序: 举例:{"req":"Plugin_List","rid":18,"para":{"Detail" : 0}} 说明:连接主服务后可执行,可获取当前已安装所有小程序信息,Detail为1时返回小程序程序全路径; 11)、判断某个小程序是否已存在 举例:{"req":"Plugin_Exist","rid":19,"para":{"PID" : "A22E18F1-95F8-4FDB-99D2-188E5FB12B23"}} 说明:连接主服务后可执行,PID为小程序唯一标识; 12)、请求重新加载指定小程序 使用场景:不用重启服务即可扫描新增小程序使用;或小程序调试时,程序及配置更新需要重新加载时 举例:{"req":"Plugin_Refresh","rid":20,"para":{"PID" : "A22E18F1-95F8-4FDB-99D2-188E5FB12B23"}} 说明:连接主服务后可执行,PID为小程序唯一标识; 13)、前端请求配置参数 UDisk是否监控U盘动态 Adjust矫正参数,个别电脑小程序运行时位置错误,需要单独配置 Monitor配置服务无响应超时时间,一旦超过服务会自动重启 以上参数可同时配置,也可以只配置一个参数 举例:{"req":"Wrl_Config","rid":21,"para":{"Monitor" : 30,"Adjust" : 0,"UDisk" : 1}} 说明:连接中间件主服务后可执行; 14)、前端请求启动中间件,网页中点击以下链接,可启动中间件主程序。 点击这里启动PluginOK网络版 15)、安装范例小程序 请在输入框中,分别输入如下请求,然后点击发送,完成四个范例小程序的安装: {"req":"Plugin_Install","rid":1,"para":{"Name":"DLL小程序范例(C++语言)","PID":"A22E18F1-95F8-4FDB-99D2-188E5FB12B23","Date":"2025-02-18","Desc":"无窗小程序(C++语言)-读写TXT记事本及获取当前系统信息","DownAddr":"http://local.zorrosoft.com/Files/Net/PluginComDll.pid","MD5":"8F321C80B00B888353FA0D2DF8285A3E","Version":"2.2.17.1","Size":589824,"HideIns":0,"Type":1,"Cookie":"","Auth":"","TK":"823731C1AB2E084527EC149F07AF94AB7D7A36BC345877708FFCC1825B7E434D49F9B500FC6E175EC11705AC4FBA3F1425A7CD5B62F0A0B4A3120F658C44FAEC393BC5B81F90CCBC090660273ADE48DE35D889E20B99980F1DEFA3F0F44248DAB7E52164833383580AA7284B04A8F41382BA27E90107510A045C8F5EEFABFB9F4F6AF133F58B48979487101F66845D4EF7409ECC0376697CFA7FB8FE14A98D468B85BAF23D0A0D20209BB9496908E0841B883EEBBB32EC1D167625C0CBC30B270A805C2F3A2D76D0394199B66932D30130D3F4E00EBA6C018F92D2C73B2FBC33F78EF2456DE6002A11E5ABAA33FB8F71A7656F28A9790D71ACBC0B4F78B5556D"}} {"req":"Plugin_Install","rid":1,"para":{"Name":"DLL小程序范例(C#语言)","PID":"D10495F4-DF0F-44FA-8647-91275347214A","Date":"2025-02-18","Desc":"无窗口小程序范例(C#语言)","DownAddr":"http://local.zorrosoft.com/Files/Net/PluginNetDll.pid","MD5":"E12B60F2B4E840CB11AD4DD5431EC653","Version":"2.2.17.1","Size":458752,"HideIns":0,"Type":1,"Cookie":"","Auth":"","TK":"9E60E05BCA4A9C7F29CADC58590887B78A4966A94AECE8EBF6677AE2240EB58FA341211171AD4A9FD9E3A6B2BF45AFD7228F8C5C7683F26231C0F0ED238FBCCB6E2BA327DE252A90416B8986C7B590BE55F4FFC3CDBD80C5D519FF7F3FE717438C4BF4CE2A0085F0C81787BC8E2E19DC6A5D83EFF4089FDABBA83ED167C47C70E4AAFED9D3E774C0F03306F33D560C92BE0B67B25FC8CEA7B93621753E6FE7AB9E34DDC50D7223F3D342BCCEB1E265A70024B1E7CD060A2B735B30C0299291391E61FA6BE793D8DA6E06A31652C0881B38787910B99D8CA5EEF67C12D1F0104A92E2AE9584258EF673FF5323BA6845BBFCC421A3A22BB154DC9AE260A88F6622"}} {"req":"Plugin_Install","rid":1,"para":{"Name":"弹窗小程序范例(C++语言)","PID":"PluginWinExe","Date":"2025-05-06","Desc":"弹窗小程序(C++语言)-演示脚本请求打开指定网站","DownAddr":"http://local.zorrosoft.com/Files/Net/PluginWinExe.pid","MD5":"3D4287C45EE9D4474357E9AC55ECA797","Version":"2.2.17.5","Size":1048576,"HideIns":0,"Type":2,"Cookie":"","Auth":"","TK":"7BCBBD5B7C961CFDC4C425BFD358A0A533C11136B24E415C95CD4E23AD12AFDC2611DB3FF743D312573E3FF0C16014946DD9CF921D26E2EA16F851D04992F4B1DDE838BD9A4949EA33CF9CAC535861DACA6E1CF15BF39E0DBA15273F4B441FE771E750254F1166F20B8B83178E0F47FBE6F82AD1B65482F08A634F53FAA6F18B51CEC69462AF9A8D16985978CCF51C589525F084EE3440B01E3D6F9241B325ED17458DAF64211677CE12BDB1491280AB221A8D58C0516905D32F2A339BCF7C7B85A6F17C5C42A55271FFBF68754FADED766D35E61C23DAEC85795958916FC10DB8AEB9994E42AD74ACBC299E1E1680F5100414C851E5B76DC29ECD57DC208E77"}} {"req":"Plugin_Install","rid":1,"para":{"Name":"弹窗小程序范例(C#语言)","PID":"PluginExeDemo","Date":"2025-02-18","Desc":"弹窗小程序范例(C#语言)-演示脚本请求打开指定网站","DownAddr":"http://local.zorrosoft.com/Files/Net/PluginExeDemo.pid","MD5":"4E31016B2AF67BC5B7E5EE73BB848A6D","Version":"2.2.17.1","Size":622592,"HideIns":0,"Type":2,"Cookie":"","Auth":"","TK":"84E729FE325013019FFBD56957686523C0EBC9FF05252B4F2F423EB887451CBA91BEAD9A6D5CEDF079927E5313CE183E0702FC23D209CE5A6BA999C748FF83110BF0C282C3240E77BBC30622834AFA68B9D8155E57848C7FF3648D8E81BE0695248DD4536BA440A3DB92A6A4E46EAB387FD84E5DF4CD39BE91869466477642D0409C89F0EA755B2775AA242F55019F54C49D7730C9F58A272F7BB32A6741449C6BD3510BF6A930A191BDE8D8DB7AFA2803A7806639C3404601463D061D710EFFAC072A6A3E2F33C7B7D8E6A3376C41DCE38D135447A61F6A307D97E43BAEF74C67E441F46A06191AC1E046EC75F5F81059A9AD4A7B7C315847E8B36545BF979F"}} 16)、范例小程序升级请求: {"req":"Plugin_Update","rid":1,"para":{"Name":"DLL小程序范例(C++语言)","PID":"A22E18F1-95F8-4FDB-99D2-188E5FB12B23","Date":"2025-02-18","Desc":"无窗小程序(C++语言)-读写TXT记事本及获取当前系统信息","DownAddr":"http://local.zorrosoft.com/Files/Net/PluginComDll_Update.pid","MD5":"2984618893953002650E98A4927E03C3","Version":"2.2.17.1","Size":589824,"HideIns":0,"Type":1,"Cookie":"","Auth":"","TK":"090E9E6D2232FA0E322724418F5650DEA9909341D9053F071C06AAE700304E3B5DC51F3563A5C5DD1BC6ACA0568980DD856C55F897288A5C9E29A9714E34581FCA554134FF51C61D33B9AB6AD5AE6D703ECC02E569808052418FA9EBD7AD43F64291B785653D3A47871A6780CF32DB605A78729DAED961BD88C125A913826D9DED3A9FE6B5CE62407FA508B5A89234BE0F5FF6BE9DA185DB22FE82943743B8072363B38AB1103B02682A66A36F58F82786451393158C839B60A3B0D2F7BA7D915C7A61A5272CB79DBD735422A1D3B9BCBDEDEDCFC98D3D7FB1BD1C7FC30FB97220D36190075C742AEA64693A083479D021C598EC7572AB06E3E8B3E1791C3EEA"}} {"req":"Plugin_Update","rid":1,"para":{"Name":"DLL小程序范例(C#语言)","PID":"D10495F4-DF0F-44FA-8647-91275347214A","Date":"2025-02-18","Desc":"无窗口小程序范例(C#语言)","DownAddr":"http://local.zorrosoft.com/Files/Net/PluginNetDll_Update.pid","MD5":"1FCF4931F8B1E3E31C1B660349DC0AAC","Version":"2.2.17.1","Size":458752,"HideIns":0,"Type":1,"Cookie":"","Auth":"","TK":"8305A00545AE149924EE82A94098945D622F96FBFAD48858631F35CD38E68AEECA4A9F9ADB19BD9122124AE9B9B9199BEC7B0F56304E6AF79E4FBBDFA76FB89F877E217C13DA7352C72B8745082B6CE0CCF9832058EDC7293D8D1A5EE06A9E9E5C95E0169061AAAFC3C1AC33F524D5842DA26639C478CA452139078A41293210C3AEDA7B720E2B41FF0C80C8C0B347BC46DFC52DDEE88F46ED56788C83EA63804712A1E6C99E023E240B5A7AB87EA5C08384AD704DD62892B6123586921D7F2B874472EF02CA7D90B1622AC32739D1D56B7963DCA81B105D70E0926C5EF6AE13FD2B357C9C9970D3DCF377F739DE53F99919E3FA8CF2DEA1597D28D316C08182"}} {"req":"Plugin_Update","rid":1,"para":{"Name":"弹窗小程序范例(C++语言)","PID":"PluginWinExe","Date":"2025-05-06","Desc":"弹窗小程序(C++语言)-演示脚本请求打开指定网站","DownAddr":"http://local.zorrosoft.com/Files/Net/PluginWinExe_Update.pid","MD5":"D6EBC30B46E453A10854058766FF95B6","Version":"2.2.17.5","Size":1048576,"HideIns":0,"Type":2,"Cookie":"","Auth":"","TK":"990A4F618405E96823215986645E0D77FF71F5BA2F1190B0BEB7D64AB9FE53271421100401B8AC10B802DF91C00D5AB8DE3D3BCC1E3CEDFE9BC99B6ABB70EDF0CCE5FE00EEBDBE660F8430073B41ED7B0D0D4AAF7DBC79C4524AA71A60DEC1FEACAA4BBD4F21B05D23FBDAFE0049F64D8F2DE00ABDA817AC7FD15AD06A47C10AB61073F50E2B7694D472661EEE763A081C79EA5DE8C87BA7EAB7F1CEC043B6BBF186CD830EA544A2C62537C6A498C48304295AD0CC5F0DF48B866CA5373DFE4BCBD5963ADD70FBD0334F01752186B1D2EFC818D4348F27D8D27ECBAB1FCEE4C6E53390D1E1C80AF25C11542DF4FE66C32852F91259FBFE6EECD2E5966517E13E"}} {"req":"Plugin_Update","rid":1,"para":{"Name":"弹窗小程序范例(C#语言)","PID":"PluginExeDemo","Date":"2025-02-18","Desc":"弹窗小程序范例(C#语言)-演示脚本请求打开指定网站","DownAddr":"http://local.zorrosoft.com/Files/Net/PluginExeDemo_Update.pid","MD5":"C436ACF2F0C915C61B15543BFF4085A3","Version":"2.2.17.1","Size":622592,"HideIns":0,"Type":2,"Cookie":"","Auth":"","TK":"9093F7FBA0F5AC31FBA37F9E4DA01140EADBB05116EC1C784003C01674ED73DE7A9417A73B1354072EE712E2980ED8574C0B6AD8F50FC305BDD68F7B97EFB6FD23940ADFEA979A6EE2C894316BD144AE52831D6E0C9A2F3B6F2C55D2153300E9BAE8459513C7E75C26C537571307354278833BFCB3CFABC50054A2D33E155565E86F909599459DB9BD6547EE04F99F1DBCF45007A30CB226C449C42E939CE5B0603C3F1FB7144C4B24E61D3867CFC65409F72CD66E5A3B3BA958B2F69AC896ADC868D046F16D84F44008A67B49131FE0A2660B5C0E9DF49D8CE691DA1AB19F6CD8F866833532FC8D739AEBA2D54500F25B4EB835CA3D3F9B62B63B6112BD7637"}} 17)、卸载小程序: 正式版需要添加TK校验,具体规则请参考SDK包中文档“中间件安全解决方案.pdf”,可在SDK包中的打包程序ZbaPackage.exe的中间件维护生成带TK的请求。 举例: {"req":"Plugin_Remove","rid":50,"para":{"PID":"99225C6D-B7A3-441c-AEFB-3EE23ACA2209","Type":2}} {"req":"Plugin_Remove","rid":51,"para":{"PID":"F90B1CF0-8485-40ec-B4E8-B87598AAB35D","Type":2}} {"req":"Plugin_Remove","rid":52,"para":{"PID":"A22E18F1-95F8-4FDB-99D2-188E5FB12B23","Type":1}} {"req":"Plugin_Remove","rid":53,"para":{"PID":"D10495F4-DF0F-44FA-8647-91275347214A","Type":1}} 18)、前端请求卸载中间件: 正式版需要添加TK校验,具体规则请参考SDK包中文档“中间件安全解决方案.pdf”,可在SDK包中的打包程序ZbaPackage.exe的中间件维护生成带TK的请求。 举例: {"req":"Wrl_Remove","rid":22,"para":{}} 说明:连接主服务后可执行; 19)、前端请求显卡配置信息: 举例: {"req":"Wrl_GetVideoCard","rid":23,"para":{}} 返回举例:{"ret":0,"rid":23,"data":[{"HAL":1,"DID":8081,"Desc":"NVIDIA GeForce GTX 1650","VID":"4318","Revision":"161"},{"HAL":0,"DID":16027,"Desc":"Intel(R) UHD Graphics 630","VID":"32902","Revision":"0"}]} 返回中HAL为1的代表支持硬件抽象层的独立显卡 说明:连接主服务后可执行; 20)、前端请求指定路径的exe程序或指定的OCX控件是否存在: PathType是目录类型,参考定义说明:https://learn.microsoft.com/zh-cn/windows/win32/shell/csidl 举例: 检查微软Word程序是否存在 {"req":"Wrl_CheckExistInfo","rid":25,"para":{"ExePath":"Microsoft Office/root/Office16/WINWORD.EXE","PathType":"38"}} 返回:{"ret":0,"rid":25,"req":"Wrl_CheckExistInfo","data":{"Info":[{"Type":1,"X64":1,"Ver":"16.0.18429.20132","Path":"C:/Program Files/Microsoft Office/root/Office16/WINWORD.EXE"}]}} 检查VLC播放控件是否存在,指定ClassID或PropID 默认取32位的版本,指定Option为1优先取64位的版本 {"req":"Wrl_CheckExistInfo","rid":26,"para":{"ClassID":"{9BE31822-FDAD-461B-AD51-BE1D1C159921}"}} 返回:{"ret":0,"rid":26,"req":"Wrl_CheckExistInfo","data":{"Info":[{"Type":1,"X64":1,"Ver":"3.0.3","Path":"D:/2.2.17/vlc3/axvlc.dll"}]}} 获取本地文件默认打开程序信息 {"req":"Wrl_CheckExistInfo","rid":26,"para":{"File":"d:/zorro/test.pdf"}} {"ret":0,"rid":26,"req":"Wrl_CheckExistInfo","data":{"Info":[{"Type":1,"X64":1,"Ver":"24.5.20421.0","Path":"C:/Program Files/Adobe/Acrobat DC/Acrobat/Acrobat.exe"}]}} 21)、移除本机中间件授权并卸载程序: 正式版需要添加TK校验,具体规则请参考SDK包中文档“中间件安全解决方案.pdf”,可在SDK包中的打包程序ZbaPackage.exe的中间件维护生成带TK的请求。 举例: {"req":"Wrl_RemoveAuth","rid":30,"para":{}} 说明:连接主服务后可执行; 22)、刷新中间件授权请求: 如服务器上对应授权已更新,前端可请求强制获取。 举例: {"req":"Wrl_UpdateAuth","rid":32,"para":{}} 说明:连接主服务后可执行。 23)、导入SSL新证书到授权文件: {"req":"Wrl_UpdateSslCert","rid":33,"para":{"Path" : "G:/SSL"}} 说明:在授权服务器上启动浏览器打开网页http://local.zorrosoft.com,WS连接地址修改为类似这样的:ws://*.*.*.*:800?sid=438140&flag=1,其中*.*.*.*:800是你的授权服务器启动侦听后的IP和端口,然后点击连接成功就可以执行Wrl_UpdateSslCert请求了,记得把新的SSL证书放到单独的一个子目录,命令中Path为证书目录,然后执行此命令,成功时返回SSL证书绑定的域名,再到授权服务器程序目录,找到更新后的授权文件,替换到终端所用的软件包里,给新电脑部署使用,已经部署的电脑,只要能访问授权服务器,会自动更新证书。 24)、前端请求当前系统安装的软件列表: {"req":"Wrl_SysAppList","rid":34,"para":{}} 返回JSON数组类型数据,包含软件显示名称、版本、卸载字符串等信息 返回举例: {"ret":0,"rid":27,"req":"Wrl_SysAppList","data":[{"Name":"7-Zip%2024.09%20(x64)","X64":1,"Ver":"24.09","InsDate":"","Publisher":"Igor%20Pavlov","Exe":"C:/Program%20Files/7-Zip/7zFM.exe","UnIns":"%22C:/Program%20Files/7-Zip/Uninstall.exe%22"}] 4、PluginOK中间件升级请求: 1)、升级中间件程序请求: {"req":"Wrl_Update","rid":1,"para":{"Name":"BrowserApplet中间件网络版升级包","Date":"2025-05-31","Desc":"1、解决高级版内嵌网页小程序个别情况下启动可能被误判为启动超时导致启动失败问题;2、网络版提示授权时增加无需联系信息的方式;3、优化抓图工具截图过程体验及效果;4、PageHiOffice网页组件解决个别情况下禁止内容复制无效问题,解决微软Word的OLE嵌入后菜单栏和工具栏可能无法点击问题,解决微软Excel完整嵌入后输入焦点问题,优化OLE嵌入模式代理进程处理逻辑,解决完整嵌入时可能出现“服务器正在运行中”的弹窗....","DownAddr":"http://local.zorrosoft.com/Files/Update/Zba_Update.pid","MD5":"53EEE1B9F033FCAA80177EA65BE648F7","Version":"2.2.17.6","Size":15761408,"HideIns":0,"Cookie":"","Auth":"","Open":"","TK":"98A44C40F1045FFA409B5E0037B65AD0ED1140D11990560039280D70D6BA32F20F5D58DF3C441AE7338CFC82C8CB617DFD216C04212AA58ACA1BDF04E5CD568CD97B0D7D0A326C75C98A926D456E075541DB6F5C2717DE17D814C5E00D35E993BDF5167041DD21984EAC6509951BDDE17CF9506C2EF614CBFB534669B198CDE310AD098A92842A9FCBCD455C7E7176296D75BC7150C7BA90A71B39C753B695758CCEFA403D368582598245C618F659D93506169193FD1C448BFB923DD0A3E15BA658EA62204FEB6E85DDCBC2F70B2950E10A96E3B4DDAAB4FA9E171AFBCC30C4B66DEE27DF9BE40252B852D9474BF92B27039B65F8A2C59AB1650BEA67E869A4"}} 2)、针对HTTPS网站,需要搭配SSL证书使用,而SSL证书是有期限的,需要定期导入SSL新证书: {"req":"Wrl_UpdateSslCert","rid":3,"para":{"Path" : "G:/SSL"}} 说明:连接授权服务器主服务后可执行,把新的SSL证书放到单独的一个子目录,然后执行此命令,成功时返回SSL证书绑定的域名。授权服务器导入新证书后,终端电脑定期重新获取授权即可使用。 5、请求启动弹窗小程序(C++语言)服务,下面以IE控件(ActiveX)演示调用流程及范例: 1)、打开测试网页,输入连接地址: ws://wrl.zorrosoft.com:83?sid=321&pid=PluginWinExe&flag=1 执行连接,会直接启动PluginWinExe.exe程序,界面会返回小程序使用的端口,默认12800; 2)、再次打开一个测试网页,输入连接地址: ws://wrl.zorrosoft.com:12800?sid=888&flag=1 执行连接,小程序会提示有新连接; 3)、请求打开指定网站: 在测试网页中输入内容: {"req":"Demo_OpenUrl","rid":1,"para":{"url" : "http://www.baidu.com"}} 然后点击发送,小程序PluginWinExe.exe会自动打开指定的网页 4)、将连接pid替换为PluginExeDemo,可以测试C#版实现的类似小程序功能,默认侦听端口是12900。 6、请求启动无窗口小程序(C++语言)服务: 1)、打开测试网页,输入连接地址: ws://wrl.zorrosoft.com:83?sid=666&pid=C38672FA-B5C8-4D9D-89B5-2D71F0760661&flag=1 连接请求指定pid的服务; 2)、发送框输入内容以下内容并发送,实现设置文件路径: {"req":"Demo_SetFilePath","rid":20,"para":{"Type" : 25}} 设置文件目录到桌面 3)、发送框输入内容以下内容并发送,实现写入内容到我的文档目录记事本文件中: {"req":"Demo_WriteFile","rid":20,"para":{"Name" : "文件小程序.txt","Content" : "这是测试写入的内容!"}} 4)、发送框输入内容以下内容并发送,实现写读取指定文件内容: {"req":"Demo_ReadFile","rid":21,"para":{"Name" : "文件小程序.txt"}} 7、请求启动无窗口小程序(C#语言)服务,连接地址: ws://wrl.zorrosoft.com:83?sid=666&pid=FCADA8A7-D975-42c6-B5D3-FA40F6FE1286&flag=1 其它步骤参考 无窗口小程序(C++语言)。 8、请求启动弹窗小程序(C#语言)服务,连接地址: ws://wrl.zorrosoft.com:83?sid=666&pid=PluginExeDemo&flag=1 其它步骤参考 弹窗小程序(C++语言)。 请求参数的JSON数据包,请确保是UTF-8无签名的编码。如还有疑问,请加微信 ZorroSoft 或QQ群 23126938 联系相关人员提供技术支持服务。