Skip to content

类型定义

Z-Board 提供完整的 TypeScript 类型定义,所有类型都可以从包中直接导入。

配置类型

WhiteBoardOptions

typescript
interface WhiteBoardOptions {
  addCanvasHistoryHandler?: (data: {
    canvasHistory: CanvasPage[]
    nowPageIndex: number
    allPageNumber: number
  }) => void
  uploadFileHandler?: (file: File) => Promise<string[]>
  uploadImageHandler?: (file: File) => Promise<string>
}

ScreenShotOptions

typescript
interface ScreenShotOptions {
  imageUrl: string
  successHandler?: (base64: string) => void
  exitHandler?: () => void
  toolbarPosition?: 'top' | 'bottom' | 'left' | 'right'
}

画布数据类型

CanvasHistoryItem

typescript
interface CanvasHistoryItem {
  /** 操作步骤编号 */
  step: number
  /** 画布数据列表 */
  canvasData: CanvasDataItem[]
}

CanvasDataItem

typescript
interface CanvasDataItem {
  /** 绘制类型: 0-曲线 1-箭头 2-矩形 3-三角形 4-圆形 5-菱形 6-文字 7-图片 */
  drawType: number
  /** 文字内容(drawType=6 时有效) */
  text?: string
  /** 是否选中 */
  isSelected: number
  /** 样式信息 */
  style: {
    fontSize?: number
    left: number
    top: number
    color?: string
    lineWidth?: number
    lineType?: number
    shapeType?: number
    url?: string
    width?: number
    height?: number
  }
}

CanvasPage

typescript
interface CanvasPage {
  /** 当前页的操作历史列表 */
  canvasData: CanvasHistoryItem[]
  /** 当前操作步骤索引 */
  step: number
}

几何类型

Point

typescript
interface Point {
  x: number
  y: number
}

RectArea

typescript
interface RectArea {
  x: number
  y: number
  width: number
  height: number
}

工具配置类型

WriteOptions

画笔工具配置:

typescript
interface WriteOptions {
  /** 线条类型: 0-曲线 1-箭头 */
  lineType: number
  /** 线条粗细 */
  lineWidth: number
  /** 线条颜色 */
  color: string
}

DrawOptions

图形绘制配置:

typescript
interface DrawOptions {
  /** 图形类型: 0-矩形 1-三角形 2-圆形 3-菱形 */
  shapeType: number
  /** 线条粗细 */
  lineWidth: number
  /** 线条颜色 */
  color: string
}

TextOptions

文本工具配置:

typescript
interface TextOptions {
  /** 字体大小(px) */
  fontSize: number
  /** 完整字体样式字符串 */
  font: string
  /** 文字颜色 */
  color: string
}

数据集类型

WhiteBoardDataSet

typescript
interface WhiteBoardDataSet {
  /** 调色板颜色列表 */
  colorList: string[]
  addCanvasHistoryHandler: ((data: unknown) => void) | null
  uploadFileHandler: ((file: File) => void) | null
  uploadImageHandler: ((file: File) => void) | null
}

ScreenShotDataSet

typescript
interface ScreenShotDataSet {
  /** 调色板颜色列表 */
  colorList: string[]
  /** 目标图片 URL */
  imageUrl: string
  successHandler: ((data: unknown) => void) | null
  exitHandler: (() => void) | null
  /** 工具栏位置 */
  toolbarPosition: 'top' | 'bottom' | 'left' | 'right'
}

drawType 枚举值

类型说明
0曲线自由画笔绘制(贝塞尔曲线平滑)
1箭头带箭头指示的直线
2矩形矩形框
3三角形三角形
4圆形圆形/椭圆
5菱形菱形
6文字可编辑文本框
7图片插入的图片

基于 MIT 许可证发布