HISUI
iMedical插件管理
2021年04月24日 20时38分

iMedical插件管理

下载与更新

  1. 下载[WebsysServerSetup.zip]放到web\addins\plugin\WebsysServerSetup\目录下,最终文件路径为web\addins\plugin\WebsysServerSetup\WebsysServerSetup.zip
  2. 把上面下载的zip包解压出的msi文件放到web\addins\plugin\目录下,最终文件路径为web\addins\plugin\WebsysServerSetup.msi
  3. iMedical8.4项目发送web\scripts\dhc.logon.js文件给我修改
  4. 进入demo – 开发工具 – 插件管理界面找到CMgr记录并选中
    • 版本框内容修改为1.1.3.2
    • DLL文件路径框内容写入WebsysServerSetup/WebsysServerSetup.zip
    • 点击保存

支持静默安装

msiexec /i "d:\xx\WebsysServerSetup.msi" TARGETDIR="D:/Program Files\MediWay" /qb
"d:\xx\WebsysServerSetup.msi" /qb TARGETDIR="D:/Program Files\MediWay"

开发使用

  1. CSP界面引用插件开发环境
<!-- 引入所有插件 <ADDINS></ADDINS> //-->
<!--
引入DoctorSheet,CmdShell二种插件
等价Do ##class(websys.AddInsTmpl).WriteInvokeJsCode("DoctorSheet,CmdShell")
//-->
<ADDINS require="DoctorSheet,CmdShell"></ADDINS>
  1. 组件中已默认引入,无需修改
  2. Javascript中调用
function Fun(){
    if ("undefined"====typeof EnableLocalWeb || 0====EnableLocalWeb || IsIE){
        //未开启使用中间件 或 老项目,IE然仍用老的方式运行
    }else{
        //中间件运行,此处的DoctorSheet为配置界面的调用ID
        DoctorSheet.showDoctorOrderSheetWindow("1","2","3","4","5");
    }
}

详细开发说明及示例

常见问题

1. 调用对象都有notReturn属性,DoctorSheet.notReturn=0即有返回值调用,同步调用。默认为1异步调用。
2. 调用客户端方法报错,检查桌面快捷方法-插件管理-右键属性-兼容性以管理员身份运行此程序是否勾选
3. 在只安装了WPS的客户端,使用Excel导出或打印时报错,可以把CmdShell.EvalJs(mycode)修改成CmdShell.CurrentUserEvalJs(mycode)再测试
4. 安装成功后,HTTP管理界面可用但HTTPS管理界面不可用,可手动安装证书
    1. private.pfx安装—本地计算机—到【个人】中,密码为12345678
    1. private.crt安装—本地计算机—到【受信任的根证书颁发机构】中
    1. netsh http show sslcert
    1. netsh http delete sslcert ipport=0.0.0.0:21996
    1. netsh http add sslcert ipport=0.0.0.0:21996 certhash=dd8652db5c07076d154827273642604ca8405332 appid={9e977cef-28ef-4d4f-968a-bff2514384c4}
    1. netsh http add sslcert ipport=0.0.0.0:21996 certhash=b1eb8df9b91cf3080fb30f41e959def25952376a appid={9e977cef-28ef-4d4f-968a-bff2514384c4}
5. 不能自动下载插件包,console.log日志中提示The requested security protocol is not supported请求被中止:未能创建SSL/TLS安全通道, 请检查本地客户端是否安装framework4.5或修改注册表 查看原因与解决1,查看原因与解决2

功能更新日志

2023-04-30

版本1.3.2

  • :sparkles: 增加调用jar包中main方法功能
    1. 编写java代码,并有main方法
    package com.imediway.his;
    public class HelloTest {
      public static void main(String[] args) {
        for (int i=0;i<args.length;i++) {
            System.out.print(String.format("第%d个入参%s,",i,args[i])); 
          }
          System.out.println("~.~Hello Addins !"); 
          System.out.println(""); // 结束输出 
      } 
    }
    
    1. 把代码打成可运行jar包,且在cmd中可运行,如:java -jar HelloTest.jar myArg1 myArg2
    2. 把jar文件配置到插件管理界面
    3. 在js中可以使用以下代码来 调用jar文件中main方法
    helloTestObj.clear(); 
    helloTestObj.cmd('HelloTest.jar myArg1 myArg2',function(rtn){
    //{msg:"success",rtn:"第0个入参myArg1,第1个入参myArg2,~.~Hello Addins !",status:200}
    });
    
  • :sparkles: 启动时使用当前用户启动,不再强制使用管理员运行

  • 管理菜单打开管理界面使用localhost地址

2023-10-12

版本1.2.9

  • :bug: 解决解压zip内容错乱问题
    • 多级目录且子目录有多个文件时会出现此问题

2023-09-20

版本1.2.8

  • 修复读卡方法不传入参时,不能focus问题
  • RWCard.focusLazyTime = 1500; /*延迟多长时间focus窗口。没有此行代码时默认:1000毫秒*/
    //RWCard.focusWindowName = "串码输入框"; /*使用窗口标题定位*/
    RWCard.focusClassName = "#32770 (对话框)"; /*使用类名定位,例:微信窗口WeChatMainWndForPC*/
    RWCard.ReadPatCardNo();
    

2023-08-18

版本1.2.7

  • 修复某些客户端不允许删除非空目录,导致中间件反复启动问题
    • \MediWay\WebsysServer\bak_temp\18目录下有多个txt目录时,会出现问题

2023-05-19

版本1.2.5

  • 新电脑安装中间件后,反复启动中间件问题
    • 缺少websysServer/temp目录导致

2023-05-08

版本1.2.4

  • 多次重复打开中间件不再弹出提示窗口

2023-05-07

版本1.2.3

  • 有很多Win7电脑安装不了framewok4.5.2,导致不能安装中间件,回滚到1.2.0版
    • 使用HTTP2协议的项目只有一家
    • 发现Win10,Win11第一次安装1.2.1后会导致中间件反复重启,要卸载且删除目录重新安装才可以。

2023-04-12

版本1.2.2

  • Win7-32bit与Win7-64bit都使用CurlSharp32动态库,去掉64的包依赖 [3408462]

2023-04-07

版本1.2.1

  • Win7下支持HTTP2.0协议下载资源 :sparkles: [3408462]
  • 依赖升级到framework4.5.2 ,以便使用CurlSharp

2023-03-22

版本1.2.0

  • 在某些云桌面不能获得IP与MAC :sparkles: [3362661]

  • Dns.GetHostEntry 修改成 Dns.GetHostAddresses
    

2023-03-17

版本1.1.9

  • 导出Excel时,导出的数据不是当前的,而是曾经导出的数据。[3349949] :bug:
  • 当客户端启用了杀毒或防护软件时,导致不能运行脚本,把脚本文档删除,防止影响下次调用。[3366788] :bug:
    • 当在杀毒软件运行时,导出数据不能运行脚本且有残留中间txt文件
    • 然后再退出杀毒软件,再次导出数据会运行上次残留的中间txt文件,且中间件一直等待当前脚本运行结果,界面卡死

2023-01-03

版本1.1.8

  • 修复对负载不支持TLS1.2协议问题处理。不能通过负载下载ZIP包问题 :bug:

2022-12-06

版本1.1.7

  • 修复1.1.6版本后,导致不能打开血透重症exe问题 [3129682]

2022-11-15

版本1.1.6

  • 中间件安装到包含空格的目录后,不能运行vbs问题修复 [3078733]

2022-11-06

版本1.1.5

  • 读取ScriptShell.exe运行的结果优化

2022-11-04

版本1.1.4

  • 使用CurrentUserEvalJs导出excel时,弹出黑窗口问题 [2953530]

2022-08-15

版本1.1.3

  • 进程调用方式下,解决调用mispos与读卡时卡死问题。[2840314]

2022-06-17

版本1.1.2

  • 因为有些读卡厂商驱动写文件与结束方式无法使用进程方式调用,不能兼容老程序。修改成默认然是线程调用动态库方式。如果需要线程调用,可通过配置界面DLL文件路径中加入,WebsysScript.exe表明用进程调用

2022-06-7

版本1.1.0

  • 对动态库的线程调用修改成进程调用
    • 调用完成释放资源(2565081 )
    • 减少动态库间冲突(2683935)

2022-04-28

版本1.0.39

  • 优化返回值的eacape速度 :bug:
    • 当返回字符长度100kb时,eacape速度要花13秒问题处理

2022-04-24

版本1.0.38

  • 使用CurrentUserEvalJs调用代码未完成时,又发出CurrentUserEvalJs命令报错处理,修改成多个代码文件处理。

    “`MyCode.txt正由另一进程使用,因此该进程无法访问此文件“`

  • 使用CurrentUserEvalJs得不到真实返回值,报错会在\temp\目录下对应代码文件中显示

  • 使用CurrentUserEvalJs运行脚本时,默认5分钟,超过5分钟提示。

2022-03-03

版本1.0.37

  • 支持动态升级插件模块 :sparkles:
  • 多屏下才启用快捷键[Ctrl+`]定位鼠标

2022-01-18

版本1.0.36

  • 使用HTTP协议下载Linux服务器上dll,当dll不存在时,不会像window服务器那样报错,而是返回0KB大小内容,导致检验报告打印DLL为0KB大小 :bug:
    • 修改成如果返回0KB大小,则不重写DLL

2021-11-16

版本1.0.35

  • 使用CurrentUserEvalJs调用代码未完成时,又发出CurrentUserEvalJs命令报错处理

    “`MyCode.txt正由另一进程使用,因此该进程无法访问此文件“`

2021-11-08

版本1.0.34

  • 当操作系统没有默认浏览器时,点击管理报错处理。
  • 增加定位鼠标功能配置CursorShowHotKey
  • 增加对TLS1.2的支持(测试未通过) :sparkles:
  • 增加按客户端IP升级 :sparkles:

2021-09-07

版本1.0.33

  • 增加[Ctrl+`]定位鼠标
<setting name="CursorShowHotKey" serializeAs="String">
    <value>192</value> <!-- 配置热键[Ctrl+`]定位光标,192为`的键盘代码 -->
</setting>
  • 增加异步focus窗口功能,可以解决线程弹出窗口不置顶问题
    • 增加focusWindowNamefocusClassNamefocusLazyTime三个配置项解决focus窗口问题

调用示例代码:

trakWebEdit3.clear(); /*清除上次调用数据*/
trakWebEdit3.notReturn = 1;
// trakWebEdit3.focusLazyTime = 1000;  /*延迟多长时间focus窗口。没有此行代码时默认:1000毫秒*/
// trakWebEdit3.focusWindowName = "lpWindowName";  /*使用窗口标题定位*/
trakWebEdit3.focusClassName = "lpClassName";  /*使用类名定位,例:微信窗口WeChatMainWndForPC*/
trakWebEdit3.ShowLayout("1^1^^1","54429","","cn_iptcp:127.0.0.1[1972]:DHC-APP",function(rtn){});
/*注:ShowLayout方法配置时不勾【调用清除】*/

2021-06-22(1.0.32)

  • 提供获得扩展屏方法
  • 提供移动窗口方法
  • 去除”保护程序已经在运行”提示,去除”监听程序已经在运行”提示(河北中石油中心)

2021-04-24(1.0.0.31)

  • 修改说明css
  • 升级修改成无操作更新
  • 默认安装exe,报无效安装程序问题。修改成使用cmd运行
  • 关于修改

2021-04-09(1.0.0.30)

  • 为解决某些电脑调用WPS时报Automation不能创建错误,提供CurrentUserEvalJs方法

2021-04-07(1.0.0.29)

  • CmdShell.EvalJs降低安全且设定在当前窗口弹出的界面
  • 2021-02-21(1.0.0.28)
  • 响应状态增加404,500
  • mime支持
  • 静态文件浏览.格式如:查看图片 插件目录下图片

2021-02-07(1.0.0.27)

  • 中间件保护程序与医保客户端冲突处理
  • 2020-12-08(1.0.0.26)
  • cmd运行时,隐藏黑框
  • SSL证书使用自签名证书,且有效期为20年

2020-09-08(1.0.0.25)

  • 安装与卸载优化
  • 中间件点击退出与启用时处理保护程序
  • 2020-08-31(1.0.0.24)
  • FrameWork版本迁移至4.0
  • 2020-08-19(1.0.0.23)

日志记录前移

  • 2020-07-30(1.0.0.22)
  • 支持HTTPS协议访问
  • 多端口监听

2020-07-10(1.0.0.21)

  • 处理_cmd属性。解决对象打开自己目录下exe

2020-06-03(1.0.0.20)

  • 增加保护程序

2020-04-15(1.0.0.19)

  • 单线程单无解决血液净化调用问题
  • 兼容到XP操作系统
  • 安装时不检查framework4.0

2020-03-28(1.0.0.18)

  • 后台不再处理notReturn标志

2020-03-26(1.0.0.17)

  • 修改成多线程调用客户程序

2020-03-25(1.0.0.16)

  • 增加EvalJs超时时间设置(默认5分钟)
  • 日志中请求内容格式化

2020-03-19(1.0.0.15)

  • 开机自启动时不能正常工作问题
  • 报错信息中有回车与换行处理

2020-03-17(1.0.0.14)

  • 增加CAB包下载安装
  • 运行强制使用管理员

2020-3-10(1.0.0.13)

  • 增加无返回值请求,不阻塞请求
  • 扩展EvalJs方法
  • 支持HTTPS下载
  • 方法默认值支持

2020-2-28(1.0.0.12)

  • 解决有些系统左下角显示小条问题
  • 管理界面增加父目录
上一篇: 下一篇:

2条评论

  1. Jack说道:

    下载路径从202106修改成202301

  2. Jack说道:

    版本修改成1.1.0.8

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注

访问量: 312215