diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..7b71657
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/.idea/proto.iml" filepath="$PROJECT_DIR$/.idea/proto.iml" />
+    </modules>
+  </component>
+</project>
\ No newline at end of file
diff --git a/.idea/proto.iml b/.idea/proto.iml
new file mode 100644
index 0000000..5e764c4
--- /dev/null
+++ b/.idea/proto.iml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="WEB_MODULE" version="4">
+  <component name="Go" enabled="true" />
+  <component name="NewModuleRootManager">
+    <content url="file://$MODULE_DIR$" />
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..94a25f7
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="$PROJECT_DIR$" vcs="Git" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
new file mode 100644
index 0000000..e03dad9
--- /dev/null
+++ b/.idea/workspace.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ChangeListManager">
+    <list default="true" id="b5794a41-9642-4323-96b1-af915a69a610" name="Default Changelist" comment="" />
+    <option name="SHOW_DIALOG" value="false" />
+    <option name="HIGHLIGHT_CONFLICTS" value="true" />
+    <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
+    <option name="LAST_RESOLUTION" value="IGNORE" />
+  </component>
+  <component name="GOROOT" url="file://$USER_HOME$/go/go1.20.5" />
+  <component name="Git.Settings">
+    <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
+  </component>
+  <component name="ProjectId" id="2Z4eaM0G8nB9gvBxbH1CbcT3s8N" />
+  <component name="ProjectViewState">
+    <option name="hideEmptyMiddlePackages" value="true" />
+    <option name="showLibraryContents" value="true" />
+  </component>
+  <component name="PropertiesComponent">
+    <property name="RunOnceActivity.OpenProjectViewOnStart" value="true" />
+    <property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
+    <property name="WebServerToolWindowFactoryState" value="false" />
+    <property name="go.import.settings.migrated" value="true" />
+    <property name="go.sdk.automatically.set" value="true" />
+    <property name="last_opened_file_path" value="$PROJECT_DIR$/.." />
+  </component>
+  <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
+  <component name="TypeScriptGeneratedFilesManager">
+    <option name="version" value="3" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/service/fsservice.proto b/service/fsservice.proto
index 301e302..f61860f 100644
--- a/service/fsservice.proto
+++ b/service/fsservice.proto
@@ -232,7 +232,7 @@ message GetProductDetailRsp {
     string logo    = 1;                 //logo
     TemplateTagColorInfo    template_tag_color_info = 2; //标签颜色信息
     ProductInfo             product_info = 3;            //产品基本信息
-    google.protobuf.Struct  base_colors = 4;           //一些返回写死的颜色
+    google.protobuf.ListValue  base_colors = 4;           //一些返回写死的颜色
     repeated SizeInfo       size_list = 5;              //尺寸相关信息
 }
 
diff --git a/service/resource.proto b/service/resource.proto
index 9ab70bd..3fae88e 100644
--- a/service/resource.proto
+++ b/service/resource.proto
@@ -13,7 +13,7 @@ import "google/protobuf/any.proto";
 service resource { 
  
     // 获取资源详情
-    rpc GetResourceInfo(GetResourceInfoReq) returns (GetResourceInfoRes) {
+    rpc GetResourceInfo(GetResourceInfoReq) returns (basic.Response) {
         option (google.api.http) = {
             get: "/api/resource/info"
         };
@@ -43,6 +43,7 @@ message GetResourceInfoRes {
     string bucket_name = 8;
     string source = 9;
     string uploaded_at = 10;
-    google.protobuf.Struct metadata = 11;
+    // google.protobuf.Struct metadata = 11;
+    google.protobuf.Any metadata =11;
 }
 /* 获取资源详情 */
\ No newline at end of file