模板、组件、素材与插件
模板和组件版本、媒体处理、表单与受控插件的详细规则。
模板库与版本
提供按行业、站点类型和语言可复用的整站起点。
制作模板→绑定组件版本→填充演示数据→自动兼容测试→人工审核→灰度→上架。
- 模板包含页面包、导航、主题、组件版本、内容Schema和演示数据。
- 客户选择模板时复制为站点实例;模板升级不直接改变客户站点。
- 版本声明site_type、语言、最低运行时、套餐、依赖插件和迁移脚本。
- 下架只影响新选择;安全漏洞可强制提示升级。
- 模板演示内容必须标识占位,不能被误当客户真实事实发布。
- 组件依赖缺失或版本冲突时禁止上架。
template、template_version、template_dependency、template_review、template_migration
template.published/deprecated;POST /sites/{id}:apply-template
- 每个模板完成桌面/移动、三语言、表单、SEO和发布自动测试。
- 站点实例与模板母版隔离。
- 下架模板不破坏已有站点。
组件中心
用受控组件扩展编辑器,不让客户随意写不可维护页面代码。
定义组件→props/slot/style Schema→编辑器预览→测试→审核→发布版本。
- 组件必须声明数据来源、可配置项、默认值、断点规则、可访问性和安全限制。
- 破坏性变更升级major版本并提供迁移;已发布版本不可覆盖。
- 动态组件请求走站点API,不允许直接连接核心数据库。
- 组件异常提供静态降级,不阻塞整页。
- 组件删除前检查模板和站点依赖。
- 外部脚本必须白名单、SRI/CSP和客户同意。
component、component_version、property_schema、compatibility_test
component.published/deprecated;component.migration_failed
- 错误组件不会拖垮编辑器或线上整页。
- Schema校验前后端一致。
- 无障碍、性能和安全测试通过后才能上架。
素材与文件服务
统一、安全地管理图片、视频、文档和Logo,并生成适合网站的资源变体。
申请上传→对象存储直传/分片→病毒和类型检测→图片处理→元数据入库→CDN地址。
- 对象路径含tenant_id/site_id,不使用原文件名作为唯一键。
- 私有原图和公开发布衍生图分开;发布产物使用内容hash。
- 图片自动生成WebP/AVIF和多尺寸;保留版权、alt和焦点信息。
- 替换文件默认生成新asset_version,历史站点版本继续引用旧文件。
- 500MB以上按策略限制;分片中断可续传。
- 扫描失败或伪造MIME禁止使用。
- 删除被版本引用的文件只标记待清理。
media_asset、asset_version、upload_session、image_variant、asset_reference
POST /uploads:init/complete;asset.processed/rejected
- 越权下载和跨租户引用全部拒绝。
- 图片变体生成失败不影响原图保存,但不能发布不合规格式。
- 存储用量与客户配额对账一致。
表单与受控插件
扩展网站交互,同时隔离第三方故障和数据风险。
选择插件/表单→授权Scope→配置→预览测试→启用→运行监控/停用。
- 表单字段Schema版本化,保存提交时版本和同意文本。
- 插件声明需要的页面权限、数据、外网域名和事件。
- WhatsApp/Telegram/企业微信、统计代码按site_type和区域展示。
- 插件脚本沙箱/CSP,异常熔断,不影响页面、询盘和发布。
- 第三方Token加密、可撤销;失效显示重新授权。
- Webhook至少一次投递并签名,接收方按event_id去重。
form_definition、form_version、plugin、site_plugin、credential_ref、webhook_delivery
form.submitted;plugin.enabled/disabled;webhook.failed
- 插件停用后线上脚本不再加载。
- 第三方故障不导致网站白屏或询盘丢失。
- 权限和数据采集范围在启用前明确展示。