# 从 R2.6.6.3.45 升级到 R2.6.6.3.46
# 更新时间
2025 年 7 月 21 日
# 更新内容
- 登录相关功能中关于使用到redis的keys查询优化改造,涉及到的功能点包括:多端登录控制、在线用户查询。
- 在线用户查询功能优化。
- 浏览器关闭或者窗口关闭时退出功能优化(由线程等待修改为redis过期监听)。
- 新增应用系统退出时是否触发统一认证退出的开关控制
- 实现单体登录与单点登录共存。
- 修复基础字典-学历导入数据不能更新是否启用字段的问题
- 修复基础字典-行政区划导出问题。
- 水印支持自定义组合文字,自定义调整水印的旋转角度。
- 修复应用系统退出问题
- 支持移动医生查房和服务总线对接部分用户接口:校验用户名密码,获取用户业务单元岗位列表
# 前端升级步骤
- 请到 hos-app-web (opens new window) 代码仓库中
release-2.6.6.3.46
分支中将源码下载到本地。 - 如果自己业务工程中
src/sys
,public
的代码没有进行过手动修改的话,将该代码手动删除,然后将hos-app-web
中src/sys
,public
的代码复制到本地工程即可; - 如果自己业务工程中
src/sys
,public
的代码进行过手动修改的话,请自行与src/sys
,public
的代码进行比对,手动进行同步并解决冲突代码;
# 后端升级步骤
- 在根 pom 文件中修改
hos-app-dependencies
的版本号为R2.6.6.3.46
,修改hos-starter-dependencies
的版本号为R1.5.7.18
, 修改hos-security-dependencies
的版本号为R1.0.8.29
。
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.mediway.hos</groupId>
<artifactId>hos-app-dependencies</artifactId>
<version>R2.6.6.3.46</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.mediway.hos</groupId>
<artifactId>hos-starter-dependencies</artifactId>
<version>R1.5.7.18</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.mediway.hos</groupId>
<artifactId>hos-security-dependencies</artifactId>
<version>R1.0.8.29</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
关闭浏览器退出功能使用到redis过期key监听事件,产品组需要使用redis缓存,并且开启redis过期缓存监听。
具体配置参考:redis监听过期和删除事件使用新增应用系统退出时是否触发统一认证退出的开关控制
hos-security:
oauth2: #统一认证oauth2登录配置
ssoLogout: false #是否退出时触发统一认证退出,默认值为false
- 默认为false(只退出本系统),如果应用系统走统一认证登录的方式只在门户系统里面打开使用,需要在前端的
env.production文件里面修改环境变量VUE_APP_ENV_TYPE = '1',这样在统一认证登录情况下就不会显示退出按钮,退出统一由门户系统触发
- 配置成true(退出本系统以及统一认证)时,应用系统通过单点登录时,点击应用系统退出按钮会触发统一认证的退出,影响其他已打开应用的使用
单点登录的访问路径:
- 使用VUE框架开发的应用:前端的根路径/sso
例如:https://114.251.235.9:8327/sso - 引入hos框架前端工程包,但是未使用VUE框架开发的应用:能访问存放hos框架的根目录/sso
例如:http://172.17.1.173:8082/imedical/pis/base/sso - 应用系统走单点登录还有个前提条件是后端yaml文件开启了统一认证(hos-security.oauth2.enable=true),另外统一认证服务是正常的,否则强制走单体登录。
- 该功能影响通过单点方式打开其他应用具体菜单功能,打开的菜单路由由原来的:/菜单路由,改成:/sso?redirect=/菜单路由
例如:/organization改成/sso?redirect=/organization
- 使用VUE框架开发的应用:前端的根路径/sso
在线用户查询方式由原来的从缓存获取改成从登录日志表查询,所以如果之前的登录用户没有正常退出,
会被记录在内,这些数据需要进行手动强制下线处理。
# 数据库脚本
请根据数据库实际使用情况,仔细核对数据库类型,下载当前使用的数据库对应的升级脚本。
(以下为
高斯数据库
的升级示例)如果之前执行过临时版本的升级脚本2.6.6.3.40~2.6.6.3.43.sql,执行以下脚本时遇到错误跳过即可。
- 前往 Gitlab 下载页面(https://106.63.4.7:8000/hos/demo/hos-app-demo/-/tree/master/project-strcutre/project-strcutre-demo/oa-doc/data/opengauss/2.6.6.3.46) , 用户名及密码为自己的 Git 账号密码,没有权限的话找王鑫申请,没有账号的话找自己的主管向公司申请。
- 下载
hos-app-base-opengauss-2.6.6.3.40~2.6.6.3.46.sql
文件 - 执行更新 SQL
hos-app-base-opengauss-2.6.6.3.40~2.6.6.3.46.sql
# 升级提供接口内容如下
# 校验用户名密码
校验用户名密码并返回默认登录业务单元及岗位
接口请求demo
http://localhost:8080/api/openApi/service-bus/valid-and-login-info
ip端口请以实际项目为准。/openApi
请以实际项目中的yaml配置项sys.restfulPath
值为准。
请求参数
请求头
POST /api/openApi/service-bus/valid-and-login-info
Accept: application/json
Accept-Encoding: gzip, deflate
Connection: keep-alive
请求体
{
"data": {
"loginCode": "xutian", // 登录名
"password": "111111" // 密码
}
}
响应参数
{
"code": "200", // 成功:200,错误:500
"msg": "操作成功", // 提示信息
"data": { // 返回数据
"loginCode": "xutian", // 登录名
"accountName": "徐天", // 账号名称
"defBusiUnitId": "f4e549ac0e12ec506020abd377022fd3", // 业务单元ID
"defBusiUnitCode": "ceshi44", // 业务单元编码
"defBusiUnitDesc": "业务单元测试44", // 业务单元描述
"defBusiPostId": "30fa04a0124e42ca834c918f23a93b5a", // 业务岗位ID
"defBusiPostCode": "Test222", // 业务岗位编码
"defBusiPostDesc": "测试岗位222" // 业务岗位描述
}
}
# 获取用户业务单元岗位列表
获取用户所有可用的登录业务单元及岗位
接口请求demo
http://localhost:8080/api/openApi/service-bus/list-bus-unit-post
ip端口请以实际项目为准。/openApi
请以实际项目中的yaml配置项sys.restfulPath
值为准。
请求参数
请求头
POST /api/openApi/service-bus/list-bus-unit-post
Accept: application/json
Accept-Encoding: gzip, deflate
Connection: keep-alive
请求体
{
"current": 1, // 分页参数 当前页码
"size": 5, // 分页参数 每页数量
"data": {
"loginCode": "xutian" // 登录名
}
}
响应参数
{
"code": "200", // 成功:200,错误:500
"msg": "操作成功", // 提示信息
"data": { // 返回数据
"total": 10, // 总数
"size": 5, // 每页条数
"current": 1, // 当前页码
"records": [ // 返回数据集
{
"busiUnitId": "f4e549ac0e12ec506020abd377022fd3", // 业务单元ID
"busiUnitCode": "ceshi44", // 业务单元编码
"busiUnitDesc": "业务单元测试44", // 业务单元描述
"busiPostId": "30fa04a0124e42ca834c918f23a93b5a", // 业务岗位ID
"busiPostCode": "Test222", // 业务岗位编码
"busiPostDesc": "测试岗位222", // 业务岗位描述
"defaultFlag": true // 是否默认
},
{
"busiUnitId": "1423g5sdf3d3d0c374ecb60fd495b954",
"busiUnitCode": "xxkywdy",
"busiUnitDesc": "信息科业务单元",
"busiPostId": "b3230de8faca23d8e99c5ec5b9146b54",
"busiPostCode": "xxkglg",
"busiPostDesc": "信息科管理岗",
"defaultFlag": false
},
{
"busiUnitId": "17959de263bd0be4e4efd1dcc89539e7",
"busiUnitCode": "DTC03.A.A69.2-760",
"busiUnitDesc": "HOS系统部",
"busiPostId": "b3230de8faca23d8e99c5ec5b9146b54",
"busiPostCode": "xxkglg",
"busiPostDesc": "信息科管理岗",
"defaultFlag": false
},
{
"busiUnitId": "1423g5sdf3d3d0c374ecb60fd495b954",
"busiUnitCode": "xxkywdy",
"busiUnitDesc": "信息科业务单元",
"busiPostId": "00bc3aad905ea71b066984d7e7542c24",
"busiPostCode": "DTC03.A.A69.2-760-DTC03-20-00004-001",
"busiPostDesc": "HOS超级系统管理员",
"defaultFlag": false
},
{
"busiUnitId": "cc463f1ddf0addc997a49541d63519c9",
"busiUnitCode": "ceshi11",
"busiUnitDesc": "业务单元测试11",
"busiPostId": "a27e7828ef0744d7ba12d530443f5bfb",
"busiPostCode": "Test333",
"busiPostDesc": "测试岗位333",
"defaultFlag": false
}
]
}
}