医为客户端管理,提供HTTP服务接口来调用本地服务,在现代浏览器上通过js调用本地服务功能。 操作系统环境Win7, Win10,Win11,关闭操作系统的UAC体验更佳 依赖开发环境:
msiexec /i "d:\xx\WebsysServerSetup.msi" TARGETDIR="D:/Program Files\MediWay" /qb
或
"d:\xx\WebsysServerSetup.msi" /qb TARGETDIR="D:/Program Files\MediWay"
CSP
中引用中间件环境<ADDINS></ADDINS>
组件
中引用中间件环境(基础平台已处理)d ##class(websys.AddInsTmpl).WriteInvokerJsCode()
function Fun(){
if ("undefined"====typeof EnableLocalWeb || 0====EnableLocalWeb || IsIE){
//未开启使用中间件 或 老项目,IE然仍用老的方式运行
}else{
//中间件运行,此处的DoctorSheet为配置界面的调用ID
DoctorSheet.showDoctorOrderSheetWindow("1","2","3","4","5");
}
}
DoctorSheet.notReturn=0
即有返回值调用,同步调用。默认为1异步调用CmdShell.EvalJs(mycode)
修改成CmdShell.CurrentUserEvalJs(mycode)
再测试The requested security protocol is not supported
或 请求被中止:未能创建SSL/TLS安全通道
, 请检查本地客户端是否安装framework4.5或修改注册表 查看原因与解决1,查看原因与解决2。处理请求异常:未将对象引用设置到对象的实例
问题// xx是任意的调用DLL插件的对象
xx.clear();
xx.notReturn = 0;
xx.focusLazyTime = 1500; /*延迟多长时间focus窗口。没有此行代码时默认:1000毫秒*/
xx.focusWindowName = "串码输入框"; /*使用窗口标题定位,例:串码输入框*/
// xx.focusClassName = "#32770 (对话框)"; /*使用类名定位,例:微信窗口WeChatMainWndForPC*/
xx.ReadPatCardNo(); /*具体方法*/
// 所有插件管理界面的调用ID都用cmd方法
DomId.clear()
DomId.notReturn = 1
DomId.cmd("mytest.exe arg1 arg2",function(rtn){
// rtn //JSON返回值
})
IP
,MacAddr
:bug: 调用jar文件时只返回一行结果问题处理,修改成:返回值多行
支持指定某版java来运行jar包 [4572996]
helloTestObj.clear();
helloTestObj.cmd('"C:\\Program Files\\Java\\jre-1.8\\bin\\java.exe" -jar HelloTest.jar arg1 arg2',function(rtn){
console.log(rtn);
//{msg:"success",rtn:"第0个入参myArg1,第1个入参myArg2,~.~Hello Addins !",status:200}
});
非管理员
,运行中间件后,在仅安装WPS的电脑上导出excel问题 [4567511]:sparkles: 增加调用jar包中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(""); // 结束输出
}
}
java -jar HelloTest.jar myArg1 myArg2
helloTestObj.clear();
helloTestObj.cmd('HelloTest.jar myArg1 myArg2',function(rtn){
//{msg:"success",rtn:"第0个入参myArg1,第1个入参myArg2,~.~Hello Addins !",status:200}
});
:sparkles: 启动时使用当前用户启动,不再强制使用管理员运行
管理菜单打开管理界面使用localhost地址
#### 版本1.2.9
修复读卡方法不传入参时,不能focus问题
RWCard.focusLazyTime = 1500; /*延迟多长时间focus窗口。没有此行代码时默认:1000毫秒*/
//RWCard.focusWindowName = "串码输入框"; /*使用窗口标题定位*/
RWCard.focusClassName = "#32770 (对话框)"; /*使用类名定位,例:微信窗口WeChatMainWndForPC*/
RWCard.ReadPatCardNo();
\MediWay\WebsysServer\bak_temp\18
目录下有多个txt目录时,会出现问题Win7下支持HTTP2.0协议下载资源 :sparkles: [3408462]
依赖升级到framework4.5.2 ,以便使用CurlSharp
在某些云桌面不能获得IP与MAC :sparkles: [3362661]
Dns.GetHostEntry 修改成 Dns.GetHostAddresses
DLL文件路径
中加入,WebsysScript.exe
表明用进程调用使用CurrentUserEvalJs调用代码未完成时,又发出CurrentUserEvalJs命令报错处理,修改成多个代码文件处理。
MyCode.txt正由另一进程使用,因此该进程无法访问此文件
使用CurrentUserEvalJs得不到真实返回值,报错会在\temp\目录下对应代码文件中显示
使用CurrentUserEvalJs运行脚本时,默认5分钟,超过5分钟提示。
使用CurrentUserEvalJs调用代码未完成时,又发出CurrentUserEvalJs命令报错处理
MyCode.txt正由另一进程使用,因此该进程无法访问此文件
CursorShowHotKey
<setting name="CursorShowHotKey" serializeAs="String">
<value>192</value> <!-- 配置热键[Ctrl+`]定位光标,192为`的键盘代码 -->
</setting>
调用示例代码:
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方法配置时不勾【调用清除】*/
404
,500
:bug: