From 08bd69d64bbe351d9c5d87814949f4bb828cf715 Mon Sep 17 00:00:00 2001 From: xfy Date: Fri, 5 Jun 2026 15:23:36 +0800 Subject: [PATCH] feat(write): add onImageUpload callback to tiptap editor --- src/pages/admin/write.rs | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/pages/admin/write.rs b/src/pages/admin/write.rs index d01a6d7..51a527d 100644 --- a/src/pages/admin/write.rs +++ b/src/pages/admin/write.rs @@ -43,6 +43,34 @@ pub fn Write() -> Element { placeholder: '在此输入内容...', onUpdate: function(markdown) { window.__tiptap_content = markdown; + }, + onImageUpload: function(file) { + return new Promise(function(resolve, reject) { + var formData = new FormData(); + formData.append('image', file); + + fetch('/api/upload', { + method: 'POST', + body: formData, + credentials: 'same-origin' + }) + .then(function(response) { + if (!response.ok) { + throw new Error('Upload failed: ' + response.status); + } + return response.json(); + }) + .then(function(data) { + if (data.success && data.url) { + resolve(data.url); + } else { + reject(new Error(data.error || 'Upload failed')); + } + }) + .catch(function(err) { + reject(err); + }); + }); } }); window.__tiptap_ready = true;