This commit is contained in:
2025-04-30 09:51:36 +08:00
parent 561881c9aa
commit 09afa239a6
848 changed files with 385870 additions and 205 deletions

View File

@@ -0,0 +1,83 @@
document.addEventListener('alpine:init', function () {
Alpine.data('data', function () {
const editor = new toastui.Editor({
el: document.querySelector('#editor'),
language: 'zh-CN',
previewStyle: 'vertical',
height: '660px',
initialEditType: 'wysiwyg',
initialValue: ""
});
const id = getUrlParameter("id");
return {
article: {
title: "",
slug: "",
content: "",
coverUrl: "",
tags: [],
categoryId: 0,
summary: "",
id: id
},
tempfile :null,
tagInput:"",
categories: [],
isSubmitting: false,
loadCategories() {
axios.get('categories')
.then(data => {
this.categories = data;
});
return this;
},
loadArticle() {
axios.get('articles/' + id)
.then(data => {
this.article = data;
editor.setMarkdown(this.article.content);
});
return this;
},
saveTags() {
this.tagInputText = document.getElementById('tag-input').innerText;
if (this.tagInputText) {
this.tagInputText.replace(/,/g, ",").replace(/ /g, ",").split(',').forEach(x => this.article.tags.push(x));
document.getElementById('tag-input').innerText = '';
}
},
editArticle() {
this.saveTags();
if(this.isSubmitting){
return;
}
this.isSubmitting = true;
axios.put('articles/', this.article)
.then(data => {
location.href = "/admin/article";
})
.finally(() => {
this.isSubmitting = false;
});
},
addIcon() {
const fileinput = document.getElementById('img-file-input');
if (fileinput) {
fileinput.click();
}
},
init() {
editor.on('change', () => {
this.article.content = editor.getMarkdown();
});
this.loadCategories().loadArticle();
window.addEventListener('load', () => {
document.title = "编辑文章 - " + window.config.name + "";
});
}
};
})
});