refactor: 优化webhook日志

This commit is contained in:
wushuo
2026-03-06 08:48:37 +08:00
parent a2e040b5c0
commit 2f93d065a5
8 changed files with 42 additions and 46 deletions

View File

@@ -34,8 +34,7 @@
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
<version>4.0.0-M2</version>
<artifactId>spring-boot-starter-aspectj</artifactId>
</dependency>
<dependency>
<groupId>org.springdoc</groupId>

View File

@@ -42,11 +42,10 @@ public class SwaggerConfig {
.in(SecurityScheme.In.HEADER)
);
OpenAPI openAPI = new OpenAPI()
return new OpenAPI()
.components(components)
.addSecurityItem(new SecurityRequirement().addList("api-key"))
.info(info)
.externalDocs(externalDocumentation);
return openAPI;
}
}

View File

@@ -357,7 +357,7 @@ public class AniController extends BaseController {
}
@Auth
@Operation(summary = "手动刷新订阅")
@Operation(summary = "刷新全部订阅")
@PostMapping("/refreshAll")
public Result<Void> refreshAll() {
// 未传Body, 刷新所有订阅
@@ -367,7 +367,7 @@ public class AniController extends BaseController {
}
@Auth
@Operation(summary = "手动刷新订阅")
@Operation(summary = "刷新订阅")
@PostMapping("/refreshAni")
public Result<Void> refreshAni(@RequestBody Ani ani) {
Optional<Ani> first = AniUtil.ANI_LIST.stream()

View File

@@ -116,6 +116,8 @@ public class MikanController extends BaseController {
if (imgFile.exists()) {
try {
response.setContentType(contentType);
response.setContentLengthLong(imgFile.length());
@Cleanup
InputStream inputStream = FileUtil.getInputStream(imgFile);
@Cleanup
@@ -129,7 +131,10 @@ public class MikanController extends BaseController {
getImg(img, is -> {
try {
response.setContentType(contentType);
response.setContentLengthLong(imgFile.length());
FileUtil.writeFromStream(is, imgFile, true);
@Cleanup
BufferedInputStream inputStream = FileUtil.getInputStream(imgFile);
@Cleanup

View File

@@ -10,7 +10,6 @@ import cn.hutool.core.io.FileUtil;
import cn.hutool.core.lang.Opt;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.http.Method;
import cn.hutool.json.JSONUtil;
import lombok.extern.slf4j.Slf4j;
@@ -104,7 +103,15 @@ public class WebHookNotification implements BaseNotification {
httpRequest.body(webHookBody);
log.debug("webhook body: {}", webHookBody);
}
return httpRequest.thenFunction(HttpResponse::isOk);
return httpRequest.thenFunction(res -> {
boolean ok = res.isOk();
if (ok) {
return true;
}
int status = res.getStatus();
log.error("webhook error, status: {}", status);
return false;
});
}
private static Map<String, String> getHeaderMap(NotificationConfig notificationConfig) {

View File

@@ -11,7 +11,8 @@
@keyup.enter="login"
@submit="login">
<el-form-item>
<el-input v-model="user.username" placeholder="用户名" autocomplete="username">
<el-input v-model.trim="user.username"
placeholder="用户名" autocomplete="username">
<template #prefix>
<el-icon class="el-input__icon">
<User/>
@@ -20,7 +21,7 @@
</el-input>
</el-form-item>
<el-form-item>
<el-input v-model="user.password" show-password
<el-input v-model.trim="user.password" show-password
placeholder="密码" autocomplete="current-password">
<template #prefix>
<el-icon class="el-input__icon">
@@ -53,9 +54,7 @@
</template>
<script setup>
import {onMounted, ref} from "vue";
import CryptoJS from "crypto-js"
import * as http from "./js/http.js";
import {Key} from "@element-plus/icons-vue";
import {ElMessage} from "element-plus";
@@ -64,33 +63,29 @@ import {authorization, rememberThePassword} from "@/js/global.js";
let loading = ref(false)
let user = ref({
'username': '',
'password': ''
username: '',
password: ''
})
/**
* 登录
*/
let login = () => {
user.value.password = user.value.password.trim()
user.value.username = user.value.username.trim()
let {username, password} = user.value;
if (!user.value.password || !user.value.username) {
if (!password || !username) {
ElMessage.error('请输入账号与密码')
return
}
loading.value = true
http.login({
username: user.value.username,
password: CryptoJS['MD5'](user.value.password).toString()
})
http.login(user.value)
.then(res => {
// 记住密码
if (rememberThePassword.value.remember) {
rememberThePassword.value.username = user.value.username
rememberThePassword.value.password = user.value.password
rememberThePassword.value.username = username
rememberThePassword.value.password = password
} else {
rememberThePassword.value.username = ''
rememberThePassword.value.password = ''

View File

@@ -1,4 +1,5 @@
import api from "@/js/api.js";
import CryptoJS from "crypto-js";
/**
* 获取设置
@@ -287,10 +288,14 @@ export let getTgUpdates = (notificationConfig) => api.post('api/getTgUpdates', n
/**
* 登录
* @param v
* @param user
* @returns {Promise<unknown>}
*/
export let login = (v) => api.post('api/login', v)
export let login = (user) => {
user = JSON.parse(JSON.stringify(user))
user.password = CryptoJS['MD5'](user.password).toString()
return api.post('api/login', user)
}
/**
* 测试IP白名单

28
pom.xml
View File

@@ -6,6 +6,7 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>4.0.3</version>
<relativePath/>
</parent>
<groupId>ani.rss</groupId>
@@ -32,16 +33,6 @@
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>ani.rss</groupId>
<artifactId>ani-rss-commons</artifactId>
<version>${project.parent.version}</version>
</dependency>
<dependency>
<groupId>ani.rss</groupId>
<artifactId>ani-rss-ui</artifactId>
@@ -49,18 +40,13 @@
</dependency>
<dependency>
<groupId>ani.rss</groupId>
<artifactId>ani-rss-domain</artifactId>
<artifactId>ani-rss-application</artifactId>
<version>${project.parent.version}</version>
</dependency>
<dependency>
<groupId>ani.rss</groupId>
<artifactId>ani-rss-core</artifactId>
<version>${project.parent.version}</version>
</dependency>
<dependency>
<groupId>ani.rss</groupId>
<artifactId>ani-rss-web</artifactId>
<version>${project.parent.version}</version>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>3.0.2</version>
</dependency>
<dependency>
<groupId>wushuo.tmdb.api</groupId>
@@ -91,7 +77,7 @@
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.5.27</version>
<version>1.5.32</version>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
@@ -106,7 +92,7 @@
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.21.2</version>
<version>1.22.1</version>
</dependency>
<dependency>
<groupId>org.eclipse</groupId>