jquery-qrcode在线生成二维码

时间:2021-11-10 20:31:40

通过bower进行获取:

y@y:ydkt$ bower install jquery-qrcode --save
bower not
-cached git://github.com/gcusnieux/jquery-qrcode.git#*
bower resolve git://github.com/gcusnieux/jquery-qrcode.git#*
bower checkout jquery-qrcode#master
bower resolved git:
//github.com/gcusnieux/jquery-qrcode.git#31e056e747
bower install jquery-qrcode#31e056e747

jquery
-qrcode#31e056e747 client/bower_components/jquery-qrcode
y@y:ydkt$

使用:

.modal.fade(id="qrcode" role="dialog")
.modal
-dialog
.modal
-content
.modal
-header
button.close(type
="button" data-dismiss="modal" aria-label="Close")
span(aria
-hidden="true") ×
h4.modal
-title 在线生成二维码
.modal
-body
form(name
="qrcodeForm")
input.form
-control(placeholder="请输入内容..." required="true" ng-change="createQrCode()" ng-model="qrcodeInfo")
br
#qrcodeCanvas.text
-center
.modal
-footer
button.btn.btn
-default(data-dismiss="modal") 关闭
//在线生成二维码
$scope.createQrCode = function(){
//首先清除
jQuery('#qrcodeCanvas').html("");

if($scope.qrcodeInfo!==undefined){
jQuery(
'#qrcodeCanvas').qrcode({
width:
256,
height:
256,
text : toUtf8($scope.qrcodeInfo)
});
}
};

//解决二维码中的中文乱码问题
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;
}