跳到主要内容

V3升级到V4后台改造说明

2024-01-20 manage 改造

一、旧 managemodule 后台 归档,禁止提交

manage业务已经完整接入af-revenue后台

之后修改manage后台sql report 在新部署的 af-revenue 后台进行修改

二、manage 前台 请求改造

manage 前台 sql 请求已经从 rs/sql/[sqlname] 改为 api/af-revenue/sql/[sqlname]

manage 前台 report 请求已经从 rs/report/[reportname] 改为 api/af-revenue/report/[reportname]

manage 前台 导出 请求已经从 rs/logic/exportfile 改为 api/af-revenue/logic/exportfile 并且需要升级 vue-client@1.24.157+

注意使用 v4 后台进行导出时 需要增加 单值 v4后台 值 为 1 + 的意思就是 大于等于这个版本就行

三、必须配置

本地 devserve 调试时 需要增加 转发到本地调试的配置

  '/api': {
target: 'http://localhost:3000'
},

服务器上升级需要增加的nginx配置

location /api/  {
#转发到getaway服务
proxy_pass http://127.0.0.1:8080/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}

如果后端没有升级 manage 到新版 af_revenue 后台,需要增加转发配置到 旧版 manage 后台 (推荐升级到最新营收)

location /api/af-revenue/  {
#转发到manage服务
proxy_pass http://127.0.0.1:8007/manage/rs/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}

location ^~ /api/af-revenue/logic/openapi/{
#转发到manage服务
proxy_pass http://127.0.0.1:7006/manage/rs/logic/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}

location ^~ /api/af-revenue/sql/openapi/{
#转发到manage服务
proxy_pass http://127.0.0.1:7006/manage/rs/sql/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}

导出配置 nacos

注意在linux环境下 需要联系运维挂载应用的导出目录到宿主机上,并且使得nginx可以访问该目录

  • windows 应用中目录通常为 D:/excel/export
  • linux 目录通常为 /usr/local/tomcat/files

nacos 中增加以下配置 用于导出文件的存储路径

resource:
fileRootPath: D:/
extraPaths: D:/
  # windows 下nginx 配置
location /res {
alias D:;
}
# linux 下nginx 配置
location /res/excel/export {
alias /usr/local/tomcat/files;
}

四、manage 未提交报表/sql检查

有部分地方票据文件以及相关sql 放在了 tomcat 外层 classes 下面,需要联系项目开发部 代码提交到 af-revenue 并且在测试之后在进行部署

2023-04-09 system 改造

主要目的是使用af-system进行登录以及鉴权

v后台升级内容 : af-system@1.0.13.31+ v3前台升级内容 : system-clients@3.2.89+ ; vue-client@1.24.150+

+ 的意思就是 大于等于这个版本就行

一、旧 systemmodule 后台 归档,禁止提交

system业务已经完整接入af-system后台

之后修改system后台sql logic 在新部署的 af-system 后台进行修改

二、请求改造

system-clients@3.2.89 版本以及以上的

  1. system 前台 请求已经从 rs/sql/[sqlname] 改为 api/af-system/sql/[sqlname]
  2. system 前台 logic 请求已经从 rs/logic/[logicname] 改为 api/af-system/logic/[logicname]
  3. system 前台 post - entity 请求已经从 rs/entity/[entityname] 改为 api/af-system/entity/[entityname], delete 请求已经从 rs/entity/[entityname] 改为 api/af-system/entity/[entityname]
  4. 登录登录请求现在发送 /api/af-auth/login 不再使用原有的 /rs/logic/login + /rs/user/userLogin/客服系统
  5. /rs/vue/{cofing} 改为 /api/af-system/vue/{cofing} (前台代码中暂时没有改动,需要通过nginx转发,下面会写配置 0409)

三、配置修改

因原有的 pc 端获取 配置的 请求 /rs/vue 现在都转到了琉璃中心 需要修改配置转到system服务

## 旧配置
##########system
#vue转发到system服务
location /rs/vue {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://v3-system-svc.v3service:8004/system/rs/vue;
# access_log "logs/test.log";
}
##########system

## 新配置
##########system
#vue转发到system服务
location /rs/vue {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://web-svc.service:31567/api/af-system/vue;
# access_log "logs/test.log";
}
##########system

手机端的配置 rs/vue 请求目前抓到自己的服务里 不需要做修改,后续如果升级到v4后台在针对修改

2024-05-17 address 改造

一、旧 addressmoudle 后台 归档,禁止提交

addressmoudle 业务已经完整接入 af-revenue 后台

之后修改 addressmoudle 后台sql logic 在新部署的 af-revenue 后台进行修改

二、address 前台 请求改造

address 前台 sql 请求已经从 rs/sql/[sqlname] 改为 api/af-revenue/sql/[sqlname]

address 前台 logic 请求已经从 rs/logic/[logicname] 改为 api/af-revenue/logic/[logicname]

address 前台 post - entity 请求已经从 rs/entity/[entityname] 改为 api/af-system/entity/[entityname], delete 请求已经从 rs/entity/[entityname] 改为 api/af-system/entity/[entityname]

address 前台 导出 请求已经从 rs/logic/exportfile 改为 api/af-revenue/logic/exportfile 并且需要升级 vue-client@1.24.157+

rs/file/uploadFile rs/downloadfile/file?filename=地址导入Excel模板' 上传文件和 下载模板请求尚未改造完成

注意使用 v4 后台进行导出时 需要增加 单值 v4后台 值 为 1 + 的意思就是 大于等于这个版本就行

三、nginx 配置 和 manage模块改造一样

2024-05-23 revenue 改造

一、旧 salemodule 后台 归档,禁止提交

salemodule 业务已经完整接入 af-revenue 后台

之后修改 salemodule 后台sql logic 在新部署的 af-revenue 后台进行修改

二、revenue 前台 请求改造

revenue 前台 sql 请求已经从 rs/sql/[sqlname] 改为 api/af-revenue/sql/[sqlname]

revenue 前台 logic 请求已经从 rs/logic/[logicname] 改为 api/af-revenue/logic/[logicname]

revenue 前台 post - entity 请求已经从 rs/entity/[entityname] 改为 api/af-system/entity/save/[entityname], delete 请求已经从 rs/entity/[entityname] 改为 api/af-system/entity/[entityname]

revenue 前台 导出 请求已经从 rs/logic/exportfile 改为 api/af-revenue/logic/exportfile 并且需要升级 vue-client@1.24.150+

revenue 前台 上传文件请求 rs/file/uploadFile 已经从 rs/file/uploadFile 改为 api/af-revenue/file/uploadFile

其余 rs/file/ 请求 也改成了 api/af-revenue/file 开头

revenue 前台 下载模板请求 rs/downloadfile/file?filename=地址导入Excel模板' 已经从 rs/downloadfile/file?filename=地址导入Excel模板 改为 api/af-revenue/downloadfile/file?filename=地址导入Excel模板

注意使用 v4 后台进行导出时 需要增加 单值 v4后台 值 为 1 + 的意思就是 大于等于这个版本就行

三、 文件上传 配置说明

注意在linux环境下 需要联系运维挂载应用的导出目录到宿主机上,并且使得nginx可以访问该目录

  • windows 应用中目录通常为 D:/files
  • linux 目录通常为 /usr/local/tomcat/files

nacos 中增加以下配置 用于导出文件的存储路径

resource:
fileRootPath: D:/
extraPaths: D:/

在 windows 部署下情况下

比如 文件配置的 d:/files/

上传文件会存到 d:/files/日期目录/文件名

下载或者访问时会发送 /files/日期目录/文件名 请求 通过 nginx 转发到 d:/files/目录下

  # windows 下nginx 配置 
location ~* \.(png)$ {
if ($request_uri ~* "files"){root d:;}
}
location ~* \.(jpg)$ {
if ($request_uri ~* "files"){root d:;}
}
location ~* \.(webp)$ {
if ($request_uri ~* "files"){root d:;}
}
location ~* \.(svg)$ {
if ($request_uri ~* "files"){root d:;}
}
。。。 其他类型省略

在 linux 部署下情况下

比如 文件配置的 /usr/local/tomcat/files

上传文件会存储到 容器的 /usr/local/tomcat/files/日期目录/文件名

这个目录会挂载到 宿主机 /usr/aaaa/files/日期目录/文件名 目录下 (这个不重要,举个例子方便理解,运维会根据情况配置挂载目录,这里只做说明)

nginx 容器里 会把 宿主机的文件 /usr/aaaa/files/ 这个目录 ,挂载到自己容器的 /usr/local/tomcat/files/ 这个目录

从而实现了,不仅可以在 revenue 容器 通过 /usr/local/tomcat/files/日期目录/文件名 可以访问到,nginx 容器中 同样的目录也能访问到

下载或者访问时会发送 /usr/local/tomcat/files/日期目录/文件名 请求 通过 nginx 转发到 d:/files/目录下

  # windows 下nginx 配置 
location ~* \.(png)$ {
if ($request_uri ~* "files"){root /;}
}
location ~* \.(jpg)$ {
if ($request_uri ~* "files"){root /;}
}
location ~* \.(webp)$ {
if ($request_uri ~* "files"){root /;}
}
location ~* \.(svg)$ {
if ($request_uri ~* "files"){root /;}
}
。。。 其他类型省略

三、nginx 配置 和 manage 模块改造几乎一样


升级需要增加的nginx配置

# api全部转发到网关服务

location /api/ {
#转发到getaway服务
proxy_pass http://127.0.0.1:8080/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}

# 如果后台没有升级 需要兼容的配置内容如下

location /api/af-revenue/entity/save/ {
rewrite ^/api/af-revenue/entity/save/(.*)$ /rs/entity/$1 last;
}


location /api/af-revenue/entity/ {
rewrite ^/api/af-revenue/entity/(.*)$ /rs/entity/$1 last;
}


location /api/af-revenue/sql/ {
rewrite ^/api/af-revenue/sql/(.*)$ /rs/sql/$1 last;
}

location /api/af-revenue/logic/ {
rewrite ^/api/af-revenue/logic/(.*)$ /rs/logic/$1 last;
}


location /api/af-revenue/file/ {
rewrite ^/api/af-revenue/file/(.*)$ /rs/logic/$1 last;
}

常见问题

1. 登录之后 某个 sql / logic 报错未找到资源

  • 可先判断是哪个服务的请求 升级对应服务的版本试试
  • 有报错及时联系开发负责人

2. 登录不上,登录报错

    1. 第一种报错 v3 前台登录报错

页面体现

控制台报错

需要升级 v3前台打包项目中 systemClient 3.3.1 版本 或者以上版本

注意

尽快升级到 v4 前台框架,更方便使用v4 新做的页面 替换掉v3 页面