# app/api/v1/common/print.py from flask import Blueprint, request, jsonify from app.services.print.label_service import LabelPrintService from app.models.inbound.buy import StockBuy # 引入其他模型 StockSemi, StockProduct import traceback print_bp = Blueprint('print', __name__) @print_bp.route('/preview', methods=['POST']) def preview_label(): try: data = request.get_json() # 如果只传了ID和类型,可以在这里查库补全数据,也可以直接前端传全量数据 img_base64 = LabelPrintService.generate_preview_image(data) return jsonify({"code": 200, "msg": "success", "data": img_base64}) except Exception as e: return jsonify({"code": 500, "msg": str(e)}), 500 @print_bp.route('/execute', methods=['POST']) def execute_print(): try: data = request.get_json() LabelPrintService.send_to_printer(data) return jsonify({"code": 200, "msg": "指令已发送至打印机"}) except Exception as e: return jsonify({"code": 500, "msg": str(e)}), 500