4 次代码提交

作者 SHA1 备注 提交日期
wx
3ca8af262e fix(editor): 富文本编辑器初始化 race 导致正文不显示
useEditor 异步创建 vs loadItem 异步加载的 race condition:
- mount 时 useEditor 用 props.modelValue='' 初始化
- watch modelValue 触发时 editor.value 还是 null 被跳过
- editor 实例化后 watch 不会再跑,最终内容为空

修复:增加 watch editor 实例的逻辑,编辑器创建后立即同步当前 modelValue。
影响范围:articles/[id]、blogs/[id] 编辑页(共用同一组件)。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-09 09:14:25 +08:00
wx
df6b3f2371 feat(blog): 正文编辑器工具栏 sticky 跟随滚动
position: sticky; top: 0; z-index: 10
工具栏吸附 viewport 顶部, 编辑长文滚动时格式按钮始终可见
sticky 范围限制在 .rich-editor 父容器内, 滚出编辑器自然消失

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 15:31:39 +08:00
wx
b5c13d5f24 fix(blog): 后台博客图片支持本地上传 + 封面图上传错误信息暴露
正文编辑器:
- 新增"图片"按钮: 点击弹文件选择 -> 调 /api/admin/upload -> 自动插入 <img src=/uploads/...>
- 保留"图片URL"按钮兼容外链/已有路径(原来唯一的 prompt 路径)
- 上传中按钮 disabled, 失败用 naive-ui message 提示

封面图 ImageUpload:
- 改用 useAdmin().adminFetch 替代裸 \$fetch + useState 取 token 的双轨写法
- 错误信息从单一字符串"上传失败"改为 e.data?.message || e.message || HTTP statusCode, 让线上"上传失败"自暴露真实根因

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-04 14:19:07 +08:00
wx
f91ecbb093 feat: 官网代码全量更新 (2026-04-18) 2026-04-18 15:13:28 +08:00