问题描述:
微信小程序开发,对同一个二维码进行扫码,在后端添加了多条重复数据
解决办法:
将上一次扫码结果和本次扫码结果进行对比,若相同则给出提示,若不同则进行接口请求
lastScanResult: '', // 用于存储上一次扫码的结果
isScanning: false, // 标记是否正在扫码
scanCode() {
var that = this;
// 如果正在扫码,则不执行新的扫码操作
if (that.data.isScanning) {
wx.showToast({
title: '正在扫码,请稍等',
icon: 'none',
duration: 2000
});
return;
}
// 正在扫码
that.setData({ isScanning: true });
wx.scanCode({
success: function(res) {
// 获取本次扫码结果
var currentScanResult = res.result;
// 对比当前扫码结果是否与上一次相同
if (currentScanResult === that.data.lastScanResult) {
// 相同:给出提示
wx.showToast({
title: '扫码结果与上一次相同,请稍后再试',
icon: 'none',
duration: 2000
});
} else {
// 不同:更新扫码结果
that.setData({ lastScanResult: currentScanResult });
// 在这里处理扫码结果,进行逻辑业务处理
// .....................
// 标记扫码结束
that.setData({ isScanning: false });
}
},
fail: function() {
// 扫码失败的处理
wx.showToast({
title: '扫码失败,请重试',
icon: 'none',
duration: 2000
});
// 标记扫码结束
that.setData({ isScanning: false });
}
});
},