diff --git a/txw-gateway/README.md b/txw-gateway/README.md new file mode 100644 index 0000000..e69de29 diff --git a/txw-gateway/pom.xml b/txw-gateway/pom.xml new file mode 100644 index 0000000..a80236e --- /dev/null +++ b/txw-gateway/pom.xml @@ -0,0 +1,58 @@ + + + 4.0.0 + + com.css.ggzc + ggzc-framework-dependencies + 1.0.0-SNAPSHOT + + txw-gateway + com.css.txw + 1.0.0-SNAPSHOT + ${project.artifactId} + txw-gateway + + + + com.css.ggzc + ggzc-framework-starter + 1.0.0-SNAPSHOT + pom + import + + + + + + + com.css.ggzc + ggzc-framework-starter-gateway + + + + com.css.ggzc + ggzc-framework-starter-rpc + + + + + + springboot + + + + org.springframework.boot + spring-boot-maven-plugin + ${spring.boot.version} + + + + repackage + + + + + + + diff --git a/txw-gateway/settings.xml b/txw-gateway/settings.xml new file mode 100644 index 0000000..e089e4a --- /dev/null +++ b/txw-gateway/settings.xml @@ -0,0 +1,61 @@ + + + + + + + codingcorp-qyd_repo-mvn_public + coding-user + coding-pwd + + + + + + + Repository Proxy + + true + + + + + codingcorp-qyd_repo-mvn_public + mvn_public + http://codingcorp-maven.pkg.codingstd.xc01.cloud.sat.tax/repository/qyd_repo/mvn_public/ + + true + + + true + always + + + + + + codingcorp-qyd_repo-mvn_public + + true + + + true + + http://codingcorp-maven.pkg.codingstd.xc01.cloud.sat.tax/repository/qyd_repo/mvn_public/ + + + + + + + + codingcorp-qyd_repo-mvn_public + + central + mvn_public + http://codingcorp-maven.pkg.codingstd.xc01.cloud.sat.tax/repository/qyd_repo/mvn_public/ + + + diff --git a/txw-gateway/src/main/java/com/css/txw/gateway/app/DevAppStarter.java b/txw-gateway/src/main/java/com/css/txw/gateway/app/DevAppStarter.java new file mode 100644 index 0000000..f3d2a53 --- /dev/null +++ b/txw-gateway/src/main/java/com/css/txw/gateway/app/DevAppStarter.java @@ -0,0 +1,16 @@ +package com.css.txw.gateway.app; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.EnableAspectJAutoProxy; + +/** + * 仅开发使用,正式环境不使用,写在此处的配置在生产环境不会生效 + */ +@SpringBootApplication +@EnableAspectJAutoProxy(proxyTargetClass = true) +public class DevAppStarter { + public static void main(String[] args) { + SpringApplication.run(DevAppStarter.class, args); + } +} diff --git a/txw-gateway/src/main/resources/application.yaml b/txw-gateway/src/main/resources/application.yaml new file mode 100644 index 0000000..80dcdcc --- /dev/null +++ b/txw-gateway/src/main/resources/application.yaml @@ -0,0 +1,19 @@ +spring: + main: + allow-circular-references: true # 允许循环依赖,因为项目是三层架构,无法避免这个情况。 +css: + application: + version: 1.0.0 + base-package: com.css.ggzc.gateway + swagger: + title: ${spring.application.name} + description: 网关服务 + version: ${css.application.version} + base-package: ${css.application.base-package} + tenant: # 多租户相关配置项 + enable: true + gateway: + api: + checkAccessToken: http://sso-service/sso/oauth2/token/check +# checkAccessToken: http://gateway.qydckts.tax.cn/sso/oauth2/token/check + diff --git a/txw-gateway/src/main/resources/bootstrap-env.yml b/txw-gateway/src/main/resources/bootstrap-env.yml new file mode 100644 index 0000000..8347294 --- /dev/null +++ b/txw-gateway/src/main/resources/bootstrap-env.yml @@ -0,0 +1,22 @@ + +--- #################### 注册中心相关配置 #################### + +spring: + cloud: + nacos: + server-addr: 10.23.10.91:8848 + discovery: + namespace: qyd-txw # 命名空间。这里使用 dev 开发环境 + +--- #################### 配置中心相关配置 #################### + +spring: + cloud: + nacos: + # Nacos Config 配置项,对应 NacosConfigProperties 配置属性类 + config: + server-addr: 10.23.10.91:8848 # Nacos 服务器地址 + namespace: qyd-txw # 命名空间。这里使用 dev 开发环境 + group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP + name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name + file-extension: yaml # 使用的 Nacos 配置集的 dataId 的文件拓展名,同时也是 Nacos 配置集的配置格式,默认为 properties diff --git a/txw-gateway/src/main/resources/bootstrap-local.yml b/txw-gateway/src/main/resources/bootstrap-local.yml new file mode 100644 index 0000000..98fb7f4 --- /dev/null +++ b/txw-gateway/src/main/resources/bootstrap-local.yml @@ -0,0 +1,27 @@ +--- #################### 注册中心相关配置 #################### + +spring: + cloud: + nacos: + server-addr: 10.23.10.91:8848 + username: qyddev + password: 9!1%Sw#QydNacosDev + discovery: + namespace: 0ac06fee-c2c9-4ca0-9a26-4921d553adde # 命名空间。这里使用开发环境 + metadata: + version: 1.0.0-SNAPSHOT # 服务实例的版本号,可用于灰度发布 + +--- #################### 配置中心相关配置 #################### + +spring: + cloud: + nacos: + # Nacos Config 配置项,对应 NacosConfigProperties 配置属性类 + config: + server-addr: 10.23.10.91:8848 # Nacos 服务器地址 + username: qyddev + password: 9!1%Sw#QydNacosDev + namespace: 0ac06fee-c2c9-4ca0-9a26-4921d553adde # 命名空间。这里使用 dev 开发环境 + group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP + name: ${spring.application.name} # 使用的 Nacos 配置集的 dataId,默认为 spring.application.name + file-extension: yaml # 使用的 Nacos 配置集的 dataId 的文件拓展名,同时也是 Nacos 配置集的配置格式,默认为 properties diff --git a/txw-gateway/src/main/resources/bootstrap-nacos.yml b/txw-gateway/src/main/resources/bootstrap-nacos.yml new file mode 100644 index 0000000..8fc33b5 --- /dev/null +++ b/txw-gateway/src/main/resources/bootstrap-nacos.yml @@ -0,0 +1,107 @@ +spring: + cloud: + gateway: + x-forwarded: + prefix-enabled: false # 避免 Swagger 重复带上额外的 /ckts-api/system 前缀 + routes: + - id: qyd-ckts-dlfw + uri: grayLb://qyd-ckts-dlfw + predicates: + - Path=/dlfw/** + - id: qyd-ckts-jszx + uri: grayLb://qyd-ckts-jszx + predicates: + - Path=/jszx/** + - id: qyd-ckts-mhzc + uri: grayLb://qyd-ckts-mhzc + predicates: + - Path=/mhzc/** + - id: qyd-ckts-ptgl + uri: grayLb://qyd-ckts-ptgl + predicates: + - Path=/ptgl/** + - id: qyd-ckts-sbzx + uri: grayLb://qyd-ckts-sbzx + predicates: + - Path=/sbzx/** + - id: qyd-ckts-sjcj + uri: grayLb://qyd-ckts-sjcj + predicates: + - Path=/sjcj/** + - id: qyd-ckts-sjfx + uri: grayLb://qyd-ckts-sjfx + predicates: + - Path=/sjfx/** + - id: qyd-ckts-sjjx + uri: grayLb://qyd-ckts-sjjx + predicates: + - Path=/sjjx/** + - id: qyd-ckts-sso + uri: grayLb://qyd-ckts-sso + predicates: + - Path=/sso/** + # API配置 + - id: qyd-ckts-sjcj-api + uri: grayLb://qyd-ckts-sjcj + predicates: + - Path=/api/sjcj/** + filters: + - ApiGatewayFilter + - RewritePath=/api/(?.*), /$\{segment} + + +knife4j: + # 聚合 Swagger 文档,参考 https://doc.xiaominfo.com/docs/action/springcloud-gateway 文档 + enable: true # 2.2 是否开启 Swagger 文档的 Knife4j UI 界面 + setting: + language: zh_cn + gateway: + enabled: true + routes: + - name: qyd-ckts-dlfw + service-name: qyd-ckts-dlfw + url: /dlfw/v3/api-docs + - name: qyd-ckts-jszx + service-name: qyd-ckts-jszx + url: /jszx/v3/api-docs + - name: qyd-ckts-mhzc + service-name: qyd-ckts-mhzc + url: /mhzc/v3/api-docs + - name: qyd-ckts-ptgl + service-name: qyd-ckts-ptgl + url: /ptgl/v3/api-docs + - name: qyd-ckts-sbzx + service-name: qyd-ckts-sbzx + url: /sbzx/v3/api-docs + - name: qyd-ckts-sjcj + service-name: qyd-ckts-sjcj + url: /sjcj/v3/api-docs + - name: qyd-ckts-sjfx + service-name: qyd-ckts-sjfx + url: /sjfx/v3/api-docs + - name: qyd-ckts-sjjx + service-name: qyd-ckts-sjjx + url: /sjjx/v3/api-docs + - name: qyd-ckts-sso + service-name: qyd-ckts-sso + url: /sso/v3/api-docs + +css: + gateway: + whitelist: + urls: + - /sso/verify/get + - /sso/auth/login + - /sso/auth/logout + - /sso/auth/refresh-token + - /oauth2/token/create + - /oauth2/token/check + - /open/oauth2/token + - /sso/auth/sendMsg #新增短信验证码发送白名单 陈鑫洋 2024/10/16 + - /sso/auth/loginBySMS #新增短信验证登陆白名单 陈鑫洋 2024/10/16 + - /sso/admin/auth/login #新增后台登录白名单 陈鑫洋 2024/10/17 + - /sso/admin/auth/logout #新增后台登出白名单 陈鑫洋 2024/10/17 + - /sso/oauth2/token + - /sso/oauth2/check-token + - /sso/oauth2/remove-token + - /api/** diff --git a/txw-gateway/src/main/resources/bootstrap.yml b/txw-gateway/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..7b862e0 --- /dev/null +++ b/txw-gateway/src/main/resources/bootstrap.yml @@ -0,0 +1,14 @@ +spring: + application: + name: txw-gateway + profiles: + active: local +server: + port: 9300 + servlet: + context-path: / + +# 日志文件配置。注意,如果 logging.file.name 不放在 bootstrap.yaml 配置文件,而是放在 application.yaml 中,会导致出现 LOG_FILE_IS_UNDEFINED 文件 +logging: + file: + name: ${user.dir}/logs/${spring.application.name}.log # 日志文件名,全路径 \ No newline at end of file diff --git a/txw-gateway/src/main/resources/logback-spring.xml b/txw-gateway/src/main/resources/logback-spring.xml new file mode 100644 index 0000000..cd24564 --- /dev/null +++ b/txw-gateway/src/main/resources/logback-spring.xml @@ -0,0 +1,76 @@ + + + + + + + + + + + +       + + ${PATTERN_DEFAULT} + + + + + + + + ${PATTERN_DEFAULT} + + + ${LOG_FILE} + + + + ${LOGBACK_ROLLINGPOLICY_FILE_NAME_PATTERN:-${LOG_FILE}.%d{yyyy-MM-dd}.%i.gz} + + + ${LOGBACK_ROLLINGPOLICY_CLEAN_HISTORY_ON_START:-false} + + + ${LOGBACK_ROLLINGPOLICY_MAX_FILE_SIZE:-10MB} + + ${LOGBACK_ROLLINGPOLICY_TOTAL_SIZE_CAP:-0} + + ${LOGBACK_ROLLINGPOLICY_MAX_HISTORY:-30} + + + + + + 0 + + 256 + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file