# 数据协议
物料数据协议是一套通用的描述物料元数据的标准格式,协议约定了物料的类型、名称、物料数据、存储位置等信息。通过这套数据协议,我们可以将任意物料源接入 Next 前端开发服务平台使用。
# 数据结构
物料数据存储在 build/materials.json
文件中,包含以下字段的数据:
- type
{string}
:(必选)物料类型,来源自package.json
中的materialConfig
字段; - name
{string}
:(必选)物料名称,来源自package.json
中的name
字段; - components
{Array[ComponentMetaData]}
:(必选)包含所有组件元数据的数组; - blocks
{Array[BlockMetaData]}
:(必选)包含所有区块信息的数组; - pages
{Array[PageMetaData]}
:(必选)包含所有页面信息的数组; - scaffolds
{Array[ScaffoldMetaData]}
:(必选)包含所有模板信息的数组; - logo
{string}
:(可选)物料标志,来源自package.json
中的materialConfig
字段; - author
{object}
:(可选)物料作者,来源自package.json
中的author
字段; - homepage
{string}
:(可选)物料主页,来源自package.json
中的homepage
字段; - description
{string}
:(可选)物料描述,来源自package.json
中的description
字段;
# ComponentMetaData 组件元数据
{
// (必选)英文名称
name: "balloon-confirm",
// (必选)中文名称
title: "气泡确认框",
//(必选)描述说明
description: "跟随动作出现的轻量级确认框",
//(必选)预览地址
homepage: "https://unpkg.com/@nextd/balloon-confirm@1.0.1/build/index.html",
//(必选)物料分类
category: "Information",
//(必选)源码地址
repository: "https://github.com/startdt/next-materials/tree/master/components/balloon-confirm",
//(必选)安装方式
source: {
//(必选)客户端
type: "npm",
//(必选)包名称
npm: "@nextd/balloon-confirm",
//(必选)版本号
version: "1.0.1",
//(必选)镜像源
registry: "http://registry.npmjs.com"
},
// (必选)依赖关系
dependencies: {},
// (必选)首次发布时间
publishTime: "2017-11-28T20:27:00.000Z",
// (必选)最后更新时间
updateTime: "2021-05-21T05:14:21.000Z"
}
# BlockMetaData 区块元数据
{
// (必选)英文名称
name: "basic-footer",
// (必选)中文名称
title: "基础页脚",
//(必选)描述说明
description: "LOGO和导航组合的模块",
//(必选)预览地址
homepage: "https://unpkg.com/@nextd/basic-footer@1.0.4/build/index.html",
//(必选)物料分类
category: "Information",
//(必选)源码地址
repository: "https://github.com/startdt/next-materials/tree/master/components/basic-footer",
//(必选)安装方式
source: {
//(必选)客户端
type: "npm",
//(必选)包名称
npm: "@nextd/basic-footer",
//(必选)版本号
version: "1.0.4",
//(必选)镜像源
registry: "http://registry.npmjs.com"
},
// (必选)依赖关系
dependencies: {},
// (必选)单张截图
screenshot: "https://unpkg.com/@nextd/basic-footer/screenshot.png",
// (可选)多张截图
screenshots: [
"https://unpkg.com/@nextd/basic-footer/screenshot.png"
],
// (必选)首次发布时间
publishTime: "2017-11-28T20:27:00.000Z",
// (必选)最后更新时间
updateTime: "2021-05-21T05:14:21.000Z"
}
# PageMetaData 页面元数据
{
// (必选)英文名称
name: "introduction-page",
// (必选)中文名称
title: "产品特性",
//(必选)描述说明
description: "产品特性展示页面",
//(必选)预览地址
homepage: "https://unpkg.com/@nextd/introduction-page@1.0.0/build/index.html",
//(必选)物料分类
category: "Information",
//(必选)源码地址
repository: "",
//(必选)安装方式
source: {
//(必选)客户端
type: "npm",
//(必选)包名称
npm: "@nextd/introduction-page",
//(必选)版本号
version: "1.0.0",
//(必选)镜像源
registry: "http://registry.npmjs.com"
},
// (必选)依赖关系
dependencies: {},
//(必选)单张截图
screenshot: "",
//(可选)多张截图
screenshots: [],
// (必选)首次发布时间
publishTime: "2017-11-28T20:27:00.000Z",
// (必选)最后更新时间
updateTime: "2021-05-21T05:14:21.000Z"
}
# ScaffoldMetaData 项目元数据
{
// (必选)前端框架
type: "vue",
// (必选)英文名称
name: "next-design-pro",
// (必选)中文名称
title: "Next Design Pro",
//(必选)描述说明
description: "企业级中后台前端/设计解决方案,涵盖绝大多数中后台典型场景,最大化地减轻开发者工作量,易于上手并支持多端的响应式能力。",
//(必选)预览地址
homepage: "https://unpkg.com/@nextd/next-design-pro@latest/build/index.html",
//(可选)物料分类
category: "Information",
//(必选)源码地址
repository: "https://github.com/startdt/next-materials/tree/master/scaffolds/next-design-pro",
//(必选)安装方式
//(必选)安装方式
source: {
//(必选)客户端
type: "npm",
//(必选)包名称
npm: "@nextd/next-design-pro",
//(必选)版本号
version: "2.1.2",
//(必选)镜像源
registry: "http://registry.npmjs.com"
},
// (必选)依赖关系
dependencies: {},
// (必选)截图
screenshot: "",
// (可选)多张截图
screenshots: [],
// (必选)首次发布时间
publishTime: "2017-11-28T20:27:00.000Z",
// (必选)最后更新时间
updateTime: "2021-05-21T05:14:21.000Z"
}