diff --git a/.github/workflows/e2e.yaml b/.github/workflows/e2e.yaml new file mode 100644 index 00000000..87eef70c --- /dev/null +++ b/.github/workflows/e2e.yaml @@ -0,0 +1,21 @@ +name: E2E + +on: + pull_request: + branches: + - main + +concurrency: + group: ${{github.workflow}} - ${{github.ref}} + cancel-in-progress: true + +jobs: + testing: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: E2E Testing + run: | + sudo curl -L https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose + sudo chmod u+x /usr/local/bin/docker-compose + docker compose -f docker-compose-testing.yml up --build testing --exit-code-from testing --remove-orphans diff --git a/NOTICE b/NOTICE new file mode 100644 index 00000000..c78b4c20 --- /dev/null +++ b/NOTICE @@ -0,0 +1,7 @@ + * 在使用本项目前,请您仔细阅读免责声明,确保您已充分理解其中的内容 + + * 本项目采用 APACHE LICENSE 2.0 开源协议,如您需要源码的开发方式,需要遵循以下几点 + + 1. 禁止修改或删除 LICENSE 文件。 + 2. 不可二次开发或参与同类竞品的开发。 + 3. 本项目可免费商业使用,商业使用请保留项目源码、出处、描述文件和作者声明等。 diff --git a/README.md b/README.md index 6b75b081..a843f9bd 100644 --- a/README.md +++ b/README.md @@ -13,27 +13,27 @@ + href="https://github.com/dromara/orion-visor/releases"> release - star + href="https://gitee.com/dromara/orion-visor/stargazers"> + star - fork + href="https://gitee.com/dromara/orion-visor/members"> + fork + href="https://github.com/dromara/orion-visor"> star + href="https://github.com/dromara/orion-visor"> star

@@ -53,7 +53,7 @@ * 🔗 演示地址: http://101.43.254.243:1081/ * 🔏 演示账号: admin/admin -* ⭐ 体验后可以点一下 `star` 这对我很重要! [github](https://github.com/lijiahangmax/orion-visor) [gitee](https://gitee.com/lijiahangmax/orion-visor) [gitcode](https://gitcode.com/qq_41011894/orion-visor/overview) +* ⭐ 体验后可以点一下 `star` 这对我很重要! [github](https://github.com/dromara/orion-visor) [gitee](https://gitee.com/dromara/orion-visor) * 🌈 如果本项目对你有帮助请帮忙推广一下 让更多的人知道此项目! * 🎭 演示环境部分功能不可用, 完整功能请本地部署! * 📛 演示环境请不要随便删除数据! @@ -63,7 +63,7 @@ ```bash # clone -git clone https://github.com/lijiahangmax/orion-visor +git clone https://github.com/dromara/orion-visor cd orion-visor # 启动 docker compose up -d @@ -131,8 +131,8 @@ docker compose up -d ## 免责声明 -在使用本项目之前, 请确保您已经了解并同意相关的使用协议和隐私政策。[免责声明](https://github.com/lijiahangmax/orion-visor/blob/main/DISCLAIMER.md) +在使用本项目之前, 请确保您已经了解并同意相关的使用协议和隐私政策。[免责声明](https://github.com/dromara/orion-visor/blob/main/DISCLAIMER.md) ## License -本项目遵循 [Apache-2.0](https://github.com/lijiahangmax/orion-visor/blob/main/LICENSE) 开源许可证。 +本项目遵循 [Apache-2.0](https://github.com/dromara/orion-visor/blob/main/LICENSE) 开源许可证。 diff --git a/docker-compose-testing.yml b/docker-compose-testing.yml new file mode 100644 index 00000000..5cb4679d --- /dev/null +++ b/docker-compose-testing.yml @@ -0,0 +1,79 @@ +version: '3.3' +services: + orion-visor-service: + image: registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-service:2.0.11 + privileged: true + ports: + - 1081:80 + environment: + - MYSQL_HOST=orion-visor-mysql + - MYSQL_PORT=3306 + - MYSQL_DATABASE=orion_visor + - MYSQL_USER=root + - MYSQL_PASSWORD=Data@123456 + - REDIS_HOST=orion-visor-redis + - REDIS_PASSWORD=Data@123456 + - SECRET_KEY=uQeacXV8b3isvKLK + - DEMO_MODE=false + volumes: + - /data/orion-visor-space/docker-volumes/service/root-orion:/root/orion + healthcheck: + test: [ "CMD", "curl", "http://127.0.0.1:9200/orion-visor/api/server/bootstrap/health" ] + interval: 3s + timeout: 300s + retries: 200 + start_period: 3s + depends_on: + orion-visor-mysql: + condition: service_healthy + orion-visor-redis: + condition: service_healthy + links: + - orion-visor-mysql + - orion-visor-redis + orion-visor-mysql: + image: registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-mysql:2.0.11 + privileged: true + ports: + - 3307:3306 + environment: + - MYSQL_DATABASE=orion_visor + - MYSQL_USER=orion + - MYSQL_PASSWORD=Data@123456 + - MYSQL_ROOT_PASSWORD=Data@123456 + volumes: + - /data/orion-visor-space/docker-volumes/mysql/var-lib-mysql:/var/lib/mysql + - /data/orion-visor-space/docker-volumes/mysql/var-lib-mysql-files:/var/lib/mysql-files + - /data/orion-visor-space/docker-volumes/mysql/etc-mysql:/etc/mysql + healthcheck: + test: [ "CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/3306" ] + interval: 3s + timeout: 60s + retries: 10 + start_period: 3s + orion-visor-redis: + image: registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-redis:2.0.11 + privileged: true + ports: + - 6380:6379 + environment: + - REDIS_PASSWORD=Data@123456 + volumes: + - /data/orion-visor-space/docker-volumes/redis/data:/data + command: sh -c "redis-server /usr/local/redis.conf --requirepass $${REDIS_PASSWORD}" + healthcheck: + test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ] + interval: 3s + timeout: 60s + retries: 10 + start_period: 3s + testing: + build: + context: ./docker/e2e + environment: + SERVER: http://orion-visor-service:80 + depends_on: + orion-visor-service: + condition: service_healthy + links: + - orion-visor-service diff --git a/docker-compose.yml b/docker-compose.yml index 705b773b..a19a7010 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,7 +1,8 @@ version: '3.3' services: orion-visor-service: - image: registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-service:2.0.6 + image: registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-service:2.0.11 + privileged: true ports: - 1081:80 environment: @@ -15,12 +16,23 @@ services: - SECRET_KEY=uQeacXV8b3isvKLK - DEMO_MODE=false volumes: - - /data/orion-visor-space/docker-volumes/orion-visor-service/root-orion:/root/orion + - /data/orion-visor-space/docker-volumes/service/root-orion:/root/orion + healthcheck: + test: [ "CMD", "curl", "http://127.0.0.1:9200/orion-visor/api/server/bootstrap/health" ] + interval: 3s + timeout: 300s + retries: 200 + start_period: 3s depends_on: + orion-visor-mysql: + condition: service_healthy + orion-visor-redis: + condition: service_healthy + links: - orion-visor-mysql - orion-visor-redis orion-visor-mysql: - image: registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-mysql:2.0.6 + image: registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-mysql:2.0.11 privileged: true ports: - 3307:3306 @@ -30,19 +42,31 @@ services: - MYSQL_PASSWORD=Data@123456 - MYSQL_ROOT_PASSWORD=Data@123456 volumes: - - /data/orion-visor-space/docker-volumes/orion-visor-mysql/var-lib-mysql:/var/lib/mysql - - /data/orion-visor-space/docker-volumes/orion-visor-mysql/var-lib-mysql-files:/var/lib/mysql-files - - /data/orion-visor-space/docker-volumes/orion-visor-mysql/etc-mysql:/etc/mysql + - /data/orion-visor-space/docker-volumes/mysql/var-lib-mysql:/var/lib/mysql + - /data/orion-visor-space/docker-volumes/mysql/var-lib-mysql-files:/var/lib/mysql-files + - /data/orion-visor-space/docker-volumes/mysql/etc-mysql:/etc/mysql + healthcheck: + test: [ "CMD", "bash", "-c", "cat < /dev/null > /dev/tcp/127.0.0.1/3306" ] + interval: 3s + timeout: 60s + retries: 10 + start_period: 3s orion-visor-redis: - image: registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-redis:2.0.6 + image: registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-redis:2.0.11 privileged: true ports: - 6380:6379 environment: - REDIS_PASSWORD=Data@123456 volumes: - - /data/orion-visor-space/docker-volumes/orion-visor-redis/data:/data + - /data/orion-visor-space/docker-volumes/redis/data:/data command: sh -c "redis-server /usr/local/redis.conf --requirepass $${REDIS_PASSWORD}" + healthcheck: + test: [ "CMD", "redis-cli", "--raw", "incr", "ping" ] + interval: 3s + timeout: 60s + retries: 10 + start_period: 3s orion-visor-adminer: image: adminer ports: diff --git a/docker-upgrade.sh b/docker-upgrade.sh index 52f56f4e..42e6059e 100644 --- a/docker-upgrade.sh +++ b/docker-upgrade.sh @@ -1,8 +1,7 @@ #/bin/bash docker compose down -sh ./pull.sh # demo 启动 if [ "$1" == "demo" ]; then sed -i 's/DEMO_MODE=false/DEMO_MODE=true/g' docker-compose.yml fi -docker compose up -d +docker compose up -d --remove-orphans diff --git a/docker/e2e/Dockerfile b/docker/e2e/Dockerfile new file mode 100644 index 00000000..ed5f8110 --- /dev/null +++ b/docker/e2e/Dockerfile @@ -0,0 +1,7 @@ +FROM ghcr.io/linuxsuren/api-testing:v0.0.17 + +WORKDIR /workspace +COPY . . +RUN chmod 777 * + +CMD [ "/workspace/entrypoint.sh" ] diff --git a/docker/e2e/entrypoint.sh b/docker/e2e/entrypoint.sh new file mode 100644 index 00000000..2aa71863 --- /dev/null +++ b/docker/e2e/entrypoint.sh @@ -0,0 +1,3 @@ +#!/bin/bash +set -e +atest run -p testsuite.yaml --report md diff --git a/docker/e2e/testsuite.yaml b/docker/e2e/testsuite.yaml new file mode 100644 index 00000000..8554d5e6 --- /dev/null +++ b/docker/e2e/testsuite.yaml @@ -0,0 +1,49 @@ +#!api-testing +# yaml-language-server: $schema=https://linuxsuren.github.io/api-testing/api-testing-schema.json +name: orion-visor +api: | + {{default "http://orion-visor-service:80" (env "SERVER")}} +items: + - name: login + request: + api: /orion-visor/api/infra/auth/login + method: POST + header: + Content-type: application/json + body: | + {"username":"admin","password":"21232f297a57a5a743894a0e4a801fc3"} + expect: + bodyFieldsExpect: + code: 200 + - name: userPermission + request: + api: /orion-visor/api/infra/permission/user + header: + Authorization: Bearer {{.login.data.token}} + expect: + bodyFieldsExpect: + code: 200 + msg: "success" + - name: menu + request: + api: /orion-visor/api/infra/permission/menu + header: + Authorization: Bearer {{.login.data.token}} + expect: + bodyFieldsExpect: + code: 200 + msg: "success" + - name: haveUnRead + request: + api: /orion-visor/api/infra/system-message/has-unread + - name: queryOperatorLog + request: + api: /orion-visor/api/infra/mine/query-operator-log + method: POST + - name: hostList + request: + api: /orion-visor/api/infra/tag/list?type=HOST + - name: queryHost + request: + api: /orion-visor/api/asset/host/query + method: POST diff --git a/docker/orion-visor-mysql/Dockerfile b/docker/mysql/Dockerfile similarity index 100% rename from docker/orion-visor-mysql/Dockerfile rename to docker/mysql/Dockerfile diff --git a/docker/orion-visor-mysql/build.sh b/docker/mysql/build.sh similarity index 95% rename from docker/orion-visor-mysql/build.sh rename to docker/mysql/build.sh index 960d3eda..50b32314 100644 --- a/docker/orion-visor-mysql/build.sh +++ b/docker/mysql/build.sh @@ -1,5 +1,5 @@ #/bin/bash -version=2.0.6 +version=2.0.11 cp -r ../../sql ./sql docker build -t orion-visor-mysql:${version} . rm -rf ./sql diff --git a/docker/orion-visor-mysql/my.cnf b/docker/mysql/my.cnf similarity index 100% rename from docker/orion-visor-mysql/my.cnf rename to docker/mysql/my.cnf diff --git a/docker/orion-visor-redis/Dockerfile b/docker/redis/Dockerfile similarity index 100% rename from docker/orion-visor-redis/Dockerfile rename to docker/redis/Dockerfile diff --git a/docker/orion-visor-redis/build.sh b/docker/redis/build.sh similarity index 94% rename from docker/orion-visor-redis/build.sh rename to docker/redis/build.sh index cef014d5..3201a2ec 100644 --- a/docker/orion-visor-redis/build.sh +++ b/docker/redis/build.sh @@ -1,5 +1,5 @@ #/bin/bash -version=2.0.6 +version=2.0.11 docker build -t orion-visor-redis:${version} . docker tag orion-visor-redis:${version} registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-redis:${version} docker push registry.cn-hangzhou.aliyuncs.com/lijiahangmax/orion-visor-redis:${version} diff --git a/docker/orion-visor-redis/redis.conf b/docker/redis/redis.conf similarity index 100% rename from docker/orion-visor-redis/redis.conf rename to docker/redis/redis.conf diff --git a/docker/orion-visor-service/Dockerfile b/docker/service/Dockerfile similarity index 96% rename from docker/orion-visor-service/Dockerfile rename to docker/service/Dockerfile index 1359ede8..8dbe19fa 100644 --- a/docker/orion-visor-service/Dockerfile +++ b/docker/service/Dockerfile @@ -8,6 +8,7 @@ RUN \ sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && \ apk update && \ apk add tzdata && \ + apk add dmidecode && \ apk add openjdk8 # 设置时区 RUN ln -sf /usr/share/zoneinfo/${TZ} /etc/localtime && \ diff --git a/docker/orion-visor-service/build.sh b/docker/service/build.sh similarity index 96% rename from docker/orion-visor-service/build.sh rename to docker/service/build.sh index f8fea604..0584384d 100644 --- a/docker/orion-visor-service/build.sh +++ b/docker/service/build.sh @@ -1,5 +1,5 @@ #/bin/bash -version=2.0.6 +version=2.0.11 mv ../../orion-visor-launch/target/orion-visor-launch.jar ./orion-visor-launch.jar mv ../../orion-visor-ui/dist ./dist docker build -t orion-visor-service:${version} . diff --git a/docker/orion-visor-service/entrypoint.sh b/docker/service/entrypoint.sh similarity index 100% rename from docker/orion-visor-service/entrypoint.sh rename to docker/service/entrypoint.sh diff --git a/docker/orion-visor-service/nginx.conf b/docker/service/nginx.conf similarity index 100% rename from docker/orion-visor-service/nginx.conf rename to docker/service/nginx.conf diff --git a/orion-visor-dependencies/pom.xml b/orion-visor-dependencies/pom.xml index 10503d6c..a4a33549 100644 --- a/orion-visor-dependencies/pom.xml +++ b/orion-visor-dependencies/pom.xml @@ -11,10 +11,10 @@ ${project.artifactId} 项目所有依赖 - https://github.com/lijiahangmax/orion-visor + https://github.com/dromara/orion-visor - 2.0.6 + 2.0.11 2.7.17 2.7.15 1.5.0 diff --git a/orion-visor-framework/orion-visor-framework-common/pom.xml b/orion-visor-framework/orion-visor-framework-common/pom.xml index 3d19c493..6b446405 100644 --- a/orion-visor-framework/orion-visor-framework-common/pom.xml +++ b/orion-visor-framework/orion-visor-framework-common/pom.xml @@ -14,7 +14,7 @@ jar 项目公共基准包 - https://github.com/lijiahangmax/orion-visor + https://github.com/dromara/orion-visor diff --git a/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/constant/AppConst.java b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/constant/AppConst.java index 33851407..0c44fdf4 100644 --- a/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/constant/AppConst.java +++ b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/constant/AppConst.java @@ -14,14 +14,17 @@ public interface AppConst extends OrionConst { /** * 同 ${orion.version} 迭代时候需要手动更改 */ - String VERSION = "2.0.6"; + String VERSION = "2.0.11"; - String ORION_VISOR = "orion-visor"; + /** + * 同 ${spring.application.name} + */ + String APP_NAME = "orion-visor"; - String GITHUB = "https://github.com/lijiahangmax/orion-visor"; + String GITHUB = "https://github.com/dromara/orion-visor"; - String GITEE = "https://gitee.com/lijiahangmax/orion-visor"; + String GITEE = "https://gitee.com/dromara/orion-visor"; - String ISSUES = "https://github.com/lijiahangmax/orion-visor/issues"; + String ISSUES = "https://github.com/dromara/orion-visor/issues"; } diff --git a/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/constant/CnConst.java b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/constant/CnConst.java index 012ea6fb..61d6e8ad 100644 --- a/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/constant/CnConst.java +++ b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/constant/CnConst.java @@ -13,4 +13,8 @@ public interface CnConst { String CN_ROLE = "角色"; + String CN_UNKNOWN = "未知"; + + String CN_INTRANET_IP = "内网IP"; + } diff --git a/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/constant/Const.java b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/constant/Const.java index 6e2c0e8e..d1bb333a 100644 --- a/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/constant/Const.java +++ b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/constant/Const.java @@ -17,10 +17,6 @@ public interface Const extends com.orion.lang.constant.Const, FieldConst, CnCons int MD5_LEN = 32; - String UNKNOWN = "未知"; - - String INTRANET_IP = "内网IP"; - Long ROOT_PARENT_ID = 0L; Integer DEFAULT_SORT = 10; diff --git a/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/constant/ErrorMessage.java b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/constant/ErrorMessage.java index c3baf40f..1d638d57 100644 --- a/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/constant/ErrorMessage.java +++ b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/constant/ErrorMessage.java @@ -83,8 +83,12 @@ public interface ErrorMessage { String UNKNOWN_TYPE = "未知类型"; + String ERROR_TYPE = "错误的类型"; + String FILE_ABSENT = "文件不存在"; + String FILE_ABSENT_CLEAR = "文件不存在 (可能已被清理)"; + String LOG_ABSENT = "日志不存在"; String TASK_ABSENT = "任务不存在"; @@ -95,6 +99,8 @@ public interface ErrorMessage { String FILE_READ_ERROR = "文件读取失败"; + String FILE_READ_ERROR_CLEAR = "文件读取失败 (可能已被清理)"; + String PLEASE_CHECK_HOST_SSH = "请检查主机 {} 是否存在/权限/SSH配置"; String CLIENT_ABORT = "手动中断"; diff --git a/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/constant/ExtraFieldConst.java b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/constant/ExtraFieldConst.java index fe428a78..f0060c82 100644 --- a/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/constant/ExtraFieldConst.java +++ b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/constant/ExtraFieldConst.java @@ -43,4 +43,6 @@ public interface ExtraFieldConst extends FieldConst { String LOG_ID = "logId"; + String DARK = "dark"; + } diff --git a/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/constant/FieldConst.java b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/constant/FieldConst.java index 08655aec..bec9ff55 100644 --- a/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/constant/FieldConst.java +++ b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/constant/FieldConst.java @@ -31,6 +31,8 @@ public interface FieldConst { String INFO = "info"; + String EXTRA = "extra"; + String REL_ID = "relId"; String BEFORE = "before"; @@ -59,10 +61,24 @@ public interface FieldConst { String TIME = "time"; + String ISSUE = "issue"; + + String EXPIRE = "expire"; + String LOCATION = "location"; String USER_AGENT = "userAgent"; String ERROR_MESSAGE = "errorMessage"; + String UUID = "uuid"; + + String REDIRECT = "redirect"; + + String SCHEMA = "schema"; + + String FILTER = "filter"; + + String LICENSE = "license"; + } diff --git a/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/constant/PathConst.java b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/constant/FileConst.java similarity index 83% rename from orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/constant/PathConst.java rename to orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/constant/FileConst.java index 0e7c2039..0f133894 100644 --- a/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/constant/PathConst.java +++ b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/constant/FileConst.java @@ -1,13 +1,13 @@ package com.orion.visor.framework.common.constant; /** - * 路径常量 + * 文件常量 * * @author Jiahang Li * @version 1.0.0 * @since 2024/4/17 10:35 */ -public interface PathConst { +public interface FileConst { String ERROR_LOG = "error.log"; diff --git a/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/entity/AutoClearConfig.java b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/entity/AutoClearConfig.java new file mode 100644 index 00000000..d98f2e70 --- /dev/null +++ b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/entity/AutoClearConfig.java @@ -0,0 +1,25 @@ +package com.orion.visor.framework.common.entity; + +import lombok.Data; + +/** + * 自动清理配置 + * + * @author Jiahang Li + * @version 1.0.0 + * @since 2024/6/24 15:03 + */ +@Data +public class AutoClearConfig { + + /** + * 是否开启 + */ + private Boolean enabled; + + /** + * 保留周期 (天) + */ + private Integer keepPeriod; + +} diff --git a/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/enums/EndpointDefine.java b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/enums/EndpointDefine.java new file mode 100644 index 00000000..e0025c08 --- /dev/null +++ b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/enums/EndpointDefine.java @@ -0,0 +1,45 @@ +package com.orion.visor.framework.common.enums; + +import com.orion.lang.utils.Strings; +import lombok.AllArgsConstructor; +import lombok.Getter; + +/** + * 端点定义 + * + * @author Jiahang Li + * @version 1.0.0 + * @since 2024/6/21 19:15 + */ +@Getter +@AllArgsConstructor +public enum EndpointDefine { + + /** + * 上传临时分区 + */ + UPLOAD_SWAP("/upload/swap/{}"), + + /** + * 批量执行日志 + */ + EXEC_LOG("/exec/{}/{}.log"), + + ; + + /** + * 端点 + */ + private final String endpoint; + + /** + * 格式化 + * + * @param params params + * @return path + */ + public String format(Object... params) { + return Strings.format(this.endpoint, params); + } + +} diff --git a/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/handler/data/GenericsDataDefinition.java b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/handler/data/GenericsDataDefinition.java index 2900a33e..9bddaa81 100644 --- a/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/handler/data/GenericsDataDefinition.java +++ b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/handler/data/GenericsDataDefinition.java @@ -1,9 +1,8 @@ package com.orion.visor.framework.common.handler.data; -import com.alibaba.fastjson.JSON; import com.orion.spring.SpringHolder; import com.orion.visor.framework.common.handler.data.model.GenericsDataModel; -import com.orion.visor.framework.common.handler.data.strategy.MapDataStrategy; +import com.orion.visor.framework.common.handler.data.strategy.GenericsDataStrategy; /** * 标准数据定义 @@ -12,45 +11,50 @@ import com.orion.visor.framework.common.handler.data.strategy.MapDataStrategy; * @version 1.0.0 * @since 2023/12/21 0:07 */ +@SuppressWarnings("unchecked") public interface GenericsDataDefinition { - /** - * 获取数据模型类型 - * - * @return class - */ - Class getModel(); - /** * 获取数据处理策略 * * @return class */ - Class> getStrategy(); + Class> getStrategyClass(); /** * 获取数据模型策略处理器 * - * @param Model - * @param Strategy - * @return StrategyBean + * @param Model + * @param Strategy + * @return Strategy Bean */ - @SuppressWarnings("unchecked") - default > Strategy getStrategyBean() { - return (Strategy) SpringHolder.getBean(this.getStrategy()); + default > S getStrategy() { + return (S) SpringHolder.getBean(this.getStrategyClass()); } /** * 反序列化对象 * - * @param json json - * @param Model + * @param serialModel serialModel + * @param Model * @return object */ - @SuppressWarnings("unchecked") - default Model parse(String json) { - return (Model) JSON.parseObject(json, this.getModel()); + default M parse(String serialModel) { + return (M) this.getStrategy().parse(serialModel); } + /** + * 转为视图对象 + * + * @param serialModel serialModel + * @param Model + * @return viewModel + */ + default M toView(String serialModel) { + GenericsDataStrategy strategy = this.getStrategy(); + GenericsDataModel model = strategy.parse(serialModel); + strategy.toView(model); + return (M) model; + } } diff --git a/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/handler/data/model/GenericsDataModel.java b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/handler/data/model/GenericsDataModel.java index f55dd244..ab068d5f 100644 --- a/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/handler/data/model/GenericsDataModel.java +++ b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/handler/data/model/GenericsDataModel.java @@ -2,6 +2,8 @@ package com.orion.visor.framework.common.handler.data.model; import com.alibaba.fastjson.JSON; +import java.util.Map; + /** * 标准数据模型 * @@ -20,4 +22,14 @@ public interface GenericsDataModel { return JSON.toJSONString(this); } + + /** + * 转为 map + * + * @return map + */ + default Map toMap() { + return JSON.parseObject(this.serial()); + } + } diff --git a/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/handler/data/strategy/AbstractGenericsDataStrategy.java b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/handler/data/strategy/AbstractGenericsDataStrategy.java new file mode 100644 index 00000000..11c74a56 --- /dev/null +++ b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/handler/data/strategy/AbstractGenericsDataStrategy.java @@ -0,0 +1,65 @@ +package com.orion.visor.framework.common.handler.data.strategy; + +import com.alibaba.fastjson.JSON; +import com.orion.visor.framework.common.handler.data.model.GenericsDataModel; + +/** + * 标准数据处理策略 基类 + * + * @author Jiahang Li + * @version 1.0.0 + * @since 2024/6/11 21:44 + */ +public abstract class AbstractGenericsDataStrategy implements GenericsDataStrategy { + + protected final Class modelClass; + + public AbstractGenericsDataStrategy(Class modelClass) { + this.modelClass = modelClass; + } + + /** + * 更新填充 + * + * @param beforeModel 修改前的配置 + * @param afterModel 修改后的配置 + */ + protected void updateFill(M beforeModel, M afterModel) { + } + + /** + * 预校验参数 + * + * @param model model + */ + protected void preValid(M model) { + } + + /** + * 校验参数 + * + * @param model model + */ + protected void valid(M model) { + } + + @Override + public void doValid(M beforeModel, M afterModel) { + // 预校验参数 + this.preValid(afterModel); + // 更新填充 + this.updateFill(beforeModel, afterModel); + // 校验参数 + this.valid(afterModel); + } + + @Override + public M parse(String serialModel) { + return JSON.parseObject(serialModel, modelClass); + } + + @Override + public void toView(M model) { + } + +} diff --git a/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/handler/data/strategy/GenericsDataStrategy.java b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/handler/data/strategy/GenericsDataStrategy.java index 93992305..4378269e 100644 --- a/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/handler/data/strategy/GenericsDataStrategy.java +++ b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/handler/data/strategy/GenericsDataStrategy.java @@ -9,60 +9,38 @@ import com.orion.visor.framework.common.handler.data.model.GenericsDataModel; * @version 1.0.0 * @since 2023/12/20 22:09 */ -public interface GenericsDataStrategy { +public interface GenericsDataStrategy { /** * 获取默认值 * * @return 默认值 */ - Model getDefault(); - - /** - * 更新填充 - * - * @param beforeModel 修改前的配置 - * @param afterModel 修改后的配置 - */ - void updateFill(Model beforeModel, Model afterModel); - - /** - * 预校验参数 - * - * @param model model - */ - void preValid(Model model); - - /** - * 校验参数 - * - * @param model model - */ - void valid(Model model); + M getDefault(); /** * 执行完整验证链 *

- * preValid > updateFill > preValid + * preValid > updateFill > valid * * @param beforeModel beforeModel * @param afterModel afterModel */ - default void doValidChain(Model beforeModel, Model afterModel) { - // 预校验参数 - this.preValid(afterModel); - // 更新填充 - this.updateFill(beforeModel, afterModel); - // 校验参数 - this.valid(afterModel); - } + void doValid(M beforeModel, M afterModel); + + /** + * 解析数据 + * + * @param serialModel serialModel + * @return model + */ + M parse(String serialModel); /** * 转为视图配置 * * @param model model - * @return 视图配置 */ - View toView(String model); + void toView(M model); } diff --git a/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/handler/data/strategy/MapDataStrategy.java b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/handler/data/strategy/MapDataStrategy.java deleted file mode 100644 index 4e92dbb4..00000000 --- a/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/handler/data/strategy/MapDataStrategy.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.orion.visor.framework.common.handler.data.strategy; - -import com.alibaba.fastjson.JSONObject; -import com.orion.visor.framework.common.handler.data.model.GenericsDataModel; - -import java.util.Map; - -/** - * map 数据处理策略 - * - * @author Jiahang Li - * @version 1.0.0 - * @since 2023/12/20 22:11 - */ -public interface MapDataStrategy extends GenericsDataStrategy> { - - @Override - default Map toView(String model) { - return JSONObject.parseObject(model); - } - -} diff --git a/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/utils/IpUtils.java b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/utils/IpUtils.java index 065428da..2e0398bf 100644 --- a/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/utils/IpUtils.java +++ b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/utils/IpUtils.java @@ -2,8 +2,12 @@ package com.orion.visor.framework.common.utils; import com.orion.ext.location.Region; import com.orion.ext.location.region.LocationRegions; +import com.orion.lang.constant.StandardHttpHeader; +import com.orion.lang.utils.Strings; import com.orion.visor.framework.common.constant.Const; +import com.orion.web.servlet.web.Servlets; +import javax.servlet.http.HttpServletRequest; import java.util.HashMap; import java.util.Map; @@ -21,6 +25,22 @@ public class IpUtils { private IpUtils() { } + /** + * 获取请求地址 + * + * @param request request + * @return addr + */ + public static String getRemoteAddr(HttpServletRequest request) { + // 获取实际地址 + String realIp = request.getHeader(StandardHttpHeader.X_REAL_IP); + if (!Strings.isBlank(realIp)) { + return realIp; + } + // 获取请求地址 + return Servlets.getRemoteAddr(request); + } + /** * 获取 ip 位置 * @@ -29,7 +49,7 @@ public class IpUtils { */ public static String getLocation(String ip) { if (ip == null) { - return Const.UNKNOWN; + return Const.CN_UNKNOWN; } // 查询缓存 return CACHE.computeIfAbsent(ip, IpUtils::queryLocation); @@ -43,21 +63,21 @@ public class IpUtils { */ private static String queryLocation(String ip) { if (ip == null) { - return Const.UNKNOWN; + return Const.CN_UNKNOWN; } Region region; try { region = LocationRegions.getRegion(ip, 3); } catch (Exception e) { - return Const.UNKNOWN; + return Const.CN_UNKNOWN; } if (region != null) { String net = region.getNet(); String province = region.getProvince(); - if (net.equals(Const.INTRANET_IP)) { + if (net.equals(Const.CN_INTRANET_IP)) { return net; } - if (province.equals(Const.UNKNOWN)) { + if (province.equals(Const.CN_UNKNOWN)) { return province; } StringBuilder location = new StringBuilder() @@ -69,7 +89,7 @@ public class IpUtils { location.append(" (").append(net).append(')'); return location.toString(); } - return Const.UNKNOWN; + return Const.CN_UNKNOWN; } } diff --git a/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/utils/Mixes.java b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/utils/Mixes.java new file mode 100644 index 00000000..7feef3b5 --- /dev/null +++ b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/utils/Mixes.java @@ -0,0 +1,38 @@ +package com.orion.visor.framework.common.utils; + +import com.orion.lang.utils.Arrays1; +import com.orion.lang.utils.crypto.Caesars; + +/** + * 混淆工具类 + * + * @author Jiahang Li + * @version 1.0.0 + * @since 2024/6/17 18:27 + */ +public class Mixes { + + private Mixes() { + } + + /** + * 混淆 + *

+ * 此方法不可修改 + * + * @param str str + * @return str + */ + public static String obfuscate(String str) { + char[] chars = str.toCharArray(); + Arrays1.reverse(chars); + for (int i = 0; i < chars.length; i += 2) { + char temp = chars[i]; + chars[i] = chars[i + 1]; + chars[i + 1] = temp; + } + String res = new String(chars); + return new Caesars().encrypt(res); + } + +} diff --git a/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/utils/PathUtils.java b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/utils/PathUtils.java index c7e1cfc4..61631269 100644 --- a/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/utils/PathUtils.java +++ b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/utils/PathUtils.java @@ -47,7 +47,7 @@ public class PathUtils { public static String getAppPath(boolean isWindows, String username) { return getHomePath(isWindows, username) + "/" + AppConst.ORION - + "/" + AppConst.ORION_VISOR; + + "/" + AppConst.APP_NAME; } /** diff --git a/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/utils/Requests.java b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/utils/Requests.java index ce553ab7..6757dd38 100644 --- a/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/utils/Requests.java +++ b/orion-visor-framework/orion-visor-framework-common/src/main/java/com/orion/visor/framework/common/utils/Requests.java @@ -41,7 +41,7 @@ public class Requests { .map(s -> (ServletRequestAttributes) s) .map(ServletRequestAttributes::getRequest) .ifPresent(request -> { - String address = Servlets.getRemoteAddr(request); + String address = IpUtils.getRemoteAddr(request); identity.setAddress(address); identity.setLocation(IpUtils.getLocation(address)); identity.setUserAgent(Servlets.getUserAgent(request)); diff --git a/orion-visor-framework/orion-visor-framework-common/src/main/resources/META-INF/spring-configuration-metadata.json b/orion-visor-framework/orion-visor-framework-common/src/main/resources/META-INF/additional-spring-configuration-metadata.json similarity index 95% rename from orion-visor-framework/orion-visor-framework-common/src/main/resources/META-INF/spring-configuration-metadata.json rename to orion-visor-framework/orion-visor-framework-common/src/main/resources/META-INF/additional-spring-configuration-metadata.json index 7b14cca3..e8e6d292 100644 --- a/orion-visor-framework/orion-visor-framework-common/src/main/resources/META-INF/spring-configuration-metadata.json +++ b/orion-visor-framework/orion-visor-framework-common/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -10,7 +10,7 @@ { "name": "orion.async.executor.core-pool-size", "type": "java.lang.Integer", - "description": "核心线程数量", + "description": "核心线程数量.", "defaultValue": "8" }, { diff --git a/orion-visor-framework/orion-visor-spring-boot-starter-banner/pom.xml b/orion-visor-framework/orion-visor-spring-boot-starter-banner/pom.xml index 0d62aa8f..a650c6d2 100644 --- a/orion-visor-framework/orion-visor-spring-boot-starter-banner/pom.xml +++ b/orion-visor-framework/orion-visor-spring-boot-starter-banner/pom.xml @@ -14,7 +14,7 @@ jar 项目 banner 打印包 - https://github.com/lijiahangmax/orion-visor + https://github.com/dromara/orion-visor diff --git a/orion-visor-framework/orion-visor-spring-boot-starter-banner/src/main/java/com/orion/visor/framework/banner/core/runner/BannerApplicationRunner.java b/orion-visor-framework/orion-visor-spring-boot-starter-banner/src/main/java/com/orion/visor/framework/banner/core/runner/BannerApplicationRunner.java index 8f0bac68..b9ca36df 100644 --- a/orion-visor-framework/orion-visor-spring-boot-starter-banner/src/main/java/com/orion/visor/framework/banner/core/runner/BannerApplicationRunner.java +++ b/orion-visor-framework/orion-visor-spring-boot-starter-banner/src/main/java/com/orion/visor/framework/banner/core/runner/BannerApplicationRunner.java @@ -51,7 +51,7 @@ public class BannerApplicationRunner implements ApplicationRunner { @Override public void run(ApplicationArguments args) { AnsiAppender appender = AnsiAppender.create() - .append(AnsiForeground.BRIGHT_GREEN, ":: orion-visor-launch v" + version + " 服务已启动(" + env + ") ::\n"); + .append(AnsiForeground.BRIGHT_GREEN, ":: orion-visor v" + version + " 服务已启动(" + env + ") ::\n"); // swagger 地址 if (apiDocsEnabled) { appender.append(AnsiForeground.BRIGHT_GREEN, ":: swagger 文档 ") diff --git a/orion-visor-framework/orion-visor-spring-boot-starter-biz-operator-log/pom.xml b/orion-visor-framework/orion-visor-spring-boot-starter-biz-operator-log/pom.xml index 283b5a56..3859eaa3 100644 --- a/orion-visor-framework/orion-visor-spring-boot-starter-biz-operator-log/pom.xml +++ b/orion-visor-framework/orion-visor-spring-boot-starter-biz-operator-log/pom.xml @@ -14,7 +14,7 @@ jar 项目操作日志包 - https://github.com/lijiahangmax/orion-visor + https://github.com/dromara/orion-visor diff --git a/orion-visor-framework/orion-visor-spring-boot-starter-biz-operator-log/src/main/resources/META-INF/spring-configuration-metadata.json b/orion-visor-framework/orion-visor-spring-boot-starter-biz-operator-log/src/main/resources/META-INF/additional-spring-configuration-metadata.json similarity index 100% rename from orion-visor-framework/orion-visor-spring-boot-starter-biz-operator-log/src/main/resources/META-INF/spring-configuration-metadata.json rename to orion-visor-framework/orion-visor-spring-boot-starter-biz-operator-log/src/main/resources/META-INF/additional-spring-configuration-metadata.json diff --git a/orion-visor-framework/orion-visor-spring-boot-starter-datasource/pom.xml b/orion-visor-framework/orion-visor-spring-boot-starter-datasource/pom.xml index 3d7e864a..137ceed3 100644 --- a/orion-visor-framework/orion-visor-spring-boot-starter-datasource/pom.xml +++ b/orion-visor-framework/orion-visor-spring-boot-starter-datasource/pom.xml @@ -14,7 +14,7 @@ jar 项目数据源配置包 - https://github.com/lijiahangmax/orion-visor + https://github.com/dromara/orion-visor diff --git a/orion-visor-framework/orion-visor-spring-boot-starter-desensitize/pom.xml b/orion-visor-framework/orion-visor-spring-boot-starter-desensitize/pom.xml index 35fd715a..db012646 100644 --- a/orion-visor-framework/orion-visor-spring-boot-starter-desensitize/pom.xml +++ b/orion-visor-framework/orion-visor-spring-boot-starter-desensitize/pom.xml @@ -14,7 +14,7 @@ jar 项目数据脱敏包 - https://github.com/lijiahangmax/orion-visor + https://github.com/dromara/orion-visor diff --git a/orion-visor-framework/orion-visor-spring-boot-starter-job/pom.xml b/orion-visor-framework/orion-visor-spring-boot-starter-job/pom.xml index d9f6f371..b225ecf9 100644 --- a/orion-visor-framework/orion-visor-spring-boot-starter-job/pom.xml +++ b/orion-visor-framework/orion-visor-spring-boot-starter-job/pom.xml @@ -14,7 +14,7 @@ jar 项目定时任务配置包 - https://github.com/lijiahangmax/orion-visor + https://github.com/dromara/orion-visor diff --git a/orion-visor-framework/orion-visor-spring-boot-starter-log/pom.xml b/orion-visor-framework/orion-visor-spring-boot-starter-log/pom.xml index e6f64d2e..e2e47972 100644 --- a/orion-visor-framework/orion-visor-spring-boot-starter-log/pom.xml +++ b/orion-visor-framework/orion-visor-spring-boot-starter-log/pom.xml @@ -14,7 +14,7 @@ jar 项目日志配置包 - https://github.com/lijiahangmax/orion-visor + https://github.com/dromara/orion-visor diff --git a/orion-visor-framework/orion-visor-spring-boot-starter-log/src/main/java/com/orion/visor/framework/log/configuration/config/LogPrinterConfig.java b/orion-visor-framework/orion-visor-spring-boot-starter-log/src/main/java/com/orion/visor/framework/log/configuration/config/LogPrinterConfig.java index a6373537..859c6d4d 100644 --- a/orion-visor-framework/orion-visor-spring-boot-starter-log/src/main/java/com/orion/visor/framework/log/configuration/config/LogPrinterConfig.java +++ b/orion-visor-framework/orion-visor-spring-boot-starter-log/src/main/java/com/orion/visor/framework/log/configuration/config/LogPrinterConfig.java @@ -1,6 +1,7 @@ package com.orion.visor.framework.log.configuration.config; import com.orion.visor.framework.common.utils.ConfigUtils; +import com.orion.visor.framework.log.core.enums.LogPrinterMode; import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; @@ -17,6 +18,11 @@ import java.util.List; @ConfigurationProperties("orion.logging.printer") public class LogPrinterConfig { + /** + * 类型 + */ + private LogPrinterMode mode; + /** * 字段配置 */ @@ -32,12 +38,31 @@ public class LogPrinterConfig { */ private String expression; - public void setField(LogPrinterFieldConfig field) { - this.field = field; - } - public void setHeaders(List headers) { this.headers = ConfigUtils.parseStringList(headers, String::toLowerCase); } + @Data + public static class LogPrinterFieldConfig { + + /** + * 忽略的字段 + */ + private List ignore; + + /** + * 脱敏的字段 + */ + private List desensitize; + + public void setIgnore(List ignore) { + this.ignore = ConfigUtils.parseStringList(ignore); + } + + public void setDesensitize(List desensitize) { + this.desensitize = ConfigUtils.parseStringList(desensitize); + } + + } + } diff --git a/orion-visor-framework/orion-visor-spring-boot-starter-log/src/main/java/com/orion/visor/framework/log/configuration/config/LogPrinterFieldConfig.java b/orion-visor-framework/orion-visor-spring-boot-starter-log/src/main/java/com/orion/visor/framework/log/configuration/config/LogPrinterFieldConfig.java deleted file mode 100644 index 7933a4ce..00000000 --- a/orion-visor-framework/orion-visor-spring-boot-starter-log/src/main/java/com/orion/visor/framework/log/configuration/config/LogPrinterFieldConfig.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.orion.visor.framework.log.configuration.config; - -import com.orion.visor.framework.common.utils.ConfigUtils; -import lombok.Data; - -import java.util.List; - -/** - * 日志打印字段配置 - * - * @author Jiahang Li - * @version 1.0.0 - * @since 2023/6/28 22:36 - */ -@Data -public class LogPrinterFieldConfig { - - /** - * 忽略的字段 - */ - private List ignore; - - /** - * 脱敏的字段 - */ - private List desensitize; - - public void setIgnore(List ignore) { - this.ignore = ConfigUtils.parseStringList(ignore); - } - - public void setDesensitize(List desensitize) { - this.desensitize = ConfigUtils.parseStringList(desensitize); - } - -} diff --git a/orion-visor-framework/orion-visor-spring-boot-starter-log/src/main/java/com/orion/visor/framework/log/core/interceptor/PrettyLogPrinterInterceptor.java b/orion-visor-framework/orion-visor-spring-boot-starter-log/src/main/java/com/orion/visor/framework/log/core/interceptor/PrettyLogPrinterInterceptor.java index ed05e8b6..725a5bfe 100644 --- a/orion-visor-framework/orion-visor-spring-boot-starter-log/src/main/java/com/orion/visor/framework/log/core/interceptor/PrettyLogPrinterInterceptor.java +++ b/orion-visor-framework/orion-visor-spring-boot-starter-log/src/main/java/com/orion/visor/framework/log/core/interceptor/PrettyLogPrinterInterceptor.java @@ -3,6 +3,7 @@ package com.orion.visor.framework.log.core.interceptor; import com.orion.lang.utils.Exceptions; import com.orion.lang.utils.Strings; import com.orion.lang.utils.time.Dates; +import com.orion.visor.framework.common.utils.IpUtils; import com.orion.visor.framework.common.utils.SwaggerUtils; import com.orion.visor.framework.log.configuration.config.LogPrinterConfig; import com.orion.web.servlet.web.Servlets; @@ -60,7 +61,7 @@ public class PrettyLogPrinterInterceptor extends AbstractLogPrinterInterceptor { // http if (request != null) { // remoteAddr - requestLog.append("\tremoteAddr: ").append(Servlets.getRemoteAddr(request)).append('\n'); + requestLog.append("\tremoteAddr: ").append(IpUtils.getRemoteAddr(request)).append('\n'); // header Servlets.getHeaderMap(request).forEach((hk, hv) -> { if (headerFilter.test(hk.toLowerCase())) { diff --git a/orion-visor-framework/orion-visor-spring-boot-starter-log/src/main/java/com/orion/visor/framework/log/core/interceptor/RowLogPrinterInterceptor.java b/orion-visor-framework/orion-visor-spring-boot-starter-log/src/main/java/com/orion/visor/framework/log/core/interceptor/RowLogPrinterInterceptor.java index d05e2d64..51fe9169 100644 --- a/orion-visor-framework/orion-visor-spring-boot-starter-log/src/main/java/com/orion/visor/framework/log/core/interceptor/RowLogPrinterInterceptor.java +++ b/orion-visor-framework/orion-visor-spring-boot-starter-log/src/main/java/com/orion/visor/framework/log/core/interceptor/RowLogPrinterInterceptor.java @@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSON; import com.orion.lang.utils.Exceptions; import com.orion.lang.utils.Strings; import com.orion.lang.utils.time.Dates; +import com.orion.visor.framework.common.utils.IpUtils; import com.orion.visor.framework.common.utils.SwaggerUtils; import com.orion.visor.framework.log.configuration.config.LogPrinterConfig; import com.orion.visor.framework.log.core.enums.LogFieldConst; @@ -61,7 +62,7 @@ public class RowLogPrinterInterceptor extends AbstractLogPrinterInterceptor impl // http if (request != null) { // remoteAddr - fields.put(REMOTE_ADDR, Servlets.getRemoteAddr(request)); + fields.put(REMOTE_ADDR, IpUtils.getRemoteAddr(request)); // header Map headers = new LinkedHashMap<>(); Servlets.getHeaderMap(request).forEach((hk, hv) -> { diff --git a/orion-visor-framework/orion-visor-spring-boot-starter-log/src/main/resources/META-INF/spring-configuration-metadata.json b/orion-visor-framework/orion-visor-spring-boot-starter-log/src/main/resources/META-INF/additional-spring-configuration-metadata.json similarity index 100% rename from orion-visor-framework/orion-visor-spring-boot-starter-log/src/main/resources/META-INF/spring-configuration-metadata.json rename to orion-visor-framework/orion-visor-spring-boot-starter-log/src/main/resources/META-INF/additional-spring-configuration-metadata.json diff --git a/orion-visor-framework/orion-visor-spring-boot-starter-monitor/pom.xml b/orion-visor-framework/orion-visor-spring-boot-starter-monitor/pom.xml index 5e1d50c9..7765d62a 100644 --- a/orion-visor-framework/orion-visor-spring-boot-starter-monitor/pom.xml +++ b/orion-visor-framework/orion-visor-spring-boot-starter-monitor/pom.xml @@ -14,7 +14,7 @@ jar 项目监控配置包 - https://github.com/lijiahangmax/orion-visor + https://github.com/dromara/orion-visor diff --git a/orion-visor-framework/orion-visor-spring-boot-starter-mybatis/pom.xml b/orion-visor-framework/orion-visor-spring-boot-starter-mybatis/pom.xml index 5f994e23..ad4e9fdb 100644 --- a/orion-visor-framework/orion-visor-spring-boot-starter-mybatis/pom.xml +++ b/orion-visor-framework/orion-visor-spring-boot-starter-mybatis/pom.xml @@ -14,7 +14,7 @@ jar 项目 mybatis 配置包 - https://github.com/lijiahangmax/orion-visor + https://github.com/dromara/orion-visor diff --git a/orion-visor-framework/orion-visor-spring-boot-starter-mybatis/src/main/java/com/orion/visor/framework/mybatis/core/generator/core/CustomFileFilter.java b/orion-visor-framework/orion-visor-spring-boot-starter-mybatis/src/main/java/com/orion/visor/framework/mybatis/core/generator/core/CustomFileFilter.java index 78e65056..98cefd24 100644 --- a/orion-visor-framework/orion-visor-spring-boot-starter-mybatis/src/main/java/com/orion/visor/framework/mybatis/core/generator/core/CustomFileFilter.java +++ b/orion-visor-framework/orion-visor-spring-boot-starter-mybatis/src/main/java/com/orion/visor/framework/mybatis/core/generator/core/CustomFileFilter.java @@ -38,13 +38,13 @@ public class CustomFileFilter { public List doFilter() { // 生成文件副本 List files = originCustomerFile.stream().map(s -> - new CustomFile.Builder() - .enableFileOverride() - .templatePath(s.getTemplatePath()) - .filePath(s.getFilePath()) - .fileName(s.getFileName()) - .packageName(s.getPackageName()) - .build()) + new CustomFile.Builder() + .enableFileOverride() + .templatePath(s.getTemplatePath()) + .filePath(s.getFilePath()) + .fileName(s.getFileName()) + .packageName(s.getPackageName()) + .build()) .collect(Collectors.toList()); // 不生成对外 api 文件 if (!table.isEnableProviderApi()) { diff --git a/orion-visor-framework/orion-visor-spring-boot-starter-mybatis/src/main/resources/templates/orion-vue-views-components-form-modal.vue.vm b/orion-visor-framework/orion-visor-spring-boot-starter-mybatis/src/main/resources/templates/orion-vue-views-components-form-modal.vue.vm index c69dde87..9e035c23 100644 --- a/orion-visor-framework/orion-visor-spring-boot-starter-mybatis/src/main/resources/templates/orion-vue-views-components-form-modal.vue.vm +++ b/orion-visor-framework/orion-visor-spring-boot-starter-mybatis/src/main/resources/templates/orion-vue-views-components-form-modal.vue.vm @@ -1,6 +1,6 @@ diff --git a/orion-visor-ui/src/components/asset/host/authorized-host-modal/index.vue b/orion-visor-ui/src/components/asset/host/authorized-host-modal/index.vue index c0e35a8e..952758d9 100644 --- a/orion-visor-ui/src/components/asset/host/authorized-host-modal/index.vue +++ b/orion-visor-ui/src/components/asset/host/authorized-host-modal/index.vue @@ -37,6 +37,7 @@ :allow-clear="true" :data="filterOptions" :filter-option="tagLabelFilter"> +