From b17e99eb93a122919a2836ab9f6b2e32c9418c28 Mon Sep 17 00:00:00 2001
From: whm <973418690@qq.com>
Date: Wed, 18 Mar 2026 18:43:23 +0800
Subject: [PATCH] =?UTF-8?q?1.=E4=BF=AE=E6=94=B9=E9=A6=96=E9=A1=B5=E4=B8=8B?=
=?UTF-8?q?=E8=BD=BD=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
admin/src/api/admin.js | 9 ++-
admin/src/views/sites/HomepageEdit.vue | 69 ++++++++++++++++++++++-
server/handlers/module_upload.go | 77 +++++++++++++++++++++++++-
server/main.go | 3 +
4 files changed, 150 insertions(+), 8 deletions(-)
diff --git a/admin/src/api/admin.js b/admin/src/api/admin.js
index c2d2ace..7421be3 100644
--- a/admin/src/api/admin.js
+++ b/admin/src/api/admin.js
@@ -64,10 +64,15 @@ export const deletePage = (id) => request.delete(`/admin/pages/${id}`)
export const getHomepage = (siteId) => request.get(`/admin/sites/${siteId}/homepage`)
export const updateHomepage = (siteId, data) => request.put(`/admin/sites/${siteId}/homepage`, data)
export const downloadHomepage = (siteId) => request.get(`/admin/sites/${siteId}/homepage/download`, { responseType: 'blob' })
+export const getDownloadableAssets = (siteId) => request.get(`/admin/sites/${siteId}/assets/downloadable`)
// 文件管理(功能模块:多级目录、可下载)
-export const getSiteAssets = (siteId, path) =>
- request.get(`/admin/sites/${siteId}/assets`, { params: path ? { path } : {} })
+export const getSiteAssets = (siteId, path, opts = {}) => {
+ const params = {}
+ if (path) params.path = path
+ if (opts.downloadable) params.downloadable = '1'
+ return request.get(`/admin/sites/${siteId}/assets`, { params })
+}
export const uploadSiteAsset = (siteId, file, opts = {}) => {
const form = new FormData()
form.append('file', file)
diff --git a/admin/src/views/sites/HomepageEdit.vue b/admin/src/views/sites/HomepageEdit.vue
index d946b15..05d2f5d 100644
--- a/admin/src/views/sites/HomepageEdit.vue
+++ b/admin/src/views/sites/HomepageEdit.vue
@@ -43,14 +43,16 @@
-
+
+ 选择可下载文件
平台(轨道)
-
+
+ 选择文件
删除
+ 添加平台
@@ -84,13 +86,31 @@
+
+
+
+
+
+
+
+ 选择
+
+
+
+
+