# 从 R2.6.6.3.21 升级到 R2.6.6.3.23

# 更新时间

2025 年 4 月 26 日

# 更新内容

  1. 新增第三方资源授权免密登录;
  2. 账号新增虚拟列,解决不能添加唯一索引导致数据重复问题;
  3. 新增开关控制 ip 安全过滤器;
  4. 优化登录日志查询速度
  5. 登录日志界面增加删除日志功能,清空日志改为清空全部日志,登录名筛选条件改为下拉选择
  6. 更新 openMenu 方法,取消对 query 的合并.
  7. lodop 打印使用 pdf-lib 生成 pdf
  8. 打印注释掉 svg2canvas 方法,以使打印图片更清晰
  9. 修改消息类别展示 undefined 的问题
  10. 消息中心自动弹框逻辑兼容一下后端返回的字符串情况
  11. 免密登陆列表页加上编码,修改调整编码名称顺序

# 前端升级步骤

  1. 请到 hos-app-web (opens new window) 代码仓库中 release-2.6.6.3.23 分支中将源码下载到本地。
  2. 如果自己业务工程中src/sys,package.json,public以及src/App.vue 的代码没有进行过手动修改的话,将该代码手动删除,然后将hos-app-websrc/sys,package.json,public以及src/App.vue 的代码复制到本地工程即可;
  3. 如果自己业务工程中src/sys,package.json,public以及src/App.vue的代码进行过手动修改的话,请自行与src/sys,package.json,public以及src/App.vue 的代码进行比对,手动进行同步并解决冲突代码;

# 后端升级步骤

  1. 在根 pom 文件中修改hos-app-dependencies的版本号为R2.6.6.3.23,修改hos-starter-dependencies的版本号为R1.5.7.8修改hos-security-dependencies的版本号为R1.0.8.21
<dependencyManagement>
    <dependencies>
       <dependency>
          <groupId>com.mediway.hos</groupId>
          <artifactId>hos-app-dependencies</artifactId>
          <version>R2.6.6.3.23</version>
          <type>pom</type>
          <scope>import</scope>
       </dependency>
        <dependency>
            <groupId>com.mediway.hos</groupId>
            <artifactId>hos-starter-dependencies</artifactId>
            <version>R1.5.7.8</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <dependency>
            <groupId>com.mediway.hos</groupId>
            <artifactId>hos-security-dependencies</artifactId>
            <version>R1.0.8.21</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

# 第三方资源授权免密登录

新增菜单第三方资源授权用来维护第三方应用信息以及应用下登录配置;当其他系统免密访问本系统时,可根据该配置获取相应的岗位与业务单元数据,查询对应的数据。 以下是访问方与被访问方页面操作步骤:

--- 访问方 在菜单维护页面,打开 是否外链 开关后,会有是否第三方资源免密开关,打开该开关维护必要内容后即可使用第三方资源授权免密登录;

应用SM4秘钥:由被访问方提供。

路由:要跳转的地址

链接参数:authenticationSource=001&loginCode=app00101&loginName=001&grantType=configFree&businessPost=[post_code]&businessUnit=[busi_unit_code]&.....
参数名称 属性说明
authenticationSource 第三方资源编码(应用 SM4 秘钥是资源 code 所对应的资源的秘钥),由被访问方提供
loginCode 第三方资源下的登录配置编码,由被访问方提供
非账号登录名
loginName 账号编码,如果为空时则默认取当前登录账号的编码
grantType 固定值 configFree,可不填
businessPost 被访问方业务岗位编码
businessUnit 被访问方业务单元编码

--- 被访问方

维护第三方资源以及资源下登录配置,提供资源编码和登录配置编码,以及岗位和业务单元编码

第三方资源授权免密登录访问逻辑如下:

1.如果只传了authenticationSource,loginCode,则以authenticationSource+loginCode去匹配岗位+业务单元与人员本身分配的岗位和业务单元无关;如果没有查到岗位数据,则会根据系统参数`free-login-null-error`来判断返回值
 为true时返回错误,为false时获取当前账号所对应人员的第一条定岗数据。

2.如果只传了businessPost,businessUnit则以businessPost+businessUnit为准去匹配岗位和业务单元,与人员定岗数据有关;如果businessPost+businessUnit无法匹配人员定岗数据,则用businessUnit去配置定岗位取第一条数据,如果businessUnit也无法匹配则会根据系统参数`free-login-null-error`来判断返回值
 为true时返回错误,为false时获取当前账号所对应人员的第一条定岗数据。

3.如果authenticationSource,loginCode,businessPost,businessUnit四个参数在打开页面时都存在值,系统会根据系统参数`open-new-free-login`来判断是以authenticationSource+loginCode为准获取岗位和业务单元还是以businessPost+businessUnit为准获取岗位+业务单元。
为true时与1逻辑一致;为false时与2一致。

4. 如果第三方资源没有维护秘钥,默认通过当前第三方资源免密登录的系统不需要验签,可直接访问。

# ip 安全过滤器

系统参数新增ip-filter,默认为 true 开启 ip 安全过滤器。

# 升级数据库

请根据数据库实际使用情况,仔细核对数据库类型,下载当前使用的数据库对应的升级脚本。

(以下为 高斯数据库 的升级示例)

  1. 前往 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.23) , 用户名及密码为自己的 Git 账号密码,没有权限的话找王鑫申请,没有账号的话找自己的主管向公司申请。
  2. 下载hos-app-base-opengauss-2.6.6.3.21~2.6.6.3.23.sql文件
  3. 执行更新 SQLhos-app-base-opengauss-2.6.6.3.21~2.6.6.3.23.sql
    注:该版本目前暂不支持Oracle数据库如果使用请升级至R2.6.6.3.33
    高斯数据库支持兼容oracle模式,如在oracle模式下执行sql报错,可优先参考 高斯数据库模式兼容问题