PHP教程

二维码活码管理系统

文 / 管理员 来源 / 转载 https://blog.51cto.com/u_15127648/4603828 阅读 / 402 1年前

二维码活码管理系统

什么是活码?

二维码生成后,二维码图案不变,内容可随时变更,极大提高营销效率,配合美术设计二维码能力大大提升.

二维码活码管理系统

并且可以做到实时统计二维码扫描数据,传播效果一目了然;根据地域、网络、设备等多维度分析数据,提升管理效率.


二维码的活码的技术实现本质是什么?

二维码活码团主要存储一个固定的 php 路径及码的 id,扫描二维码后,服务根据请求内容从数据库中查找二维码的信息,作跳转并记录访问信息.

系统技术

二维码活码管理系统

使用本项目需要你了解以上技术

重点技术

1.使用插件绘制二维码

// https://github.com/jeromeetienne/jquery-qrcode
// js

function paint(url, ele) {      
    outputQRCod(url, 200, 200);           //转换中文字符串
    function toUtf8(str) {
        var out, i, len, c;
        out = "";
        len = str.length;
        for (i = 0; i < len; i++) {
            c = str.charCodeAt(i);
            if ((c >= 0x0001) && (c <= 0x007F)) {
                out += str.charAt(i);
            } else if (c > 0x07FF) {
                out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F));
                out += String.fromCharCode(0x80 | ((c >> 6) & 0x3F));
                out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
            } else {
                out += String.fromCharCode(0xC0 | ((c >> 6) & 0x1F));
                out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
            }
        }
        return out;
    }

    //生成二维码
    function outputQRCod(txt, width, height) {
        //先清空
        $(ele).empty();
        //中文格式转换
        var str = toUtf8(txt);
        //生成二维码
        $(ele).qrcode({
            render: "canvas", //canvas和table两种渲染方式
            width: width,
            height: height,
            text: str
        });
    }
}

2.使用 php 跳转页面

//php

header("Access-Control-Allow-Origin: *");
$id = isset($_GET["id"]) ? $_GET["id"] : '';
// 连主库
$conn = mysqli_connect('w.rdc.sae.sina.com.cn' . ':' . '3306', 'aaa', 'bbb', 'ccc');
// Check connection
if ($conn->connect_error) {
    die("连接失败: " . $conn->connect_error);
}
$sql = "SELECT * FROM `2code_code` WHERE id = '" . $id . "'";
$result = $conn->query($sql);
if (mysqli_num_rows($result) > 0) {
    while ($row = mysqli_fetch_assoc($result)) {
        if (!strpos($row["content"], "//")) {
            $k = "//" . $row["content"];
        } else {
            $k = $row["content"];
        }
        $v=$row["num"]+1;
$sql = "UPDATE `app_jxjweb`.`2code_code` SET `num` = '".$v."' WHERE `2code_code`.`id` = '".$id."'";
$result2 = $conn->query($sql);
        Header("HTTP/1.1 303 See Other");
        Header("Location: $k");
    }
} else {
    exit('错误路径!');
}


安装步骤

  • 主要文件都存放在项目的 dist 文件中

  • 导入 dist/sql 里的数据库文件至数据库

  • 在 dist/php 中添加 conn_sql.php , 连接你自己的数据库 (参照 conn_sql的副本.php)

二维码活码管理系统

  • 修改 dist/web 中 custom.js 的 base_url 变量 (你预计把 2code文件 放置在服务器下的位置 , 即文件的域名位置)

二维码活码管理系统

  • 修改 jump.html 中的 url 地址

二维码活码管理系统

  • 上传修改好的 2code文件夹 到你的服务器预定位置

效果演示:

账号: jxj2991

密码: 666666


完整代码:

二维码活码源码(含数据库脚本).zip


评论

共0条评论
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~

站点声明:本站转载作品版权归原作者及来源网站所有,原创内容作品版权归作者所有,任何内容转载、商业用途等均须联系原作者并注明来源。

© 2020-2030 qdxcy.cn 版权所有京ICP备13045222号
相关侵权、举报、投诉及建议等,请发E-mail:2323946929@qq.com

友情链接: YzmCMS官方网站 YzmCMS官方论坛