🚀 LuckNext SDK - Demo1

开箱即用的打印SDK - 完整示例

← 返回首页

⚙️ SDK 配置管理

💡 在下方输入您的 LuckNext 配置(JSON数组格式),SDK 将自动解析并生成配置选择器。
支持多个配置,可在打印时动态切换。
ℹ️ 配置字段说明:
configId: 配置唯一ID(数字)
configName: 配置显示名称
serverProtocol: 协议(http 或 https)
serverHost: 服务器地址(IP或域名)
serverPort: 端口号(可选,HTTP默认80,HTTPS默认443)
enableAuth: 是否启用认证
clientId / clientSecret: OAuth 2.0 凭据(认证时必填)
💻 SDK 调用代码
// 初始化 LuckNext SDK
const configs = [
    {
        configId: 1,
        configName: "办公室打印机",
        serverHost: "192.168.1.179",
        serverPort: 8089,
        serverProtocol: "https",
        enableAuth: true,
        clientId: "Client_20251027_220423_937",
        clientSecret: "qhM2g0zZBKH4l0P8Gip6XwENCS9Ho602"
    }
];

// 使用静态工厂方法创建并初始化
const client = await LuckNextIntegrationClient.create(configs);

📋 打印参数设置

ℹ️ 选择要打印的模板文件
ℹ️ 如果添加多行数据,会集中进行高效处理打印

🎨 对话框打印 - 基础控制参数

💡 可视化打印体验:完整的UI界面,用户可选择配置、打印机,实时预览,一键打印。
ℹ️ 打印份数(1-100)
💻 SDK 调用代码
// 对话框打印 - 基础参数
const printParams = {
    jsonTemplate: luckTemplate,  // Luck模板
    variables: variablesData,     // 变量数据对象
    dataSourceRows: dataRows,     // 可选,批量打印数据
    printQuantity: 1              // 打印数量
};

// 打开对话框(用户在对话框中完成打印)
await client.openPrintDialog(printParams);

🎨 对话框打印 - 高级控制参数

💡 SDK高级能力展示:支持外部预设打印参数,灵活控制对话框中显示的输入框,满足企业级复杂业务场景需求。
单张标签打印份数
每张标签打印几份
一页多标签重复数
💡 当下方的显示控制选项不勾选时,对话框将使用这里设置的固定值
💡 勾选后,对应的输入框会显示在打印对话框中;不勾选则隐藏,使用上方预设的固定值
💻 SDK 调用代码
// 对话框打印 - 高级控制参数
const printParams = {
    jsonTemplate: luckTemplate,
    variables: variablesData,
    dataSourceRows: dataRows,
    
    // 打印数量参数(不勾选显示时使用)
    printQuantity: 1,
    labelsPerSheet: 2,
    copiesPerPage: 3,
    
    // UI控制:决定对话框中显示哪些输入框
    showPrintQuantityInput: true,   // 显示打印数量输入
    showLabelsPerSheetInput: false, // 隐藏单张标签数量
    showCopiesPerPageInput: false   // 隐藏单页打印数量
};

// 打开对话框(用户在对话框中完成打印)
await client.openPrintDialog(printParams);

⚡ 自动打印

💡 自动化打印解决方案:预设配置和打印机,无UI干扰,后台静默执行,适合自动化场景。
💻 SDK 调用代码
// 自动打印
const helper = await LuckNextDirectPrintHelper.create({
    integrationClient: client,
    configSelectId: 'directConfigSelect',
    printerSelectId: 'directPrinterSelect',
    printButtonId: 'directPrintBtn',
    selectionId: 'demo2-direct-print'
});

// 获取用户选择的配置和打印机
const selection = helper.getSelection();
const { configId, printerName } = selection;

// 构建打印参数并执行
const printOptions = {
    configId: configId,
    printerName: printerName,
    jsonTemplate: luckTemplate,
    variables: variablesData,
    dataSourceRows: dataRows,
    printQuantity: 1
};

const result = await client.print(printOptions);

📝 实时日志

[初始化] 页面已加载,等待用户操作