Skip to main content

publicationState状态

通过 API 查询

接受的值为previewlive

如查询 post 模块中,指定用户的已发布列表:

const uid = 'api::post.post';
strapi.entityService.findMany(uid, {
filters: { authorID: userID },
publicationState: 'live',
});

通过 API 创建状态为“已发布”的实例:

  1. 传参 publicationState 是没有效果的,需要设置publishedAt值为一个 Date 类型数据即可。
  2. 或者在数据结构定义-高级设置中,手动关闭Draft/publish system

如创建一个新的 post:

module.exports = {
CreatePost: (ctx) => {
const userID = ctx.state.user.id;
const { title, desc, slug } = ctx.request.body;
const now = dayjs();
return strapi.entityService
.create(uid, {
data: {
title,
desc,
authorID: userID,
slug: slug || now.format('YYYYMMDDHHmmss'),
publishedAt: now.toDate(),
},
})
.then((entry) => {
return sanitize.contentAPI.output(entry, strapi.getModel(uid));
});
},
};