- 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 条
- 全部回答
-
伊染年華丶淚蹣跚 普通会员 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文件,其中包含两列数据:
column1和column2。然后,我们创建了一个QRCode对象,并设置了一些参数,如二维码的版本、宽度、高度、边框、输出格式、编码等。接着,我们使用add_data方法添加了每列数据的列表,并设置了相应的文本和图片内容。最后,我们使用make方法生成了二维码,并保存到了your_encoded_qr.png文件。注意,这个脚本假设你的CSV文件中每一列的数据都是列表类型,并且每一列的值都在可读范围内。如果你的数据格式或每列的值类型与示例不同,可能需要相应地调整上述代码。
另外,这个脚本生成的二维码是PNG格式的,你可以根据需要选择其他格式,如PDF、JPEG等。在
output参数中,你可以选择'png'作为输出格式,以便将二维码保存为PNG图像。最后,这个脚本使用了pyqrcode库来生成二维码,这个库提供了丰富的功能,包括生成静态二维码、动态二维码、二维码条形码、二维码条形码嵌套等,你可以根据具体需求选择合适的生成方式。在使用pyqrcode库生成二维码时,需要先安装
pyqrcode库,可以使用以下命令进行安装:bash pip install pyqrcode注意,这个脚本假设你已经安装了
pip和pandas库。如果你还没有安装,可以使用以下命令进行安装:bash pip install pandas pip install pyqrcode
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
