0) { OrderService::valid($order, $mainId); } return self::printByData(self::buildDefaultData(), $printOptions); } /** * 直接打印贺卡 */ public static function printByData(array $data = [], array $printOptions = []) { if (!cloudPrintUtil::isEnabled()) { throw new CloudPrinterApiException('链科云打印未启用,请先在 .env 配置 LIANKENET_*'); } $paper = cloudPrintPaperSpec::resolve(array_merge([ 'scene' => cloudPrintPaperSpec::SCENE_GREETING_CARD, ], $printOptions)); $data['paper'] = $paper; $html = self::renderHtml($data); return (new cloudPrintUtil())->printHtml($html, $paper['dmPaperSize']); } /** * 默认贺卡文案(写死,后续可改为订单 cardInfo / 收花人姓名等) */ public static function buildDefaultData() { return [ 'cardTitle' => '生日快乐贺卡', 'toText' => 'To 陈小姐', 'titleText' => '生日快乐', 'messageLines' => [ '愿你今天被鲜花和温柔包围,', '生日快乐,天天开心。', ], 'fromText' => 'From 你的朋友', ]; } /** * 渲染贺卡 HTML */ public static function renderHtml(array $data) { $data = array_merge(self::buildDefaultData(), $data); if (empty($data['paper'])) { $data['paper'] = cloudPrintPaperSpec::resolve([ 'scene' => cloudPrintPaperSpec::SCENE_GREETING_CARD, ]); } $template = Yii::getAlias('@common/templates/greeting-card-a4.php'); if (!is_file($template)) { throw new CloudPrinterApiException('节日贺卡模板不存在'); } ob_start(); include $template; return (string)ob_get_clean(); } }