diff --git a/src/main/java/cn/forevermc/launcher/service/APISettingService.java b/src/main/java/cn/forevermc/launcher/service/APISettingService.java index 26a9835..7e1ad6b 100644 --- a/src/main/java/cn/forevermc/launcher/service/APISettingService.java +++ b/src/main/java/cn/forevermc/launcher/service/APISettingService.java @@ -3,7 +3,7 @@ package cn.forevermc.launcher.service; import cn.forevermc.launcher.bean.APISetting; import cn.forevermc.launcher.util.Resources; import com.google.gson.Gson; -import com.google.gson.JsonObject; +import com.google.gson.reflect.TypeToken; import com.imyeyu.fx.task.RunAsync; import com.imyeyu.inject.annotation.Inject; import com.imyeyu.inject.annotation.InvokeForInjected; @@ -49,7 +49,7 @@ public class APISettingService { for (APISetting.Key key : APISetting.Key.values()) { reqArgs.put(key, null); } - Map data = TimiRequest.>wrap(Request.post(API).bodyString(gson.toJson(reqArgs), ContentType.APPLICATION_JSON)).result(); + Map data = TimiRequest.wrap(Request.post(API).bodyString(gson.toJson(reqArgs), ContentType.APPLICATION_JSON)).resultAs(new TypeToken<>() {}); setting.setBg(gson.fromJson(data.get(APISetting.Key.FMC_BG), APISetting.DynamicList.class)); setting.setBgm(gson.fromJson(data.get(APISetting.Key.FMC_BGM), APISetting.DynamicList.class)); setting.setSplashes(gson.fromJson(data.get(APISetting.Key.FMC_SPLASHES), APISetting.DynamicList.class)); diff --git a/src/main/java/cn/forevermc/launcher/service/FMCLoginService.java b/src/main/java/cn/forevermc/launcher/service/FMCLoginService.java index 64e1391..8d8b492 100644 --- a/src/main/java/cn/forevermc/launcher/service/FMCLoginService.java +++ b/src/main/java/cn/forevermc/launcher/service/FMCLoginService.java @@ -137,11 +137,11 @@ public class FMCLoginService implements OS.FileSystem { @Override protected Void call() throws Exception { { - String data = TimiRequest.get(SETTING_API + "/FMC_LOGIN_FABRIC").result(); + String data = TimiRequest.get(SETTING_API + "/FMC_LOGIN_FABRIC").resultAs(String.class); loginModMapTemp = gson.fromJson(data, new TypeToken>() {}.getType()); } { - List data = TimiRequest.>get(MIRROR_API + "/FabricAPI").result(); + List data = TimiRequest.get(MIRROR_API + "/FabricAPI").resultAs(new TypeToken<>() {}); fabricAPIMapTemp = data.stream().collect(Collectors.toMap(FabricAPI::getMinecraftVer, item -> item)); } return null; @@ -214,19 +214,17 @@ public class FMCLoginService implements OS.FileSystem { TokenRequest request = new TokenRequest(); request.setUser(user); request.setPassword(password); - return TimiRequest.wrap(Request.post(LOGIN_TOKEN_API).bodyString(gson.toJson(request), ContentType.APPLICATION_JSON)).result(); + return TimiRequest.wrap(Request.post(LOGIN_TOKEN_API).bodyString(gson.toJson(request), ContentType.APPLICATION_JSON)).resultAs(TokenResponse.class); } public List listBoundPlayer(String token) throws Exception { - return TimiRequest.>wrap(Request.get(LIST_PLAYER_API).addHeader("Token", token)).result(); + return TimiRequest.wrap(Request.get(LIST_PLAYER_API).addHeader("Token", token)).resultAs(new TypeToken<>() {}); } public TokenResponse doLogin(MinecraftPlayer player, String token) throws Exception { Map map = new HashMap<>(); map.put("playerId", player.id); - return TimiRequest.wrap(Request.get(LIST_PLAYER_API) - .addHeader("Token", token) - .bodyString(gson.toJson(map), ContentType.APPLICATION_JSON)).result(); + return TimiRequest.wrap(Request.get(LIST_PLAYER_API).addHeader("Token", token).bodyString(gson.toJson(map), ContentType.APPLICATION_JSON)).resultAs(TokenResponse.class); } private boolean hasMod(Game game, String name) {