diff --git a/README.md b/README.md
index f5089fb..b4bd112 100644
--- a/README.md
+++ b/README.md
@@ -6,8 +6,7 @@ RSS阅读器,基于Java SpringBoot搭建。
1. RSS订阅功能;
2. 邮件推送;
-3. 微博图片保存;
-4. 微博图片上传AList;
+3. 微博图片、视频保存;
## 部署运行
@@ -28,21 +27,28 @@ bcrjl/rss-reader:latest
### 映射目录说明
-| 本地目录 | 容器目录 | 说明 |
-|----------| --- |-------|
-| ./config | /app/config | 配置文件 |
-| ./log | /app/log | 运行日志 |
-| ./images | /app/images | 下载的图片 |
-| ./video | /app/video | 下载的视频 |
+| 本地目录 | 容器目录 | 说明 |
+|----------|-------------|-----------------|
+| ./config | /app/config | 配置文件 |
+| ./log | /app/log | 运行日志 |
+| ./images | /app/images | 下载的图片 |
+| ./video | /app/video | 下载的视频 |
## FAQ
-### 1.AList上传异常
-
-配置错误,请检查`config.setting`配置文件中的`aListUrl`配置,结尾不能带`/`
+待更新
## TODO
1. 订阅请求增加代理配置
-2推送渠道:企业微信、钉钉等
-3...
+2. 推送渠道:企业微信、钉钉等
+3. ..
+
+## 更新说明
+
+### v0.4.0
+
+1. RSS订阅功能;
+2. 邮件推送;
+3. 微博图片保存;
+4. 微博图片上传AList;
diff --git a/config/config.setting b/config/config.setting
index 10a12e9..e7e308e 100644
--- a/config/config.setting
+++ b/config/config.setting
@@ -1,20 +1,10 @@
[system]
## 配置订阅频率
-refresh=5
+refresh=1
## 保存微博图片
saveWeiBoImages=true
## 保存微博视频
saveWeiBoVideo=true
-## 上传图片到AList
-uploadAList=false
-## AList Url
-aListUrl=
-## AList 账号
-aListUser=
-## AList 密码
-aListPass=
-## AList 上传路径
-aListUploadPath=
[mail]
## 启用邮件推送
enable=false
diff --git a/pom.xml b/pom.xml
index 0242a34..b7feb54 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,7 +20,7 @@
UTF-8
2.7.18
- 1.38.0
+ 1.44.0
1.18.34
5.8.29
1.6.2
diff --git a/src/main/java/com/bcrjl/rss/common/constant/AppConstant.java b/src/main/java/com/bcrjl/rss/common/constant/AppConstant.java
index 5022213..265b13e 100644
--- a/src/main/java/com/bcrjl/rss/common/constant/AppConstant.java
+++ b/src/main/java/com/bcrjl/rss/common/constant/AppConstant.java
@@ -42,26 +42,6 @@ public interface AppConstant {
*/
String SAVE_WEIBO_VIDEO = "saveWeiBoVideo";
- /**
- * 上传图片到AList
- */
- String UPLOAD_ALIST = "uploadAList";
-
- /**
- * AList Url
- */
- String ALIST_URL = "aListUrl";
- /**
- * AList 账号
- */
- String ALIST_USER = "aListUser";
- /**
- * AList 密码
- */
- String ALIST_PASS = "aListPass";
-
- String ALIST_UPLOAD_PATH = "aListUploadPath";
-
Integer MAIL_CONFIG_SIZE = 7;
String MAIL_CONFIG_ENABLE = "enable";
diff --git a/src/main/java/com/bcrjl/rss/common/util/AListUtils.java b/src/main/java/com/bcrjl/rss/common/util/AListUtils.java
deleted file mode 100644
index be7878e..0000000
--- a/src/main/java/com/bcrjl/rss/common/util/AListUtils.java
+++ /dev/null
@@ -1,107 +0,0 @@
-package com.bcrjl.rss.common.util;
-
-import cn.hutool.cache.CacheUtil;
-import cn.hutool.cache.impl.TimedCache;
-import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.util.CharsetUtil;
-import cn.hutool.core.util.StrUtil;
-import cn.hutool.http.ContentType;
-import cn.hutool.http.Header;
-import cn.hutool.http.HttpRequest;
-import cn.hutool.http.HttpResponse;
-import cn.hutool.json.JSONUtil;
-import cn.hutool.setting.Setting;
-import lombok.extern.slf4j.Slf4j;
-
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-
-import static com.bcrjl.rss.common.constant.AppConstant.*;
-
-/**
- * AList工具类
- *
- * @author yanqs
- */
-@Slf4j
-public class AListUtils {
-
- /**
- * AList 登录获取 Token 接口路径
- */
- private static final String TOKEN_URL = "/api/auth/login";
-
- /**
- * 上传流 接口路径
- */
- private static final String UPLOAD_URL = "/api/fs/put";
-
- /**
- * 创建本地缓存
- */
- private static TimedCache timedCache = CacheUtil.newTimedCache(86400000);
-
- /**
- * 获取AList Token
- *
- * @return token
- */
- private static String getToken() {
- try {
- String alistToken = timedCache.get("alist_token");
- if (StrUtil.isNotEmpty(alistToken)) {
- return alistToken;
- } else {
- Setting setting = new Setting(CONFIG_PATH, CharsetUtil.CHARSET_UTF_8, true);
- Setting systemSetting = setting.getSetting(SET_SYSTEM);
- Map params = new HashMap<>(INIT_MAP);
- params.put("username", systemSetting.get(ALIST_USER));
- params.put("password", systemSetting.get(ALIST_PASS));
- String aListUrl = systemSetting.get(ALIST_URL);
- String body = HttpRequest.post(aListUrl + TOKEN_URL)
- .header(Header.CONTENT_TYPE, ContentType.JSON.getValue())
- .body(JSONUtil.toJsonStr(params))
- .execute().body();
- String token = JSONUtil.parseObj(body).getJSONObject("data").getStr("token");
- timedCache.put("alist_token", token);
- return token;
- }
- } catch (Exception e) {
- log.error("获取AList Token异常:", e);
- return "";
- }
- }
-
- /**
- * 上传文件
- *
- * @param fileByte 文件字节
- * @param fileName 文件名
- */
- public static void uploadFile(byte[] fileByte, String fileName) {
- try {
- String time = DateUtil.format(new Date(), "yyyyMMdd");
- Setting setting = new Setting(CONFIG_PATH, CharsetUtil.CHARSET_UTF_8, true);
- Setting systemSetting = setting.getSetting(SET_SYSTEM);
- String aListUrl = systemSetting.get(ALIST_URL);
- String uploadPath = systemSetting.get(ALIST_UPLOAD_PATH);
- HttpResponse httpResponse = HttpRequest.put(aListUrl + UPLOAD_URL)
- .header(Header.AUTHORIZATION, getToken())
- .header(Header.CONTENT_TYPE, ContentType.MULTIPART.getValue())
- .header("File-Path", uploadPath + "/" + time + "/" + fileName)
- .body(fileByte)
- .execute();
- if (httpResponse.isOk()) {
- String message = JSONUtil.parseObj(httpResponse.body()).getStr("message");
- if (!"success".equals(message)) {
- log.info("AList上传失败:{}", message);
- }
- } else {
- log.info("AList上传失败,响应状态码:{}", httpResponse.getStatus());
- }
- } catch (Exception e) {
- log.error("AList上传文件异常:", e);
- }
- }
-}
diff --git a/src/main/java/com/bcrjl/rss/job/FileMonitor.java b/src/main/java/com/bcrjl/rss/job/FileMonitor.java
index 6de7ad7..a1ea15e 100644
--- a/src/main/java/com/bcrjl/rss/job/FileMonitor.java
+++ b/src/main/java/com/bcrjl/rss/job/FileMonitor.java
@@ -43,16 +43,6 @@ public class FileMonitor {
"saveWeiBoImages=false\n" +
"## 保存微博视频\n" +
"saveWeiBoVideo=true\n" +
- "## 上传图片到AList\n" +
- "uploadAList=false\n" +
- "## AList Url\n" +
- "aListUrl=\n" +
- "## AList 账号\n" +
- "aListUser=\n" +
- "## AList 密码\n" +
- "aListPass=\n" +
- "## AList 上传路径\n" +
- "aListUploadPath=\n" +
"[mail]\n" +
"## 启用邮件推送\n" +
"enable=false\n" +
diff --git a/src/main/java/com/bcrjl/rss/job/RssJob.java b/src/main/java/com/bcrjl/rss/job/RssJob.java
index 8ea95af..07f287e 100644
--- a/src/main/java/com/bcrjl/rss/job/RssJob.java
+++ b/src/main/java/com/bcrjl/rss/job/RssJob.java
@@ -12,7 +12,6 @@ import cn.hutool.http.HttpResponse;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import cn.hutool.setting.Setting;
-import com.bcrjl.rss.common.util.AListUtils;
import com.bcrjl.rss.common.util.HtmlUtils;
import com.bcrjl.rss.common.util.MailUtils;
import com.bcrjl.rss.common.util.RssUtils;
@@ -115,14 +114,13 @@ public class RssJob {
}
/**
- * 保存微博图片到本地且上传AList
+ * 保存微博图片到本地
*/
private void saveWeiBoImagesOrUpdateAList(List list) {
Setting setting = new Setting(CONFIG_PATH, CharsetUtil.CHARSET_UTF_8, true);
Setting systemSetting = setting.getSetting(SET_SYSTEM);
boolean saveImages = Boolean.parseBoolean(systemSetting.get(SAVE_WEIBO_IMAGES));
boolean saveVideo = Boolean.valueOf(systemSetting.get(SAVE_WEIBO_VIDEO));
- boolean uploadAList = Boolean.valueOf(systemSetting.get(UPLOAD_ALIST));
if (saveImages) {
// 保存图片
list.forEach(obj -> {
@@ -133,26 +131,20 @@ public class RssJob {
HttpResponse weiBoImagesHttpRequest = HtmlUtils.getWeiBoImagesHttpRequest(fileName);
byte[] bytes = weiBoImagesHttpRequest.bodyBytes();
FileUtil.writeBytes(bytes, new File(IMAGES_PATH + fileName));
- if (uploadAList) {
- AListUtils.uploadFile(bytes, fileName);
- }
}
});
});
}
- if(saveVideo){
+ if (saveVideo) {
// 保存视频
list.forEach(obj -> {
List videoList = HtmlUtils.extractVideoUrls(obj.getDescription());
- if(CollUtil.isNotEmpty(videoList)){
+ if (CollUtil.isNotEmpty(videoList)) {
videoList.forEach(videoObj -> {
String fileName = HtmlUtils.getFileName(videoObj);
HttpResponse weiBoVideoHttpRequest = HtmlUtils.getWeiBoVideoHttpRequest(videoObj);
byte[] bytes = weiBoVideoHttpRequest.bodyBytes();
FileUtil.writeBytes(bytes, new File(VIDEO_PATH + fileName));
- if (uploadAList) {
- AListUtils.uploadFile(bytes, fileName);
- }
});
}
});