diff --git a/package.json b/package.json
index adc15862..f8ca9f38 100644
--- a/package.json
+++ b/package.json
@@ -20,6 +20,7 @@
"vue-clipboard2": "^0.3.0",
"vue-codemirror-lite": "^1.0.4",
"vue-cropper": "0.4.9",
+ "vue-fragment": "^1.5.0",
"vue-ls": "^3.2.1",
"vue-router": "^3.0.2",
"vue-svg-component-runtime": "^1.0.1",
diff --git a/src/api/theme.js b/src/api/theme.js
new file mode 100644
index 00000000..6a28884d
--- /dev/null
+++ b/src/api/theme.js
@@ -0,0 +1,14 @@
+import service from '@/utils/service'
+
+const baseUrl = '/admin/api/themes'
+
+const themeApi = {}
+
+themeApi.listFiles = () => {
+ return service({
+ url: `${baseUrl}/files`,
+ method: 'get'
+ })
+}
+
+export default themeApi
diff --git a/src/components/Tree/ThemeFile.vue b/src/components/Tree/ThemeFile.vue
new file mode 100644
index 00000000..72db9079
--- /dev/null
+++ b/src/components/Tree/ThemeFile.vue
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/components/index.js b/src/components/index.js
index a6a4851c..c8a4850f 100644
--- a/src/components/index.js
+++ b/src/components/index.js
@@ -8,6 +8,7 @@ import Tree from '@/components/Tree/Tree'
import MultiTab from '@/components/MultiTab'
import Result from '@/components/Result'
import IconSelector from '@/components/IconSelector'
+import ThemeFile from '@/components/Tree/ThemeFile'
export {
AvatarList,
@@ -18,5 +19,6 @@ export {
Tree,
MultiTab,
Result,
- IconSelector
+ IconSelector,
+ ThemeFile
}
diff --git a/src/views/interface/ThemeEdit.vue b/src/views/interface/ThemeEdit.vue
index b93e0760..df42da5a 100644
--- a/src/views/interface/ThemeEdit.vue
+++ b/src/views/interface/ThemeEdit.vue
@@ -9,24 +9,9 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
@@ -34,22 +19,34 @@