# 安装

cnpm i @xiaoe/sense -S
1

# 引入

import {Canva} from '@xiaoe/sense'
1

# 初始化

const canva = new Canva({
  defaultDocType: 1,
  defaultStatus: 2,
  onStatusChange: (status)=> {...},
  pagePath: '',
  pageId: '',
  pageName: '',
  pageScene: '',
})
1
2
3
4
5
6
7
8
9
参数 类型 必填 描述
defaultDocType Number 不传入docType id时的默认docType id
defaultStatus Number canva初始化前的状态, 0-正常 1-维护 2-隐藏 3-店铺需升级, 默认2
onStatusChange Function canva状态改变时触发,接收一个Number类型参数,即canva的状态
pagePath String 埋点参数
pageId String 埋点参数
pageName String 埋点参数
pageScene String 埋点参数, 对应cmm2,用于区分同页面上的不同场景(组件)

# 使用

# 新建设计

新建设计,可以从docType新建,也可以通过design Id进行复制,也可通过media Id填充对应图片。

// 1. 调起docType选择弹窗,新建设计
canva.create({
	showTypePannel: true,
	withFile: true,
	fileName: 'test.png',
	onConfirmType: (type) => {...},
	success: ({designId, exportUrl, file}) => {...}
})
// 2. 通过designId新建,即复制
canva.create({
	designId: '',
	success: ({designId, exportUrl} => {...})
})
// 3. 通过mediaId新建,即使用用户上传过的图片
canva.create({
	mediaId: '',
	width: 200,
	height: 100,
	success: ({designId, exportUrl} => {...})
})
// 4. 通过docType创建
canva.create({
	type: 1,
	width: 200,
	height: 100,
	success: ({designId, exportUrl} => {...})
})
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

参数

参数 类型 必填 描述
showTypePannel Boolean 是否调起docType选择弹窗,默认false
designId String 在线设计的design Id
mediaId String 用户上传图片的media Id
type Number docType id
width Number 在线设计画布宽度,传入media Id或type时必选
height Number 在线设计画布高度,传入media Id或type时必选
withFile Boolean 是否返回图片File对象,默认false
fileName String File对象文件名,默认为当前时间字符串.png,例: 202107231442.png
onConfirmType Function 用户选择完docType回调,参数为docType对象
success Function 成功回调,接收一个参数 {designId, exportUrl, file}

返回值

类型 描述
Number canva sdk 目前状态 0-正常 1-canva错误 2-隐藏canva 3-店铺需升级

# 编辑设计

编辑设计,通过传入material Id查找素材对应的design Id或media Id, 查到designId时,进行复制并编辑;查到mediaId时填充图片;都未查到或未传入material Id则上传图片至canva再填充。

canva.edit({
	materialId: '...',
	url: '...',
	width: 200,
	height: 100,
	withFile: true,
	fileName: 'test.png',
	success: ({exportUrl, designId, file}) => {...}
})
1
2
3
4
5
6
7
8
9

参数

参数 类型 必填 描述
materialId String 素材id
url String 图片url
width Number 图片宽度
height Number 图片高度
withFile Boolean 是否返回图片File对象,默认false
fileName String File对象文件名,默认为当前时间字符串.png,例: 202107231442.png
success Function 成功回调,接收一个参数 {designId, exportUrl, file}

返回值

类型 描述
Number canva sdk 目前状态 0-正常 1-canva错误 2-隐藏canva 3-店铺需升级

# 上传

上传图片至canva

canva.upload({
	url: '...',
	materialId: '...',
	fileName: 'test.png',
	success: (mediaId) => {...}
})
1
2
3
4
5
6

参数

参数 类型 必填 描述
url String 图片url
materialId String 素材id,传入时可上报该素材对应的mediaId
fileName String File对象文件名,默认为当前时间字符串.png,例: 202107231442.png
success Function 成功回调,接收一个参数 mediaId

返回值

类型 描述
Number canva sdk 目前状态 0-正常 1-canva错误 2-隐藏canva 3-店铺需升级