diff --git a/src/api/types.ts b/src/api/types.ts
index 1e7efab6..d8c9e065 100644
--- a/src/api/types.ts
+++ b/src/api/types.ts
@@ -935,3 +935,15 @@ export interface MediaServerPlayItem {
link?: string
percent?: number
}
+
+// 媒体服务器媒体库
+export interface MediaServerLibrary {
+ server: string
+ id?: string | number
+ name: string
+ path?: string
+ type?: string
+ image?: string
+ image_list?: string[]
+ link?: string
+}
diff --git a/src/components/cards/BackdropCard.vue b/src/components/cards/BackdropCard.vue
new file mode 100644
index 00000000..29fb5c3d
--- /dev/null
+++ b/src/components/cards/BackdropCard.vue
@@ -0,0 +1,76 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ props.media?.subtitle }}
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/cards/LibraryCard.vue b/src/components/cards/LibraryCard.vue
new file mode 100644
index 00000000..7b324800
--- /dev/null
+++ b/src/components/cards/LibraryCard.vue
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ props.media?.name }}
+
+
+
+
+
+
+
+
diff --git a/src/components/cards/PosterCard.vue b/src/components/cards/PosterCard.vue
new file mode 100644
index 00000000..14eb1be0
--- /dev/null
+++ b/src/components/cards/PosterCard.vue
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ props.media?.type }}
+
+
+
+ {{ props.media?.subtitle }}
+
+
+
+
+
+
+
+
+
diff --git a/src/views/dashboard/MediaServerLatest.vue b/src/views/dashboard/MediaServerLatest.vue
index 8d509a5e..1e9e55dc 100644
--- a/src/views/dashboard/MediaServerLatest.vue
+++ b/src/views/dashboard/MediaServerLatest.vue
@@ -1,6 +1,7 @@