From 9481aa88fae5ea73cb95be00cc6b649df41efad9 Mon Sep 17 00:00:00 2001 From: YangLang Date: Sun, 27 Oct 2024 20:29:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DHttp=20Mock=20=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E5=AD=98=E5=82=A8Bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 4 +++ build.gradle.kts | 1 + gradle.properties | 2 +- .../action/mock/ui/HttpListDialog.form | 3 +- .../action/mock/ui/render/HttpListRender.java | 23 +++++++-------- .../flutter/store/ide/IdeStorageService.java | 2 +- .../converter/HttpEntityConverter.java | 28 +++++++++++++++++++ .../project/entity/ProjectStorageEntity.java | 3 ++ src/main/resources/icons/link.svg | 2 +- src/main/resources/icons/link_dark.svg | 2 +- 10 files changed, 54 insertions(+), 16 deletions(-) create mode 100644 src/main/java/com/xtu/plugin/flutter/store/project/converter/HttpEntityConverter.java diff --git a/CHANGELOG.md b/CHANGELOG.md index ef6084c..b3d92be 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## [未完待续] +## 4.2.3 - 2024-10-27 + +- `Http Mock`: Bug修复 + ## 4.2.2 - 2024-10-14 - `Base`: 主题适配 diff --git a/build.gradle.kts b/build.gradle.kts index bb48f92..575dc5a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -17,6 +17,7 @@ repositories { dependencies { implementation("org.json:json:20240303") + implementation("com.google.code.gson:gson:2.11.0") implementation("org.apache.xmlgraphics:batik-all:1.17") { exclude("xml-apis", "xml-apis") } diff --git a/gradle.properties b/gradle.properties index b8d388a..75bc1b2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,5 @@ pluginName=iFlutter -pluginVersion=4.2.2 +pluginVersion=4.2.3 gradleVersion=17 pluginSinceBuild=223 platformType=IC diff --git a/src/main/java/com/xtu/plugin/flutter/action/mock/ui/HttpListDialog.form b/src/main/java/com/xtu/plugin/flutter/action/mock/ui/HttpListDialog.form index 2f2c662..1436a70 100644 --- a/src/main/java/com/xtu/plugin/flutter/action/mock/ui/HttpListDialog.form +++ b/src/main/java/com/xtu/plugin/flutter/action/mock/ui/HttpListDialog.form @@ -21,7 +21,7 @@ - + @@ -34,6 +34,7 @@ + diff --git a/src/main/java/com/xtu/plugin/flutter/action/mock/ui/render/HttpListRender.java b/src/main/java/com/xtu/plugin/flutter/action/mock/ui/render/HttpListRender.java index c3fda56..cb8ba2a 100644 --- a/src/main/java/com/xtu/plugin/flutter/action/mock/ui/render/HttpListRender.java +++ b/src/main/java/com/xtu/plugin/flutter/action/mock/ui/render/HttpListRender.java @@ -1,5 +1,6 @@ package com.xtu.plugin.flutter.action.mock.ui.render; +import com.intellij.ui.JBColor; import com.intellij.util.ui.JBUI; import com.xtu.plugin.flutter.store.project.entity.HttpEntity; import icons.PluginIcons; @@ -14,25 +15,25 @@ public class HttpListRender extends JPanel implements ListCellRenderer list, HttpEntity entity, diff --git a/src/main/java/com/xtu/plugin/flutter/store/ide/IdeStorageService.java b/src/main/java/com/xtu/plugin/flutter/store/ide/IdeStorageService.java index 7880913..1f8bdc3 100644 --- a/src/main/java/com/xtu/plugin/flutter/store/ide/IdeStorageService.java +++ b/src/main/java/com/xtu/plugin/flutter/store/ide/IdeStorageService.java @@ -7,7 +7,7 @@ import com.xtu.plugin.flutter.store.ide.entity.IdeStorageEntity; import org.jetbrains.annotations.NotNull; -@State(name = "iFlutter", storages = {@Storage("idea.iFlutter.xml")}) +@State(name = "iFlutter", storages = {@Storage("ide.iFlutter.xml")}) public class IdeStorageService implements PersistentStateComponent { private IdeStorageEntity storageEntity = new IdeStorageEntity(); diff --git a/src/main/java/com/xtu/plugin/flutter/store/project/converter/HttpEntityConverter.java b/src/main/java/com/xtu/plugin/flutter/store/project/converter/HttpEntityConverter.java new file mode 100644 index 0000000..1ed7197 --- /dev/null +++ b/src/main/java/com/xtu/plugin/flutter/store/project/converter/HttpEntityConverter.java @@ -0,0 +1,28 @@ +package com.xtu.plugin.flutter.store.project.converter; + +import com.google.gson.Gson; +import com.google.gson.reflect.TypeToken; +import com.intellij.util.xmlb.Converter; +import com.xtu.plugin.flutter.store.project.entity.HttpEntity; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.List; + +public class HttpEntityConverter extends Converter> { + + private final Gson gson = new Gson(); + + @Nullable + @Override + public List fromString(@NotNull String s) { + return gson.fromJson(s, new TypeToken<>() { + }); + } + + @Nullable + @Override + public String toString(List list) { + return gson.toJson(list); + } +} diff --git a/src/main/java/com/xtu/plugin/flutter/store/project/entity/ProjectStorageEntity.java b/src/main/java/com/xtu/plugin/flutter/store/project/entity/ProjectStorageEntity.java index d4e74a8..1bed597 100644 --- a/src/main/java/com/xtu/plugin/flutter/store/project/entity/ProjectStorageEntity.java +++ b/src/main/java/com/xtu/plugin/flutter/store/project/entity/ProjectStorageEntity.java @@ -1,7 +1,9 @@ package com.xtu.plugin.flutter.store.project.entity; +import com.intellij.util.xmlb.annotations.OptionTag; import com.intellij.util.xmlb.annotations.Transient; import com.xtu.plugin.flutter.component.packages.update.PackageInfo; +import com.xtu.plugin.flutter.store.project.converter.HttpEntityConverter; import java.util.*; @@ -16,6 +18,7 @@ public class ProjectStorageEntity { //是否打开资源变更检查 public boolean resCheckEnable = true; //HTTP Mock 配置 + @OptionTag(converter = HttpEntityConverter.class) public List httpEntityList = new ArrayList<>(); //资源是否以目录形式注册 public boolean foldRegisterEnable = false; diff --git a/src/main/resources/icons/link.svg b/src/main/resources/icons/link.svg index 521ad93..5974e15 100644 --- a/src/main/resources/icons/link.svg +++ b/src/main/resources/icons/link.svg @@ -1,5 +1,5 @@ + id="mx_n_1719223197433" width="32" height="32"> \ No newline at end of file diff --git a/src/main/resources/icons/link_dark.svg b/src/main/resources/icons/link_dark.svg index 96c1115..a3a2c89 100644 --- a/src/main/resources/icons/link_dark.svg +++ b/src/main/resources/icons/link_dark.svg @@ -1,5 +1,5 @@ + id="mx_n_1719223197433" width="32" height="32"> \ No newline at end of file