账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    批量生成二维码问题
    • 2019-07-30 00:00
    • 10
    37
    0

    昨天在做项目时碰到一个问题,这个需求是需要一次性插入数据库1万条数据,并用回调函数返回插入的数据,然后在前台生成二维码。我插入数据库1万条数据用了2秒不到,速度很快。但是前台打印二维码我用的是JS的QRcode插件,这个插件每次生成二维码都要重新实例化QRcode对象,速度特别慢,我生成5000个二维码用了7分钟.....请问JS大神,这个如何优化?

     function butt() {
    
        $("#hidden").hide();
        $('#printing').css("display",'');
         var goods_id = $('#sele').find("option:selected").val();//产品id         
        var goods_num = $('#num').val();//产品数量
        $.ajax({
            url: "{:url('roots/tracecode/makeTraceCode')}",
            type: 'post',
            data: {
                'goods_id': goods_id,
                'goods_num': goods_num
            },
            success: function (data) {//回调的1万条数据,每条的格式为32位的字符串
               var res = JSON.parse(data);
                for (var index in res) {
                   new QRCode(document.getElementById("qrcode"), res[index]['t_code']);
                   //慢就慢在这里  
                 }
             
             },
            error: function (err) {
              console.log('错误');
            }
        });
    
    }
    
    
    慢就慢在代码中的for in循环上了,我还考虑用php自己的phpqrcode类,但是如果用这个类的话,是从后台生成好后传给前台图片的路径,那样就得把图片保存到服务器上。一次打印1万个的话,服务器项目文件就会很大吧...
    求大佬指点....如何优化速度?
    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • 伊染年華丶淚蹣跚 普通会员 1楼

      生成二维码是一种常见的信息输出方式,可以方便地将文本、图片、音频等多种信息以二维码的形式展示出来。以下是一个批量生成二维码的Python脚本示例,该脚本使用了Python的pandas和pyqrcode库来实现:

      ```python import pandas as pd import pyqrcode

      读取数据

      df = pd.read_csv('your_data.csv')

      创建二维码对象

      qr = pyqrcode.QRCode( version=0, width=20, height=20, box_size=0.5, border=0, output='png', encoding='utf-8' )

      创建二维码对象并添加数据

      qr.add_data(df['column1'].tolist())

      创建二维码对象并添加文本

      qr.add_data(df['column2'].tolist())

      创建二维码对象并添加图片

      qr.add_data(df['column3'].tolist())

      创建二维码对象并添加音频

      qr.add_data(df['column4'].tolist())

      生成二维码

      qr.make()

      保存二维码

      qr.save('your_encoded_qr.png') ```

      在这个脚本中,首先我们读取了一个CSV文件,其中包含两列数据:column1column2。然后,我们创建了一个QRCode对象,并设置了一些参数,如二维码的版本、宽度、高度、边框、输出格式、编码等。接着,我们使用add_data方法添加了每列数据的列表,并设置了相应的文本和图片内容。最后,我们使用make方法生成了二维码,并保存到了your_encoded_qr.png文件。

      注意,这个脚本假设你的CSV文件中每一列的数据都是列表类型,并且每一列的值都在可读范围内。如果你的数据格式或每列的值类型与示例不同,可能需要相应地调整上述代码。

      另外,这个脚本生成的二维码是PNG格式的,你可以根据需要选择其他格式,如PDF、JPEG等。在output参数中,你可以选择'png'作为输出格式,以便将二维码保存为PNG图像。

      最后,这个脚本使用了pyqrcode库来生成二维码,这个库提供了丰富的功能,包括生成静态二维码、动态二维码、二维码条形码、二维码条形码嵌套等,你可以根据具体需求选择合适的生成方式。在使用pyqrcode库生成二维码时,需要先安装pyqrcode库,可以使用以下命令进行安装:

      bash pip install pyqrcode

      注意,这个脚本假设你已经安装了pippandas库。如果你还没有安装,可以使用以下命令进行安装:

      bash pip install pandas pip install pyqrcode

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部