!6 merge dev into main

refix、网站图标

Created-by: qingss0
Commit-by: shufeng2012;qing
Merged-by: qingss0
Description: 微调
💬 更改添加节点报错输出
^-^
临时提交
✨ 添加删除节点功能
...

See merge request: qingss0/micro_servers!6
This commit is contained in:
qingss0 committed 2026-07-23 22:53:43 +08:00
commit b129ea381b
6 files changed
+86 -26

No files matched your search

Regular → Executable
View File
File mode changed.
Regular → Executable
View File
File mode changed.
Regular → Executable
View File
File renamed without changes.
+1 -14
View File
@@ -9,20 +9,6 @@
</head>
<body>
<div class="box">
<center class="article-header">
<!-- 文章主标题 -->
<h1><div id="article-title">title</div></h1>
<!-- 文章详情 -->
<div class="article-meta">
发布时间:<span id="publish-time">2026-1-1</span>
</div>
<div class="article-stats">
浏览:<span id="visit-count">999</span>
点赞:<span id="like-count">999</span>
分享:<span id="share-count">999</span>
</div>
</center>
<div id="article-content">hello</div>
<div class="recommend-list" id="recommend-list"></div>
<div class="card node-form">
@@ -32,6 +18,7 @@
<div class="form-actions">
<button id="input-note-submit">提交</button>
<button id="input-note-clear">重置</button>
<button id="delete-note">删除当前节点</button>
</div>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/markdown-it/12.0.0/markdown-it.min.js"></script>
Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

+85 -12
View File
@@ -85,6 +85,8 @@ async function addNode(token, pid, title, content) {
throw new Error(result.message || `添加节点失败(HTTP ${res.status})`);
}
getNode(token, stack[stack.length - 1]).then(load_notes);
//if (result.success) {
console.log(`添加节点成功`, result);
return result
@@ -96,18 +98,60 @@ async function addNode(token, pid, title, content) {
} catch (err) {
alert(err.message || '接口请求失败,请检查后端服务是否启动');
console.error('获取节点请求异常:', err);
console.error('添加节点请求异常:', err);
} finally {
}
}
async function deleteNode(token, id) {
try {
obj = {"id": String(id)};
jsonBody = JSON.stringify(obj);
console.log(jsonBody);
const res = await fetch('/delete_note', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${token}`,
'Target-Url': 'http://127.0.0.1:8006'
},
body: jsonBody
});
const responseText = await res.text();
let result;
try {
result = JSON.parse(responseText);
} catch {
console.error(`删除笔记接口返回非 JSON 内容(HTTP ${res.status}):`, responseText);
throw new Error('服务器响应格式异常,请稍后重试');
}
if (!res.ok) {
throw new Error(result.message || `删除节点失败(HTTP ${res.status})`);
}
stack.pop();
getNode(token, stack[stack.length - 1]).then(load_notes);
console.log(`删除节点成功`);
return result
} catch (err) {
alert(err.message || '接口请求失败,请检查后端服务是否启动');
console.error('删除节点请求异常:', err);
}
}
/* by shufeng2012 */
function renderMarkdown(element, content) {
/*
Markdown渲染
*/
const md = window.markdownit();
element.innerHTML = md.render(content);
element.innerHTML = md.render(content, {html: false});
}
/* ---- by qing ---- */
@@ -119,6 +163,7 @@ var input_note_content = document.getElementById('input-note-content');
var input_note_submit = document.getElementById('input-note-submit');
var input_note_clear = document.getElementById('input-note-clear');
var recommend_list = document.getElementById('recommend-list');
var delete_note = document.getElementById('delete-note');
input_note_submit.addEventListener('click', function(event) {
var title = input_note_title.value
@@ -136,9 +181,37 @@ input_note_clear.addEventListener('click', function(event) {
input_note_content.value = "";
})
delete_note.addEventListener('click', (event) => {
var id = (stack.length == 0) ? 0 : stack[stack.length - 1];
if (id == 0) {
alert('无法删除根节点');
console.log("节点未删除");
}
else {
deleteNode(token, id);
}
})
function load_notes(main_node) {
article_title.textContent = "";
article_content.textContent = "";
/* 这个不能设置为空的 */
//article_title.textContent = "";
//article_content.textContent = "";
if (input_note_title.value != "" || input_note_content.value != "") {
if (confirm("是否放弃当前输入的内容?") == true) {
input_note_title.value = "";
input_note_content.value = "";
} else {
if (stack.length != 0) {
return;
}
}
} else {
input_note_title.value = "";
input_note_content.value = "";
}
recommend_list.replaceChildren();
//alert(stack.length)
@@ -155,29 +228,29 @@ function load_notes(main_node) {
recommend_list.appendChild(bak)
}
for (let i in main_node) {
item = main_node[i]
var card = document.createElement('div');
let item = main_node[i]
let card = document.createElement('div');
card.className = "card";
card.addEventListener('click', function(event) {
var id = Number(item.id)
stack.push(id)
getNode(token, id).then(load_notes)
});
var ttl = document.createElement('center');
var ttl1 =document.createElement('h3');
let ttl = document.createElement('center');
let ttl1 =document.createElement('h3');
ttl1.textContent = item.title;
ttl.appendChild(ttl1);
card.appendChild(ttl);
var vit_div = document.createElement('p');
var lke_div = document.createElement('p');
var srd_div = document.createElement('p');
let vit_div = document.createElement('p');
let lke_div = document.createElement('p');
let srd_div = document.createElement('p');
vit_div.textContent = "观看数:" + item.visit_count;
lke_div.textContent = "点赞数:" + item.like_count;
srd_div.textContent = "分享数:" + item.share_count;
ttl.appendChild(vit_div);
ttl.appendChild(lke_div);
ttl.appendChild(srd_div);
var ctt = document.createElement('p');
let ctt = document.createElement('p');
renderMarkdown(ctt, item.content);
card.appendChild(ctt)
recommend_list.appendChild(card)