base64Encode(str) {
console.log("家吗");
// 编码
var c1, c2, c3
var base64EncodeChars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='
var i = 0,
len = str.length,
strin = ''
while (i < len) {
c1 = str.charCodeAt(i++) & 0xff
if (i == len) {
strin += base64EncodeChars.charAt(c1 >> 2)
strin += base64EncodeChars.charAt((c1 & 0x3) << 4)
strin += '=='
break
}
c2 = str.charCodeAt(i++)
if (i == len) {
strin += base64EncodeChars.charAt(c1 >> 2)
strin += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xf0) >> 4))
strin += base64EncodeChars.charAt((c2 & 0xf) << 2)
strin += '='
break
}
c3 = str.charCodeAt(i++)
strin += base64EncodeChars.charAt(c1 >> 2)
strin += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xf0) >> 4))
strin += base64EncodeChars.charAt(((c2 & 0xf) << 2) | ((c3 & 0xc0) >> 6))
strin += base64EncodeChars.charAt(c3 & 0x3f)
}
return strin
console.log("strin",strin);
}
,
base64Decode(input) {
// 解码
var base64EncodeChars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='
var output = ''
var chr1, chr2, chr3
var enc1, enc2, enc3, enc4
var i = 0
input = input.replace(/[^A-Za-z0-9\+\/\=]/g, '')
while (i < input.length) {
enc1 = base64EncodeChars.indexOf(input.charAt(i++))
enc2 = base64EncodeChars.indexOf(input.charAt(i++))
enc3 = base64EncodeChars.indexOf(input.charAt(i++))
enc4 = base64EncodeChars.indexOf(input.charAt(i++))
chr1 = (enc1 << 2) | (enc2 >> 4)
chr2 = ((enc2 & 15) << 4) | (enc3 >> 2)
chr3 = ((enc3 & 3) << 6) | enc4
output = output + String.fromCharCode(chr1)
if (enc3 != 64) {
output = output + String.fromCharCode(chr2)
}
if (enc4 != 64) {
output = output + String.fromCharCode(chr3)
}
}
return this.utf8Decode(output)
}
,
utf8Decode(utftext) {
// utf-8解码
var string = ''
let i = 0
let c = 0
let c1 = 0
let c2 = 0
while (i < utftext.length) {
c = utftext.charCodeAt(i)
if (c < 128) {
string += String.fromCharCode(c)
i++
} else if (c > 191 && c < 224) {
c1 = utftext.charCodeAt(i + 1)
string += String.fromCharCode(((c & 31) << 6) | (c1 & 63))
i += 2
} else {
c1 = utftext.charCodeAt(i + 1)
c2 = utftext.charCodeAt(i + 2)
string += String.fromCharCode(((c & 15) << 12) | ((c1 & 63) << 6) | (c2 & 63))
i += 3
}
}
return string
},
bindQRCode () {
let qrCodeData='123456'
qrCodeData= this.base64Encode(qrCodeData);
console.log("qrCodeData加密",qrCodeData);
let qrCodeDataIng= this.base64Decode(qrCodeData);
console.log("qrCodeDataIng解密",qrCodeDataIng);
},