dsh
|
d78ed8e2fe
|
refactor: 文章新建/编辑表单收敛为单一模板 article_form,删除两套重复模板
- 新增 templates/partials/article_form.html(define article_form):
按 .FormIsMy 分支渲染——管理员变体(标签/置顶勾选/草稿发布双按钮/
/api/admin/articles)与作者变体(状态下拉/保存取消//api/my/articles)
- renderArticleForm / renderMyArticleForm 均渲染 article_form,各自
设置 FormIsMy=false/true;JS 统一(API_BASE/redirectBase/editor/
错误提示均单份)
- 删除 templates/admin/article_create.html 与
templates/user/my_article_form.html(约 360 行 → 一份 ~230 行)
- 新增 TestArticleFormTemplateVariants 断言两个变体渲染差异;
测试环境注册两个工作区的新建页路由
|
2026-08-28 20:02:46 +08:00 |
|
dsh
|
f5439ae93a
|
feat: 文章详情页编辑按钮按角色放开——作者可编辑自己的文章
- renderArticleDetail 计算 CanEdit/EditURL:管理员(/admin/articles/:id/edit)
或登录用户且为文章作者(/my/articles/:id/edit)可见
- templates/pages/article.html 改用 .CanEdit/.EditURL 渲染
- my 编辑页/接口本身有 author_id 所有权约束,暴露链接无越权风险
- 新增 TestArticleDetailEditButton:作者/管理员可见、他人/匿名不可见
|
2026-08-28 20:02:46 +08:00 |
|
dsh
|
134943e4fb
|
feat: 普通用户文章页补齐附件区(上传/列表/插入正文/设封面/删除)
- 新增共享部分模板 templates/partials/article_attachments.html
(附件区标记:文件名/大小/操作列 + 上传按钮)
- 新增共享 static/js/article-attachments.js:上传(multipart→files 表
type=attachments)、编辑页回填、插入正文、图片一键设封面、删除;
uploadURL/listURL/editor/i18n 文案均由页面注入
- 管理员页改用共享 partial+JS(行为不变);同时修复既有 bug:
表单提交闭包引用未声明的 articleID(作用域错误导致保存静默失败)
- 普通用户页加入附件区,走 /api/my/articles/attachments(新建页
session_token / 编辑页 article_id),支持一键设封面/插入正文
|
2026-08-28 20:02:46 +08:00 |
|
dsh
|
6216b9af13
|
feat: 文章新建/编辑页编辑器支持本地图片上传并插入正文
- 两套页面(admin + 普通用户)EasyMDE 的 image 按钮改为“上传图片”:
选择本地图片 → 走既有附件接口(files 表 type=attachments,新建页
session_token / 编辑页 article_id)→ 在正文光标处插入 
- templates/layouts/base.html:新增共享 window.blogUploadImage 上传助手
- templates/user/my_article_form.html:新建页 session_token 输入框加 id
(编辑器上传需要读取);补齐原本缺失的上传能力
- i18n:新增 article_image_upload / article_image_not_image(中英)
- 服务端依既有上传策略校验(扩展名/MIME/魔数/大小),客户端限 image/*
|
2026-08-28 20:02:46 +08:00 |
|