跳转到内容

内容管理

Proyecta 的 CMS 是您应用的主要数据层——不仅限于博客文章和营销文案,而是您整个应用所依赖的真实数据记录。集合在 UI 存在之前即完成配置并填充真实样本内容,因此您的应用从第一次构建起就与可编辑的数据紧密相连。

大多数 Proyecta 应用将数据存储在内置 CMS 中。当您描述您的应用时,Proyecta 会设计数据模型、创建所需的集合,并填充真实的样本内容——这一切都发生在任何页面构建之前。您的页面随后通过 AI 为您生成的类型化 hooks 读取这些真实的、可由所有者编辑的内容。要了解这一切如何融为一体的全局视角,请参阅**您的应用数据的工作原理**。

您无需为这些操心就可以开始——一切都是自动发生的。本页面解释其底层机制,以便您能够对其进行调整。

内容被组织为集合单例

类型 含义 示例
集合(Collection) 拥有多个条目的内容类型——一套 schema,多行数据。 posts, services, testimonials, catalogItems
单例(Singleton) 只有一个条目的内容类型——全局性、唯一性的内容。 businessInfo, seoSettings

集合是一种_结构_;每个条目是该结构的一个实例(一篇博客文章、一项服务、一条 FAQ)。单例持有一条可编辑的记录——您的企业标识,或某个页面的 hero/section 文案。

Proyecta 内置了现成的集合设计——包含合理的字段、管理提示和初始内容——涵盖真实企业常见的记录类型:博客文章与资讯、服务项目、产品目录、餐饮菜单、客户评价与评论、团队成员、图片画廊、FAQ、活动、地点、可下载资源、招聘职位、课程、旅游线路和住宿列表等。

您无需从菜单中挑选。当您描述应用时,Proyecta 会根据您的描述——业务类型、所需功能、使用语言——自动选择合适的集合并创建它们,并预填充真实的样本内容。如果您的应用需要的内容不在上述范围内,Proyecta 会设计一个拥有自定义字段的自定义集合

正因如此,您的管理面板展示的是您应用自己的集合——而非固定列表。 它根据您应用的实时内容模型自动构建,无论 Proyecta 为您创建了什么——内置的还是自定义的——都会原原本本地呈现供您查看和编辑。两个 Proyecta 应用拥有相同集合组合的情况极为罕见,这正是设计初衷。

每个集合由类型化的字段构成。字段类型在整个链路中强制生效——管理面板渲染对应的编辑器,您的页面获得正确类型的值。

字段类型 适用场景
string 短单行内容——标题、名称、地址。
text 一段纯文本。
markdown 长篇富文本——文章正文、“关于我们”文案。
slug URL 标识符,自动从另一个字段派生(例如标题)。
number 数量、评分、时长。
money 价格或货币金额——以货币形式显示和编辑。
boolean 开/关标志。
date 日历日期。
datetime 时间戳——发布日期、活动开始时间。
weeklyHours 一周各天的营业时间。
asset 图片、视频或 PDF(以公开 URL 形式存储)。
reference 指向另一个集合中某条目的链接。
enum 来自固定选项列表的值。
array 字符串列表——标签、电话号码、区域。
blocks 可堆叠的内容块——由类型化段落构成的页面。
json 不适合上述任何类型的结构化数据。

条目是集合中的一个项目。每个条目都有状态

  • 草稿(Draft) — 进行中的内容;不会在您的正式网站上显示。
  • 已发布(Published) — 已上线,对访客可见。
  • 已归档(Archived) — 已停用,保留但不展示。

您的公开页面只会看到已发布的条目——草稿和已归档的条目会自动隐藏,让您可以安全地提前准备内容,直到正式上线。

有两种方式可以添加和编辑内容——均无需接触代码:

  1. 在对话中向 AI 提问。 只需描述您想做的更改,AI 会为您编辑对应内容:
    • "添加一条 María González 的客户评价:'镇上最好的服务',5 星。"
    • "将 Business Info 中的 tagline 改为 'Café de especialidad en la Roma'。"
    • "将最后五条联系表单提交标记为已读。"
  2. 您应用的管理面板。 每个已发布的应用都有一个内置的、需登录才能访问的**管理面板,您(以及您授权的员工)可以在其中直接管理内容和表单提交——每个集合有一个类似电子表格的编辑器,以及提交消息收件箱。它根据您应用的实时内容模型自动配置,新集合会自动出现在此处。请参阅管理面板**。

通过您应用的管理面板或 AI 管理 CMS 内容——builder 内置的内容编辑器已在路线图中(参见即将推出)。用于实时更新应用的实时记录浏览器即将推出

您的页面通过 @/hooks/useContent 中的一组类型化 hooks 读取内容——AI 会为您编写这些连接代码。您描述页面,Proyecta 生成调用这些 hooks 来访问真实集合的组件。您很少需要亲自接触它们,但以下是它们的功能:

Hook 功能说明
useCollection('posts') 列出一个集合中已发布的条目(支持可选的过滤/排序/限制)。
useEntry('posts', slug) 通过 slug 获取一条已发布的条目(详情页)。
useSingleton('businessInfo') 读取单例(企业信息、页面内容)。
useFormSubmit('contactForm') 提交表单并报告验证错误。
// A blog index — exactly the kind of code the AI generates for you
import { useCollection } from '@/hooks/useContent';
function BlogList() {
const { data: posts, isLoading } = useCollection('posts', { sort: 'published_at:desc' });
if (isLoading) return <Spinner />;
return posts?.map((post) => <PostCard key={post._id} post={post} />);
}

当 Proyecta 为您的集合生成类型化接口时,hooks 将完全具备类型(useCollection<Post>('posts')),您的编辑器将自动补全每个字段。数据读取会在首次绘制时从缓存快照 hydrate——页面即时渲染且对 SEO 友好,随后在后台实时刷新。

表单是平台的一等能力,而非由 AI 手动构建的东西。添加一个表单块,它会渲染字段、验证输入、提交并显示成功状态:

<FormBlock form="contactForm" />

表单也是现成的——联系表单、报价申请、预约表单、订单表单、注册表单——Proyecta 会将合适的表单接入您的页面。提交内容会进入您应用的管理面板收件箱,有新提交时系统会向所有者发送邮件通知。完整介绍请参阅**表单**。

内容可以翻译为多种语言区域(locales)。标记为本地化的字段为每种语言存储独立的值,读取 hooks 在您传入访客当前语言时,通过回退链(请求语言 → 配置的回退语言 → 默认语言)进行解析:

const { data: posts } = useCollection('posts', { locale: 'es' });

单语言应用完全无需考虑语言区域——无需任何配置。关于翻译的更广泛介绍,请参阅**国际化**。

发布批次将多个条目捆绑在一起,使其同时上线(或同时取消发布)——您可以提前准备一次协调好的内容发布(一次产品发布、一个新产品页面、一次 FAQ 更新),然后一次性全部切换上线。

注意: 定时自动发布尚未实现。带有 scheduled_at 日期的发布批次会进入 scheduled 状态,但必须手动发布。按计划时间自动发布的功能即将推出。

常见使用模式(交给 AI 来连接)

Section titled “常见使用模式(交给 AI 来连接)”

您很少需要手动编写这些——描述您想要的内容,Proyecta 会基于真实集合进行构建:

  • "搭建一个博客。每篇文章包含标题、封面图、富文本正文、分类和标签。公开路由为 /blog 和 /blog/[slug],按最新排序。"
  • "添加一个 FAQ 区域,所有者可以编辑,按分类分组。"
  • "添加一个可预约的服务列表,并附带报价申请表单。"
  • "将网站改为双语——英语和西班牙语——并添加语言切换器。"
  • "为客户评价集合填充五条适合咖啡馆的真实评论。"

CMS 是持久性内容和记录的默认存储位置。少数类型的数据存放在专用系统中:

数据类型 存储位置
内容与记录(文章、服务、列表、FAQ、目录、预约) Proyecta CMS(本页)——默认位置
实时/行为状态(即时聊天、动态流、在线状态、游戏状态) 实时存储即将推出
用户账户与登录 Auth
商品、订单、订阅、支付 Commerce
上传的文件与媒体 Files & Media
内置于构建产物中的静态资源 您项目中的 public/ 目录

CMS 是默认选择。真正用于_实时_行为的实时存储即将推出;即便如此,持久性内容和商品目录仍将存储在 CMS 中。

  • Builder 内置内容编辑器 — 直接从 builder 控制台浏览和编辑 CMS 集合(目前:通过管理面板或 AI 管理内容)。
  • 富文本所见即所得编辑器 — 对 markdown 字段进行可视化编辑(目前以 markdown 形式编辑)。
  • 定时自动发布 — 发布批次在计划时间自动上线。
  • 内容更改的实时预览
  • 内容角色权限 — 将编辑权限与开发者权限分离。