Skip to content

printer 小票打印模板开发

功能介绍

小票打印功能允许商家在特定条件下(如订单支付后、收货后或手动触发)自动或手动打印订单小票

小票打印配置文档

小票打印配置请参考:小票打印配置文档

模板类型字典文件

文件位置:niucloud/addon/shop/app/dict/printer/type.php

文件名称必须一致,框架会寻找所有插件下的这个文件,进行加载

关键代码说明 type.php

php
<?php

return [
    [
        'key' => 'shopGoodsOrder', // 模板key
        'title' => '商品订单', // 模板类型名称
        'sort' => 10000, // 排序号
        //  触发打印时机,定义何时触发调用
        'trigger' => [
            'pay_after' => '付款后',
            'take_delivery' => '收货后',
            'manual' => '手动'
        ],
        // 根据业务可自行扩展筛选条件
        'condition' => [
            [
                'key' => 'print_delivery_type',
                'title' => '配送方式',
                'type' => 'checkbox',
                'list' => [
                    [
                        'name' => '物流配送',
                        'value' => 'express'
                    ]
                ]
            ],
        ],
        'path' => 'preview-goods-order', // 实时预览组件名称
        // 模板内容
        'template' => [
            [
                'key' => 'head_info',
                'title' => '票头',
                'list' => [
                    [
                        'key' => 'ticket_name',
                        'label' => '小票名称',
                        'value' => '小票名称', // 存储的初始值,可以是字符串、数组格式
                        'placeholder' => '', // 输入框占位符
                        'type' => 'input', // 类型,空:无需设置,input:输入框、checkbox:复选框,select:下拉框
                        'status' => 1, // 状态(1:显示,0:隐藏)
                        'disabled' => false, // 是否禁止操作显示隐藏
                        'fontSize' => 'normal', // 字号,normal:正常,small:,big:大
                        'fontWeight' => 'normal', // 粗细,normal:正常,weight:加粗
                        'remark' => '', // 说明
                        'list' => [] // 当type类型为 checkbox或者select时设置
                    ]
                ]
            ]
        ]
    ]
];

实现小票打印内容预览的前端组件

文件位置:admin/src/addon/shop/views/printer/components/preview-goods-order.vue

实现小票打印内容的事件钩子

php
'PrinterContent' => [
    'addon\shop\app\listener\printer\PrinterContentListener'
]

商城插件开发的小票打印内容

PrinterContentListener.php是小票打印的核心,负责生成打印内容

打印机指令参考易联云云打印开发文档:易联云云打印开发文档

基于 MIT 协议发布