qrcode.js是一个用于生成二维码图片的插件。
使用时只需写两个函数即可,首先是:
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;
}
这段函数大概是生成二维码的一段代码,具体实现方法暂且未知,等我弄明白之后会重新编辑这篇文章。
然后是设置你想生成的二维码的一些参数:
$("#code").qrcode({ //设置css
render: "table", //二维码的生成方式
width: 300, //生成二维码的宽度
height:300, //生成二维码的高度
text: str, //解析成二维码的连接
correctLevel :3 //容错级别,默认为2,最高为3,为了让用户扫码最快,容错级别应当设为最低
});
最后生成的二维码效果如下:
如果要和后台进行互动,那么就要使用ajax不断进行判断,看这个二维码什么时候被扫描到,如果被扫描到的话,可以自己设置一个状态向后台传递,通过更改这个状态来表示二维码已经被扫描,或者也可以通过二维码跳转到另一个页面,在另一个页面上与后台进行互动。不过需要注意的是,如果是本地(localhost)或者局域网的状态下,输入网址时需要使用自己当前电脑的ip地址和端口号。