diff --git a/src/api/marketing.js b/src/api/marketing.js index 7cb97b7..8d9fb93 100644 --- a/src/api/marketing.js +++ b/src/api/marketing.js @@ -1,5 +1,22 @@ import request from '../utils/request' +export async function uploadToOSS(file) { + const formData = new FormData() + formData.append('file', file) + + const res = await request({ + url: '/api/admin/marketing/upload', + method: 'post', + data: formData, + headers: { 'Content-Type': 'multipart/form-data' }, + timeout: 60000 + }) + return { + url: res.data.url, + thumbnailUrl: res.data.thumbnail_url || res.data.url + } +} + export function getMarketingStats() { return request({ url: '/api/admin/marketing/stats', diff --git a/src/components/ImageUpload.vue b/src/components/ImageUpload.vue new file mode 100644 index 0000000..5b29d54 --- /dev/null +++ b/src/components/ImageUpload.vue @@ -0,0 +1,183 @@ + + + + + + + 替换 + + + 删除 + + + + + + + + {{ uploading ? '上传中...' : placeholder }} + + + + + + + + + diff --git a/src/views/marketing/index.vue b/src/views/marketing/index.vue index e1d95b7..7eab911 100644 --- a/src/views/marketing/index.vue +++ b/src/views/marketing/index.vue @@ -161,8 +161,14 @@ - - + + @@ -191,11 +197,24 @@ - - + + - - + + @@ -221,6 +240,7 @@