v2.4.0
发布时间: 2024/04/25
更新如下
AutoLayout
新增- flexWrap 表示是否折行。
- crossaxisspacing 换行模式下,交叉轴不同轨道之间的间距。
- crossAxisAlignContent 交叉轴的对齐方式。
v2.3.0
发布时间: 2023/02/04
更新如下
- TeamLibaray中的Teamlibrarycomponent新增
cover
封面地址。width
宽度(旧团队库宽度可能为0)。height
高度(旧团队库高度可能为0)。
v2.2.0
发布时间: 2023/11/30
更新如下
- TextSegStyle新增
fillStyleId
填充样式id字段。
v2.0.0
发布时间: 2023/09/28
更新如下
- 新增SectionNode区域节点。
saveversionhistoryasync
增加历史版本支持可选的标题参数(/apis/mastergo.html#saveversionhistoryasync)
v1.21.0
发布时间: 2023/07/06
更新如下
- ComponentNode和ComponentSetNode新增DocumentationLinks,获取和设置组件文档链接。
v1.20.0
发布时间: 2023/04/27
更新如下
- 新增node.isMaskOutline能力支持
- 新增node.isMaskVisible能力支持
- 新增textNode.textAutoResize = 'TRUNCATE'能力支持。
v1.19.0
发布时间: 2023/04/11
更新如下
- 新增manifest.permissions能力支持
- 新增mg.currentUser接口,可获取用户信息。
v1.18.0
发布时间: 2023/04/07
更新如下
- 容器图层新增Expanded属性来控制左侧树的展开和收起
- 实例新增Resetoverrides来重置自身所有的更改。
v1.17.0
发布时间: 2023/03/31
更新如下:
ComponentNode和ComponentSetNode的实例切换属性(instance_swap)新增首选项PreferredValue,设置实例切换的首选项。
InstanceNode新增ExposedInstances属性,将自身的组件属性公开给父图层的组件/组件集。
InstanceNode新增isExposedInstance表示此实例是否向包含自己的 ComponentNode 或 ComponentSetNode 公开自身的组件属性。仅在 ComponentNode 或 ComponentSetNode 中包含的主 InstanceNode 上可写,只在嵌套的 InstanceNode 上继承。
GroupNode和BooleanOperationNode不再支持设置约束Constraints,GroupNode和BooleanOperationNode只受子图层约束影响。
v1.16.0
发布时间: 2023/03/21
更新如下:
- 新增mg.combineAsVariants方法将一组ComponentNode节点组合成ComponentSetNode节点。
v1.15.0
发布时间: 2023/03/16
更新如下:
- 新增mg.notify方法支持设置显示时间和loading,并且支持主动关闭。
- 新增attachedConnectors表示吸附到节点的连接线节点数组。
v1.14.0
发布时间: 2023/02/07
更新如下:
- 图层新增异步导出接口exportAsync,此接口在图层包含图片时会加载原图。
v1.13.0
发布时间: 2023/01/12
更新如下:
添加了对组件属性功能的支持,在以下每种节点类型上具有新的属性和函数:
ComponentSetNode
ComponentNode(非状态组件)
SceneNode(必须是组件子图层,并且不嵌套在实例节点中)
InstanceNode
InstanceNode
上的 setProperties 函数用作更新组件属性。ComponentSetNode
上的 componentPropertyDefinitions 属性现已弃用。它将继续返回变量组属性,但建议使用新的组件属性定义属性。变量属性将继续使用,设置时仍然需使用变量相关api。
导出设置新增 useRenderBounds 属性来控制导出时是否包含图层的外部描边和阴影绘制所占区域,默认为
true
。定位属性新增 absoluteBoundingBox,只读属性,用来获取当前图层的绝对定位属性,返回值类型为Rect。
定位属性新增 absoluteRenderBounds,只读属性,用来获取当前图层的绝对定位属性,其值受旋转、填充、阴影、描边等效果影响,返回值类型为Rect。
v1.12.0
发布时间: 2022/12/20
更新如下:
- 添加mg.ui.moveTo方法。
- 添加mg.ui.viewport属性
提供移动插件ui视窗的接口,以及视窗的相关属性,可用于获取当前ui视窗信息、定位校验、插件ui内外的坐标系换算等场景。
v1.11.0
发布时间: 2022/12/15
更新如下:
- 添加getNodeByPosition方法。
该方法与鼠标点击画布类似,据给定的画布中的世界坐标,查找相应的节点。如果没有找到对应的节点,则返回 null
。
可以用于校验画布中添加图层的定位和信息,判断目标图层是否被遮挡等场景,或者与pluginDrop功能结合,实现“拖拽”进入容器,例如:
const containers = new Set<(SceneNode | PageNode)['type']>(['BOOLEAN_OPERATION','FRAME', 'COMPONENT', 'GROUP', 'PAGE'])
mg.on('drop', (dropEvent: DropEvent) => {
const {dropMetadata, absoluteX, absoluteY} = dropEvent;
const currentPage = mg.document.currentPage;
// 获取对应坐标的容器
let target = mg.getNodeByPosition({x: absoluteX, y: absoluteY});
while(target && !containers.has(target.type)){
target = target.parent;
}
const parent = target || currentPage;
mg.createNodeFromSvgAsync(dropMetadata.svg)
.then((frame) => {
frame.x = absoluteX - frame.width / 2,
frame.y = absoluteY - frame.height / 2,
parent.appendChild(frame)
mg.document.currentPage.selection = [frame]
mg.commitUndo();
})
})
- 文字图层分段样式新增lineHeightByPx字段,表示文字图层在画布中以px为单位的行高数值,当
lineHeight
为百分比或自动行高时,通过这个字段能够读取文字分段样式中实际行高的像素值。
v1.10.2
发布时间: 2022/12/13
更新如下:
- 废弃teamLibrary, 改用异步方法getTeamLibraryAsync。
- 添加mg.mixed属性。
- 修改rescale描述和边界限制,从限制单次缩放系数最小值,改成限制缩放后图层尺寸最小值
v1.10.0
发布时间: 2022/12/01
更新如下:
文字图层和样式支持设置百分比和自动行高
const textNode = mg.createText(); textNode.characters = 'text' //自动行高 textNode.setRangeLineHeight(0, 3, { unit: 'AUTO' }); console.log(textNode.textStyles[0].textStyle.lineHeight); // { unit: 'AUTO' } //百分比行高 textNode.setRangeLineHeight(0, 3, { unit: 'PERCENT', value: 50 }); console.log(textNode.textStyles[0].textStyle.lineHeight); // { unit: 'PERCENT', value: 50 } //创建文字样式 const textStyle = mg.createTextStyle({ id: textNode.id, name: 'textStyle', description: 'desc' }) //自动行高 textStyle.lineHeight = { unit: 'AUTO' }; console.log(textStyle.lineHeight); // { unit: 'AUTO' } //百分比行高 textStyle.lineHeight = { unit: 'PERCENT', value: 50 }; console.log(textStyle.lineHeight); // { unit: 'PERCENT', value: 50 }
v1.9.0
发布时间: 2022/11/24
更新如下:
- 全局新增 拼合 接口: flatten
- 图层新增 等比缩放 接口: rescale
- 图层新增 水平/垂直翻转 接口: flip
- 文件、页面和容器类图层新增 按类型查找 接口: findAllWithCriteria
- 文字新增 设置填充样式 接口: setRangeFillStyleId
- 文字新增 设置文字样式 接口: setRangeTextStyleId
- createComponent和createFrame支持传入子图层数组。
removed
为true
的图层现在访问和修改属性会有提示。
v1.8.0
发布时间: 2022/11/18
更新如下:
clientStorage
新增 keysAsync 获取所有键名 和 deleteAsync 删除对应键名数据 接口。
async function getKeys() {
const keys: string[] = await mg.clientStorage.keysAsync()
console.log('AllKeys', keys)
}
async function deleteKey(key:string) {
await mg.clientStorage.deleteAsync(key)
const data: undefined = await mg.clientStorage.getAsync(key)
console.log(`Data with key ${key} is removed`)
}
v1.7.0
发布时间: 2022/11/11
更新如下:
- mg.showUI() 新增可选参数
x
和y
,支持传入数字或百分比,自定义插件窗口展示在画布的位置。 - 全局新增团队库相关接口:
- teamLibrary 获取订阅团队库数据。
- importComponentByKeyAsync 导入订阅的团队库组件。
- importComponentSetByKeyAsync 导入订阅的团队库组件集。
- importStyleByKeyAsync 导入订阅的团队库样式。