Skip to content

API 速查表

模块方法一览

模块方法返回类型说明
healthcheck()Promise<HealthResponse>健康检查
benefitscheck()Promise<BenefitsResponse>权益验证
printerslist()Promise<PrintersResponse>打印机列表
templateslist()Promise<TemplatesListResponse>模板列表
templatesschema(template)Promise<TemplateSchemaResponse>模板字段定义
printexecute(request)Promise<PrintResponse>执行打印
preflightrun(options?)Promise<PreflightResult>预检编排
launchtrigger()void触发 TopBridge App 唤起
launchensureRunning(fn, options?)Promise<T>唤起 + 重试编排

TopBridgeClientConfig

字段类型默认值说明
sourcestring'(内置)'SDK 来源标识(由 SDK 内部自动设置,无需手动配置)
debugbooleanfalse启用控制台日志(前缀:[TopBridge]
loggerLogger静默(空操作)自定义日志器实现
timeouts.healthnumber (ms)3000健康检查超时
timeouts.preflightnumber (ms)10000预检 / 模板查询超时
wssEnabledbooleanfalse启用 WSS 安全连接模式
timeouts.printnumber (ms)60000打印执行超时
typescript
import type { TopBridgeClientConfig } from '@appzgatenz/label-print-topbridge-js'

const client = new TopBridgeClient({
  debug: true,
  timeouts: { health: 5000, print: 120000 },
})

PrintExecuteRequest

typescript
interface PrintExecuteRequest {
  template: string             // 模板 ID 或 Code
  printer: string              // 打印机名称
  products: PrintProductInput[] // 产品数据数组
}

PrintProductInput

typescript
interface PrintProductInput {
  [key: string]: string | number | Record<string, string | number | undefined> | undefined
  copies?: number  // 打印份数,范围 [1, 9999],默认 1
}

SyncedPrinter

typescript
interface SyncedPrinter {
  name: string               // 打印机名称(用作 printer 参数)
  isDefault: boolean         // 是否为默认打印机
  protocol?: 'TSPL' | 'ZPL' // 标签协议
}

响应类型一览

类型关键字段
HealthResponsetype: 'pong', isRunning: true, data.isLoggedIn, data.version(可选), data.networkStatus(可选)
BenefitsResponsedata.isValid, data.remainingPrints, data.expiresAt, data.reason, data.hasPrintBenefit, data.hasSessionBenefit
PrintersResponsedata.count, data.defaultPrinter, data.printers[]
TemplatesListResponsedata.count, data.templates[]
TemplateSchemaResponsedata.fields[], data.code, data.name
PrintResponsemessage(顶层), data.printedCopies, data.jobId, data.templateName, data.userId(可选), details(可选), warnings(可选)
PreflightResulthealth, benefits, printers

SdkResponse<T>

所有 SDK 方法返回统一的响应信封:

typescript
interface SdkResponse<T> {
  status: 'ok' | 'warning'  // 请求结果状态
  requestId?: string         // 请求追踪 ID
  data: T                    // 业务数据
  message: string            // 人类可读的状态描述
  details?: unknown          // 扩展详情(可选)
  warnings?: SdkWarning[]    // 非致命格式提示(可选)
}
状态行为
'ok'请求成功,可直接使用 data
'warning'请求成功但有提示,data 可正常使用,查看 messagewarnings 了解详情
(错误)SDK 抛出 TopBridgeError 子类异常,无返回值

导出清单

typescript
// 类
import { TopBridgeClient } from '@appzgatenz/label-print-topbridge-js'
import { LaunchModule } from '@appzgatenz/label-print-topbridge-js'

// 错误类(11 个)
import {
  TopBridgeError,
  TopBridgeConnectionError,
  TopBridgeAuthError,
  TopBridgeVersionError,
  TopBridgeQuotaError,
  TopBridgePrintError,
  TopBridgeConfigError,
  TopBridgeValidationError,
  TopBridgePrinterError,
  TopBridgeTemplateError,
  TopBridgeNetworkError,
  TopBridgeSourceError,
} from '@appzgatenz/label-print-topbridge-js'

// 类型(按需导入)
import type {
  TopBridgeClientConfig,
  TopBridgeSource,
  Logger,
  SdkWarning,
  V2WarningCode,
  HealthResponse,
  HealthData,
  BenefitsResponse,
  BenefitsData,
  PrintersResponse,
  PrintersData,
  SyncedPrinter,
  TemplatesListResponse,
  TemplatesListData,
  TemplateItem,
  TemplateSchemaResponse,
  TemplateSchema,
  TemplateFieldSchema,
  PrintResponse,
  PrintData,
  PrintExecuteRequest,
  PrintProductInput,
  PreflightResult,
  PreflightOptions,
  PreflightStep,
  EnsureRunningOptions,
} from '@appzgatenz/label-print-topbridge-js'