Dcat Admin实现弹框显示二维码(支持下载)
效果
Controller代码
$grid->column('', '预览')->display(function () {
return '二维码';
})->modal(function ($modal) {
$modal->title('扫码领取');//模态框标题
$modal->icon('feather icon-eye');//按钮图标
return view('activity/qrcode', ['code' => $modal->row->code]);//配置view,传入自定义参数
});
View代码
<?php
$path = env('QR_CODE_DOMAIN');
$base64Image = (new \chillerlan\QRCode\QRCode())->render(sprintf($path, '#', $code));
?>
<style>
.container {
display: flex;
align-items: center; /* 垂直居中 */
justify-content: center; /* 水平居中 */
margin: 0;
text-align: center; /* 水平居中 */
flex-flow: column;
}
.container img {
display: block; /* 设置图片为块级元素,以便应用垂直居中样式 */
margin: 0 auto; /* 使用外边距自动居中 */
}
</style>
<div class="container">
<div>
<img src="<?= $base64Image ?>" alt="Base64 Image">
</div>
<div class="btn btn-primary btn-outline">
<a href="<?= $base64Image ?>" download="<?= $code ?>.png">下载</a>
</div>
</div>
扩展
我使用的是chillerlan/php-qrcode
,大家可自行选择适合的二维码扩展,也可以直接在view中使用js生成
本作品采用《CC 协议》,转载必须注明作者和本文链接
下载
下载 的图片为什么打不开,格式不支持
@huluobo 可能是代码解析的问题