feat: 编辑器锁定文章提示 - 禁用编辑,显示明确提示
- /studio/write?id=X 路由:文章被锁定时,页面显示紫色锁定横幅,标题/编辑器只读,提交按钮替换为锁定提示 - studio-editor.js:锁定态下 Vditor 设为 readonly 模式,隐藏工具栏,禁用 Ctrl+S 快捷键 - 新增 .studio-locked-banner / .locked-submit-hint 样式
This commit is contained in:
@ -8,9 +8,20 @@
|
||||
|
||||
<main class="studio-main">
|
||||
<div class="editor-layout">
|
||||
{{if and .Post .Post.IsLocked}}
|
||||
<div class="studio-locked-banner">
|
||||
<div class="locked-banner-icon">🔒</div>
|
||||
<div>
|
||||
<strong>这篇文章已被锁定,无法编辑。</strong>
|
||||
<p>如需解锁请联系管理员。当前状态:{{if $.StatusNames}}{{index $.StatusNames .Post.Status}}、已锁定{{end}}</p>
|
||||
</div>
|
||||
</div>
|
||||
{{end}}
|
||||
|
||||
<form id="postForm" class="editor-form">
|
||||
<input type="hidden" id="postId" value="{{if .Post}}{{.Post.ID}}{{end}}">
|
||||
{{if .Post}}
|
||||
<input type="hidden" id="isLocked" value="{{if .Post.IsLocked}}1{{else}}0{{end}}">
|
||||
<textarea id="editBody" style="display:none">{{.Post.Body}}</textarea>
|
||||
{{end}}
|
||||
|
||||
@ -18,7 +29,8 @@
|
||||
<input type="text" id="postTitle" class="editor-title-input"
|
||||
value="{{if .Post}}{{.Post.Title}}{{end}}"
|
||||
placeholder="输入文章标题..."
|
||||
maxlength="200" required autofocus>
|
||||
maxlength="200" required autofocus
|
||||
{{if and .Post .Post.IsLocked}}disabled{{end}}>
|
||||
</div>
|
||||
|
||||
<div class="editor-main">
|
||||
@ -55,7 +67,11 @@
|
||||
<span class="status-item" id="wordCount">0 字</span>
|
||||
<span class="status-item status-draft" id="draftStatus" style="display:none">草稿已保存</span>
|
||||
<span class="status-spacer"></span>
|
||||
{{if and .Post .Post.IsLocked}}
|
||||
<span class="locked-submit-hint">🔒 此文已锁定,无法修改</span>
|
||||
{{else}}
|
||||
<button type="submit" class="btn btn-primary btn-submit">{{if .Post}}保存修改{{else}}发布帖子{{end}}</button>
|
||||
{{end}}
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user