监听键盘输入
<p>扫码器被PC电脑识别成键盘,它就是把扫码内容转换成文字,输入到PC电脑上面,所以我们获得手机付款码文字之后,可以通过键盘手工输入到PC电脑上面,所以我们需要给页面添加键盘监听事件。</p>
<h3>编写payment.js</h3>
<pre><code class="language-javascript">$(".pay-btn").click(function(){
$(this).attr("disabled",true)
$(".message").text("扫码中,请不要做其他操作")
let authCode=""
$(document).bind("keydown",function(event){
if(event.keyCode==13){
let orderId=$(".pay-btn").data("order-id")
$.ajax({
url:wxUrl.scanCodePayOrder,
type:"post",
dataType:"json",
contentType:"application/json",
beforeSend: function(request) {
request.setRequestHeader("token", localStorage.getItem("token"));
},
data:JSON.stringify({
"orderId":orderId,
"authCode":authCode
}),
success:function(resp){
let msg=resp.msg
if(msg=="付款成功"){
$(document).unbind("keydown")
$(".message").text("付款成功")
setTimeout(function(){
location.reload()
},1000)
}
else{
$(".message").text("付款失败")
}
}
})
}
else if(event.keyCode==27){
$(document).unbind("keydown")
$(".message").text("支付设备已经准备好")
$(".pay-btn").removeAttr("disabled")
}
let ch=String.fromCharCode(event.keyCode)
authCode+=ch
})
})
</code></pre>