长文自动摘要与自动封面:未填时从正文派生——摘要剥语法取开头 110 字(标题行/代码块/图链接剔除),封面取正文第一张图;更新只在「新旧都空」时补,站主主动清空的保得住;保存响应回写编辑器可见
This commit is contained in:
@@ -231,6 +231,7 @@ func (a *API) listPosts(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
in.Status = store.NormalizeStatus(in.Status)
|
||||
attachLinkCard(r.Context(), &in, nil)
|
||||
autoMeta(&in, nil)
|
||||
p, err := a.Store.Create(in)
|
||||
if err != nil {
|
||||
httpx.ServerError(w, err)
|
||||
@@ -270,12 +271,16 @@ func (a *API) postByID(w http.ResponseWriter, r *http.Request) {
|
||||
if in.Status != "" {
|
||||
in.Status = store.NormalizeStatus(in.Status)
|
||||
}
|
||||
// 多读一次当前行只为拿到已有卡片:链接没变就不必再打远端
|
||||
// 多读一次当前行:链接卡片没变就不必再打远端;摘要/封面自动
|
||||
// 生成也以它为准——「新值与旧值都为空」才补,主动清空的保得住
|
||||
var curCard *model.LinkCard
|
||||
var curPost *model.Post
|
||||
if cur, err := a.Store.Get(id); err == nil {
|
||||
curCard = cur.LinkCard
|
||||
curPost = &cur
|
||||
}
|
||||
attachLinkCard(r.Context(), &in, curCard)
|
||||
autoMeta(&in, curPost)
|
||||
p, err := a.Store.Update(id, in)
|
||||
writeOne(w, p, err)
|
||||
case http.MethodDelete:
|
||||
|
||||
Reference in New Issue
Block a user