mirror of
https://github.com/octopusYan/alist-gui.git
synced 2025-12-08 09:11:56 +08:00
Compare commits
1 Commits
96274f6952
...
alpha/v1.0
| Author | SHA1 | Date | |
|---|---|---|---|
| 3414f0f421 |
2
.github/workflows/release.yml
vendored
2
.github/workflows/release.yml
vendored
@ -118,7 +118,7 @@ jobs:
|
||||
- name: Build with Maven
|
||||
run: |
|
||||
mvn clean package -f pom.xml
|
||||
mkdir zipball && cp target/*.zip zipball
|
||||
mkdir zipball && cp ../target/*.zip zipball
|
||||
|
||||
- name: Upload AListGUI to Github
|
||||
if: startsWith(github.ref, 'refs/tags/v')
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
|
||||
### 截图
|
||||
|
||||
<details open>
|
||||
<details>
|
||||
<summary> 主界面 </summary>
|
||||
<picture>
|
||||
<source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/909ac6ad-0021-47d7-a75c-7fb6505e8c15">
|
||||
@ -28,7 +28,7 @@
|
||||
</picture>
|
||||
</details>
|
||||
|
||||
<details open>
|
||||
<details>
|
||||
<summary> 管理员信息 </summary>
|
||||
<picture>
|
||||
<source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/840dca69-e67d-4083-88f8-8e67c3e47141">
|
||||
@ -36,7 +36,7 @@
|
||||
</picture>
|
||||
</details>
|
||||
|
||||
<details open>
|
||||
<details>
|
||||
<summary> 设置 </summary>
|
||||
<picture>
|
||||
<source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/8fc8c489-b9cd-4e34-ad32-4899ccc275e9">
|
||||
@ -44,7 +44,7 @@
|
||||
</picture>
|
||||
</details>
|
||||
|
||||
<details open>
|
||||
<details>
|
||||
<summary> 关于 </summary>
|
||||
<picture>
|
||||
<source media="(prefers-color-scheme: dark)" srcset="https://github.com/user-attachments/assets/dbef2d66-4ca4-4e89-8292-dbdce3566f93">
|
||||
|
||||
19
gui/pom.xml
19
gui/pom.xml
@ -105,6 +105,21 @@
|
||||
|
||||
</dependencies>
|
||||
|
||||
<pluginRepositories>
|
||||
<pluginRepository>
|
||||
<id>nexus</id>
|
||||
<name>nexus-snapshot-repository</name>
|
||||
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
|
||||
<snapshots>
|
||||
<enabled>true</enabled>
|
||||
<updatePolicy>always</updatePolicy>
|
||||
</snapshots>
|
||||
<releases>
|
||||
<enabled>false</enabled>
|
||||
</releases>
|
||||
</pluginRepository>
|
||||
</pluginRepositories>
|
||||
|
||||
<build>
|
||||
<resources>
|
||||
<resource>
|
||||
@ -121,6 +136,7 @@
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.13.0</version>
|
||||
<configuration>
|
||||
<source>21</source>
|
||||
<target>21</target>
|
||||
@ -140,6 +156,7 @@
|
||||
<plugin>
|
||||
<groupId>us.hebi.sass</groupId>
|
||||
<artifactId>sass-cli-maven-plugin</artifactId>
|
||||
<version>1.0.3</version>
|
||||
<configuration>
|
||||
<sassVersion>1.78.0</sassVersion>
|
||||
<args> <!-- Any argument that should be forwarded to the sass cli -->
|
||||
@ -166,6 +183,7 @@
|
||||
<plugin>
|
||||
<groupId>org.openjfx</groupId>
|
||||
<artifactId>javafx-maven-plugin</artifactId>
|
||||
<version>0.0.8</version>
|
||||
<configuration>
|
||||
<stripDebug>true</stripDebug>
|
||||
<compress>2</compress>
|
||||
@ -202,6 +220,7 @@
|
||||
<plugin>
|
||||
<groupId>io.github.fvarrui</groupId>
|
||||
<artifactId>javapackager</artifactId>
|
||||
<version>1.7.7-SNAPSHOT</version>
|
||||
<configuration>
|
||||
<mainClass>${exec.mainClass}</mainClass>
|
||||
<bundleJre>true</bundleJre>
|
||||
|
||||
@ -19,10 +19,9 @@ import org.apache.commons.lang3.time.DateFormatUtils;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.function.Function;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@ -34,7 +33,7 @@ public class ConsoleLog {
|
||||
public static final String format = "yyyy/MM/dd hh:mm:ss";
|
||||
private volatile static ConsoleLog log;
|
||||
private final VBox textArea;
|
||||
private final static String CONSOLE_COLOR_PREFIX = "\033[";
|
||||
private final static String CONSOLE_COLOR_PREFIX = "^\033[";
|
||||
private final static String CONSOLE_MSG_REX = "^\033\\[(\\d+)m(.*)\033\\[0m(.*)$";
|
||||
private final static String URL_IP_REX = "^((ht|f)tps?:\\/\\/)?[\\w-+&@#/%?=~_|!:,.;]*[\\w-+&@#/%=~_|]+(:\\d{1,5})?\\/?$";
|
||||
|
||||
@ -89,6 +88,16 @@ public class ConsoleLog {
|
||||
if (StringUtils.isEmpty(message) || !isInit()) return;
|
||||
message = message.strip();
|
||||
message = StrUtil.format(message, param);
|
||||
|
||||
// 多颜色消息处理
|
||||
if (StringUtils.countMatches(message, CONSOLE_COLOR_PREFIX) > 1) {
|
||||
String[] split = message.replace(CONSOLE_MSG_REX, "\n%s".formatted(CONSOLE_COLOR_PREFIX)).split("\n");
|
||||
List<String> msgs = Arrays.stream(split).toList();
|
||||
for (String msg : msgs) {
|
||||
msg(msg);
|
||||
}
|
||||
return;
|
||||
}
|
||||
message = setPwdText(message);
|
||||
message = resetConsoleColor(message);
|
||||
|
||||
@ -178,35 +187,17 @@ public class ConsoleLog {
|
||||
/**
|
||||
* 控制台输出颜色
|
||||
*
|
||||
* @param msg 输出消息
|
||||
* @param msg alist 输出消息
|
||||
* @return bbcode 颜色文本
|
||||
*/
|
||||
private static String resetConsoleColor(String msg) {
|
||||
if (!msg.contains(CONSOLE_COLOR_PREFIX) || !Pattern.matches(CONSOLE_MSG_REX, msg)) return msg;
|
||||
if (!msg.contains("\033[")) return msg;
|
||||
|
||||
// 多颜色处理
|
||||
String[] split = Pattern.compile("\\033\\[(\\d;)?(\\d+)m")
|
||||
.matcher(msg)
|
||||
.replaceAll(matchResult -> "\n" + matchResult.group())
|
||||
.replaceFirst("\n", "")
|
||||
.split("\n");
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
Pattern pattern = Pattern.compile("\\033\\[(\\d;)?(\\d+)m(.*)");
|
||||
Matcher matcher;
|
||||
for (int i = 0; i < split.length; i++) {
|
||||
matcher = pattern.matcher(split[i]);
|
||||
if(!matcher.matches()) continue;
|
||||
|
||||
if (i % 2 == 0) {
|
||||
String color = StringUtils.lowerCase(Color.valueOf(Integer.parseInt(matcher.group(2))).getColor());
|
||||
sb.append(color(color, matcher.group(3)));
|
||||
} else {
|
||||
sb.append(matcher.group(3));
|
||||
}
|
||||
}
|
||||
|
||||
return sb.toString();
|
||||
String colorCode = ReUtil.get(CONSOLE_MSG_REX, msg, 1);
|
||||
String color = StringUtils.lowerCase(Color.valueOf(Integer.parseInt(colorCode)).getColor());
|
||||
String colorMsg = ReUtil.get(CONSOLE_MSG_REX, msg, 2);
|
||||
msg = ReUtil.get(CONSOLE_MSG_REX, msg, 3);
|
||||
return color(color, colorMsg) + msg;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -65,14 +65,8 @@ public class SetupViewModel extends BaseViewModel {
|
||||
proxySetup.addListener((_, _, newValue) -> ConfigManager.proxySetup(newValue));
|
||||
proxyTestUrl.addListener((_, _, newValue) -> ConfigManager.proxyTestUrl(newValue));
|
||||
proxyHost.addListener((_, _, newValue) -> ConfigManager.proxyHost(newValue));
|
||||
proxyHost.addListener((_, _, newValue) -> {
|
||||
ConfigManager.proxyHost(newValue);
|
||||
setProxy();
|
||||
});
|
||||
proxyPort.addListener((_, _, newValue) -> {
|
||||
ConfigManager.proxyPort(newValue);
|
||||
setProxy();
|
||||
});
|
||||
proxyPort.addListener((_, _, newValue) -> ConfigManager.proxyPort(newValue));
|
||||
language.addListener((_, _, newValue) -> Context.setLanguage(newValue));
|
||||
}
|
||||
|
||||
public ObjectProperty<Theme> themeProperty() {
|
||||
@ -129,14 +123,6 @@ public class SetupViewModel extends BaseViewModel {
|
||||
});
|
||||
}
|
||||
|
||||
private void setProxy() {
|
||||
ConfigManager.checkProxy((success, _) -> {
|
||||
if (!success) return;
|
||||
|
||||
HttpUtil.getInstance().proxy(ConfigManager.proxySetup(), ConfigManager.getProxyInfo());
|
||||
});
|
||||
}
|
||||
|
||||
private static ProxyCheckTask getProxyCheckTask(String checkUrl) {
|
||||
var task = new ProxyCheckTask(checkUrl);
|
||||
task.onListen(new TaskListener(task) {
|
||||
|
||||
48
pom.xml
48
pom.xml
@ -141,52 +141,4 @@
|
||||
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
|
||||
<pluginRepositories>
|
||||
<pluginRepository>
|
||||
<id>nexus</id>
|
||||
<name>nexus-snapshot-repository</name>
|
||||
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
|
||||
<snapshots>
|
||||
<enabled>true</enabled>
|
||||
<updatePolicy>always</updatePolicy>
|
||||
</snapshots>
|
||||
<releases>
|
||||
<enabled>false</enabled>
|
||||
</releases>
|
||||
</pluginRepository>
|
||||
</pluginRepositories>
|
||||
|
||||
<build>
|
||||
<pluginManagement>
|
||||
<plugins>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.13.0</version>
|
||||
</plugin>
|
||||
|
||||
<!-- https://github.com/HebiRobotics/sass-cli-maven-plugin -->
|
||||
<plugin>
|
||||
<groupId>us.hebi.sass</groupId>
|
||||
<artifactId>sass-cli-maven-plugin</artifactId>
|
||||
<version>1.0.3</version>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<groupId>org.openjfx</groupId>
|
||||
<artifactId>javafx-maven-plugin</artifactId>
|
||||
<version>0.0.8</version>
|
||||
</plugin>
|
||||
|
||||
<!-- https://github.com/fvarrui/JavaPackager -->
|
||||
<plugin>
|
||||
<groupId>io.github.fvarrui</groupId>
|
||||
<artifactId>javapackager</artifactId>
|
||||
<version>1.7.7-SNAPSHOT</version>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</pluginManagement>
|
||||
</build>
|
||||
</project>
|
||||
@ -61,6 +61,7 @@
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.13.0</version>
|
||||
<configuration>
|
||||
<source>21</source>
|
||||
<target>21</target>
|
||||
@ -78,6 +79,7 @@
|
||||
<plugin>
|
||||
<groupId>org.openjfx</groupId>
|
||||
<artifactId>javafx-maven-plugin</artifactId>
|
||||
<version>0.0.8</version>
|
||||
<configuration>
|
||||
<stripDebug>true</stripDebug>
|
||||
<compress>2</compress>
|
||||
@ -110,6 +112,7 @@
|
||||
<plugin>
|
||||
<groupId>io.github.fvarrui</groupId>
|
||||
<artifactId>javapackager</artifactId>
|
||||
<version>1.7.7-SNAPSHOT</version>
|
||||
<configuration>
|
||||
<mainClass>${exec.mainClass}</mainClass>
|
||||
<bundleJre>true</bundleJre>
|
||||
|
||||
Reference in New Issue
Block a user