Dcat Admin实现弹框显示二维码(支持下载)

效果

Dcat Admin实现弹框显示二维码(支持下载)

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 协议》,转载必须注明作者和本文链接
DaiChongWeb
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 2

下载
下载 的图片为什么打不开,格式不支持

10个月前 评论

@huluobo 可能是代码解析的问题

<a href="<?= $base64Image ?>" download="<?= $code ?>.png">下载</a>
改成
$codePng = $code.'.png';
<a href="<?= $base64Image ?>" download="<?= $codePng ?>">下载</a>
10个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!