mirror of
https://github.com/luzhisheng/js_reverse.git
synced 2025-04-20 03:59:57 +08:00
9237 lines
415 KiB
JavaScript
9237 lines
415 KiB
JavaScript
!function() {
|
||
var e = document.getElementsByTagName("script")
|
||
, t = e.length
|
||
, n = e[t - 1].src
|
||
, i = n.indexOf("/js/")
|
||
, o = n.substr(0, i) + "/js/";
|
||
window.importScriptList = {},
|
||
window.importScript = function(e) {
|
||
e && (-1 === e.indexOf("http://") && -1 === e.indexOf("https://") && ("/" === e.substr(0, 1) && (e = e.substr(1)),
|
||
e = o + e),
|
||
e in importScriptList || (importScriptList[e] = !0,
|
||
document.write('<script src="' + e + '" type="text/javascript"></script>')))
|
||
}
|
||
}(),
|
||
passport._define("login.js", function() {
|
||
function _(e) {
|
||
alert("undefined:" + e)
|
||
}
|
||
function hex_md5(e) {
|
||
return binl2hex(core_md5(str2binl(e), e.length * chrsz))
|
||
}
|
||
function b64_md5(e) {
|
||
return binl2b64(core_md5(str2binl(e), e.length * chrsz))
|
||
}
|
||
function str_md5(e) {
|
||
return binl2str(core_md5(str2binl(e), e.length * chrsz))
|
||
}
|
||
function hex_hmac_md5(e, t) {
|
||
return binl2hex(core_hmac_md5(e, t))
|
||
}
|
||
function b64_hmac_md5(e, t) {
|
||
return binl2b64(core_hmac_md5(e, t))
|
||
}
|
||
function str_hmac_md5(e, t) {
|
||
return binl2str(core_hmac_md5(e, t))
|
||
}
|
||
function md5_vm_test() {
|
||
return "900150983cd24fb0d6963f7d28e17f72" == hex_md5("abc")
|
||
}
|
||
function core_md5(e, t) {
|
||
e[t >> 5] |= 128 << t % 32,
|
||
e[(t + 64 >>> 9 << 4) + 14] = t;
|
||
for (var n = 1732584193, i = -271733879, o = -1732584194, s = 271733878, a = 0; a < e.length; a += 16) {
|
||
var r = n
|
||
, c = i
|
||
, l = o
|
||
, d = s;
|
||
n = md5_ff(n, i, o, s, e[a + 0], 7, -680876936),
|
||
s = md5_ff(s, n, i, o, e[a + 1], 12, -389564586),
|
||
o = md5_ff(o, s, n, i, e[a + 2], 17, 606105819),
|
||
i = md5_ff(i, o, s, n, e[a + 3], 22, -1044525330),
|
||
n = md5_ff(n, i, o, s, e[a + 4], 7, -176418897),
|
||
s = md5_ff(s, n, i, o, e[a + 5], 12, 1200080426),
|
||
o = md5_ff(o, s, n, i, e[a + 6], 17, -1473231341),
|
||
i = md5_ff(i, o, s, n, e[a + 7], 22, -45705983),
|
||
n = md5_ff(n, i, o, s, e[a + 8], 7, 1770035416),
|
||
s = md5_ff(s, n, i, o, e[a + 9], 12, -1958414417),
|
||
o = md5_ff(o, s, n, i, e[a + 10], 17, -42063),
|
||
i = md5_ff(i, o, s, n, e[a + 11], 22, -1990404162),
|
||
n = md5_ff(n, i, o, s, e[a + 12], 7, 1804603682),
|
||
s = md5_ff(s, n, i, o, e[a + 13], 12, -40341101),
|
||
o = md5_ff(o, s, n, i, e[a + 14], 17, -1502002290),
|
||
i = md5_ff(i, o, s, n, e[a + 15], 22, 1236535329),
|
||
n = md5_gg(n, i, o, s, e[a + 1], 5, -165796510),
|
||
s = md5_gg(s, n, i, o, e[a + 6], 9, -1069501632),
|
||
o = md5_gg(o, s, n, i, e[a + 11], 14, 643717713),
|
||
i = md5_gg(i, o, s, n, e[a + 0], 20, -373897302),
|
||
n = md5_gg(n, i, o, s, e[a + 5], 5, -701558691),
|
||
s = md5_gg(s, n, i, o, e[a + 10], 9, 38016083),
|
||
o = md5_gg(o, s, n, i, e[a + 15], 14, -660478335),
|
||
i = md5_gg(i, o, s, n, e[a + 4], 20, -405537848),
|
||
n = md5_gg(n, i, o, s, e[a + 9], 5, 568446438),
|
||
s = md5_gg(s, n, i, o, e[a + 14], 9, -1019803690),
|
||
o = md5_gg(o, s, n, i, e[a + 3], 14, -187363961),
|
||
i = md5_gg(i, o, s, n, e[a + 8], 20, 1163531501),
|
||
n = md5_gg(n, i, o, s, e[a + 13], 5, -1444681467),
|
||
s = md5_gg(s, n, i, o, e[a + 2], 9, -51403784),
|
||
o = md5_gg(o, s, n, i, e[a + 7], 14, 1735328473),
|
||
i = md5_gg(i, o, s, n, e[a + 12], 20, -1926607734),
|
||
n = md5_hh(n, i, o, s, e[a + 5], 4, -378558),
|
||
s = md5_hh(s, n, i, o, e[a + 8], 11, -2022574463),
|
||
o = md5_hh(o, s, n, i, e[a + 11], 16, 1839030562),
|
||
i = md5_hh(i, o, s, n, e[a + 14], 23, -35309556),
|
||
n = md5_hh(n, i, o, s, e[a + 1], 4, -1530992060),
|
||
s = md5_hh(s, n, i, o, e[a + 4], 11, 1272893353),
|
||
o = md5_hh(o, s, n, i, e[a + 7], 16, -155497632),
|
||
i = md5_hh(i, o, s, n, e[a + 10], 23, -1094730640),
|
||
n = md5_hh(n, i, o, s, e[a + 13], 4, 681279174),
|
||
s = md5_hh(s, n, i, o, e[a + 0], 11, -358537222),
|
||
o = md5_hh(o, s, n, i, e[a + 3], 16, -722521979),
|
||
i = md5_hh(i, o, s, n, e[a + 6], 23, 76029189),
|
||
n = md5_hh(n, i, o, s, e[a + 9], 4, -640364487),
|
||
s = md5_hh(s, n, i, o, e[a + 12], 11, -421815835),
|
||
o = md5_hh(o, s, n, i, e[a + 15], 16, 530742520),
|
||
i = md5_hh(i, o, s, n, e[a + 2], 23, -995338651),
|
||
n = md5_ii(n, i, o, s, e[a + 0], 6, -198630844),
|
||
s = md5_ii(s, n, i, o, e[a + 7], 10, 1126891415),
|
||
o = md5_ii(o, s, n, i, e[a + 14], 15, -1416354905),
|
||
i = md5_ii(i, o, s, n, e[a + 5], 21, -57434055),
|
||
n = md5_ii(n, i, o, s, e[a + 12], 6, 1700485571),
|
||
s = md5_ii(s, n, i, o, e[a + 3], 10, -1894986606),
|
||
o = md5_ii(o, s, n, i, e[a + 10], 15, -1051523),
|
||
i = md5_ii(i, o, s, n, e[a + 1], 21, -2054922799),
|
||
n = md5_ii(n, i, o, s, e[a + 8], 6, 1873313359),
|
||
s = md5_ii(s, n, i, o, e[a + 15], 10, -30611744),
|
||
o = md5_ii(o, s, n, i, e[a + 6], 15, -1560198380),
|
||
i = md5_ii(i, o, s, n, e[a + 13], 21, 1309151649),
|
||
n = md5_ii(n, i, o, s, e[a + 4], 6, -145523070),
|
||
s = md5_ii(s, n, i, o, e[a + 11], 10, -1120210379),
|
||
o = md5_ii(o, s, n, i, e[a + 2], 15, 718787259),
|
||
i = md5_ii(i, o, s, n, e[a + 9], 21, -343485551),
|
||
n = safe_add(n, r),
|
||
i = safe_add(i, c),
|
||
o = safe_add(o, l),
|
||
s = safe_add(s, d)
|
||
}
|
||
return Array(n, i, o, s)
|
||
}
|
||
function md5_cmn(e, t, n, i, o, s) {
|
||
return safe_add(bit_rol(safe_add(safe_add(t, e), safe_add(i, s)), o), n)
|
||
}
|
||
function md5_ff(e, t, n, i, o, s, a) {
|
||
return md5_cmn(t & n | ~t & i, e, t, o, s, a)
|
||
}
|
||
function md5_gg(e, t, n, i, o, s, a) {
|
||
return md5_cmn(t & i | n & ~i, e, t, o, s, a)
|
||
}
|
||
function md5_hh(e, t, n, i, o, s, a) {
|
||
return md5_cmn(t ^ n ^ i, e, t, o, s, a)
|
||
}
|
||
function md5_ii(e, t, n, i, o, s, a) {
|
||
return md5_cmn(n ^ (t | ~i), e, t, o, s, a)
|
||
}
|
||
function core_hmac_md5(e, t) {
|
||
var n = str2binl(e);
|
||
n.length > 16 && (n = core_md5(n, e.length * chrsz));
|
||
for (var i = Array(16), o = Array(16), s = 0; 16 > s; s++)
|
||
i[s] = 909522486 ^ n[s],
|
||
o[s] = 1549556828 ^ n[s];
|
||
var a = core_md5(i.concat(str2binl(t)), 512 + t.length * chrsz);
|
||
return core_md5(o.concat(a), 640)
|
||
}
|
||
function safe_add(e, t) {
|
||
var n = (65535 & e) + (65535 & t)
|
||
, i = (e >> 16) + (t >> 16) + (n >> 16);
|
||
return i << 16 | 65535 & n
|
||
}
|
||
function bit_rol(e, t) {
|
||
return e << t | e >>> 32 - t
|
||
}
|
||
function str2binl(e) {
|
||
for (var t = Array(), n = (1 << chrsz) - 1, i = 0; i < e.length * chrsz; i += chrsz)
|
||
t[i >> 5] |= (e.charCodeAt(i / chrsz) & n) << i % 32;
|
||
return t
|
||
}
|
||
function binl2str(e) {
|
||
for (var t = "", n = (1 << chrsz) - 1, i = 0; i < 32 * e.length; i += chrsz)
|
||
t += String.fromCharCode(e[i >> 5] >>> i % 32 & n);
|
||
return t
|
||
}
|
||
function binl2hex(e) {
|
||
for (var t = hexcase ? "0123456789ABCDEF" : "0123456789abcdef", n = "", i = 0; i < 4 * e.length; i++)
|
||
n += t.charAt(e[i >> 2] >> i % 4 * 8 + 4 & 15) + t.charAt(e[i >> 2] >> i % 4 * 8 & 15);
|
||
return n
|
||
}
|
||
function binl2b64(e) {
|
||
for (var t = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", n = "", i = 0; i < 4 * e.length; i += 3)
|
||
for (var o = (e[i >> 2] >> 8 * (i % 4) & 255) << 16 | (e[i + 1 >> 2] >> 8 * ((i + 1) % 4) & 255) << 8 | e[i + 2 >> 2] >> 8 * ((i + 2) % 4) & 255, s = 0; 4 > s; s++)
|
||
n += 8 * i + 6 * s > 32 * e.length ? b64pad : t.charAt(o >> 6 * (3 - s) & 63);
|
||
return n
|
||
}
|
||
var passport = passport || window.passport || {}
|
||
, baidu = passport.tangramInst || baidu || window.baidu;
|
||
!function(e) {
|
||
var t, n = document.location.protocol.toLowerCase();
|
||
t = passport && passport.ieVersion && passport.ieVersion() <= 8 ? "https:" === n ? "https://passport.baidu.com" : "http://passport.baidu.com" : "https:" === n ? "https://ppui-static-pc.cdn.bcebos.com" : "http://ppui-static-pc.cdn.bcebos.com",
|
||
e.apiDomain = {
|
||
staticDomain: t
|
||
}
|
||
}(passport);
|
||
var magic = null;
|
||
if ("function" != typeof magic)
|
||
var magic = function() {};
|
||
magic._baiduInstName = magic._baiduInstName || "bdInst_" + (new Date).getTime();
|
||
var baiduInstance = baiduInstance || baidu.baiduInstance || window.baiduInstance;
|
||
window[magic._baiduInstName] = window[magic._baiduInstName] || baiduInstance,
|
||
magic.resourcePath = "",
|
||
magic.skinName = "default",
|
||
magic.version = "1.0.0.0",
|
||
/msie 6/i.test(navigator.userAgent) && document.execCommand("BackgroundImageCache", !1, !0),
|
||
baidu.form = baidu.form || {},
|
||
baidu.url = baidu.url || {},
|
||
baidu.url.escapeSymbol = baidu.url.escapeSymbol || function(e) {
|
||
return String(e).replace(/[#%&+=\/\\\ \ \f\r\n\t]/g, function(e) {
|
||
return "%" + (256 + e.charCodeAt()).toString(16).substring(1).toUpperCase()
|
||
})
|
||
}
|
||
,
|
||
baidu.form.json = baidu.form.json || function(e, t) {
|
||
function n(e, t) {
|
||
var n = p[e];
|
||
n ? (n.push || (p[e] = [n]),
|
||
p[e].push(t)) : p[e] = t
|
||
}
|
||
for (var i, o, s, a, r, c, l, d, u = e.elements, t = t || function(e) {
|
||
return e
|
||
}
|
||
, p = {}, g = 0, m = u.length; m > g; g++)
|
||
if (i = u[g],
|
||
s = i.name,
|
||
!i.disabled && s)
|
||
switch (o = i.type,
|
||
a = baidu.url.escapeSymbol(i.value),
|
||
o) {
|
||
case "radio":
|
||
case "checkbox":
|
||
i.checked && n(s, t(a, s));
|
||
break;
|
||
case "textarea":
|
||
case "text":
|
||
case "password":
|
||
case "hidden":
|
||
case "file":
|
||
case "select-one":
|
||
n(s, t(a, s));
|
||
break;
|
||
case "select-multiple":
|
||
for (r = i.options,
|
||
l = r.length,
|
||
c = 0; l > c; c++)
|
||
d = r[c],
|
||
d.selected && n(s, t(d.value, s))
|
||
}
|
||
return p
|
||
}
|
||
,
|
||
magic.Base = function() {
|
||
baidu.lang.Class.call(this),
|
||
this._ids = {},
|
||
this._eid = this.guid + "__"
|
||
}
|
||
,
|
||
baidu.lang.inherits(magic.Base, baidu.lang.Class, "magic.Base").extend({
|
||
getElement: function(e) {
|
||
return document.getElementById(this.$getId(e))
|
||
},
|
||
getElements: function() {
|
||
var e = {}
|
||
, t = this._ids;
|
||
for (var n in t)
|
||
e[n] = this.getElement(n);
|
||
return e
|
||
},
|
||
$getId: function(e) {
|
||
return e = baidu.lang.isString(e) ? e : "",
|
||
this._ids[e] || (this._ids[e] = this._eid + e)
|
||
},
|
||
$mappingDom: function(e, t) {
|
||
return baidu.lang.isString(t) ? this._ids[e] = t : t && t.nodeType && (t.id ? this._ids[e] = t.id : t.id = this.$getId(e)),
|
||
this
|
||
},
|
||
$hide: function(e) {
|
||
return ("string" == (typeof e).toLowerCase() || "" === e) && (e = this.getElement(e)),
|
||
e && e.style && (e.style.display = "none",
|
||
e.style.visibility = "hidden"),
|
||
this
|
||
},
|
||
$show: function(e) {
|
||
return ("string" == (typeof e).toLowerCase() || "" === e) && (e = this.getElement(e)),
|
||
e && e.style && (e.style.display = "block",
|
||
e.style.visibility = "visible",
|
||
e.style.opacity = "1"),
|
||
this
|
||
},
|
||
$dispose: function() {
|
||
this.fire("ondispose") && baidu.lang.Class.prototype.dispose.call(this)
|
||
}
|
||
}),
|
||
magic.control = magic.control || {},
|
||
function() {
|
||
function e(e, t) {
|
||
var i, o = e.getAttribute(t), s = !1;
|
||
if (o && (i = o.match(n[0]))) {
|
||
s = {};
|
||
for (var a, r = 0; r < i.length; r++)
|
||
a = i[r].match(n[1]),
|
||
!isNaN(a[2]) && (a[2] = +a[2]),
|
||
n[2].test(a[2]) && (a[2] = a[2].replace(n[3], "$2")),
|
||
n[4].test(a[2]) && (a[2] = n[5].test(a[2])),
|
||
s[a[1]] = a[2]
|
||
}
|
||
return s
|
||
}
|
||
function t(t, n) {
|
||
var i = e(t, "tang-event");
|
||
if (i)
|
||
for (var o in i) {
|
||
var s = i[o].substr(1);
|
||
s.indexOf("(") < 0 && (s += "()"),
|
||
baidu.dom(t).on(o, new Function(magic._baiduInstName + "('" + n + "') && " + magic._baiduInstName + "('" + n + "')" + s))
|
||
}
|
||
}
|
||
magic.setup = magic.setup || function(n, i, o) {
|
||
var s = e(n, "tang-param") || {};
|
||
for (var a in o)
|
||
s[a] = o[a];
|
||
var r = new i(s);
|
||
r.$mappingDom("", n),
|
||
t(n, r.guid);
|
||
for (var c = n.getElementsByTagName("*"), a = c.length - 1; a >= 0; a--)
|
||
t(c[a], r.guid);
|
||
return r
|
||
}
|
||
;
|
||
var n = [/\b[\w\$\-]+\s*:\s*[^;]+/g, /([\w\$\-]+)\s*:\s*([^;]+)\s*/, /\'|\"/, /^\s*(\'|\")([^\1]*)\1\s*/, /^(true|false)\s*$/i, /\btrue\b/i]
|
||
}(),
|
||
passport = passport || {},
|
||
passport.lib = passport.lib || {},
|
||
passport.lib.RSAExport = {},
|
||
function(e) {
|
||
function t(e, t, n) {
|
||
null != e && ("number" == typeof e ? this.fromNumber(e, t, n) : null == t && "string" != typeof e ? this.fromString(e, 256) : this.fromString(e, t))
|
||
}
|
||
function n() {
|
||
return new t(null)
|
||
}
|
||
function i(e, t, n, i, o, s) {
|
||
for (; --s >= 0; ) {
|
||
var a = t * this[e++] + n[i] + o;
|
||
o = Math.floor(a / 67108864),
|
||
n[i++] = 67108863 & a
|
||
}
|
||
return o
|
||
}
|
||
function o(e, t, n, i, o, s) {
|
||
for (var a = 32767 & t, r = t >> 15; --s >= 0; ) {
|
||
var c = 32767 & this[e]
|
||
, l = this[e++] >> 15
|
||
, d = r * c + l * a;
|
||
c = a * c + ((32767 & d) << 15) + n[i] + (1073741823 & o),
|
||
o = (c >>> 30) + (d >>> 15) + r * l + (o >>> 30),
|
||
n[i++] = 1073741823 & c
|
||
}
|
||
return o
|
||
}
|
||
function s(e, t, n, i, o, s) {
|
||
for (var a = 16383 & t, r = t >> 14; --s >= 0; ) {
|
||
var c = 16383 & this[e]
|
||
, l = this[e++] >> 14
|
||
, d = r * c + l * a;
|
||
c = a * c + ((16383 & d) << 14) + n[i] + o,
|
||
o = (c >> 28) + (d >> 14) + r * l,
|
||
n[i++] = 268435455 & c
|
||
}
|
||
return o
|
||
}
|
||
function a(e) {
|
||
return xn.charAt(e)
|
||
}
|
||
function r(e, t) {
|
||
var n = Ln[e.charCodeAt(t)];
|
||
return null == n ? -1 : n
|
||
}
|
||
function c(e) {
|
||
for (var t = this.t - 1; t >= 0; --t)
|
||
e[t] = this[t];
|
||
e.t = this.t,
|
||
e.s = this.s
|
||
}
|
||
function l(e) {
|
||
this.t = 1,
|
||
this.s = 0 > e ? -1 : 0,
|
||
e > 0 ? this[0] = e : -1 > e ? this[0] = e + DV : this.t = 0
|
||
}
|
||
function d(e) {
|
||
var t = n();
|
||
return t.fromInt(e),
|
||
t
|
||
}
|
||
function u(e, n) {
|
||
var i;
|
||
if (16 == n)
|
||
i = 4;
|
||
else if (8 == n)
|
||
i = 3;
|
||
else if (256 == n)
|
||
i = 8;
|
||
else if (2 == n)
|
||
i = 1;
|
||
else if (32 == n)
|
||
i = 5;
|
||
else {
|
||
if (4 != n)
|
||
return void this.fromRadix(e, n);
|
||
i = 2
|
||
}
|
||
this.t = 0,
|
||
this.s = 0;
|
||
for (var o = e.length, s = !1, a = 0; --o >= 0; ) {
|
||
var c = 8 == i ? 255 & e[o] : r(e, o);
|
||
0 > c ? "-" == e.charAt(o) && (s = !0) : (s = !1,
|
||
0 == a ? this[this.t++] = c : a + i > this.DB ? (this[this.t - 1] |= (c & (1 << this.DB - a) - 1) << a,
|
||
this[this.t++] = c >> this.DB - a) : this[this.t - 1] |= c << a,
|
||
a += i,
|
||
a >= this.DB && (a -= this.DB))
|
||
}
|
||
8 == i && 0 != (128 & e[0]) && (this.s = -1,
|
||
a > 0 && (this[this.t - 1] |= (1 << this.DB - a) - 1 << a)),
|
||
this.clamp(),
|
||
s && t.ZERO.subTo(this, this)
|
||
}
|
||
function p() {
|
||
for (var e = this.s & this.DM; this.t > 0 && this[this.t - 1] == e; )
|
||
--this.t
|
||
}
|
||
function g(e) {
|
||
if (this.s < 0)
|
||
return "-" + this.negate().toString(e);
|
||
var t;
|
||
if (16 == e)
|
||
t = 4;
|
||
else if (8 == e)
|
||
t = 3;
|
||
else if (2 == e)
|
||
t = 1;
|
||
else if (32 == e)
|
||
t = 5;
|
||
else {
|
||
if (4 != e)
|
||
return this.toRadix(e);
|
||
t = 2
|
||
}
|
||
var n, i = (1 << t) - 1, o = !1, s = "", r = this.t, c = this.DB - r * this.DB % t;
|
||
if (r-- > 0)
|
||
for (c < this.DB && (n = this[r] >> c) > 0 && (o = !0,
|
||
s = a(n)); r >= 0; )
|
||
t > c ? (n = (this[r] & (1 << c) - 1) << t - c,
|
||
n |= this[--r] >> (c += this.DB - t)) : (n = this[r] >> (c -= t) & i,
|
||
0 >= c && (c += this.DB,
|
||
--r)),
|
||
n > 0 && (o = !0),
|
||
o && (s += a(n));
|
||
return o ? s : "0"
|
||
}
|
||
function m() {
|
||
var e = n();
|
||
return t.ZERO.subTo(this, e),
|
||
e
|
||
}
|
||
function f() {
|
||
return this.s < 0 ? this.negate() : this
|
||
}
|
||
function h(e) {
|
||
var t = this.s - e.s;
|
||
if (0 != t)
|
||
return t;
|
||
var n = this.t;
|
||
if (t = n - e.t,
|
||
0 != t)
|
||
return this.s < 0 ? -t : t;
|
||
for (; --n >= 0; )
|
||
if (0 != (t = this[n] - e[n]))
|
||
return t;
|
||
return 0
|
||
}
|
||
function b(e) {
|
||
var t, n = 1;
|
||
return 0 != (t = e >>> 16) && (e = t,
|
||
n += 16),
|
||
0 != (t = e >> 8) && (e = t,
|
||
n += 8),
|
||
0 != (t = e >> 4) && (e = t,
|
||
n += 4),
|
||
0 != (t = e >> 2) && (e = t,
|
||
n += 2),
|
||
0 != (t = e >> 1) && (e = t,
|
||
n += 1),
|
||
n
|
||
}
|
||
function y() {
|
||
return this.t <= 0 ? 0 : this.DB * (this.t - 1) + b(this[this.t - 1] ^ this.s & this.DM)
|
||
}
|
||
function _(e, t) {
|
||
var n;
|
||
for (n = this.t - 1; n >= 0; --n)
|
||
t[n + e] = this[n];
|
||
for (n = e - 1; n >= 0; --n)
|
||
t[n] = 0;
|
||
t.t = this.t + e,
|
||
t.s = this.s
|
||
}
|
||
function w(e, t) {
|
||
for (var n = e; n < this.t; ++n)
|
||
t[n - e] = this[n];
|
||
t.t = Math.max(this.t - e, 0),
|
||
t.s = this.s
|
||
}
|
||
function E(e, t) {
|
||
var n, i = e % this.DB, o = this.DB - i, s = (1 << o) - 1, a = Math.floor(e / this.DB), r = this.s << i & this.DM;
|
||
for (n = this.t - 1; n >= 0; --n)
|
||
t[n + a + 1] = this[n] >> o | r,
|
||
r = (this[n] & s) << i;
|
||
for (n = a - 1; n >= 0; --n)
|
||
t[n] = 0;
|
||
t[a] = r,
|
||
t.t = this.t + a + 1,
|
||
t.s = this.s,
|
||
t.clamp()
|
||
}
|
||
function C(e, t) {
|
||
t.s = this.s;
|
||
var n = Math.floor(e / this.DB);
|
||
if (n >= this.t)
|
||
return void (t.t = 0);
|
||
var i = e % this.DB
|
||
, o = this.DB - i
|
||
, s = (1 << i) - 1;
|
||
t[0] = this[n] >> i;
|
||
for (var a = n + 1; a < this.t; ++a)
|
||
t[a - n - 1] |= (this[a] & s) << o,
|
||
t[a - n] = this[a] >> i;
|
||
i > 0 && (t[this.t - n - 1] |= (this.s & s) << o),
|
||
t.t = this.t - n,
|
||
t.clamp()
|
||
}
|
||
function S(e, t) {
|
||
for (var n = 0, i = 0, o = Math.min(e.t, this.t); o > n; )
|
||
i += this[n] - e[n],
|
||
t[n++] = i & this.DM,
|
||
i >>= this.DB;
|
||
if (e.t < this.t) {
|
||
for (i -= e.s; n < this.t; )
|
||
i += this[n],
|
||
t[n++] = i & this.DM,
|
||
i >>= this.DB;
|
||
i += this.s
|
||
} else {
|
||
for (i += this.s; n < e.t; )
|
||
i -= e[n],
|
||
t[n++] = i & this.DM,
|
||
i >>= this.DB;
|
||
i -= e.s
|
||
}
|
||
t.s = 0 > i ? -1 : 0,
|
||
-1 > i ? t[n++] = this.DV + i : i > 0 && (t[n++] = i),
|
||
t.t = n,
|
||
t.clamp()
|
||
}
|
||
function T(e, n) {
|
||
var i = this.abs()
|
||
, o = e.abs()
|
||
, s = i.t;
|
||
for (n.t = s + o.t; --s >= 0; )
|
||
n[s] = 0;
|
||
for (s = 0; s < o.t; ++s)
|
||
n[s + i.t] = i.am(0, o[s], n, s, 0, i.t);
|
||
n.s = 0,
|
||
n.clamp(),
|
||
this.s != e.s && t.ZERO.subTo(n, n)
|
||
}
|
||
function I(e) {
|
||
for (var t = this.abs(), n = e.t = 2 * t.t; --n >= 0; )
|
||
e[n] = 0;
|
||
for (n = 0; n < t.t - 1; ++n) {
|
||
var i = t.am(n, t[n], e, 2 * n, 0, 1);
|
||
(e[n + t.t] += t.am(n + 1, 2 * t[n], e, 2 * n + 1, i, t.t - n - 1)) >= t.DV && (e[n + t.t] -= t.DV,
|
||
e[n + t.t + 1] = 1)
|
||
}
|
||
e.t > 0 && (e[e.t - 1] += t.am(n, t[n], e, 2 * n, 0, 1)),
|
||
e.s = 0,
|
||
e.clamp()
|
||
}
|
||
function D(e, i, o) {
|
||
var s = e.abs();
|
||
if (!(s.t <= 0)) {
|
||
var a = this.abs();
|
||
if (a.t < s.t)
|
||
return null != i && i.fromInt(0),
|
||
void (null != o && this.copyTo(o));
|
||
null == o && (o = n());
|
||
var r = n()
|
||
, c = this.s
|
||
, l = e.s
|
||
, d = this.DB - b(s[s.t - 1]);
|
||
d > 0 ? (s.lShiftTo(d, r),
|
||
a.lShiftTo(d, o)) : (s.copyTo(r),
|
||
a.copyTo(o));
|
||
var u = r.t
|
||
, p = r[u - 1];
|
||
if (0 != p) {
|
||
var g = p * (1 << this.F1) + (u > 1 ? r[u - 2] >> this.F2 : 0)
|
||
, m = this.FV / g
|
||
, f = (1 << this.F1) / g
|
||
, h = 1 << this.F2
|
||
, v = o.t
|
||
, y = v - u
|
||
, _ = null == i ? n() : i;
|
||
for (r.dlShiftTo(y, _),
|
||
o.compareTo(_) >= 0 && (o[o.t++] = 1,
|
||
o.subTo(_, o)),
|
||
t.ONE.dlShiftTo(u, _),
|
||
_.subTo(r, r); r.t < u; )
|
||
r[r.t++] = 0;
|
||
for (; --y >= 0; ) {
|
||
var w = o[--v] == p ? this.DM : Math.floor(o[v] * m + (o[v - 1] + h) * f);
|
||
if ((o[v] += r.am(0, w, o, y, 0, u)) < w)
|
||
for (r.dlShiftTo(y, _),
|
||
o.subTo(_, o); o[v] < --w; )
|
||
o.subTo(_, o)
|
||
}
|
||
null != i && (o.drShiftTo(u, i),
|
||
c != l && t.ZERO.subTo(i, i)),
|
||
o.t = u,
|
||
o.clamp(),
|
||
d > 0 && o.rShiftTo(d, o),
|
||
0 > c && t.ZERO.subTo(o, o)
|
||
}
|
||
}
|
||
}
|
||
function k(e) {
|
||
var i = n();
|
||
return this.abs().divRemTo(e, null, i),
|
||
this.s < 0 && i.compareTo(t.ZERO) > 0 && e.subTo(i, i),
|
||
i
|
||
}
|
||
function R(e) {
|
||
this.m = e
|
||
}
|
||
function x(e) {
|
||
return e.s < 0 || e.compareTo(this.m) >= 0 ? e.mod(this.m) : e
|
||
}
|
||
function L(e) {
|
||
return e
|
||
}
|
||
function P(e) {
|
||
e.divRemTo(this.m, null, e)
|
||
}
|
||
function A(e, t, n) {
|
||
e.multiplyTo(t, n),
|
||
this.reduce(n)
|
||
}
|
||
function M(e, t) {
|
||
e.squareTo(t),
|
||
this.reduce(t)
|
||
}
|
||
function B() {
|
||
if (this.t < 1)
|
||
return 0;
|
||
var e = this[0];
|
||
if (0 == (1 & e))
|
||
return 0;
|
||
var t = 3 & e;
|
||
return t = t * (2 - (15 & e) * t) & 15,
|
||
t = t * (2 - (255 & e) * t) & 255,
|
||
t = t * (2 - ((65535 & e) * t & 65535)) & 65535,
|
||
t = t * (2 - e * t % this.DV) % this.DV,
|
||
t > 0 ? this.DV - t : -t
|
||
}
|
||
function O(e) {
|
||
this.m = e,
|
||
this.mp = e.invDigit(),
|
||
this.mpl = 32767 & this.mp,
|
||
this.mph = this.mp >> 15,
|
||
this.um = (1 << e.DB - 15) - 1,
|
||
this.mt2 = 2 * e.t
|
||
}
|
||
function V(e) {
|
||
var i = n();
|
||
return e.abs().dlShiftTo(this.m.t, i),
|
||
i.divRemTo(this.m, null, i),
|
||
e.s < 0 && i.compareTo(t.ZERO) > 0 && this.m.subTo(i, i),
|
||
i
|
||
}
|
||
function $(e) {
|
||
var t = n();
|
||
return e.copyTo(t),
|
||
this.reduce(t),
|
||
t
|
||
}
|
||
function U(e) {
|
||
for (; e.t <= this.mt2; )
|
||
e[e.t++] = 0;
|
||
for (var t = 0; t < this.m.t; ++t) {
|
||
var n = 32767 & e[t]
|
||
, i = n * this.mpl + ((n * this.mph + (e[t] >> 15) * this.mpl & this.um) << 15) & e.DM;
|
||
for (n = t + this.m.t,
|
||
e[n] += this.m.am(0, i, e, t, 0, this.m.t); e[n] >= e.DV; )
|
||
e[n] -= e.DV,
|
||
e[++n]++
|
||
}
|
||
e.clamp(),
|
||
e.drShiftTo(this.m.t, e),
|
||
e.compareTo(this.m) >= 0 && e.subTo(this.m, e)
|
||
}
|
||
function N(e, t) {
|
||
e.squareTo(t),
|
||
this.reduce(t)
|
||
}
|
||
function q(e, t, n) {
|
||
e.multiplyTo(t, n),
|
||
this.reduce(n)
|
||
}
|
||
function H() {
|
||
return 0 == (this.t > 0 ? 1 & this[0] : this.s)
|
||
}
|
||
function F(e, i) {
|
||
if (e > 4294967295 || 1 > e)
|
||
return t.ONE;
|
||
var o = n()
|
||
, s = n()
|
||
, a = i.convert(this)
|
||
, r = b(e) - 1;
|
||
for (a.copyTo(o); --r >= 0; )
|
||
if (i.sqrTo(o, s),
|
||
(e & 1 << r) > 0)
|
||
i.mulTo(s, a, o);
|
||
else {
|
||
var c = o;
|
||
o = s,
|
||
s = c
|
||
}
|
||
return i.revert(o)
|
||
}
|
||
function W(e, t) {
|
||
var n;
|
||
return n = 256 > e || t.isEven() ? new R(t) : new O(t),
|
||
this.exp(e, n)
|
||
}
|
||
function K() {
|
||
var e = n();
|
||
return this.copyTo(e),
|
||
e
|
||
}
|
||
function j() {
|
||
if (this.s < 0) {
|
||
if (1 == this.t)
|
||
return this[0] - this.DV;
|
||
if (0 == this.t)
|
||
return -1
|
||
} else {
|
||
if (1 == this.t)
|
||
return this[0];
|
||
if (0 == this.t)
|
||
return 0
|
||
}
|
||
return (this[1] & (1 << 32 - this.DB) - 1) << this.DB | this[0]
|
||
}
|
||
function Q() {
|
||
return 0 == this.t ? this.s : this[0] << 24 >> 24
|
||
}
|
||
function J() {
|
||
return 0 == this.t ? this.s : this[0] << 16 >> 16
|
||
}
|
||
function G(e) {
|
||
return Math.floor(Math.LN2 * this.DB / Math.log(e))
|
||
}
|
||
function z() {
|
||
return this.s < 0 ? -1 : this.t <= 0 || 1 == this.t && this[0] <= 0 ? 0 : 1
|
||
}
|
||
function Z(e) {
|
||
if (null == e && (e = 10),
|
||
0 == this.signum() || 2 > e || e > 36)
|
||
return "0";
|
||
var t = this.chunkSize(e)
|
||
, i = Math.pow(e, t)
|
||
, o = d(i)
|
||
, s = n()
|
||
, a = n()
|
||
, r = "";
|
||
for (this.divRemTo(o, s, a); s.signum() > 0; )
|
||
r = (i + a.intValue()).toString(e).substr(1) + r,
|
||
s.divRemTo(o, s, a);
|
||
return a.intValue().toString(e) + r
|
||
}
|
||
function Y(e, n) {
|
||
this.fromInt(0),
|
||
null == n && (n = 10);
|
||
for (var i = this.chunkSize(n), o = Math.pow(n, i), s = !1, a = 0, c = 0, l = 0; l < e.length; ++l) {
|
||
var d = r(e, l);
|
||
0 > d ? "-" == e.charAt(l) && 0 == this.signum() && (s = !0) : (c = n * c + d,
|
||
++a >= i && (this.dMultiply(o),
|
||
this.dAddOffset(c, 0),
|
||
a = 0,
|
||
c = 0))
|
||
}
|
||
a > 0 && (this.dMultiply(Math.pow(n, a)),
|
||
this.dAddOffset(c, 0)),
|
||
s && t.ZERO.subTo(this, this)
|
||
}
|
||
function X(e, n, i) {
|
||
if ("number" == typeof n)
|
||
if (2 > e)
|
||
this.fromInt(1);
|
||
else
|
||
for (this.fromNumber(e, i),
|
||
this.testBit(e - 1) || this.bitwiseTo(t.ONE.shiftLeft(e - 1), rt, this),
|
||
this.isEven() && this.dAddOffset(1, 0); !this.isProbablePrime(n); )
|
||
this.dAddOffset(2, 0),
|
||
this.bitLength() > e && this.subTo(t.ONE.shiftLeft(e - 1), this);
|
||
else {
|
||
var o = new Array
|
||
, s = 7 & e;
|
||
o.length = (e >> 3) + 1,
|
||
n.nextBytes(o),
|
||
s > 0 ? o[0] &= (1 << s) - 1 : o[0] = 0,
|
||
this.fromString(o, 256)
|
||
}
|
||
}
|
||
function et() {
|
||
var e = this.t
|
||
, t = new Array;
|
||
t[0] = this.s;
|
||
var n, i = this.DB - e * this.DB % 8, o = 0;
|
||
if (e-- > 0)
|
||
for (i < this.DB && (n = this[e] >> i) != (this.s & this.DM) >> i && (t[o++] = n | this.s << this.DB - i); e >= 0; )
|
||
8 > i ? (n = (this[e] & (1 << i) - 1) << 8 - i,
|
||
n |= this[--e] >> (i += this.DB - 8)) : (n = this[e] >> (i -= 8) & 255,
|
||
0 >= i && (i += this.DB,
|
||
--e)),
|
||
0 != (128 & n) && (n |= -256),
|
||
0 == o && (128 & this.s) != (128 & n) && ++o,
|
||
(o > 0 || n != this.s) && (t[o++] = n);
|
||
return t
|
||
}
|
||
function tt(e) {
|
||
return 0 == this.compareTo(e)
|
||
}
|
||
function nt(e) {
|
||
return this.compareTo(e) < 0 ? this : e
|
||
}
|
||
function it(e) {
|
||
return this.compareTo(e) > 0 ? this : e
|
||
}
|
||
function ot(e, t, n) {
|
||
var i, o, s = Math.min(e.t, this.t);
|
||
for (i = 0; s > i; ++i)
|
||
n[i] = t(this[i], e[i]);
|
||
if (e.t < this.t) {
|
||
for (o = e.s & this.DM,
|
||
i = s; i < this.t; ++i)
|
||
n[i] = t(this[i], o);
|
||
n.t = this.t
|
||
} else {
|
||
for (o = this.s & this.DM,
|
||
i = s; i < e.t; ++i)
|
||
n[i] = t(o, e[i]);
|
||
n.t = e.t
|
||
}
|
||
n.s = t(this.s, e.s),
|
||
n.clamp()
|
||
}
|
||
function st(e, t) {
|
||
return e & t
|
||
}
|
||
function at(e) {
|
||
var t = n();
|
||
return this.bitwiseTo(e, st, t),
|
||
t
|
||
}
|
||
function rt(e, t) {
|
||
return e | t
|
||
}
|
||
function ct(e) {
|
||
var t = n();
|
||
return this.bitwiseTo(e, rt, t),
|
||
t
|
||
}
|
||
function lt(e, t) {
|
||
return e ^ t
|
||
}
|
||
function dt(e) {
|
||
var t = n();
|
||
return this.bitwiseTo(e, lt, t),
|
||
t
|
||
}
|
||
function ut(e, t) {
|
||
return e & ~t
|
||
}
|
||
function pt(e) {
|
||
var t = n();
|
||
return this.bitwiseTo(e, ut, t),
|
||
t
|
||
}
|
||
function gt() {
|
||
for (var e = n(), t = 0; t < this.t; ++t)
|
||
e[t] = this.DM & ~this[t];
|
||
return e.t = this.t,
|
||
e.s = ~this.s,
|
||
e
|
||
}
|
||
function mt(e) {
|
||
var t = n();
|
||
return 0 > e ? this.rShiftTo(-e, t) : this.lShiftTo(e, t),
|
||
t
|
||
}
|
||
function ft(e) {
|
||
var t = n();
|
||
return 0 > e ? this.lShiftTo(-e, t) : this.rShiftTo(e, t),
|
||
t
|
||
}
|
||
function ht(e) {
|
||
if (0 == e)
|
||
return -1;
|
||
var t = 0;
|
||
return 0 == (65535 & e) && (e >>= 16,
|
||
t += 16),
|
||
0 == (255 & e) && (e >>= 8,
|
||
t += 8),
|
||
0 == (15 & e) && (e >>= 4,
|
||
t += 4),
|
||
0 == (3 & e) && (e >>= 2,
|
||
t += 2),
|
||
0 == (1 & e) && ++t,
|
||
t
|
||
}
|
||
function vt() {
|
||
for (var e = 0; e < this.t; ++e)
|
||
if (0 != this[e])
|
||
return e * this.DB + ht(this[e]);
|
||
return this.s < 0 ? this.t * this.DB : -1
|
||
}
|
||
function bt(e) {
|
||
for (var t = 0; 0 != e; )
|
||
e &= e - 1,
|
||
++t;
|
||
return t
|
||
}
|
||
function yt() {
|
||
for (var e = 0, t = this.s & this.DM, n = 0; n < this.t; ++n)
|
||
e += bt(this[n] ^ t);
|
||
return e
|
||
}
|
||
function _t(e) {
|
||
var t = Math.floor(e / this.DB);
|
||
return t >= this.t ? 0 != this.s : 0 != (this[t] & 1 << e % this.DB)
|
||
}
|
||
function wt(e, n) {
|
||
var i = t.ONE.shiftLeft(e);
|
||
return this.bitwiseTo(i, n, i),
|
||
i
|
||
}
|
||
function Et(e) {
|
||
return this.changeBit(e, rt)
|
||
}
|
||
function Ct(e) {
|
||
return this.changeBit(e, ut)
|
||
}
|
||
function St(e) {
|
||
return this.changeBit(e, lt)
|
||
}
|
||
function Tt(e, t) {
|
||
for (var n = 0, i = 0, o = Math.min(e.t, this.t); o > n; )
|
||
i += this[n] + e[n],
|
||
t[n++] = i & this.DM,
|
||
i >>= this.DB;
|
||
if (e.t < this.t) {
|
||
for (i += e.s; n < this.t; )
|
||
i += this[n],
|
||
t[n++] = i & this.DM,
|
||
i >>= this.DB;
|
||
i += this.s
|
||
} else {
|
||
for (i += this.s; n < e.t; )
|
||
i += e[n],
|
||
t[n++] = i & this.DM,
|
||
i >>= this.DB;
|
||
i += e.s
|
||
}
|
||
t.s = 0 > i ? -1 : 0,
|
||
i > 0 ? t[n++] = i : -1 > i && (t[n++] = this.DV + i),
|
||
t.t = n,
|
||
t.clamp()
|
||
}
|
||
function It(e) {
|
||
var t = n();
|
||
return this.addTo(e, t),
|
||
t
|
||
}
|
||
function Dt(e) {
|
||
var t = n();
|
||
return this.subTo(e, t),
|
||
t
|
||
}
|
||
function kt(e) {
|
||
var t = n();
|
||
return this.multiplyTo(e, t),
|
||
t
|
||
}
|
||
function Rt() {
|
||
var e = n();
|
||
return this.squareTo(e),
|
||
e
|
||
}
|
||
function xt(e) {
|
||
var t = n();
|
||
return this.divRemTo(e, t, null),
|
||
t
|
||
}
|
||
function Lt(e) {
|
||
var t = n();
|
||
return this.divRemTo(e, null, t),
|
||
t
|
||
}
|
||
function Pt(e) {
|
||
var t = n()
|
||
, i = n();
|
||
return this.divRemTo(e, t, i),
|
||
new Array(t,i)
|
||
}
|
||
function At(e) {
|
||
this[this.t] = this.am(0, e - 1, this, 0, 0, this.t),
|
||
++this.t,
|
||
this.clamp()
|
||
}
|
||
function Mt(e, t) {
|
||
if (0 != e) {
|
||
for (; this.t <= t; )
|
||
this[this.t++] = 0;
|
||
for (this[t] += e; this[t] >= this.DV; )
|
||
this[t] -= this.DV,
|
||
++t >= this.t && (this[this.t++] = 0),
|
||
++this[t]
|
||
}
|
||
}
|
||
function Bt() {}
|
||
function Ot(e) {
|
||
return e
|
||
}
|
||
function Vt(e, t, n) {
|
||
e.multiplyTo(t, n)
|
||
}
|
||
function $t(e, t) {
|
||
e.squareTo(t)
|
||
}
|
||
function Ut(e) {
|
||
return this.exp(e, new Bt)
|
||
}
|
||
function Nt(e, t, n) {
|
||
var i = Math.min(this.t + e.t, t);
|
||
for (n.s = 0,
|
||
n.t = i; i > 0; )
|
||
n[--i] = 0;
|
||
var o;
|
||
for (o = n.t - this.t; o > i; ++i)
|
||
n[i + this.t] = this.am(0, e[i], n, i, 0, this.t);
|
||
for (o = Math.min(e.t, t); o > i; ++i)
|
||
this.am(0, e[i], n, i, 0, t - i);
|
||
n.clamp()
|
||
}
|
||
function qt(e, t, n) {
|
||
--t;
|
||
var i = n.t = this.t + e.t - t;
|
||
for (n.s = 0; --i >= 0; )
|
||
n[i] = 0;
|
||
for (i = Math.max(t - this.t, 0); i < e.t; ++i)
|
||
n[this.t + i - t] = this.am(t - i, e[i], n, 0, 0, this.t + i - t);
|
||
n.clamp(),
|
||
n.drShiftTo(1, n)
|
||
}
|
||
function Ht(e) {
|
||
this.r2 = n(),
|
||
this.q3 = n(),
|
||
t.ONE.dlShiftTo(2 * e.t, this.r2),
|
||
this.mu = this.r2.divide(e),
|
||
this.m = e
|
||
}
|
||
function Ft(e) {
|
||
if (e.s < 0 || e.t > 2 * this.m.t)
|
||
return e.mod(this.m);
|
||
if (e.compareTo(this.m) < 0)
|
||
return e;
|
||
var t = n();
|
||
return e.copyTo(t),
|
||
this.reduce(t),
|
||
t
|
||
}
|
||
function Wt(e) {
|
||
return e
|
||
}
|
||
function Kt(e) {
|
||
for (e.drShiftTo(this.m.t - 1, this.r2),
|
||
e.t > this.m.t + 1 && (e.t = this.m.t + 1,
|
||
e.clamp()),
|
||
this.mu.multiplyUpperTo(this.r2, this.m.t + 1, this.q3),
|
||
this.m.multiplyLowerTo(this.q3, this.m.t + 1, this.r2); e.compareTo(this.r2) < 0; )
|
||
e.dAddOffset(1, this.m.t + 1);
|
||
for (e.subTo(this.r2, e); e.compareTo(this.m) >= 0; )
|
||
e.subTo(this.m, e)
|
||
}
|
||
function jt(e, t) {
|
||
e.squareTo(t),
|
||
this.reduce(t)
|
||
}
|
||
function Qt(e, t, n) {
|
||
e.multiplyTo(t, n),
|
||
this.reduce(n)
|
||
}
|
||
function Jt(e, t) {
|
||
var i, o, s = e.bitLength(), a = d(1);
|
||
if (0 >= s)
|
||
return a;
|
||
i = 18 > s ? 1 : 48 > s ? 3 : 144 > s ? 4 : 768 > s ? 5 : 6,
|
||
o = 8 > s ? new R(t) : t.isEven() ? new Ht(t) : new O(t);
|
||
var r = new Array
|
||
, c = 3
|
||
, l = i - 1
|
||
, u = (1 << i) - 1;
|
||
if (r[1] = o.convert(this),
|
||
i > 1) {
|
||
var p = n();
|
||
for (o.sqrTo(r[1], p); u >= c; )
|
||
r[c] = n(),
|
||
o.mulTo(p, r[c - 2], r[c]),
|
||
c += 2
|
||
}
|
||
var g, m, f = e.t - 1, h = !0, v = n();
|
||
for (s = b(e[f]) - 1; f >= 0; ) {
|
||
for (s >= l ? g = e[f] >> s - l & u : (g = (e[f] & (1 << s + 1) - 1) << l - s,
|
||
f > 0 && (g |= e[f - 1] >> this.DB + s - l)),
|
||
c = i; 0 == (1 & g); )
|
||
g >>= 1,
|
||
--c;
|
||
if ((s -= c) < 0 && (s += this.DB,
|
||
--f),
|
||
h)
|
||
r[g].copyTo(a),
|
||
h = !1;
|
||
else {
|
||
for (; c > 1; )
|
||
o.sqrTo(a, v),
|
||
o.sqrTo(v, a),
|
||
c -= 2;
|
||
c > 0 ? o.sqrTo(a, v) : (m = a,
|
||
a = v,
|
||
v = m),
|
||
o.mulTo(v, r[g], a)
|
||
}
|
||
for (; f >= 0 && 0 == (e[f] & 1 << s); )
|
||
o.sqrTo(a, v),
|
||
m = a,
|
||
a = v,
|
||
v = m,
|
||
--s < 0 && (s = this.DB - 1,
|
||
--f)
|
||
}
|
||
return o.revert(a)
|
||
}
|
||
function Gt(e) {
|
||
var t = this.s < 0 ? this.negate() : this.clone()
|
||
, n = e.s < 0 ? e.negate() : e.clone();
|
||
if (t.compareTo(n) < 0) {
|
||
var i = t;
|
||
t = n,
|
||
n = i
|
||
}
|
||
var o = t.getLowestSetBit()
|
||
, s = n.getLowestSetBit();
|
||
if (0 > s)
|
||
return t;
|
||
for (s > o && (s = o),
|
||
s > 0 && (t.rShiftTo(s, t),
|
||
n.rShiftTo(s, n)); t.signum() > 0; )
|
||
(o = t.getLowestSetBit()) > 0 && t.rShiftTo(o, t),
|
||
(o = n.getLowestSetBit()) > 0 && n.rShiftTo(o, n),
|
||
t.compareTo(n) >= 0 ? (t.subTo(n, t),
|
||
t.rShiftTo(1, t)) : (n.subTo(t, n),
|
||
n.rShiftTo(1, n));
|
||
return s > 0 && n.lShiftTo(s, n),
|
||
n
|
||
}
|
||
function zt(e) {
|
||
if (0 >= e)
|
||
return 0;
|
||
var t = this.DV % e
|
||
, n = this.s < 0 ? e - 1 : 0;
|
||
if (this.t > 0)
|
||
if (0 == t)
|
||
n = this[0] % e;
|
||
else
|
||
for (var i = this.t - 1; i >= 0; --i)
|
||
n = (t * n + this[i]) % e;
|
||
return n
|
||
}
|
||
function Zt(e) {
|
||
var n = e.isEven();
|
||
if (this.isEven() && n || 0 == e.signum())
|
||
return t.ZERO;
|
||
for (var i = e.clone(), o = this.clone(), s = d(1), a = d(0), r = d(0), c = d(1); 0 != i.signum(); ) {
|
||
for (; i.isEven(); )
|
||
i.rShiftTo(1, i),
|
||
n ? (s.isEven() && a.isEven() || (s.addTo(this, s),
|
||
a.subTo(e, a)),
|
||
s.rShiftTo(1, s)) : a.isEven() || a.subTo(e, a),
|
||
a.rShiftTo(1, a);
|
||
for (; o.isEven(); )
|
||
o.rShiftTo(1, o),
|
||
n ? (r.isEven() && c.isEven() || (r.addTo(this, r),
|
||
c.subTo(e, c)),
|
||
r.rShiftTo(1, r)) : c.isEven() || c.subTo(e, c),
|
||
c.rShiftTo(1, c);
|
||
i.compareTo(o) >= 0 ? (i.subTo(o, i),
|
||
n && s.subTo(r, s),
|
||
a.subTo(c, a)) : (o.subTo(i, o),
|
||
n && r.subTo(s, r),
|
||
c.subTo(a, c))
|
||
}
|
||
return 0 != o.compareTo(t.ONE) ? t.ZERO : c.compareTo(e) >= 0 ? c.subtract(e) : c.signum() < 0 ? (c.addTo(e, c),
|
||
c.signum() < 0 ? c.add(e) : c) : c
|
||
}
|
||
function Yt(e) {
|
||
var t, n = this.abs();
|
||
if (1 == n.t && n[0] <= Pn[Pn.length - 1]) {
|
||
for (t = 0; t < Pn.length; ++t)
|
||
if (n[0] == Pn[t])
|
||
return !0;
|
||
return !1
|
||
}
|
||
if (n.isEven())
|
||
return !1;
|
||
for (t = 1; t < Pn.length; ) {
|
||
for (var i = Pn[t], o = t + 1; o < Pn.length && An > i; )
|
||
i *= Pn[o++];
|
||
for (i = n.modInt(i); o > t; )
|
||
if (i % Pn[t++] == 0)
|
||
return !1
|
||
}
|
||
return n.millerRabin(e)
|
||
}
|
||
function Xt(e) {
|
||
var i = this.subtract(t.ONE)
|
||
, o = i.getLowestSetBit();
|
||
if (0 >= o)
|
||
return !1;
|
||
var s = i.shiftRight(o);
|
||
e = e + 1 >> 1,
|
||
e > Pn.length && (e = Pn.length);
|
||
for (var a = n(), r = 0; e > r; ++r) {
|
||
a.fromInt(Pn[Math.floor(Math.random() * Pn.length)]);
|
||
var c = a.modPow(s, this);
|
||
if (0 != c.compareTo(t.ONE) && 0 != c.compareTo(i)) {
|
||
for (var l = 1; l++ < o && 0 != c.compareTo(i); )
|
||
if (c = c.modPowInt(2, this),
|
||
0 == c.compareTo(t.ONE))
|
||
return !1;
|
||
if (0 != c.compareTo(i))
|
||
return !1
|
||
}
|
||
}
|
||
return !0
|
||
}
|
||
function en() {
|
||
this.i = 0,
|
||
this.j = 0,
|
||
this.S = new Array
|
||
}
|
||
function tn(e) {
|
||
var t, n, i;
|
||
for (t = 0; 256 > t; ++t)
|
||
this.S[t] = t;
|
||
for (n = 0,
|
||
t = 0; 256 > t; ++t)
|
||
n = n + this.S[t] + e[t % e.length] & 255,
|
||
i = this.S[t],
|
||
this.S[t] = this.S[n],
|
||
this.S[n] = i;
|
||
this.i = 0,
|
||
this.j = 0
|
||
}
|
||
function nn() {
|
||
var e;
|
||
return this.i = this.i + 1 & 255,
|
||
this.j = this.j + this.S[this.i] & 255,
|
||
e = this.S[this.i],
|
||
this.S[this.i] = this.S[this.j],
|
||
this.S[this.j] = e,
|
||
this.S[e + this.S[this.i] & 255]
|
||
}
|
||
function on() {
|
||
return new en
|
||
}
|
||
function sn(e) {
|
||
Bn[On++] ^= 255 & e,
|
||
Bn[On++] ^= e >> 8 & 255,
|
||
Bn[On++] ^= e >> 16 & 255,
|
||
Bn[On++] ^= e >> 24 & 255,
|
||
On >= Vn && (On -= Vn)
|
||
}
|
||
function an() {
|
||
sn((new Date).getTime())
|
||
}
|
||
function rn() {
|
||
if (null == Mn) {
|
||
for (an(),
|
||
Mn = on(),
|
||
Mn.init(Bn),
|
||
On = 0; On < Bn.length; ++On)
|
||
Bn[On] = 0;
|
||
On = 0
|
||
}
|
||
return Mn.next()
|
||
}
|
||
function cn(e) {
|
||
var t;
|
||
for (t = 0; t < e.length; ++t)
|
||
e[t] = rn()
|
||
}
|
||
function ln() {}
|
||
function dn(e, n) {
|
||
return new t(e,n)
|
||
}
|
||
function un(e, n) {
|
||
if (n < e.length + 11)
|
||
return console.error("Message too long for RSA"),
|
||
null;
|
||
for (var i = new Array, o = e.length - 1; o >= 0 && n > 0; ) {
|
||
var s = e.charCodeAt(o--);
|
||
128 > s ? i[--n] = s : s > 127 && 2048 > s ? (i[--n] = 63 & s | 128,
|
||
i[--n] = s >> 6 | 192) : (i[--n] = 63 & s | 128,
|
||
i[--n] = s >> 6 & 63 | 128,
|
||
i[--n] = s >> 12 | 224)
|
||
}
|
||
i[--n] = 0;
|
||
for (var a = new ln, r = new Array; n > 2; ) {
|
||
for (r[0] = 0; 0 == r[0]; )
|
||
a.nextBytes(r);
|
||
i[--n] = r[0]
|
||
}
|
||
return i[--n] = 2,
|
||
i[--n] = 0,
|
||
new t(i)
|
||
}
|
||
function pn() {
|
||
this.n = null,
|
||
this.e = 0,
|
||
this.d = null,
|
||
this.p = null,
|
||
this.q = null,
|
||
this.dmp1 = null,
|
||
this.dmq1 = null,
|
||
this.coeff = null
|
||
}
|
||
function gn(e, t) {
|
||
null != e && null != t && e.length > 0 && t.length > 0 ? (this.n = dn(e, 16),
|
||
this.e = parseInt(t, 16)) : console.error("Invalid RSA public key")
|
||
}
|
||
function mn(e) {
|
||
return e.modPowInt(this.e, this.n)
|
||
}
|
||
function fn(e) {
|
||
var t = un(e, this.n.bitLength() + 7 >> 3);
|
||
if (null == t)
|
||
return null;
|
||
var n = this.doPublic(t);
|
||
if (null == n)
|
||
return null;
|
||
var i = n.toString(16);
|
||
return 0 == (1 & i.length) ? i : "0" + i
|
||
}
|
||
function hn(e, t) {
|
||
for (var n = e.toByteArray(), i = 0; i < n.length && 0 == n[i]; )
|
||
++i;
|
||
if (n.length - i != t - 1 || 2 != n[i])
|
||
return null;
|
||
for (++i; 0 != n[i]; )
|
||
if (++i >= n.length)
|
||
return null;
|
||
for (var o = ""; ++i < n.length; ) {
|
||
var s = 255 & n[i];
|
||
128 > s ? o += String.fromCharCode(s) : s > 191 && 224 > s ? (o += String.fromCharCode((31 & s) << 6 | 63 & n[i + 1]),
|
||
++i) : (o += String.fromCharCode((15 & s) << 12 | (63 & n[i + 1]) << 6 | 63 & n[i + 2]),
|
||
i += 2)
|
||
}
|
||
return o
|
||
}
|
||
function vn(e, t, n) {
|
||
null != e && null != t && e.length > 0 && t.length > 0 ? (this.n = dn(e, 16),
|
||
this.e = parseInt(t, 16),
|
||
this.d = dn(n, 16)) : console.error("Invalid RSA private key")
|
||
}
|
||
function bn(e, t, n, i, o, s, a, r) {
|
||
null != e && null != t && e.length > 0 && t.length > 0 ? (this.n = dn(e, 16),
|
||
this.e = parseInt(t, 16),
|
||
this.d = dn(n, 16),
|
||
this.p = dn(i, 16),
|
||
this.q = dn(o, 16),
|
||
this.dmp1 = dn(s, 16),
|
||
this.dmq1 = dn(a, 16),
|
||
this.coeff = dn(r, 16)) : console.error("Invalid RSA private key")
|
||
}
|
||
function yn(e, n) {
|
||
var i = new ln
|
||
, o = e >> 1;
|
||
this.e = parseInt(n, 16);
|
||
for (var s = new t(n,16); ; ) {
|
||
for (; this.p = new t(e - o,1,i),
|
||
0 != this.p.subtract(t.ONE).gcd(s).compareTo(t.ONE) || !this.p.isProbablePrime(10); )
|
||
;
|
||
for (; this.q = new t(o,1,i),
|
||
0 != this.q.subtract(t.ONE).gcd(s).compareTo(t.ONE) || !this.q.isProbablePrime(10); )
|
||
;
|
||
if (this.p.compareTo(this.q) <= 0) {
|
||
var a = this.p;
|
||
this.p = this.q,
|
||
this.q = a
|
||
}
|
||
var r = this.p.subtract(t.ONE)
|
||
, c = this.q.subtract(t.ONE)
|
||
, l = r.multiply(c);
|
||
if (0 == l.gcd(s).compareTo(t.ONE)) {
|
||
this.n = this.p.multiply(this.q),
|
||
this.d = s.modInverse(l),
|
||
this.dmp1 = this.d.mod(r),
|
||
this.dmq1 = this.d.mod(c),
|
||
this.coeff = this.q.modInverse(this.p);
|
||
break
|
||
}
|
||
}
|
||
}
|
||
function _n(e) {
|
||
if (null == this.p || null == this.q)
|
||
return e.modPow(this.d, this.n);
|
||
for (var t = e.mod(this.p).modPow(this.dmp1, this.p), n = e.mod(this.q).modPow(this.dmq1, this.q); t.compareTo(n) < 0; )
|
||
t = t.add(this.p);
|
||
return t.subtract(n).multiply(this.coeff).mod(this.p).multiply(this.q).add(n)
|
||
}
|
||
function wn(e) {
|
||
var t = dn(e, 16)
|
||
, n = this.doPrivate(t);
|
||
return null == n ? null : hn(n, this.n.bitLength() + 7 >> 3)
|
||
}
|
||
function En(e) {
|
||
var t, n, i = "";
|
||
for (t = 0; t + 3 <= e.length; t += 3)
|
||
n = parseInt(e.substring(t, t + 3), 16),
|
||
i += Nn.charAt(n >> 6) + Nn.charAt(63 & n);
|
||
for (t + 1 == e.length ? (n = parseInt(e.substring(t, t + 1), 16),
|
||
i += Nn.charAt(n << 2)) : t + 2 == e.length && (n = parseInt(e.substring(t, t + 2), 16),
|
||
i += Nn.charAt(n >> 2) + Nn.charAt((3 & n) << 4)); (3 & i.length) > 0; )
|
||
i += qn;
|
||
return i
|
||
}
|
||
function Cn(e) {
|
||
var t, n, i = "", o = 0;
|
||
for (t = 0; t < e.length && e.charAt(t) != qn; ++t)
|
||
v = Nn.indexOf(e.charAt(t)),
|
||
0 > v || (0 == o ? (i += a(v >> 2),
|
||
n = 3 & v,
|
||
o = 1) : 1 == o ? (i += a(n << 2 | v >> 4),
|
||
n = 15 & v,
|
||
o = 2) : 2 == o ? (i += a(n),
|
||
i += a(v >> 2),
|
||
n = 3 & v,
|
||
o = 3) : (i += a(n << 2 | v >> 4),
|
||
i += a(15 & v),
|
||
o = 0));
|
||
return 1 == o && (i += a(n << 2)),
|
||
i
|
||
}
|
||
var Sn, Tn = 0xdeadbeefcafe, In = 15715070 == (16777215 & Tn);
|
||
In && "Microsoft Internet Explorer" == navigator.appName ? (t.prototype.am = o,
|
||
Sn = 30) : In && "Netscape" != navigator.appName ? (t.prototype.am = i,
|
||
Sn = 26) : (t.prototype.am = s,
|
||
Sn = 28),
|
||
t.prototype.DB = Sn,
|
||
t.prototype.DM = (1 << Sn) - 1,
|
||
t.prototype.DV = 1 << Sn;
|
||
var Dn = 52;
|
||
t.prototype.FV = Math.pow(2, Dn),
|
||
t.prototype.F1 = Dn - Sn,
|
||
t.prototype.F2 = 2 * Sn - Dn;
|
||
var kn, Rn, xn = "0123456789abcdefghijklmnopqrstuvwxyz", Ln = new Array;
|
||
for (kn = "0".charCodeAt(0),
|
||
Rn = 0; 9 >= Rn; ++Rn)
|
||
Ln[kn++] = Rn;
|
||
for (kn = "a".charCodeAt(0),
|
||
Rn = 10; 36 > Rn; ++Rn)
|
||
Ln[kn++] = Rn;
|
||
for (kn = "A".charCodeAt(0),
|
||
Rn = 10; 36 > Rn; ++Rn)
|
||
Ln[kn++] = Rn;
|
||
R.prototype.convert = x,
|
||
R.prototype.revert = L,
|
||
R.prototype.reduce = P,
|
||
R.prototype.mulTo = A,
|
||
R.prototype.sqrTo = M,
|
||
O.prototype.convert = V,
|
||
O.prototype.revert = $,
|
||
O.prototype.reduce = U,
|
||
O.prototype.mulTo = q,
|
||
O.prototype.sqrTo = N,
|
||
t.prototype.copyTo = c,
|
||
t.prototype.fromInt = l,
|
||
t.prototype.fromString = u,
|
||
t.prototype.clamp = p,
|
||
t.prototype.dlShiftTo = _,
|
||
t.prototype.drShiftTo = w,
|
||
t.prototype.lShiftTo = E,
|
||
t.prototype.rShiftTo = C,
|
||
t.prototype.subTo = S,
|
||
t.prototype.multiplyTo = T,
|
||
t.prototype.squareTo = I,
|
||
t.prototype.divRemTo = D,
|
||
t.prototype.invDigit = B,
|
||
t.prototype.isEven = H,
|
||
t.prototype.exp = F,
|
||
t.prototype.toString = g,
|
||
t.prototype.negate = m,
|
||
t.prototype.abs = f,
|
||
t.prototype.compareTo = h,
|
||
t.prototype.bitLength = y,
|
||
t.prototype.mod = k,
|
||
t.prototype.modPowInt = W,
|
||
t.ZERO = d(0),
|
||
t.ONE = d(1),
|
||
Bt.prototype.convert = Ot,
|
||
Bt.prototype.revert = Ot,
|
||
Bt.prototype.mulTo = Vt,
|
||
Bt.prototype.sqrTo = $t,
|
||
Ht.prototype.convert = Ft,
|
||
Ht.prototype.revert = Wt,
|
||
Ht.prototype.reduce = Kt,
|
||
Ht.prototype.mulTo = Qt,
|
||
Ht.prototype.sqrTo = jt;
|
||
var Pn = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997]
|
||
, An = (1 << 26) / Pn[Pn.length - 1];
|
||
t.prototype.chunkSize = G,
|
||
t.prototype.toRadix = Z,
|
||
t.prototype.fromRadix = Y,
|
||
t.prototype.fromNumber = X,
|
||
t.prototype.bitwiseTo = ot,
|
||
t.prototype.changeBit = wt,
|
||
t.prototype.addTo = Tt,
|
||
t.prototype.dMultiply = At,
|
||
t.prototype.dAddOffset = Mt,
|
||
t.prototype.multiplyLowerTo = Nt,
|
||
t.prototype.multiplyUpperTo = qt,
|
||
t.prototype.modInt = zt,
|
||
t.prototype.millerRabin = Xt,
|
||
t.prototype.clone = K,
|
||
t.prototype.intValue = j,
|
||
t.prototype.byteValue = Q,
|
||
t.prototype.shortValue = J,
|
||
t.prototype.signum = z,
|
||
t.prototype.toByteArray = et,
|
||
t.prototype.equals = tt,
|
||
t.prototype.min = nt,
|
||
t.prototype.max = it,
|
||
t.prototype.and = at,
|
||
t.prototype.or = ct,
|
||
t.prototype.xor = dt,
|
||
t.prototype.andNot = pt,
|
||
t.prototype.not = gt,
|
||
t.prototype.shiftLeft = mt,
|
||
t.prototype.shiftRight = ft,
|
||
t.prototype.getLowestSetBit = vt,
|
||
t.prototype.bitCount = yt,
|
||
t.prototype.testBit = _t,
|
||
t.prototype.setBit = Et,
|
||
t.prototype.clearBit = Ct,
|
||
t.prototype.flipBit = St,
|
||
t.prototype.add = It,
|
||
t.prototype.subtract = Dt,
|
||
t.prototype.multiply = kt,
|
||
t.prototype.divide = xt,
|
||
t.prototype.remainder = Lt,
|
||
t.prototype.divideAndRemainder = Pt,
|
||
t.prototype.modPow = Jt,
|
||
t.prototype.modInverse = Zt,
|
||
t.prototype.pow = Ut,
|
||
t.prototype.gcd = Gt,
|
||
t.prototype.isProbablePrime = Yt,
|
||
t.prototype.square = Rt,
|
||
en.prototype.init = tn,
|
||
en.prototype.next = nn;
|
||
var Mn, Bn, On, Vn = 256;
|
||
if (null == Bn) {
|
||
Bn = new Array,
|
||
On = 0;
|
||
var $n;
|
||
if ("Netscape" == navigator.appName && navigator.appVersion < "5" && window.crypto && window.crypto.random) {
|
||
var Un = window.crypto.random(32);
|
||
for ($n = 0; $n < Un.length; ++$n)
|
||
Bn[On++] = 255 & Un.charCodeAt($n)
|
||
}
|
||
for (; Vn > On; )
|
||
$n = Math.floor(65536 * Math.random()),
|
||
Bn[On++] = $n >>> 8,
|
||
Bn[On++] = 255 & $n;
|
||
On = 0,
|
||
an()
|
||
}
|
||
ln.prototype.nextBytes = cn,
|
||
pn.prototype.doPublic = mn,
|
||
pn.prototype.setPublic = gn,
|
||
pn.prototype.encrypt = fn,
|
||
pn.prototype.doPrivate = _n,
|
||
pn.prototype.setPrivate = vn,
|
||
pn.prototype.setPrivateEx = bn,
|
||
pn.prototype.generate = yn,
|
||
pn.prototype.decrypt = wn,
|
||
function() {
|
||
var e = function(e, i, o) {
|
||
var s = new ln
|
||
, a = e >> 1;
|
||
this.e = parseInt(i, 16);
|
||
var r = new t(i,16)
|
||
, c = this
|
||
, l = function() {
|
||
var i = function() {
|
||
if (c.p.compareTo(c.q) <= 0) {
|
||
var e = c.p;
|
||
c.p = c.q,
|
||
c.q = e
|
||
}
|
||
var n = c.p.subtract(t.ONE)
|
||
, i = c.q.subtract(t.ONE)
|
||
, s = n.multiply(i);
|
||
0 == s.gcd(r).compareTo(t.ONE) ? (c.n = c.p.multiply(c.q),
|
||
c.d = r.modInverse(s),
|
||
c.dmp1 = c.d.mod(n),
|
||
c.dmq1 = c.d.mod(i),
|
||
c.coeff = c.q.modInverse(c.p),
|
||
setTimeout(function() {
|
||
o()
|
||
}, 0)) : setTimeout(l, 0)
|
||
}
|
||
, d = function() {
|
||
c.q = n(),
|
||
c.q.fromNumberAsync(a, 1, s, function() {
|
||
c.q.subtract(t.ONE).gcda(r, function(e) {
|
||
0 == e.compareTo(t.ONE) && c.q.isProbablePrime(10) ? setTimeout(i, 0) : setTimeout(d, 0)
|
||
})
|
||
})
|
||
}
|
||
, u = function() {
|
||
c.p = n(),
|
||
c.p.fromNumberAsync(e - a, 1, s, function() {
|
||
c.p.subtract(t.ONE).gcda(r, function(e) {
|
||
0 == e.compareTo(t.ONE) && c.p.isProbablePrime(10) ? setTimeout(d, 0) : setTimeout(u, 0)
|
||
})
|
||
})
|
||
};
|
||
setTimeout(u, 0)
|
||
};
|
||
setTimeout(l, 0)
|
||
};
|
||
pn.prototype.generateAsync = e;
|
||
var i = function(e, t) {
|
||
var n = this.s < 0 ? this.negate() : this.clone()
|
||
, i = e.s < 0 ? e.negate() : e.clone();
|
||
if (n.compareTo(i) < 0) {
|
||
var o = n;
|
||
n = i,
|
||
i = o
|
||
}
|
||
var s = n.getLowestSetBit()
|
||
, a = i.getLowestSetBit();
|
||
if (0 > a)
|
||
return void t(n);
|
||
a > s && (a = s),
|
||
a > 0 && (n.rShiftTo(a, n),
|
||
i.rShiftTo(a, i));
|
||
var r = function() {
|
||
(s = n.getLowestSetBit()) > 0 && n.rShiftTo(s, n),
|
||
(s = i.getLowestSetBit()) > 0 && i.rShiftTo(s, i),
|
||
n.compareTo(i) >= 0 ? (n.subTo(i, n),
|
||
n.rShiftTo(1, n)) : (i.subTo(n, i),
|
||
i.rShiftTo(1, i)),
|
||
n.signum() > 0 ? setTimeout(r, 0) : (a > 0 && i.lShiftTo(a, i),
|
||
setTimeout(function() {
|
||
t(i)
|
||
}, 0))
|
||
};
|
||
setTimeout(r, 10)
|
||
};
|
||
t.prototype.gcda = i;
|
||
var o = function(e, n, i, o) {
|
||
if ("number" == typeof n)
|
||
if (2 > e)
|
||
this.fromInt(1);
|
||
else {
|
||
this.fromNumber(e, i),
|
||
this.testBit(e - 1) || this.bitwiseTo(t.ONE.shiftLeft(e - 1), rt, this),
|
||
this.isEven() && this.dAddOffset(1, 0);
|
||
var s = this
|
||
, a = function() {
|
||
s.dAddOffset(2, 0),
|
||
s.bitLength() > e && s.subTo(t.ONE.shiftLeft(e - 1), s),
|
||
s.isProbablePrime(n) ? setTimeout(function() {
|
||
o()
|
||
}, 0) : setTimeout(a, 0)
|
||
};
|
||
setTimeout(a, 0)
|
||
}
|
||
else {
|
||
var r = new Array
|
||
, c = 7 & e;
|
||
r.length = (e >> 3) + 1,
|
||
n.nextBytes(r),
|
||
c > 0 ? r[0] &= (1 << c) - 1 : r[0] = 0,
|
||
this.fromString(r, 256)
|
||
}
|
||
};
|
||
t.prototype.fromNumberAsync = o
|
||
}();
|
||
var Nn = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
|
||
, qn = "="
|
||
, Hn = Hn || {};
|
||
Hn.env = Hn.env || {};
|
||
var Fn = Hn
|
||
, Wn = Object.prototype
|
||
, Kn = "[object Function]"
|
||
, jn = ["toString", "valueOf"];
|
||
Hn.env.parseUA = function(e) {
|
||
var t, n = function(e) {
|
||
var t = 0;
|
||
return parseFloat(e.replace(/\./g, function() {
|
||
return 1 == t++ ? "" : "."
|
||
}))
|
||
}, i = navigator, o = {
|
||
ie: 0,
|
||
opera: 0,
|
||
gecko: 0,
|
||
webkit: 0,
|
||
chrome: 0,
|
||
mobile: null,
|
||
air: 0,
|
||
ipad: 0,
|
||
iphone: 0,
|
||
ipod: 0,
|
||
ios: null,
|
||
android: 0,
|
||
webos: 0,
|
||
caja: i && i.cajaVersion,
|
||
secure: !1,
|
||
os: null
|
||
}, s = e || navigator && navigator.userAgent, a = window && window.location, r = a && a.href;
|
||
return o.secure = r && 0 === r.toLowerCase().indexOf("https"),
|
||
s && (/windows|win32/i.test(s) ? o.os = "windows" : /macintosh/i.test(s) ? o.os = "macintosh" : /rhino/i.test(s) && (o.os = "rhino"),
|
||
/KHTML/.test(s) && (o.webkit = 1),
|
||
t = s.match(/AppleWebKit\/([^\s]*)/),
|
||
t && t[1] && (o.webkit = n(t[1]),
|
||
/ Mobile\//.test(s) ? (o.mobile = "Apple",
|
||
t = s.match(/OS ([^\s]*)/),
|
||
t && t[1] && (t = n(t[1].replace("_", "."))),
|
||
o.ios = t,
|
||
o.ipad = o.ipod = o.iphone = 0,
|
||
t = s.match(/iPad|iPod|iPhone/),
|
||
t && t[0] && (o[t[0].toLowerCase()] = o.ios)) : (t = s.match(/NokiaN[^\/]*|Android \d\.\d|webOS\/\d\.\d/),
|
||
t && (o.mobile = t[0]),
|
||
/webOS/.test(s) && (o.mobile = "WebOS",
|
||
t = s.match(/webOS\/([^\s]*);/),
|
||
t && t[1] && (o.webos = n(t[1]))),
|
||
/ Android/.test(s) && (o.mobile = "Android",
|
||
t = s.match(/Android ([^\s]*);/),
|
||
t && t[1] && (o.android = n(t[1])))),
|
||
t = s.match(/Chrome\/([^\s]*)/),
|
||
t && t[1] ? o.chrome = n(t[1]) : (t = s.match(/AdobeAIR\/([^\s]*)/),
|
||
t && (o.air = t[0]))),
|
||
o.webkit || (t = s.match(/Opera[\s\/]([^\s]*)/),
|
||
t && t[1] ? (o.opera = n(t[1]),
|
||
t = s.match(/Version\/([^\s]*)/),
|
||
t && t[1] && (o.opera = n(t[1])),
|
||
t = s.match(/Opera Mini[^;]*/),
|
||
t && (o.mobile = t[0])) : (t = s.match(/MSIE\s([^;]*)/),
|
||
t && t[1] ? o.ie = n(t[1]) : (t = s.match(/Gecko\/([^\s]*)/),
|
||
t && (o.gecko = 1,
|
||
t = s.match(/rv:([^\s\)]*)/),
|
||
t && t[1] && (o.gecko = n(t[1]))))))),
|
||
o
|
||
}
|
||
,
|
||
Hn.env.ua = Hn.env.parseUA(),
|
||
Hn.isFunction = function(e) {
|
||
return "function" == typeof e || Wn.toString.apply(e) === Kn
|
||
}
|
||
,
|
||
Hn._IEEnumFix = Hn.env.ua.ie ? function(e, t) {
|
||
var n, i, o;
|
||
for (n = 0; n < jn.length; n += 1)
|
||
i = jn[n],
|
||
o = t[i],
|
||
Fn.isFunction(o) && o != Wn[i] && (e[i] = o)
|
||
}
|
||
: function() {}
|
||
,
|
||
Hn.extend = function(e, t, n) {
|
||
if (!t || !e)
|
||
throw new Error("extend failed, please check that all dependencies are included.");
|
||
var i, o = function() {};
|
||
if (o.prototype = t.prototype,
|
||
e.prototype = new o,
|
||
e.prototype.constructor = e,
|
||
e.superclass = t.prototype,
|
||
t.prototype.constructor == Wn.constructor && (t.prototype.constructor = t),
|
||
n) {
|
||
for (i in n)
|
||
Fn.hasOwnProperty(n, i) && (e.prototype[i] = n[i]);
|
||
Fn._IEEnumFix(e.prototype, n)
|
||
}
|
||
}
|
||
,
|
||
"undefined" != typeof KJUR && KJUR || (KJUR = {}),
|
||
"undefined" != typeof KJUR.asn1 && KJUR.asn1 || (KJUR.asn1 = {}),
|
||
KJUR.asn1.ASN1Util = new function() {
|
||
this.integerToByteHex = function(e) {
|
||
var t = e.toString(16);
|
||
return t.length % 2 == 1 && (t = "0" + t),
|
||
t
|
||
}
|
||
,
|
||
this.bigIntToMinTwosComplementsHex = function(e) {
|
||
var n = e.toString(16);
|
||
if ("-" != n.substr(0, 1))
|
||
n.length % 2 == 1 ? n = "0" + n : n.match(/^[0-7]/) || (n = "00" + n);
|
||
else {
|
||
var i = n.substr(1)
|
||
, o = i.length;
|
||
o % 2 == 1 ? o += 1 : n.match(/^[0-7]/) || (o += 2);
|
||
for (var s = "", a = 0; o > a; a++)
|
||
s += "f";
|
||
var r = new t(s,16)
|
||
, c = r.xor(e).add(t.ONE);
|
||
n = c.toString(16).replace(/^-/, "")
|
||
}
|
||
return n
|
||
}
|
||
,
|
||
this.getPEMStringFromHex = function(e, t) {
|
||
var n = CryptoJS.enc.Hex.parse(e)
|
||
, i = CryptoJS.enc.Base64.stringify(n)
|
||
, o = i.replace(/(.{64})/g, "$1\r\n");
|
||
return o = o.replace(/\r\n$/, ""),
|
||
"-----BEGIN " + t + "-----\r\n" + o + "\r\n-----END " + t + "-----\r\n"
|
||
}
|
||
}
|
||
,
|
||
KJUR.asn1.ASN1Object = function() {
|
||
var e = "";
|
||
this.getLengthHexFromValue = function() {
|
||
if ("undefined" == typeof this.hV || null == this.hV)
|
||
throw "this.hV is null or undefined.";
|
||
if (this.hV.length % 2 == 1)
|
||
throw "value hex must be even length: n=" + e.length + ",v=" + this.hV;
|
||
var t = this.hV.length / 2
|
||
, n = t.toString(16);
|
||
if (n.length % 2 == 1 && (n = "0" + n),
|
||
128 > t)
|
||
return n;
|
||
var i = n.length / 2;
|
||
if (i > 15)
|
||
throw "ASN.1 length too long to represent by 8x: n = " + t.toString(16);
|
||
var o = 128 + i;
|
||
return o.toString(16) + n
|
||
}
|
||
,
|
||
this.getEncodedHex = function() {
|
||
return (null == this.hTLV || this.isModified) && (this.hV = this.getFreshValueHex(),
|
||
this.hL = this.getLengthHexFromValue(),
|
||
this.hTLV = this.hT + this.hL + this.hV,
|
||
this.isModified = !1),
|
||
this.hTLV
|
||
}
|
||
,
|
||
this.getValueHex = function() {
|
||
return this.getEncodedHex(),
|
||
this.hV
|
||
}
|
||
,
|
||
this.getFreshValueHex = function() {
|
||
return ""
|
||
}
|
||
}
|
||
,
|
||
KJUR.asn1.DERAbstractString = function(e) {
|
||
KJUR.asn1.DERAbstractString.superclass.constructor.call(this),
|
||
this.getString = function() {
|
||
return this.s
|
||
}
|
||
,
|
||
this.setString = function(e) {
|
||
this.hTLV = null,
|
||
this.isModified = !0,
|
||
this.s = e,
|
||
this.hV = stohex(this.s)
|
||
}
|
||
,
|
||
this.setStringHex = function(e) {
|
||
this.hTLV = null,
|
||
this.isModified = !0,
|
||
this.s = null,
|
||
this.hV = e
|
||
}
|
||
,
|
||
this.getFreshValueHex = function() {
|
||
return this.hV
|
||
}
|
||
,
|
||
"undefined" != typeof e && ("undefined" != typeof e.str ? this.setString(e.str) : "undefined" != typeof e.hex && this.setStringHex(e.hex))
|
||
}
|
||
,
|
||
Hn.extend(KJUR.asn1.DERAbstractString, KJUR.asn1.ASN1Object),
|
||
KJUR.asn1.DERAbstractTime = function() {
|
||
KJUR.asn1.DERAbstractTime.superclass.constructor.call(this),
|
||
this.localDateToUTC = function(e) {
|
||
utc = e.getTime() + 6e4 * e.getTimezoneOffset();
|
||
var t = new Date(utc);
|
||
return t
|
||
}
|
||
,
|
||
this.formatDate = function(e, t) {
|
||
var n = this.zeroPadding
|
||
, i = this.localDateToUTC(e)
|
||
, o = String(i.getFullYear());
|
||
"utc" == t && (o = o.substr(2, 2));
|
||
var s = n(String(i.getMonth() + 1), 2)
|
||
, a = n(String(i.getDate()), 2)
|
||
, r = n(String(i.getHours()), 2)
|
||
, c = n(String(i.getMinutes()), 2)
|
||
, l = n(String(i.getSeconds()), 2);
|
||
return o + s + a + r + c + l + "Z"
|
||
}
|
||
,
|
||
this.zeroPadding = function(e, t) {
|
||
return e.length >= t ? e : new Array(t - e.length + 1).join("0") + e
|
||
}
|
||
,
|
||
this.getString = function() {
|
||
return this.s
|
||
}
|
||
,
|
||
this.setString = function(e) {
|
||
this.hTLV = null,
|
||
this.isModified = !0,
|
||
this.s = e,
|
||
this.hV = stohex(this.s)
|
||
}
|
||
,
|
||
this.setByDateValue = function(e, t, n, i, o, s) {
|
||
var a = new Date(Date.UTC(e, t - 1, n, i, o, s, 0));
|
||
this.setByDate(a)
|
||
}
|
||
,
|
||
this.getFreshValueHex = function() {
|
||
return this.hV
|
||
}
|
||
}
|
||
,
|
||
Hn.extend(KJUR.asn1.DERAbstractTime, KJUR.asn1.ASN1Object),
|
||
KJUR.asn1.DERAbstractStructured = function(e) {
|
||
KJUR.asn1.DERAbstractString.superclass.constructor.call(this),
|
||
this.setByASN1ObjectArray = function(e) {
|
||
this.hTLV = null,
|
||
this.isModified = !0,
|
||
this.asn1Array = e
|
||
}
|
||
,
|
||
this.appendASN1Object = function(e) {
|
||
this.hTLV = null,
|
||
this.isModified = !0,
|
||
this.asn1Array.push(e)
|
||
}
|
||
,
|
||
this.asn1Array = new Array,
|
||
"undefined" != typeof e && "undefined" != typeof e.array && (this.asn1Array = e.array)
|
||
}
|
||
,
|
||
Hn.extend(KJUR.asn1.DERAbstractStructured, KJUR.asn1.ASN1Object),
|
||
KJUR.asn1.DERBoolean = function() {
|
||
KJUR.asn1.DERBoolean.superclass.constructor.call(this),
|
||
this.hT = "01",
|
||
this.hTLV = "0101ff"
|
||
}
|
||
,
|
||
Hn.extend(KJUR.asn1.DERBoolean, KJUR.asn1.ASN1Object),
|
||
KJUR.asn1.DERInteger = function(e) {
|
||
KJUR.asn1.DERInteger.superclass.constructor.call(this),
|
||
this.hT = "02",
|
||
this.setByBigInteger = function(e) {
|
||
this.hTLV = null,
|
||
this.isModified = !0,
|
||
this.hV = KJUR.asn1.ASN1Util.bigIntToMinTwosComplementsHex(e)
|
||
}
|
||
,
|
||
this.setByInteger = function(e) {
|
||
var n = new t(String(e),10);
|
||
this.setByBigInteger(n)
|
||
}
|
||
,
|
||
this.setValueHex = function(e) {
|
||
this.hV = e
|
||
}
|
||
,
|
||
this.getFreshValueHex = function() {
|
||
return this.hV
|
||
}
|
||
,
|
||
"undefined" != typeof e && ("undefined" != typeof e.bigint ? this.setByBigInteger(e.bigint) : "undefined" != typeof e["int"] ? this.setByInteger(e["int"]) : "undefined" != typeof e.hex && this.setValueHex(e.hex))
|
||
}
|
||
,
|
||
Hn.extend(KJUR.asn1.DERInteger, KJUR.asn1.ASN1Object),
|
||
KJUR.asn1.DERBitString = function(e) {
|
||
KJUR.asn1.DERBitString.superclass.constructor.call(this),
|
||
this.hT = "03",
|
||
this.setHexValueIncludingUnusedBits = function(e) {
|
||
this.hTLV = null,
|
||
this.isModified = !0,
|
||
this.hV = e
|
||
}
|
||
,
|
||
this.setUnusedBitsAndHexValue = function(e, t) {
|
||
if (0 > e || e > 7)
|
||
throw "unused bits shall be from 0 to 7: u = " + e;
|
||
var n = "0" + e;
|
||
this.hTLV = null,
|
||
this.isModified = !0,
|
||
this.hV = n + t
|
||
}
|
||
,
|
||
this.setByBinaryString = function(e) {
|
||
e = e.replace(/0+$/, "");
|
||
var t = 8 - e.length % 8;
|
||
8 == t && (t = 0);
|
||
for (var n = 0; t >= n; n++)
|
||
e += "0";
|
||
for (var i = "", n = 0; n < e.length - 1; n += 8) {
|
||
var o = e.substr(n, 8)
|
||
, s = parseInt(o, 2).toString(16);
|
||
1 == s.length && (s = "0" + s),
|
||
i += s
|
||
}
|
||
this.hTLV = null,
|
||
this.isModified = !0,
|
||
this.hV = "0" + t + i
|
||
}
|
||
,
|
||
this.setByBooleanArray = function(e) {
|
||
for (var t = "", n = 0; n < e.length; n++)
|
||
t += 1 == e[n] ? "1" : "0";
|
||
this.setByBinaryString(t)
|
||
}
|
||
,
|
||
this.newFalseArray = function(e) {
|
||
for (var t = new Array(e), n = 0; e > n; n++)
|
||
t[n] = !1;
|
||
return t
|
||
}
|
||
,
|
||
this.getFreshValueHex = function() {
|
||
return this.hV
|
||
}
|
||
,
|
||
"undefined" != typeof e && ("undefined" != typeof e.hex ? this.setHexValueIncludingUnusedBits(e.hex) : "undefined" != typeof e.bin ? this.setByBinaryString(e.bin) : "undefined" != typeof e.array && this.setByBooleanArray(e.array))
|
||
}
|
||
,
|
||
Hn.extend(KJUR.asn1.DERBitString, KJUR.asn1.ASN1Object),
|
||
KJUR.asn1.DEROctetString = function(e) {
|
||
KJUR.asn1.DEROctetString.superclass.constructor.call(this, e),
|
||
this.hT = "04"
|
||
}
|
||
,
|
||
Hn.extend(KJUR.asn1.DEROctetString, KJUR.asn1.DERAbstractString),
|
||
KJUR.asn1.DERNull = function() {
|
||
KJUR.asn1.DERNull.superclass.constructor.call(this),
|
||
this.hT = "05",
|
||
this.hTLV = "0500"
|
||
}
|
||
,
|
||
Hn.extend(KJUR.asn1.DERNull, KJUR.asn1.ASN1Object),
|
||
KJUR.asn1.DERObjectIdentifier = function(e) {
|
||
var n = function(e) {
|
||
var t = e.toString(16);
|
||
return 1 == t.length && (t = "0" + t),
|
||
t
|
||
}
|
||
, i = function(e) {
|
||
var i = ""
|
||
, o = new t(e,10)
|
||
, s = o.toString(2)
|
||
, a = 7 - s.length % 7;
|
||
7 == a && (a = 0);
|
||
for (var r = "", c = 0; a > c; c++)
|
||
r += "0";
|
||
s = r + s;
|
||
for (var c = 0; c < s.length - 1; c += 7) {
|
||
var l = s.substr(c, 7);
|
||
c != s.length - 7 && (l = "1" + l),
|
||
i += n(parseInt(l, 2))
|
||
}
|
||
return i
|
||
};
|
||
KJUR.asn1.DERObjectIdentifier.superclass.constructor.call(this),
|
||
this.hT = "06",
|
||
this.setValueHex = function(e) {
|
||
this.hTLV = null,
|
||
this.isModified = !0,
|
||
this.s = null,
|
||
this.hV = e
|
||
}
|
||
,
|
||
this.setValueOidString = function(e) {
|
||
if (!e.match(/^[0-9.]+$/))
|
||
throw "malformed oid string: " + e;
|
||
var t = ""
|
||
, o = e.split(".")
|
||
, s = 40 * parseInt(o[0]) + parseInt(o[1]);
|
||
t += n(s),
|
||
o.splice(0, 2);
|
||
for (var a = 0; a < o.length; a++)
|
||
t += i(o[a]);
|
||
this.hTLV = null,
|
||
this.isModified = !0,
|
||
this.s = null,
|
||
this.hV = t
|
||
}
|
||
,
|
||
this.setValueName = function(e) {
|
||
if ("undefined" == typeof KJUR.asn1.x509.OID.name2oidList[e])
|
||
throw "DERObjectIdentifier oidName undefined: " + e;
|
||
var t = KJUR.asn1.x509.OID.name2oidList[e];
|
||
this.setValueOidString(t)
|
||
}
|
||
,
|
||
this.getFreshValueHex = function() {
|
||
return this.hV
|
||
}
|
||
,
|
||
"undefined" != typeof e && ("undefined" != typeof e.oid ? this.setValueOidString(e.oid) : "undefined" != typeof e.hex ? this.setValueHex(e.hex) : "undefined" != typeof e.name && this.setValueName(e.name))
|
||
}
|
||
,
|
||
Hn.extend(KJUR.asn1.DERObjectIdentifier, KJUR.asn1.ASN1Object),
|
||
KJUR.asn1.DERUTF8String = function(e) {
|
||
KJUR.asn1.DERUTF8String.superclass.constructor.call(this, e),
|
||
this.hT = "0c"
|
||
}
|
||
,
|
||
Hn.extend(KJUR.asn1.DERUTF8String, KJUR.asn1.DERAbstractString),
|
||
KJUR.asn1.DERNumericString = function(e) {
|
||
KJUR.asn1.DERNumericString.superclass.constructor.call(this, e),
|
||
this.hT = "12"
|
||
}
|
||
,
|
||
Hn.extend(KJUR.asn1.DERNumericString, KJUR.asn1.DERAbstractString),
|
||
KJUR.asn1.DERPrintableString = function(e) {
|
||
KJUR.asn1.DERPrintableString.superclass.constructor.call(this, e),
|
||
this.hT = "13"
|
||
}
|
||
,
|
||
Hn.extend(KJUR.asn1.DERPrintableString, KJUR.asn1.DERAbstractString),
|
||
KJUR.asn1.DERTeletexString = function(e) {
|
||
KJUR.asn1.DERTeletexString.superclass.constructor.call(this, e),
|
||
this.hT = "14"
|
||
}
|
||
,
|
||
Hn.extend(KJUR.asn1.DERTeletexString, KJUR.asn1.DERAbstractString),
|
||
KJUR.asn1.DERIA5String = function(e) {
|
||
KJUR.asn1.DERIA5String.superclass.constructor.call(this, e),
|
||
this.hT = "16"
|
||
}
|
||
,
|
||
Hn.extend(KJUR.asn1.DERIA5String, KJUR.asn1.DERAbstractString),
|
||
KJUR.asn1.DERUTCTime = function(e) {
|
||
KJUR.asn1.DERUTCTime.superclass.constructor.call(this, e),
|
||
this.hT = "17",
|
||
this.setByDate = function(e) {
|
||
this.hTLV = null,
|
||
this.isModified = !0,
|
||
this.date = e,
|
||
this.s = this.formatDate(this.date, "utc"),
|
||
this.hV = stohex(this.s)
|
||
}
|
||
,
|
||
"undefined" != typeof e && ("undefined" != typeof e.str ? this.setString(e.str) : "undefined" != typeof e.hex ? this.setStringHex(e.hex) : "undefined" != typeof e.date && this.setByDate(e.date))
|
||
}
|
||
,
|
||
Hn.extend(KJUR.asn1.DERUTCTime, KJUR.asn1.DERAbstractTime),
|
||
KJUR.asn1.DERGeneralizedTime = function(e) {
|
||
KJUR.asn1.DERGeneralizedTime.superclass.constructor.call(this, e),
|
||
this.hT = "18",
|
||
this.setByDate = function(e) {
|
||
this.hTLV = null,
|
||
this.isModified = !0,
|
||
this.date = e,
|
||
this.s = this.formatDate(this.date, "gen"),
|
||
this.hV = stohex(this.s)
|
||
}
|
||
,
|
||
"undefined" != typeof e && ("undefined" != typeof e.str ? this.setString(e.str) : "undefined" != typeof e.hex ? this.setStringHex(e.hex) : "undefined" != typeof e.date && this.setByDate(e.date))
|
||
}
|
||
,
|
||
Hn.extend(KJUR.asn1.DERGeneralizedTime, KJUR.asn1.DERAbstractTime),
|
||
KJUR.asn1.DERSequence = function(e) {
|
||
KJUR.asn1.DERSequence.superclass.constructor.call(this, e),
|
||
this.hT = "30",
|
||
this.getFreshValueHex = function() {
|
||
for (var e = "", t = 0; t < this.asn1Array.length; t++) {
|
||
var n = this.asn1Array[t];
|
||
e += n.getEncodedHex()
|
||
}
|
||
return this.hV = e,
|
||
this.hV
|
||
}
|
||
}
|
||
,
|
||
Hn.extend(KJUR.asn1.DERSequence, KJUR.asn1.DERAbstractStructured),
|
||
KJUR.asn1.DERSet = function(e) {
|
||
KJUR.asn1.DERSet.superclass.constructor.call(this, e),
|
||
this.hT = "31",
|
||
this.getFreshValueHex = function() {
|
||
for (var e = new Array, t = 0; t < this.asn1Array.length; t++) {
|
||
var n = this.asn1Array[t];
|
||
e.push(n.getEncodedHex())
|
||
}
|
||
return e.sort(),
|
||
this.hV = e.join(""),
|
||
this.hV
|
||
}
|
||
}
|
||
,
|
||
Hn.extend(KJUR.asn1.DERSet, KJUR.asn1.DERAbstractStructured),
|
||
KJUR.asn1.DERTaggedObject = function(e) {
|
||
KJUR.asn1.DERTaggedObject.superclass.constructor.call(this),
|
||
this.hT = "a0",
|
||
this.hV = "",
|
||
this.isExplicit = !0,
|
||
this.asn1Object = null,
|
||
this.setASN1Object = function(e, t, n) {
|
||
this.hT = t,
|
||
this.isExplicit = e,
|
||
this.asn1Object = n,
|
||
this.isExplicit ? (this.hV = this.asn1Object.getEncodedHex(),
|
||
this.hTLV = null,
|
||
this.isModified = !0) : (this.hV = null,
|
||
this.hTLV = n.getEncodedHex(),
|
||
this.hTLV = this.hTLV.replace(/^../, t),
|
||
this.isModified = !1)
|
||
}
|
||
,
|
||
this.getFreshValueHex = function() {
|
||
return this.hV
|
||
}
|
||
,
|
||
"undefined" != typeof e && ("undefined" != typeof e.tag && (this.hT = e.tag),
|
||
"undefined" != typeof e.explicit && (this.isExplicit = e.explicit),
|
||
"undefined" != typeof e.obj && (this.asn1Object = e.obj,
|
||
this.setASN1Object(this.isExplicit, this.hT, this.asn1Object)))
|
||
}
|
||
,
|
||
Hn.extend(KJUR.asn1.DERTaggedObject, KJUR.asn1.ASN1Object),
|
||
function(e) {
|
||
"use strict";
|
||
var t, n = {};
|
||
n.decode = function(n) {
|
||
var i;
|
||
if (t === e) {
|
||
var o = "0123456789ABCDEF"
|
||
, s = " \f\n\r \u2028\u2029";
|
||
for (t = [],
|
||
i = 0; 16 > i; ++i)
|
||
t[o.charAt(i)] = i;
|
||
for (o = o.toLowerCase(),
|
||
i = 10; 16 > i; ++i)
|
||
t[o.charAt(i)] = i;
|
||
for (i = 0; i < s.length; ++i)
|
||
t[s.charAt(i)] = -1
|
||
}
|
||
var a = []
|
||
, r = 0
|
||
, c = 0;
|
||
for (i = 0; i < n.length; ++i) {
|
||
var l = n.charAt(i);
|
||
if ("=" == l)
|
||
break;
|
||
if (l = t[l],
|
||
-1 != l) {
|
||
if (l === e)
|
||
throw "Illegal character at offset " + i;
|
||
r |= l,
|
||
++c >= 2 ? (a[a.length] = r,
|
||
r = 0,
|
||
c = 0) : r <<= 4
|
||
}
|
||
}
|
||
if (c)
|
||
throw "Hex encoding incomplete: 4 bits missing";
|
||
return a
|
||
}
|
||
,
|
||
window.Hex = n
|
||
}(),
|
||
function(e) {
|
||
"use strict";
|
||
var t, n = {};
|
||
n.decode = function(n) {
|
||
var i;
|
||
if (t === e) {
|
||
var o = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
|
||
, s = "= \f\n\r \u2028\u2029";
|
||
for (t = [],
|
||
i = 0; 64 > i; ++i)
|
||
t[o.charAt(i)] = i;
|
||
for (i = 0; i < s.length; ++i)
|
||
t[s.charAt(i)] = -1
|
||
}
|
||
var a = []
|
||
, r = 0
|
||
, c = 0;
|
||
for (i = 0; i < n.length; ++i) {
|
||
var l = n.charAt(i);
|
||
if ("=" == l)
|
||
break;
|
||
if (l = t[l],
|
||
-1 != l) {
|
||
if (l === e)
|
||
throw "Illegal character at offset " + i;
|
||
r |= l,
|
||
++c >= 4 ? (a[a.length] = r >> 16,
|
||
a[a.length] = r >> 8 & 255,
|
||
a[a.length] = 255 & r,
|
||
r = 0,
|
||
c = 0) : r <<= 6
|
||
}
|
||
}
|
||
switch (c) {
|
||
case 1:
|
||
throw "Base64 encoding incomplete: at least 2 bits missing";
|
||
case 2:
|
||
a[a.length] = r >> 10;
|
||
break;
|
||
case 3:
|
||
a[a.length] = r >> 16,
|
||
a[a.length] = r >> 8 & 255
|
||
}
|
||
return a
|
||
}
|
||
,
|
||
n.re = /-----BEGIN [^-]+-----([A-Za-z0-9+\/=\s]+)-----END [^-]+-----|begin-base64[^\n]+\n([A-Za-z0-9+\/=\s]+)====/,
|
||
n.unarmor = function(e) {
|
||
var t = n.re.exec(e);
|
||
if (t)
|
||
if (t[1])
|
||
e = t[1];
|
||
else {
|
||
if (!t[2])
|
||
throw "RegExp out of sync";
|
||
e = t[2]
|
||
}
|
||
return n.decode(e)
|
||
}
|
||
,
|
||
window.Base64 = n
|
||
}(),
|
||
function(e) {
|
||
"use strict";
|
||
function t(e, n) {
|
||
e instanceof t ? (this.enc = e.enc,
|
||
this.pos = e.pos) : (this.enc = e,
|
||
this.pos = n)
|
||
}
|
||
function n(e, t, n, i, o) {
|
||
this.stream = e,
|
||
this.header = t,
|
||
this.length = n,
|
||
this.tag = i,
|
||
this.sub = o
|
||
}
|
||
var i = 100
|
||
, o = "…"
|
||
, s = {
|
||
tag: function(e, t) {
|
||
var n = document.createElement(e);
|
||
return n.className = t,
|
||
n
|
||
},
|
||
text: function(e) {
|
||
return document.createTextNode(e)
|
||
}
|
||
};
|
||
t.prototype.get = function(t) {
|
||
if (t === e && (t = this.pos++),
|
||
t >= this.enc.length)
|
||
throw "Requesting byte offset " + t + " on a stream of length " + this.enc.length;
|
||
return this.enc[t]
|
||
}
|
||
,
|
||
t.prototype.hexDigits = "0123456789ABCDEF",
|
||
t.prototype.hexByte = function(e) {
|
||
return this.hexDigits.charAt(e >> 4 & 15) + this.hexDigits.charAt(15 & e)
|
||
}
|
||
,
|
||
t.prototype.hexDump = function(e, t, n) {
|
||
for (var i = "", o = e; t > o; ++o)
|
||
if (i += this.hexByte(this.get(o)),
|
||
n !== !0)
|
||
switch (15 & o) {
|
||
case 7:
|
||
i += " ";
|
||
break;
|
||
case 15:
|
||
i += "\n";
|
||
break;
|
||
default:
|
||
i += " "
|
||
}
|
||
return i
|
||
}
|
||
,
|
||
t.prototype.parseStringISO = function(e, t) {
|
||
for (var n = "", i = e; t > i; ++i)
|
||
n += String.fromCharCode(this.get(i));
|
||
return n
|
||
}
|
||
,
|
||
t.prototype.parseStringUTF = function(e, t) {
|
||
for (var n = "", i = e; t > i; ) {
|
||
var o = this.get(i++);
|
||
n += String.fromCharCode(128 > o ? o : o > 191 && 224 > o ? (31 & o) << 6 | 63 & this.get(i++) : (15 & o) << 12 | (63 & this.get(i++)) << 6 | 63 & this.get(i++))
|
||
}
|
||
return n
|
||
}
|
||
,
|
||
t.prototype.parseStringBMP = function(e, t) {
|
||
for (var n = "", i = e; t > i; i += 2) {
|
||
var o = this.get(i)
|
||
, s = this.get(i + 1);
|
||
n += String.fromCharCode((o << 8) + s)
|
||
}
|
||
return n
|
||
}
|
||
,
|
||
t.prototype.reTime = /^((?:1[89]|2\d)?\d\d)(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])([01]\d|2[0-3])(?:([0-5]\d)(?:([0-5]\d)(?:[.,](\d{1,3}))?)?)?(Z|[-+](?:[0]\d|1[0-2])([0-5]\d)?)?$/,
|
||
t.prototype.parseTime = function(e, t) {
|
||
var n = this.parseStringISO(e, t)
|
||
, i = this.reTime.exec(n);
|
||
return i ? (n = i[1] + "-" + i[2] + "-" + i[3] + " " + i[4],
|
||
i[5] && (n += ":" + i[5],
|
||
i[6] && (n += ":" + i[6],
|
||
i[7] && (n += "." + i[7]))),
|
||
i[8] && (n += " UTC",
|
||
"Z" != i[8] && (n += i[8],
|
||
i[9] && (n += ":" + i[9]))),
|
||
n) : "Unrecognized time: " + n
|
||
}
|
||
,
|
||
t.prototype.parseInteger = function(e, t) {
|
||
var n = t - e;
|
||
if (n > 4) {
|
||
n <<= 3;
|
||
var i = this.get(e);
|
||
if (0 === i)
|
||
n -= 8;
|
||
else
|
||
for (; 128 > i; )
|
||
i <<= 1,
|
||
--n;
|
||
return "(" + n + " bit)"
|
||
}
|
||
for (var o = 0, s = e; t > s; ++s)
|
||
o = o << 8 | this.get(s);
|
||
return o
|
||
}
|
||
,
|
||
t.prototype.parseBitString = function(e, t) {
|
||
var n = this.get(e)
|
||
, i = (t - e - 1 << 3) - n
|
||
, o = "(" + i + " bit)";
|
||
if (20 >= i) {
|
||
var s = n;
|
||
o += " ";
|
||
for (var a = t - 1; a > e; --a) {
|
||
for (var r = this.get(a), c = s; 8 > c; ++c)
|
||
o += r >> c & 1 ? "1" : "0";
|
||
s = 0
|
||
}
|
||
}
|
||
return o
|
||
}
|
||
,
|
||
t.prototype.parseOctetString = function(e, t) {
|
||
var n = t - e
|
||
, s = "(" + n + " byte) ";
|
||
n > i && (t = e + i);
|
||
for (var a = e; t > a; ++a)
|
||
s += this.hexByte(this.get(a));
|
||
return n > i && (s += o),
|
||
s
|
||
}
|
||
,
|
||
t.prototype.parseOID = function(e, t) {
|
||
for (var n = "", i = 0, o = 0, s = e; t > s; ++s) {
|
||
var a = this.get(s);
|
||
if (i = i << 7 | 127 & a,
|
||
o += 7,
|
||
!(128 & a)) {
|
||
if ("" === n) {
|
||
var r = 80 > i ? 40 > i ? 0 : 1 : 2;
|
||
n = r + "." + (i - 40 * r)
|
||
} else
|
||
n += "." + (o >= 31 ? "bigint" : i);
|
||
i = o = 0
|
||
}
|
||
}
|
||
return n
|
||
}
|
||
,
|
||
n.prototype.typeName = function() {
|
||
if (this.tag === e)
|
||
return "unknown";
|
||
var t = this.tag >> 6
|
||
, n = (this.tag >> 5 & 1,
|
||
31 & this.tag);
|
||
switch (t) {
|
||
case 0:
|
||
switch (n) {
|
||
case 0:
|
||
return "EOC";
|
||
case 1:
|
||
return "BOOLEAN";
|
||
case 2:
|
||
return "INTEGER";
|
||
case 3:
|
||
return "BIT_STRING";
|
||
case 4:
|
||
return "OCTET_STRING";
|
||
case 5:
|
||
return "NULL";
|
||
case 6:
|
||
return "OBJECT_IDENTIFIER";
|
||
case 7:
|
||
return "ObjectDescriptor";
|
||
case 8:
|
||
return "EXTERNAL";
|
||
case 9:
|
||
return "REAL";
|
||
case 10:
|
||
return "ENUMERATED";
|
||
case 11:
|
||
return "EMBEDDED_PDV";
|
||
case 12:
|
||
return "UTF8String";
|
||
case 16:
|
||
return "SEQUENCE";
|
||
case 17:
|
||
return "SET";
|
||
case 18:
|
||
return "NumericString";
|
||
case 19:
|
||
return "PrintableString";
|
||
case 20:
|
||
return "TeletexString";
|
||
case 21:
|
||
return "VideotexString";
|
||
case 22:
|
||
return "IA5String";
|
||
case 23:
|
||
return "UTCTime";
|
||
case 24:
|
||
return "GeneralizedTime";
|
||
case 25:
|
||
return "GraphicString";
|
||
case 26:
|
||
return "VisibleString";
|
||
case 27:
|
||
return "GeneralString";
|
||
case 28:
|
||
return "UniversalString";
|
||
case 30:
|
||
return "BMPString";
|
||
default:
|
||
return "Universal_" + n.toString(16)
|
||
}
|
||
case 1:
|
||
return "Application_" + n.toString(16);
|
||
case 2:
|
||
return "[" + n + "]";
|
||
case 3:
|
||
return "Private_" + n.toString(16)
|
||
}
|
||
}
|
||
,
|
||
n.prototype.reSeemsASCII = /^[ -~]+$/,
|
||
n.prototype.content = function() {
|
||
if (this.tag === e)
|
||
return null;
|
||
var t = this.tag >> 6
|
||
, n = 31 & this.tag
|
||
, s = this.posContent()
|
||
, a = Math.abs(this.length);
|
||
if (0 !== t) {
|
||
if (null !== this.sub)
|
||
return "(" + this.sub.length + " elem)";
|
||
var r = this.stream.parseStringISO(s, s + Math.min(a, i));
|
||
return this.reSeemsASCII.test(r) ? r.substring(0, 2 * i) + (r.length > 2 * i ? o : "") : this.stream.parseOctetString(s, s + a)
|
||
}
|
||
switch (n) {
|
||
case 1:
|
||
return 0 === this.stream.get(s) ? "false" : "true";
|
||
case 2:
|
||
return this.stream.parseInteger(s, s + a);
|
||
case 3:
|
||
return this.sub ? "(" + this.sub.length + " elem)" : this.stream.parseBitString(s, s + a);
|
||
case 4:
|
||
return this.sub ? "(" + this.sub.length + " elem)" : this.stream.parseOctetString(s, s + a);
|
||
case 6:
|
||
return this.stream.parseOID(s, s + a);
|
||
case 16:
|
||
case 17:
|
||
return "(" + this.sub.length + " elem)";
|
||
case 12:
|
||
return this.stream.parseStringUTF(s, s + a);
|
||
case 18:
|
||
case 19:
|
||
case 20:
|
||
case 21:
|
||
case 22:
|
||
case 26:
|
||
return this.stream.parseStringISO(s, s + a);
|
||
case 30:
|
||
return this.stream.parseStringBMP(s, s + a);
|
||
case 23:
|
||
case 24:
|
||
return this.stream.parseTime(s, s + a)
|
||
}
|
||
return null
|
||
}
|
||
,
|
||
n.prototype.toString = function() {
|
||
return this.typeName() + "@" + this.stream.pos + "[header:" + this.header + ",length:" + this.length + ",sub:" + (null === this.sub ? "null" : this.sub.length) + "]"
|
||
}
|
||
,
|
||
n.prototype.print = function(t) {
|
||
if (t === e && (t = ""),
|
||
document.writeln(t + this),
|
||
null !== this.sub) {
|
||
t += " ";
|
||
for (var n = 0, i = this.sub.length; i > n; ++n)
|
||
this.sub[n].print(t)
|
||
}
|
||
}
|
||
,
|
||
n.prototype.toPrettyString = function(t) {
|
||
t === e && (t = "");
|
||
var n = t + this.typeName() + " @" + this.stream.pos;
|
||
if (this.length >= 0 && (n += "+"),
|
||
n += this.length,
|
||
32 & this.tag ? n += " (constructed)" : 3 != this.tag && 4 != this.tag || null === this.sub || (n += " (encapsulates)"),
|
||
n += "\n",
|
||
null !== this.sub) {
|
||
t += " ";
|
||
for (var i = 0, o = this.sub.length; o > i; ++i)
|
||
n += this.sub[i].toPrettyString(t)
|
||
}
|
||
return n
|
||
}
|
||
,
|
||
n.prototype.toDOM = function() {
|
||
var e = s.tag("div", "node");
|
||
e.asn1 = this;
|
||
var t = s.tag("div", "head")
|
||
, n = this.typeName().replace(/_/g, " ");
|
||
t.innerHTML = n;
|
||
var i = this.content();
|
||
if (null !== i) {
|
||
i = String(i).replace(/</g, "<");
|
||
var o = s.tag("span", "preview");
|
||
o.appendChild(s.text(i)),
|
||
t.appendChild(o)
|
||
}
|
||
e.appendChild(t),
|
||
this.node = e,
|
||
this.head = t;
|
||
var a = s.tag("div", "value");
|
||
if (n = "Offset: " + this.stream.pos + "<br/>",
|
||
n += "Length: " + this.header + "+",
|
||
n += this.length >= 0 ? this.length : -this.length + " (undefined)",
|
||
32 & this.tag ? n += "<br/>(constructed)" : 3 != this.tag && 4 != this.tag || null === this.sub || (n += "<br/>(encapsulates)"),
|
||
null !== i && (n += "<br/>Value:<br/><b>" + i + "</b>",
|
||
"object" == typeof oids && 6 == this.tag)) {
|
||
var r = oids[i];
|
||
r && (r.d && (n += "<br/>" + r.d),
|
||
r.c && (n += "<br/>" + r.c),
|
||
r.w && (n += "<br/>(warning!)"))
|
||
}
|
||
a.innerHTML = n,
|
||
e.appendChild(a);
|
||
var c = s.tag("div", "sub");
|
||
if (null !== this.sub)
|
||
for (var l = 0, d = this.sub.length; d > l; ++l)
|
||
c.appendChild(this.sub[l].toDOM());
|
||
return e.appendChild(c),
|
||
t.onclick = function() {
|
||
e.className = "node collapsed" == e.className ? "node" : "node collapsed"
|
||
}
|
||
,
|
||
e
|
||
}
|
||
,
|
||
n.prototype.posStart = function() {
|
||
return this.stream.pos
|
||
}
|
||
,
|
||
n.prototype.posContent = function() {
|
||
return this.stream.pos + this.header
|
||
}
|
||
,
|
||
n.prototype.posEnd = function() {
|
||
return this.stream.pos + this.header + Math.abs(this.length)
|
||
}
|
||
,
|
||
n.prototype.fakeHover = function(e) {
|
||
this.node.className += " hover",
|
||
e && (this.head.className += " hover")
|
||
}
|
||
,
|
||
n.prototype.fakeOut = function(e) {
|
||
var t = / ?hover/;
|
||
this.node.className = this.node.className.replace(t, ""),
|
||
e && (this.head.className = this.head.className.replace(t, ""))
|
||
}
|
||
,
|
||
n.prototype.toHexDOM_sub = function(e, t, n, i, o) {
|
||
if (!(i >= o)) {
|
||
var a = s.tag("span", t);
|
||
a.appendChild(s.text(n.hexDump(i, o))),
|
||
e.appendChild(a)
|
||
}
|
||
}
|
||
,
|
||
n.prototype.toHexDOM = function(t) {
|
||
var n = s.tag("span", "hex");
|
||
if (t === e && (t = n),
|
||
this.head.hexNode = n,
|
||
this.head.onmouseover = function() {
|
||
this.hexNode.className = "hexCurrent"
|
||
}
|
||
,
|
||
this.head.onmouseout = function() {
|
||
this.hexNode.className = "hex"
|
||
}
|
||
,
|
||
n.asn1 = this,
|
||
n.onmouseover = function() {
|
||
var e = !t.selected;
|
||
e && (t.selected = this.asn1,
|
||
this.className = "hexCurrent"),
|
||
this.asn1.fakeHover(e)
|
||
}
|
||
,
|
||
n.onmouseout = function() {
|
||
var e = t.selected == this.asn1;
|
||
this.asn1.fakeOut(e),
|
||
e && (t.selected = null,
|
||
this.className = "hex")
|
||
}
|
||
,
|
||
this.toHexDOM_sub(n, "tag", this.stream, this.posStart(), this.posStart() + 1),
|
||
this.toHexDOM_sub(n, this.length >= 0 ? "dlen" : "ulen", this.stream, this.posStart() + 1, this.posContent()),
|
||
null === this.sub)
|
||
n.appendChild(s.text(this.stream.hexDump(this.posContent(), this.posEnd())));
|
||
else if (this.sub.length > 0) {
|
||
var i = this.sub[0]
|
||
, o = this.sub[this.sub.length - 1];
|
||
this.toHexDOM_sub(n, "intro", this.stream, this.posContent(), i.posStart());
|
||
for (var a = 0, r = this.sub.length; r > a; ++a)
|
||
n.appendChild(this.sub[a].toHexDOM(t));
|
||
this.toHexDOM_sub(n, "outro", this.stream, o.posEnd(), this.posEnd())
|
||
}
|
||
return n
|
||
}
|
||
,
|
||
n.prototype.toHexString = function() {
|
||
return this.stream.hexDump(this.posStart(), this.posEnd(), !0)
|
||
}
|
||
,
|
||
n.decodeLength = function(e) {
|
||
var t = e.get()
|
||
, n = 127 & t;
|
||
if (n == t)
|
||
return n;
|
||
if (n > 3)
|
||
throw "Length over 24 bits not supported at position " + (e.pos - 1);
|
||
if (0 === n)
|
||
return -1;
|
||
t = 0;
|
||
for (var i = 0; n > i; ++i)
|
||
t = t << 8 | e.get();
|
||
return t
|
||
}
|
||
,
|
||
n.hasContent = function(e, i, o) {
|
||
if (32 & e)
|
||
return !0;
|
||
if (3 > e || e > 4)
|
||
return !1;
|
||
var s = new t(o);
|
||
3 == e && s.get();
|
||
var a = s.get();
|
||
if (a >> 6 & 1)
|
||
return !1;
|
||
try {
|
||
var r = n.decodeLength(s);
|
||
return s.pos - o.pos + r == i
|
||
} catch (c) {
|
||
return !1
|
||
}
|
||
}
|
||
,
|
||
n.decode = function(e) {
|
||
e instanceof t || (e = new t(e,0));
|
||
var i = new t(e)
|
||
, o = e.get()
|
||
, s = n.decodeLength(e)
|
||
, a = e.pos - i.pos
|
||
, r = null;
|
||
if (n.hasContent(o, s, e)) {
|
||
var c = e.pos;
|
||
if (3 == o && e.get(),
|
||
r = [],
|
||
s >= 0) {
|
||
for (var l = c + s; e.pos < l; )
|
||
r[r.length] = n.decode(e);
|
||
if (e.pos != l)
|
||
throw "Content size is not correct for container starting at offset " + c
|
||
} else
|
||
try {
|
||
for (; ; ) {
|
||
var d = n.decode(e);
|
||
if (0 === d.tag)
|
||
break;
|
||
r[r.length] = d
|
||
}
|
||
s = c - e.pos
|
||
} catch (u) {
|
||
throw "Exception while decoding undefined length content: " + u
|
||
}
|
||
} else
|
||
e.pos += s;
|
||
return new n(i,a,s,o,r)
|
||
}
|
||
,
|
||
n.test = function() {
|
||
for (var e = [{
|
||
value: [39],
|
||
expected: 39
|
||
}, {
|
||
value: [129, 201],
|
||
expected: 201
|
||
}, {
|
||
value: [131, 254, 220, 186],
|
||
expected: 16702650
|
||
}], i = 0, o = e.length; o > i; ++i) {
|
||
var s = new t(e[i].value,0)
|
||
, a = n.decodeLength(s);
|
||
a != e[i].expected && document.write("In test[" + i + "] expected " + e[i].expected + " got " + a + "\n")
|
||
}
|
||
}
|
||
,
|
||
window.ASN1 = n
|
||
}(),
|
||
ASN1.prototype.getHexStringValue = function() {
|
||
var e = this.toHexString()
|
||
, t = 2 * this.header
|
||
, n = 2 * this.length;
|
||
return e.substr(t, n)
|
||
}
|
||
,
|
||
pn.prototype.parseKey = function(e) {
|
||
try {
|
||
var t = /^\s*(?:[0-9A-Fa-f][0-9A-Fa-f]\s*)+$/
|
||
, n = t.test(e) ? Hex.decode(e) : Base64.unarmor(e)
|
||
, i = ASN1.decode(n);
|
||
if (9 === i.sub.length) {
|
||
var o = i.sub[1].getHexStringValue();
|
||
this.n = dn(o, 16);
|
||
var s = i.sub[2].getHexStringValue();
|
||
this.e = parseInt(s, 16);
|
||
var a = i.sub[3].getHexStringValue();
|
||
this.d = dn(a, 16);
|
||
var r = i.sub[4].getHexStringValue();
|
||
this.p = dn(r, 16);
|
||
var c = i.sub[5].getHexStringValue();
|
||
this.q = dn(c, 16);
|
||
var l = i.sub[6].getHexStringValue();
|
||
this.dmp1 = dn(l, 16);
|
||
var d = i.sub[7].getHexStringValue();
|
||
this.dmq1 = dn(d, 16);
|
||
var u = i.sub[8].getHexStringValue();
|
||
this.coeff = dn(u, 16)
|
||
} else {
|
||
if (2 !== i.sub.length)
|
||
return !1;
|
||
var p = i.sub[1]
|
||
, g = p.sub[0]
|
||
, o = g.sub[0].getHexStringValue();
|
||
this.n = dn(o, 16);
|
||
var s = g.sub[1].getHexStringValue();
|
||
this.e = parseInt(s, 16)
|
||
}
|
||
return !0
|
||
} catch (m) {
|
||
return !1
|
||
}
|
||
}
|
||
,
|
||
pn.prototype.getPrivateBaseKey = function() {
|
||
var e = {
|
||
array: [new KJUR.asn1.DERInteger({
|
||
"int": 0
|
||
}), new KJUR.asn1.DERInteger({
|
||
bigint: this.n
|
||
}), new KJUR.asn1.DERInteger({
|
||
"int": this.e
|
||
}), new KJUR.asn1.DERInteger({
|
||
bigint: this.d
|
||
}), new KJUR.asn1.DERInteger({
|
||
bigint: this.p
|
||
}), new KJUR.asn1.DERInteger({
|
||
bigint: this.q
|
||
}), new KJUR.asn1.DERInteger({
|
||
bigint: this.dmp1
|
||
}), new KJUR.asn1.DERInteger({
|
||
bigint: this.dmq1
|
||
}), new KJUR.asn1.DERInteger({
|
||
bigint: this.coeff
|
||
})]
|
||
}
|
||
, t = new KJUR.asn1.DERSequence(e);
|
||
return t.getEncodedHex()
|
||
}
|
||
,
|
||
pn.prototype.getPrivateBaseKeyB64 = function() {
|
||
return En(this.getPrivateBaseKey())
|
||
}
|
||
,
|
||
pn.prototype.getPublicBaseKey = function() {
|
||
var e = {
|
||
array: [new KJUR.asn1.DERObjectIdentifier({
|
||
oid: "1.2.840.113549.1.1.1"
|
||
}), new KJUR.asn1.DERNull]
|
||
}
|
||
, t = new KJUR.asn1.DERSequence(e);
|
||
e = {
|
||
array: [new KJUR.asn1.DERInteger({
|
||
bigint: this.n
|
||
}), new KJUR.asn1.DERInteger({
|
||
"int": this.e
|
||
})]
|
||
};
|
||
var n = new KJUR.asn1.DERSequence(e);
|
||
e = {
|
||
hex: "00" + n.getEncodedHex()
|
||
};
|
||
var i = new KJUR.asn1.DERBitString(e);
|
||
e = {
|
||
array: [t, i]
|
||
};
|
||
var o = new KJUR.asn1.DERSequence(e);
|
||
return o.getEncodedHex()
|
||
}
|
||
,
|
||
pn.prototype.getPublicBaseKeyB64 = function() {
|
||
return En(this.getPublicBaseKey())
|
||
}
|
||
,
|
||
pn.prototype.wordwrap = function(e, t) {
|
||
if (t = t || 64,
|
||
!e)
|
||
return e;
|
||
var n = "(.{1," + t + "})( +|$\n?)|(.{1," + t + "})";
|
||
return e.match(RegExp(n, "g")).join("\n")
|
||
}
|
||
,
|
||
pn.prototype.getPrivateKey = function() {
|
||
var e = "-----BEGIN RSA PRIVATE KEY-----\n";
|
||
return e += this.wordwrap(this.getPrivateBaseKeyB64()) + "\n",
|
||
e += "-----END RSA PRIVATE KEY-----"
|
||
}
|
||
,
|
||
pn.prototype.getPublicKey = function() {
|
||
var e = "-----BEGIN PUBLIC KEY-----\n";
|
||
return e += this.wordwrap(this.getPublicBaseKeyB64()) + "\n",
|
||
e += "-----END PUBLIC KEY-----"
|
||
}
|
||
,
|
||
pn.prototype.hasPublicKeyProperty = function(e) {
|
||
return e = e || {},
|
||
e.hasOwnProperty("n") && e.hasOwnProperty("e")
|
||
}
|
||
,
|
||
pn.prototype.hasPrivateKeyProperty = function(e) {
|
||
return e = e || {},
|
||
e.hasOwnProperty("n") && e.hasOwnProperty("e") && e.hasOwnProperty("d") && e.hasOwnProperty("p") && e.hasOwnProperty("q") && e.hasOwnProperty("dmp1") && e.hasOwnProperty("dmq1") && e.hasOwnProperty("coeff")
|
||
}
|
||
,
|
||
pn.prototype.parsePropertiesFrom = function(e) {
|
||
this.n = e.n,
|
||
this.e = e.e,
|
||
e.hasOwnProperty("d") && (this.d = e.d,
|
||
this.p = e.p,
|
||
this.q = e.q,
|
||
this.dmp1 = e.dmp1,
|
||
this.dmq1 = e.dmq1,
|
||
this.coeff = e.coeff)
|
||
}
|
||
;
|
||
var Qn = function(e) {
|
||
pn.call(this),
|
||
e && ("string" == typeof e ? this.parseKey(e) : (this.hasPrivateKeyProperty(e) || this.hasPublicKeyProperty(e)) && this.parsePropertiesFrom(e))
|
||
};
|
||
Qn.prototype = new pn,
|
||
Qn.prototype.constructor = Qn;
|
||
var Jn = function(e) {
|
||
e = e || {},
|
||
this.default_key_size = parseInt(e.default_key_size) || 1024,
|
||
this.default_public_exponent = e.default_public_exponent || "010001",
|
||
this.log = e.log || !1,
|
||
this.key = null
|
||
};
|
||
Jn.prototype.setKey = function(e) {
|
||
this.log && this.key && console.warn("A key was already set, overriding existing."),
|
||
this.key = new Qn(e)
|
||
}
|
||
,
|
||
Jn.prototype.setPrivateKey = function(e) {
|
||
this.setKey(e)
|
||
}
|
||
,
|
||
Jn.prototype.setPublicKey = function(e) {
|
||
this.setKey(e)
|
||
}
|
||
,
|
||
Jn.prototype.decrypt = function(e) {
|
||
try {
|
||
return this.getKey().decrypt(Cn(e))
|
||
} catch (t) {
|
||
return !1
|
||
}
|
||
}
|
||
,
|
||
Jn.prototype.encrypt = function(e) {
|
||
try {
|
||
return En(this.getKey().encrypt(e))
|
||
} catch (t) {
|
||
return !1
|
||
}
|
||
}
|
||
,
|
||
Jn.prototype.getKey = function(e) {
|
||
if (!this.key) {
|
||
if (this.key = new Qn,
|
||
e && "[object Function]" === {}.toString.call(e))
|
||
return void this.key.generateAsync(this.default_key_size, this.default_public_exponent, e);
|
||
this.key.generate(this.default_key_size, this.default_public_exponent)
|
||
}
|
||
return this.key
|
||
}
|
||
,
|
||
Jn.prototype.getPrivateKey = function() {
|
||
return this.getKey().getPrivateKey()
|
||
}
|
||
,
|
||
Jn.prototype.getPrivateKeyB64 = function() {
|
||
return this.getKey().getPrivateBaseKeyB64()
|
||
}
|
||
,
|
||
Jn.prototype.getPublicKey = function() {
|
||
return this.getKey().getPublicKey()
|
||
}
|
||
,
|
||
Jn.prototype.getPublicKeyB64 = function() {
|
||
return this.getKey().getPublicBaseKeyB64()
|
||
}
|
||
,
|
||
e.JSEncrypt = Jn
|
||
}(passport.lib.RSAExport),
|
||
passport.lib.RSA = passport.lib.RSAExport.JSEncrypt;
|
||
var passport = passport || window.passport || {};
|
||
passport.err = passport.err || {},
|
||
function(e) {
|
||
var t = null
|
||
, n = ""
|
||
, i = new RegExp("(^|&)lang=([^&]*)(&|$)","i")
|
||
, o = window.location.search.substr(1).match(i);
|
||
null != o && (n = unescape(o[2])),
|
||
t = "function" === (typeof e.getCurrent).toLowerCase() ? e.getCurrent() : {
|
||
errMsg: {},
|
||
labelText: {}
|
||
};
|
||
var s = {
|
||
"zh-CN": {
|
||
"-1": {
|
||
msg: '系统错误,请您稍后再试,<a href="http://passport.baidu.com/v2/?ucenterfeedback#{urldata}#login" target="_blank">帮助中心</a>',
|
||
field: ""
|
||
},
|
||
1: {
|
||
msg: "您输入的帐号格式不正确",
|
||
field: "userName"
|
||
},
|
||
2: {
|
||
msg: '用户名或密码有误,请重新输入或<a href="http://passport.baidu.com/?getpassindex#{urldata}" target="_blank" >找回密码</a>',
|
||
field: "userName"
|
||
},
|
||
3: {
|
||
msg: "验证码不存在或已过期,请重新输入",
|
||
field: ""
|
||
},
|
||
4: {
|
||
msg: "帐号或密码错误,请重新输入或者<a href='http://passport.baidu.com/?getpassindex#{urldata}' target='_blank' >找回密码</a>",
|
||
field: "password"
|
||
},
|
||
5: {
|
||
msg: "",
|
||
field: ""
|
||
},
|
||
6: {
|
||
msg: "您输入的验证码有误",
|
||
field: "verifyCode"
|
||
},
|
||
7: {
|
||
msg: "用户名或密码有误,请重新输入或<a href='http://passport.baidu.com/?getpassindex#{urldata}' target='_blank' >找回密码</a>",
|
||
field: "password"
|
||
},
|
||
16: {
|
||
msg: '您的帐号因安全问题已被限制登录,<a href="http://passport.baidu.com/v2/?ucenterfeedback#{urldata}#login" target="_blank" >帮助中心</a>',
|
||
field: ""
|
||
},
|
||
257: {
|
||
msg: "请输入验证码",
|
||
field: "verifyCode"
|
||
},
|
||
100027: {
|
||
msg: "百度正在进行系统升级,暂时不能提供服务,敬请谅解",
|
||
field: ""
|
||
},
|
||
120016: {
|
||
msg: "",
|
||
field: ""
|
||
},
|
||
18: {
|
||
msg: "",
|
||
field: ""
|
||
},
|
||
19: {
|
||
msg: "",
|
||
field: ""
|
||
},
|
||
20: {
|
||
msg: "",
|
||
field: ""
|
||
},
|
||
21: {
|
||
msg: "没有登录权限",
|
||
field: ""
|
||
},
|
||
22: {
|
||
msg: "",
|
||
field: ""
|
||
},
|
||
23: {
|
||
msg: "",
|
||
field: ""
|
||
},
|
||
24: {
|
||
msg: "百度正在进行系统升级,暂时不能提供服务,敬请谅解",
|
||
field: ""
|
||
},
|
||
400031: {
|
||
msg: "请在弹出的窗口操作,或重新登录",
|
||
field: ""
|
||
},
|
||
400032: {
|
||
msg: "",
|
||
field: ""
|
||
},
|
||
400034: {
|
||
msg: "",
|
||
field: ""
|
||
},
|
||
401007: {
|
||
msg: "您的手机号关联了其他帐号,请选择登录",
|
||
field: ""
|
||
},
|
||
120021: {
|
||
msg: "登录失败,请在弹出的窗口操作,或重新登录",
|
||
field: ""
|
||
},
|
||
500010: {
|
||
msg: "登录过于频繁,请24小时后再试",
|
||
field: ""
|
||
},
|
||
200010: {
|
||
msg: "验证码不存在或已过期",
|
||
field: ""
|
||
},
|
||
100005: {
|
||
msg: "系统错误,请您稍后再试",
|
||
field: ""
|
||
},
|
||
120019: {
|
||
msg: "请在弹出的窗口操作,或重新登录",
|
||
field: "userName"
|
||
},
|
||
110024: {
|
||
msg: "此帐号暂未激活,<a href='#{gotourl}' >重发验证邮件</a>",
|
||
field: ""
|
||
},
|
||
100023: {
|
||
msg: "系统升级中,为了您的帐号安全,您可以使用二维码登录或者更换其他浏览器继续登录",
|
||
field: ""
|
||
},
|
||
17: {
|
||
msg: '您的帐号已锁定,请<a href="http://passport.baidu.com/v2/?ucenterfeedback#login_10" target="_blank">解锁</a>后登录',
|
||
field: "userName"
|
||
},
|
||
400401: {
|
||
msg: "",
|
||
field: ""
|
||
},
|
||
400037: {
|
||
msg: "",
|
||
field: ""
|
||
},
|
||
50023: {
|
||
msg: "1个手机号30日内最多换绑3个账号",
|
||
field: ""
|
||
},
|
||
50024: {
|
||
msg: "注册过于频繁,请稍候再试",
|
||
field: ""
|
||
},
|
||
50025: {
|
||
msg: "注册过于频繁,请稍候再试;也可以通过上行短信的方式进行注册",
|
||
field: ""
|
||
},
|
||
50028: {
|
||
msg: '帐号或密码多次输错,请3个小时之后再试或<a href="http://passport.baidu.com/?getpassindex&getpassType=financePwdError#{urldata}" target="_blank">找回密码</a>',
|
||
field: ""
|
||
},
|
||
50029: {
|
||
msg: '帐号或密码多次输错,请3个小时之后再试或<a href="http://passport.baidu.com/?getpassindex&getpassType=pwdError#{urldata}" target="_blank">找回密码</a>',
|
||
field: ""
|
||
},
|
||
400714: {
|
||
msg: '系统检测你的帐号疑似被盗,存在安全风险<a href="http://passport.baidu.com/?getpassindex&getpassType=pwdError#{urldata}" target="_blank">请重置密码</a>',
|
||
field: ""
|
||
},
|
||
50030: {
|
||
msg: "抱歉,该手机号的申请次数已达当日上限,请更换手机号",
|
||
field: ""
|
||
},
|
||
50031: {
|
||
msg: "抱歉,该手机号的申请次数已达当月上限,请更换手机号",
|
||
field: ""
|
||
},
|
||
50032: {
|
||
msg: "抱歉,该手机号的申请次数已达本季度上限,请更换手机号",
|
||
field: ""
|
||
},
|
||
50035: {
|
||
msg: "系统错误,请您稍后再试(50035)",
|
||
field: ""
|
||
},
|
||
400413: {
|
||
msg: "",
|
||
field: ""
|
||
},
|
||
400414: {
|
||
msg: "",
|
||
field: ""
|
||
},
|
||
400415: {
|
||
msg: "帐号存在风险,为了您的帐号安全,请到百度钱包/理财/地图任一APP登录并完成验证,谢谢",
|
||
field: ""
|
||
},
|
||
400500: {
|
||
msg: "您登录的帐号已注销,请登录其他帐号或重新注册",
|
||
field: ""
|
||
},
|
||
72200: {
|
||
msg: "您的帐号因冻结暂时无法登录,请前往冻结时的手机APP,在登录页点击遇到问题进行解冻",
|
||
field: ""
|
||
},
|
||
96001: {
|
||
msg: "您的帐号因违反百度用户协议被限制登录",
|
||
field: ""
|
||
},
|
||
100060: {
|
||
msg: "因系统升级暂不支持注册,预计6月7日恢复服务",
|
||
field: ""
|
||
},
|
||
400702: {
|
||
msg: "该帐号已关闭手机号登录,请使用帐号密码登录",
|
||
field: ""
|
||
},
|
||
400704: {
|
||
msg: "",
|
||
field: ""
|
||
},
|
||
400706: {
|
||
msg: "",
|
||
field: ""
|
||
},
|
||
50043: {
|
||
msg: "当前浏览器版本过低,请升级或更换浏览器后重试",
|
||
field: ""
|
||
},
|
||
923002: {
|
||
msg: "当前身份证无法识别",
|
||
field: ""
|
||
},
|
||
97101: {
|
||
msg: "系统繁忙,请稍候再试",
|
||
field: ""
|
||
},
|
||
400703: {
|
||
msg: "手机号已被运营商二次放号,请前往https://passport.baidu.com/v2/?reg注册新帐号",
|
||
field: ""
|
||
},
|
||
50045: {
|
||
msg: "您的手机因安全问题已被限制"
|
||
},
|
||
50046: {
|
||
msg: "您的ip因安全问题已被限制"
|
||
},
|
||
50044: {
|
||
msg: "您的网络环境存在安全风险,请切换网络重试"
|
||
},
|
||
50047: {
|
||
msg: "暂不支持海外及港澳台地区注册"
|
||
},
|
||
50048: {
|
||
msg: "您当前的操作存在安全风险,请稍后再试"
|
||
},
|
||
26: {
|
||
msg: "暂不支持海外及港澳台地区注册"
|
||
},
|
||
100073: {
|
||
msg: "网盘帐号系统正在升级,现暂停新帐号注册,将于2月28日恢复开放,对此给您带来不便深表歉意!"
|
||
},
|
||
400012: {
|
||
msg: '您的帐号因违反百度用户协议被限制登录<a href="https://zhiqiu.baidu.com/imcswebchat/roulette/in?id=48907&token=m75585l8ssgl520b862a2588nm1j91oc&domainID=pass&type=2"> 去申诉</a>'
|
||
},
|
||
400044: {
|
||
msg: '您的帐号因违反百度用户协议被限制登录<a href="https://zhiqiu.baidu.com/imcswebchat/roulette/in?id=48907&token=m75585l8ssgl520b862a2588nm1j91oc&domainID=pass&type=2"> 去申诉</a>'
|
||
}
|
||
},
|
||
zh_HK: {
|
||
"-1": {
|
||
msg: '系統錯誤,請您稍後再試,<a href="http://passport.baidu.com/v2/?ucenterfeedback#{urldata}#login" target="_blank">幫助中心</a>',
|
||
field: ""
|
||
},
|
||
1: {
|
||
msg: "您輸入的帳號格式不正確",
|
||
field: "userName"
|
||
},
|
||
2: {
|
||
msg: '用戶名或密碼有誤,請重新輸入或<a href="http://passport.baidu.com/?getpassindex#{urldata}" target="_blank" >找回密碼</a>',
|
||
field: "userName"
|
||
},
|
||
3: {
|
||
msg: "驗證碼不存在或已過期,請重新輸入",
|
||
field: ""
|
||
},
|
||
4: {
|
||
msg: "帳號或密碼錯誤,請重新輸入或者<a href='http://passport.baidu.com/?getpassindex#{urldata}' target='_blank' >找回密碼</a>",
|
||
field: "password"
|
||
},
|
||
5: {
|
||
msg: "",
|
||
field: ""
|
||
},
|
||
6: {
|
||
msg: "您輸入的驗證碼有誤",
|
||
field: "verifyCode"
|
||
},
|
||
7: {
|
||
msg: "用戶名或密碼有誤,請重新輸入或<a href='http://passport.baidu.com/?getpassindex#{urldata}' target='_blank' >找回密碼</a>",
|
||
field: "password"
|
||
},
|
||
16: {
|
||
msg: '您的帳號因安全問題已被限制登錄,<a href="http://passport.baidu.com/v2/?ucenterfeedback#{urldata}#login" target="_blank" >幫助中心</a>',
|
||
field: ""
|
||
},
|
||
257: {
|
||
msg: "請輸入驗證碼",
|
||
field: "verifyCode"
|
||
},
|
||
100027: {
|
||
msg: "百度正在進行系統升級,暫時不能提供服務,敬請諒解",
|
||
field: ""
|
||
},
|
||
120016: {
|
||
msg: "",
|
||
field: ""
|
||
},
|
||
18: {
|
||
msg: "",
|
||
field: ""
|
||
},
|
||
19: {
|
||
msg: "",
|
||
field: ""
|
||
},
|
||
20: {
|
||
msg: "",
|
||
field: ""
|
||
},
|
||
21: {
|
||
msg: "沒有登錄權限",
|
||
field: ""
|
||
},
|
||
22: {
|
||
msg: "",
|
||
field: ""
|
||
},
|
||
23: {
|
||
msg: "",
|
||
field: ""
|
||
},
|
||
24: {
|
||
msg: "百度正在進行系統升級,暫時不能提供服務,敬請諒解",
|
||
field: ""
|
||
},
|
||
400031: {
|
||
msg: "請在彈出的窗口操作,或重新登錄",
|
||
field: ""
|
||
},
|
||
400032: {
|
||
msg: "",
|
||
field: ""
|
||
},
|
||
400034: {
|
||
msg: "",
|
||
field: ""
|
||
},
|
||
401007: {
|
||
msg: "您的手機號關聯了其他帳號,請選擇登錄",
|
||
field: ""
|
||
},
|
||
120021: {
|
||
msg: "登錄失敗,請在彈出的窗口操作,或重新登錄",
|
||
field: ""
|
||
},
|
||
500010: {
|
||
msg: "登錄過於頻繁,請24小時後再試",
|
||
field: ""
|
||
},
|
||
200010: {
|
||
msg: "驗證碼不存在或已過期",
|
||
field: ""
|
||
},
|
||
100005: {
|
||
msg: "系統錯誤,請您稍後再試",
|
||
field: ""
|
||
},
|
||
120019: {
|
||
msg: "請在彈出的窗口操作,或重新登錄",
|
||
field: "userName"
|
||
},
|
||
110024: {
|
||
msg: "此帳號暫未激活,<a href='#{gotourl}' >重發驗證郵件</a>",
|
||
field: ""
|
||
},
|
||
100023: {
|
||
msg: "系統升級中,為了您的帳號安全,您可以使用二維碼登錄或者更換其他瀏覽器繼續登錄",
|
||
field: ""
|
||
},
|
||
17: {
|
||
msg: '您的帳號已鎖定,請<a href="http://passport.baidu.com/v2/?ucenterfeedback#login_10" target="_blank">解鎖</a>後登錄',
|
||
field: "userName"
|
||
},
|
||
400401: {
|
||
msg: "",
|
||
field: ""
|
||
},
|
||
400037: {
|
||
msg: "",
|
||
field: ""
|
||
},
|
||
50023: {
|
||
msg: "1個手機號30日內最多換綁3個賬號",
|
||
field: ""
|
||
},
|
||
50024: {
|
||
msg: "註冊過於頻繁,請稍候再試",
|
||
field: ""
|
||
},
|
||
50025: {
|
||
msg: "註冊過於頻繁,請稍候再試;也可以通過上行短信的方式進行註冊",
|
||
field: ""
|
||
},
|
||
50028: {
|
||
msg: '帳號或密碼多次輸錯,請3個小時之後再試或<a href="http://passport.baidu.com/?getpassindex&getpassType=financePwdError#{urldata}" target="_blank">找回密碼</a>',
|
||
field: ""
|
||
},
|
||
50029: {
|
||
msg: '帳號或密碼多次輸錯,請3個小時之後再試或<a href="http://passport.baidu.com/?getpassindex&getpassType=pwdError#{urldata}" target="_blank">找回密碼</a>',
|
||
field: ""
|
||
},
|
||
400714: {
|
||
msg: '系統檢測你的帳號疑似被盜,存在安全風險<a href="http://passport.baidu.com/?getpassindex&getpassType=pwdError#{urldata}" target="_blank">請重置密碼</a>',
|
||
field: ""
|
||
},
|
||
50030: {
|
||
msg: "抱歉,該手機號的申請次數已達當日上限,請更換手機號",
|
||
field: ""
|
||
},
|
||
50031: {
|
||
msg: "抱歉,該手機號的申請次數已達當月上限,請更換手機號",
|
||
field: ""
|
||
},
|
||
50032: {
|
||
msg: "抱歉,該手機號的申請次數已達本季度上限,請更換手機號",
|
||
field: ""
|
||
},
|
||
50035: {
|
||
msg: "系統錯誤,請您稍後再試(50035)",
|
||
field: ""
|
||
},
|
||
400413: {
|
||
msg: "",
|
||
field: ""
|
||
},
|
||
400414: {
|
||
msg: "",
|
||
field: ""
|
||
},
|
||
400415: {
|
||
msg: "帳號存在風險,為了您的帳號安全,請到百度錢包/理財/地圖任一APP登錄並完成驗證,謝謝",
|
||
field: ""
|
||
},
|
||
400500: {
|
||
msg: "您登錄的帳號已註銷,請登錄其他帳號或重新註冊",
|
||
field: ""
|
||
},
|
||
72200: {
|
||
msg: "您的帳號因凍結暫時無法登錄,請前往凍結時的手機APP,在登錄頁點擊遇到問題進行解凍",
|
||
field: ""
|
||
},
|
||
96001: {
|
||
msg: "您的帳號因違反百度用戶協議被限制登錄",
|
||
field: ""
|
||
},
|
||
100060: {
|
||
msg: "因系統升級暫不支持註冊,預計6月7日恢復服務",
|
||
field: ""
|
||
},
|
||
400702: {
|
||
msg: "該帳號已關閉手機號登錄,請使用帳號密碼登錄",
|
||
field: ""
|
||
},
|
||
400704: {
|
||
msg: "",
|
||
field: ""
|
||
},
|
||
400706: {
|
||
msg: "",
|
||
field: ""
|
||
},
|
||
50043: {
|
||
msg: "當前瀏覽器版本過低,請升級或更換瀏覽器後重試",
|
||
field: ""
|
||
},
|
||
923002: {
|
||
msg: "當前身份證無法識別",
|
||
field: ""
|
||
},
|
||
97101: {
|
||
msg: "系統繁忙,請稍候再試",
|
||
field: ""
|
||
},
|
||
400703: {
|
||
msg: "手機號已被運營商二次放號,請前往https://passport.baidu.com/v2/?reg註冊新帳號",
|
||
field: ""
|
||
},
|
||
50045: {
|
||
msg: "您的手機因安全問題已被限制"
|
||
},
|
||
50046: {
|
||
msg: "您的ip因安全問題已被限制"
|
||
},
|
||
50044: {
|
||
msg: "您的網絡環境存在安全風險,請切換網絡重試"
|
||
},
|
||
50047: {
|
||
msg: "暫不支持海外及港澳臺地區註冊"
|
||
},
|
||
50048: {
|
||
msg: "您當前的操作存在安全風險,請稍後再試"
|
||
},
|
||
26: {
|
||
msg: "暫不支持海外及港澳臺地區註冊"
|
||
},
|
||
100073: {
|
||
msg: "網盤帳號系統正在升級,現暫停新帳號註冊,將於2月28日恢復開放,對此給您帶來不便深表歉意!"
|
||
},
|
||
400012: {
|
||
msg: '您的帳號因違反百度用戶協議被限制登錄<a href="https://zhiqiu.baidu.com/imcswebchat/roulette/in?id=48907&token=m75585l8ssgl520b862a2588nm1j91oc&domainID=pass&type=2"> 去申訴</a>'
|
||
},
|
||
400044: {
|
||
msg: '您的帳號因違反百度用戶協議被限制登錄<a href="https://zhiqiu.baidu.com/imcswebchat/roulette/in?id=48907&token=m75585l8ssgl520b862a2588nm1j91oc&domainID=pass&type=2"> 去申訴</a>'
|
||
}
|
||
}
|
||
}
|
||
, a = {
|
||
"zh-CN": {
|
||
500002: {
|
||
msg: "您输入的验证码有误",
|
||
field: "verifyCode"
|
||
},
|
||
500018: {
|
||
msg: "验证码已失效,请重试",
|
||
field: "verifyCode"
|
||
}
|
||
},
|
||
zh_HK: {
|
||
500002: {
|
||
msg: "您輸入的驗證碼有誤",
|
||
field: "verifyCode"
|
||
},
|
||
500018: {
|
||
msg: "驗證碼已失效,請重試",
|
||
field: "verifyCode"
|
||
}
|
||
}
|
||
}
|
||
, r = {
|
||
"zh-CN": {
|
||
agree: "阅读并接受",
|
||
baiduUserProtocal: "百度用户协议",
|
||
baiduUserPersonal: "隐私政策",
|
||
baiduUsePassport: "百度帐号使用说明",
|
||
verifyCode: "验证码",
|
||
verifyCodeStaErr: "您输入的验证码有误",
|
||
verifyCodeLenErr: "您输入的验证码有误",
|
||
unReceiveSmsCode: "收不到短信验证码?",
|
||
captcha: "验证码",
|
||
captchaAlt: "验证码图片",
|
||
captchaChange: "换一张",
|
||
memberPassLabel: "下次自动登录",
|
||
login: "登录",
|
||
fgtPwd: "忘记密码?",
|
||
feedback: "帮助中心",
|
||
register: "立即注册",
|
||
phoneNum: "手机号",
|
||
account: "邮箱",
|
||
userName: "手机号/用户名/邮箱",
|
||
password: "密码",
|
||
passwordResetWarnNo: '用户名或密码有误,请重新输入或<a href="http://passport.baidu.com/?getpassindex#{urldata}" target="_blank" >找回密码</a>',
|
||
passwordResetSms: '<a id="passwordResetSms">短信登录</a>,或者',
|
||
passwordResetWarn: '用户名或密码有误,请重新输入或<a href="http://passport.baidu.com/?getpassindex#{urldata}" target="_blank" >找回密码</a>',
|
||
passwordResetIn: "个月以内",
|
||
passwordResetOut: "个月以前",
|
||
unameMailLengthError: "邮箱过长,请重新输入",
|
||
unameInputError: "邮箱格式错误,若未绑定邮箱,请使用用户名登录",
|
||
smsPhone: "手机号",
|
||
smsPhoneMsg: "请输入手机号",
|
||
smsVerifyPlaceholder: "验证码",
|
||
smsVerifyCode: "验证码",
|
||
toSmsBtn: "短信快捷登录",
|
||
logining: "登录中...",
|
||
loginsuccess: "登录成功",
|
||
submitTimeup: "登录超时,请稍后再试",
|
||
backToLogin: "用户名密码登录",
|
||
footerBackToLogin: "用户名登录",
|
||
qrcodeTitle: "请使用",
|
||
qrcodeHref: '<a class="pass-link" href="https://mo.baidu.com/wuxian/?from=1019447z" target="new">百度App</a>',
|
||
qrcodeText: "扫码登录",
|
||
qrcodeMsg: "百度技术加密,保障您的隐私安全",
|
||
qrcodeListaq: "安全",
|
||
qrcodeListgx: "高效",
|
||
qrcodeListbj: "便捷",
|
||
appName: "百度App",
|
||
appHref: "http://xbox.m.baidu.com/mo/",
|
||
sysError: "系统错误,休息一会儿,请稍后再试",
|
||
sysUpdate: "服务正在升级中,请您稍后再试",
|
||
cookieDisable: "开启Cookie之后才能登录,<a href='http://passport.baidu.com/v2/?ucenterfeedback#login' target='_blank' >如何开启</a>?",
|
||
captchaErr: "动态密码错误",
|
||
confirmVerCodeEmpty: "验证码为空",
|
||
foreignToLogin: "帐号密码登录",
|
||
foreignMobileError: "手机号码格式不正确",
|
||
foreignMobileMsg: "<span>请选择您的国家地区</span>",
|
||
foreignMobileLink: "海外手机号",
|
||
phoenixBtn: "第三方登录",
|
||
qrcodeBtn: "扫码登录",
|
||
QrcodeSuccessTip: "扫描成功",
|
||
QrcodeSuccessMsg: "请在手机端确认登录",
|
||
QrcodeErrorTip: "网络连接失败",
|
||
QrcodeErrorMsg: "请稍候再试",
|
||
QrcodeRefreshTip: "二维码已失效",
|
||
QrcodeRefreshBtn: "点击刷新",
|
||
QrcodeLoadTip: "二维码加载失败",
|
||
nopassLead: '该帐号尚未设置密码,请先<a href="http://passport.baidu.com/?getpassindex" target="_blank" >设置密码</a>后在登录',
|
||
resend: "重新发送",
|
||
userNameLogin: "用户名登录",
|
||
emailLogin: "邮箱登录",
|
||
forgetEmail: "忘记邮箱?使用",
|
||
fillPhonePls: "请填写手机号",
|
||
userNameTitle: "用户名",
|
||
smsLogin: "短信登录",
|
||
fillVerifyCodePls: "请填写验证码",
|
||
forgetUserName: "忘记用户名?使用",
|
||
verifyEqualLogin: "验证即登录,未注册将自动创建百度帐号",
|
||
cantReceiveSms: "收不到验证码",
|
||
checkIfBlocked: "1.请检查短信是否被安全软件拦截",
|
||
overTimeArrive: "2.运营商网络原因,短信可能延迟到达",
|
||
reguest: "建议您",
|
||
switchLoginMethod: "切换登录方式",
|
||
usePhoneSendSms: "使用该手机号,编辑短信",
|
||
shouldLogSuccess: "即可登录成功",
|
||
introductSms: "(短信费用请参考运营商资费标准)",
|
||
rule1: "建议使用当前手机号,编辑短信 8-14 位字符(支持数字/字母/符号),",
|
||
rule2: "作为登录密码,发送至1069 0691 036590,即可注册成功",
|
||
mainland: "大陆地区"
|
||
},
|
||
zh_HK: {
|
||
agree: "閱讀並接受",
|
||
baiduUserProtocal: "百度用戶協議",
|
||
baiduUserPersonal: "隱私政策",
|
||
baiduUsePassport: "百度帳號使用說明",
|
||
verifyCode: "驗證碼",
|
||
verifyCodeStaErr: "您輸入的驗證碼有誤",
|
||
verifyCodeLenErr: "您輸入的驗證碼有誤",
|
||
unReceiveSmsCode: "收不到短信驗證碼?",
|
||
captcha: "驗證碼",
|
||
captchaAlt: "驗證碼圖片",
|
||
captchaChange: "換一張",
|
||
memberPassLabel: "下次自動登錄",
|
||
login: "登錄",
|
||
fgtPwd: "忘記密碼?",
|
||
feedback: "幫助中心",
|
||
register: "立即註冊",
|
||
phoneNum: "手機號",
|
||
account: "郵箱",
|
||
userName: "手機/郵箱/用戶名",
|
||
password: "密碼",
|
||
passwordResetWarnNo: '用戶名或密碼有誤,請重新輸入或<a href="http://passport.baidu.com/?getpassindex#{urldata}" target="_blank" >找回密碼</a>',
|
||
passwordResetSms: '<a id="passwordResetSms">短信登錄</a>,或者',
|
||
passwordResetWarn: '用戶名或密碼有誤,請重新輸入或<a href="http://passport.baidu.com/?getpassindex#{urldata}" target="_blank" >找回密碼</a>',
|
||
passwordResetIn: "個月以內",
|
||
passwordResetOut: "個月以前",
|
||
unameMailLengthError: "郵箱過長,請重新輸入",
|
||
unameInputError: "郵箱格式錯誤,若未綁定郵箱,請使用用戶名登錄",
|
||
smsPhone: "手機號",
|
||
smsPhoneMsg: "請輸入手機號",
|
||
smsVerifyPlaceholder: "驗證碼",
|
||
smsVerifyCode: "驗證碼",
|
||
toSmsBtn: "短信快捷登錄",
|
||
logining: "登錄中...",
|
||
loginsuccess: "登錄成功",
|
||
submitTimeup: "登錄超時,請稍後再試",
|
||
backToLogin: "用戶名密碼登錄",
|
||
footerBackToLogin: "用戶名登錄",
|
||
qrcodeTitle: "請使用",
|
||
qrcodeHref: '<a class="pass-link" href="https://mo.baidu.com/wuxian/?from=1019447z" target="new">百度App</a>',
|
||
qrcodeText: "掃碼登錄",
|
||
qrcodeMsg: "百度技術加密,保障您的隱私安全",
|
||
qrcodeListaq: "安全",
|
||
qrcodeListgx: "高效",
|
||
qrcodeListbj: "便捷",
|
||
appName: "百度App",
|
||
appHref: "http://xbox.m.baidu.com/mo/",
|
||
sysError: "系統錯誤,休息一會兒,請稍後再試",
|
||
sysUpdate: "服務正在升級中,請您稍後再試",
|
||
cookieDisable: "開啟Cookie之後才能登錄,<a href='http://passport.baidu.com/v2/?ucenterfeedback#login' target='_blank' >如何開啟</a>?",
|
||
captchaErr: "動態密碼錯誤",
|
||
confirmVerCodeEmpty: "驗證碼為空",
|
||
foreignToLogin: "帳號密碼登錄",
|
||
foreignMobileError: "手機號碼格式不正確",
|
||
foreignMobileMsg: "<span>請選擇您的國家地區</span>",
|
||
foreignMobileLink: "海外手機號",
|
||
phoenixBtn: "第三方登錄",
|
||
qrcodeBtn: "掃碼登錄",
|
||
QrcodeSuccessTip: "掃描成功",
|
||
QrcodeSuccessMsg: "請在手機端確認登錄",
|
||
QrcodeErrorTip: "網絡連接失敗",
|
||
QrcodeErrorMsg: "請稍候再試",
|
||
QrcodeRefreshTip: "二維碼已失效",
|
||
QrcodeRefreshBtn: "點擊刷新",
|
||
QrcodeLoadTip: "二維碼加載失敗",
|
||
nopassLead: '該帳號尚未設置密碼,請先<a href="http://passport.baidu.com/?getpassindex" target="_blank" >設置密碼</a>後在登錄',
|
||
resend: "重新發送",
|
||
userNameLogin: "用戶名登錄",
|
||
emailLogin: "郵箱登錄",
|
||
forgetEmail: "忘記郵箱?使用",
|
||
fillPhonePls: "請填寫手機號",
|
||
userNameTitle: "用戶名",
|
||
smsLogin: "短信登錄",
|
||
fillVerifyCodePls: "請填寫驗證碼",
|
||
forgetUserName: "忘記用戶名?使用",
|
||
verifyEqualLogin: "驗證即登錄,未註冊將自動創建百度帳號",
|
||
cantReceiveSms: "收不到驗證碼",
|
||
checkIfBlocked: "1.請檢查短信是否被安全軟件攔截",
|
||
overTimeArrive: "2.運營商網絡原因,短信可能延遲到達",
|
||
reguest: "建議您",
|
||
switchLoginMethod: "切換登錄方式",
|
||
usePhoneSendSms: "使用該手機號,編輯短信",
|
||
shouldLogSuccess: "即可登錄成功",
|
||
introductSms: "(短信費用請參考運營商資費標準)",
|
||
rule1: "建議使用當前手機號,編輯短信 8-14 位字符(支持數字/字母/符號),",
|
||
rule2: "作為登錄密碼,發送至1069 0691 036590,即可註冊成功",
|
||
mainland: "大陸地區"
|
||
}
|
||
}
|
||
, c = {
|
||
"zh-CN": {
|
||
bindAction16: "您的帐号存在安全风险,我们已经为您采取保护策略,建议您先绑定手机。",
|
||
bindAction32: "快来绑定密保工具吧,提升帐号安全性的同时可以快速找回密码。",
|
||
bindAction34: "请绑定您的手机号码作为您的密保手机,提升帐号安全性的同时还可以快速找回密码。",
|
||
bindAction: "请绑定一个您的常用邮箱作为您的密保邮箱,提升帐号安全性的同时还可以快速找回密码。",
|
||
getWarnHtml: "系统检测到您的帐号疑似被盗,存在安全风险。请尽快修改密码。"
|
||
},
|
||
zh_HK: {
|
||
500002: {
|
||
msg: "您輸入的驗證碼有誤",
|
||
field: "verifyCode"
|
||
},
|
||
500018: {
|
||
msg: "驗證碼已失效,請重試",
|
||
field: "verifyCode"
|
||
}
|
||
}
|
||
}
|
||
, l = {
|
||
"zh-CN": {
|
||
agree: "阅读并同意",
|
||
user: "《百度用户协议》",
|
||
personal: "《隐私政策》",
|
||
passUse: "《百度帐号使用说明》"
|
||
},
|
||
zh_HK: {
|
||
agree: "閱讀並同意",
|
||
user: "《百度用戶協議》",
|
||
personal: "《隱私政策》",
|
||
passUse: "《百度帳號使用說明》"
|
||
}
|
||
};
|
||
e.getCurrent = function(e) {
|
||
var i = "zh_HK" === n ? "zh_HK" : "zh-CN"
|
||
, o = e ? e : i;
|
||
return t.errMsg.login = s[o],
|
||
t.errMsg.checkVerifycode = a[o],
|
||
t.labelText.login = r[o],
|
||
t.agreements = l[o],
|
||
t.hooksText = c[o],
|
||
t
|
||
}
|
||
}(passport.err);
|
||
var passport = passport || window.passport || {};
|
||
passport.data = passport.data || {},
|
||
function(e) {
|
||
function t(e) {
|
||
this._requests = [],
|
||
this._value = null,
|
||
this._exception = null,
|
||
this._isComplete = !1;
|
||
var t = this;
|
||
e(function(e) {
|
||
t._fulfillPromise(e)
|
||
}, function(e) {
|
||
t._breakPromise(e)
|
||
})
|
||
}
|
||
function n(e, t, n) {
|
||
return t ? n ? function(n) {
|
||
return n = n || {},
|
||
l.submit(d + t, i(n, e, g[e], m[e], !0), {
|
||
charset: "utf-8",
|
||
processData: function(t) {
|
||
if (t)
|
||
for (var n in t)
|
||
if (t.hasOwnProperty(n)) {
|
||
var i = t[n];
|
||
i && (t[n] = decodeURIComponent(i))
|
||
}
|
||
return o(e, t)
|
||
}
|
||
})
|
||
}
|
||
: function(n) {
|
||
return l.jsonp(d + t, i(n, e, g[e], m[e], !1), {
|
||
charset: "utf-8",
|
||
processData: function(t) {
|
||
return o(e, t)
|
||
}
|
||
})
|
||
}
|
||
: r
|
||
}
|
||
function i(e, t, n, i, o) {
|
||
var s = o ? {
|
||
staticpage: _.staticPage,
|
||
charset: _.charset || document.characterSet || document.charset || ""
|
||
} : {}
|
||
, a = f[t];
|
||
if (a)
|
||
for (var r in a) {
|
||
if (a.hasOwnProperty(r)) {
|
||
var l = a[r];
|
||
s[r] = "function" == typeof l ? l(e) : l
|
||
}
|
||
"verifypass" == r && (s[r] = decodeURIComponent(s[r]))
|
||
}
|
||
if (s.token = _.token || "",
|
||
s.tpl = _.product || "",
|
||
s.subpro = _.subpro || "",
|
||
s.apiver = "v3",
|
||
s.tt = (new Date).getTime(),
|
||
e) {
|
||
n = n || {},
|
||
i = i || {};
|
||
for (var r in e)
|
||
if (e.hasOwnProperty(r)) {
|
||
var d = i[r]
|
||
, u = d ? d(e[r], e) : e[r];
|
||
"string" == typeof u && (o && (u = decodeURIComponent(u)),
|
||
h[r] || (u = c.trim(u))),
|
||
s[n[r] || r.toLowerCase()] = u
|
||
}
|
||
}
|
||
return s
|
||
}
|
||
function o(t, n) {
|
||
if (e && e.traceID && e.traceID.getTraceID && e.traceID.getTraceID(n),
|
||
n) {
|
||
var i = v[t];
|
||
i && i(n);
|
||
var o = n.errInfo
|
||
, a = n
|
||
, r = a;
|
||
return o ? a.errInfo = s(t, o, a) : (o = {
|
||
no: n.err_no,
|
||
msg: n.err_msg || ""
|
||
},
|
||
delete a.err_no,
|
||
delete a.err_msg,
|
||
r = {
|
||
data: a,
|
||
errInfo: s(t, o, a)
|
||
}),
|
||
r
|
||
}
|
||
return n
|
||
}
|
||
function s(e, t) {
|
||
var n = y[b[e] || e];
|
||
if (n && t && 0 != t.no) {
|
||
var i = n[t.no] || n[-1];
|
||
if (i) {
|
||
var o = i.msg;
|
||
t.msg = o,
|
||
t.field = i.field
|
||
}
|
||
}
|
||
return t
|
||
}
|
||
function a(t) {
|
||
if (e && e.traceID && e.traceID.getTraceID && e.traceID.getTraceID(t),
|
||
t) {
|
||
var n = t.errInfo
|
||
, i = t;
|
||
if (!n)
|
||
for (var o in t)
|
||
if (t.hasOwnProperty(o)) {
|
||
var s = t[o];
|
||
s && (t[o] = decodeURIComponent(s))
|
||
}
|
||
n || (n = {
|
||
no: t.err_no,
|
||
msg: t.err_msg || ""
|
||
},
|
||
delete i.err_no,
|
||
delete i.err_msg,
|
||
t = {
|
||
data: i,
|
||
errInfo: n
|
||
})
|
||
}
|
||
return t
|
||
}
|
||
var r = function() {};
|
||
t.prototype = {
|
||
get_isComplete: function() {
|
||
return this._isComplete
|
||
},
|
||
get_value: function() {
|
||
if (!this._isComplete)
|
||
return void 0;
|
||
if (this._exception)
|
||
throw this._exception;
|
||
return this._value
|
||
},
|
||
call: function(e) {
|
||
for (var t = [], n = 0, i = arguments.length - 1; i > n; n++)
|
||
t[n] = arguments[n + 1];
|
||
return this.when(function(n) {
|
||
return n[e].apply(n, t)
|
||
})
|
||
},
|
||
getValue: function(e) {
|
||
return this.when(function(t) {
|
||
return t[e]
|
||
})
|
||
},
|
||
setValue: function(e, t) {
|
||
this.whenOnly(function(n) {
|
||
n[e] = t
|
||
})
|
||
},
|
||
when: function(e, n, i) {
|
||
return t.when(this, e, n, i)
|
||
},
|
||
whenOnly: function(e, n, i) {
|
||
t.whenOnly(this, e, n, i)
|
||
},
|
||
success: function(e, t) {
|
||
return this.when(e, r, t)
|
||
},
|
||
fail: function(e, t) {
|
||
return this.when(r, e, t)
|
||
},
|
||
_enqueueOne: function(e) {
|
||
this._isComplete ? this._notify(e) : this._requests.push(e)
|
||
},
|
||
_notify: function(e) {
|
||
this._exception ? e.breakPromise && e.breakPromise(this._exception) : e.fulfillPromise && e.fulfillPromise(this._value)
|
||
},
|
||
_notifyAll: function() {
|
||
for (var e = 0, t = this._requests.length; t > e; e++)
|
||
this._notify(this._requests[e])
|
||
},
|
||
_fulfillPromise: function(e) {
|
||
this._value = e,
|
||
this._exception = null,
|
||
this._isComplete = !0,
|
||
this._notifyAll()
|
||
},
|
||
_breakPromise: function(e) {
|
||
this._value = null,
|
||
this._exception = e || new Error("An error occured"),
|
||
this._isComplete = !0,
|
||
this._notifyAll()
|
||
}
|
||
},
|
||
t.when = function(e, n, i, o) {
|
||
return new t(function(s, a) {
|
||
t.make(e)._enqueueOne({
|
||
fulfillPromise: function(e) {
|
||
s(n ? n.call(o, e) : e)
|
||
},
|
||
breakPromise: function(e) {
|
||
if (i)
|
||
try {
|
||
s(i.call(o, e))
|
||
} catch (t) {
|
||
a(t)
|
||
}
|
||
else
|
||
a(e)
|
||
}
|
||
})
|
||
}
|
||
)
|
||
}
|
||
,
|
||
t.whenOnly = function(e, n, i, o) {
|
||
t.make(e)._enqueueOne({
|
||
fulfillPromise: function(e) {
|
||
n && n.call(o, e)
|
||
},
|
||
breakPromise: function(e) {
|
||
i && i.call(o, e)
|
||
}
|
||
})
|
||
}
|
||
,
|
||
t.make = function(e) {
|
||
return e instanceof t ? e : t.immediate(e)
|
||
}
|
||
,
|
||
t.immediate = function(e) {
|
||
return new t(function(t) {
|
||
t(e)
|
||
}
|
||
)
|
||
}
|
||
;
|
||
var c = {};
|
||
!function(e) {
|
||
var t = new RegExp("(^[\\s\\t\\xa0\\u3000]+)|([\\u3000\\xa0\\s\\t]+$)","g");
|
||
e.trim = function(e) {
|
||
return String(e).replace(t, "")
|
||
}
|
||
,
|
||
e.getUniqueId = function(e) {
|
||
return e + Math.floor(2147483648 * Math.random()).toString(36)
|
||
}
|
||
,
|
||
e.g = function(e) {
|
||
return e ? "string" == typeof e || e instanceof String ? document.getElementById(e) : !e.nodeName || 1 != e.nodeType && 9 != e.nodeType ? null : e : null
|
||
}
|
||
,
|
||
e.getParent = function(t) {
|
||
return t = e.g(t),
|
||
t.parentElement || t.parentNode || null
|
||
}
|
||
,
|
||
e.encodeHTML = function(e) {
|
||
return String(e).replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'")
|
||
}
|
||
,
|
||
e.array = e.array || {},
|
||
e.array.indexOf = function(e, t, n) {
|
||
var i = e.length;
|
||
for (n = 0 | n,
|
||
0 > n && (n = Math.max(0, i + n)); i > n; n++)
|
||
if (n in e && e[n] === t)
|
||
return n;
|
||
return -1
|
||
}
|
||
,
|
||
e.browser = e.browser || {},
|
||
e.browser.opera = /opera(\/| )(\d+(\.\d+)?)(.+?(version\/(\d+(\.\d+)?)))?/i.test(navigator.userAgent) ? +(RegExp.$6 || RegExp.$2) : void 0,
|
||
e.insertHTML = function(t, n, i) {
|
||
t = e.g(t);
|
||
var o, s;
|
||
return t.insertAdjacentHTML && !e.browser.opera ? t.insertAdjacentHTML(n, i) : (o = t.ownerDocument.createRange(),
|
||
n = n.toUpperCase(),
|
||
"AFTERBEGIN" == n || "BEFOREEND" == n ? (o.selectNodeContents(t),
|
||
o.collapse("AFTERBEGIN" == n)) : (s = "BEFOREBEGIN" == n,
|
||
o[s ? "setStartBefore" : "setEndAfter"](t),
|
||
o.collapse(s)),
|
||
o.insertNode(o.createContextualFragment(i))),
|
||
t
|
||
}
|
||
}(c),
|
||
e.base = c;
|
||
var l = {};
|
||
!function(n) {
|
||
var i = "__bdpp_pstc__" + (new Date).getTime()
|
||
, o = i + "_form"
|
||
, s = i + "_ifr"
|
||
, a = function(e) {
|
||
if ("object" == typeof e) {
|
||
var t = [];
|
||
for (var n in e) {
|
||
var i = e[n];
|
||
if (void 0 !== i && null !== i) {
|
||
t.length && t.push("&");
|
||
var o = encodeURIComponent("boolean" == typeof i ? i ? "1" : "0" : i.toString());
|
||
t.push(encodeURIComponent(n), "=", o)
|
||
}
|
||
}
|
||
return t.join("")
|
||
}
|
||
return "string" == typeof e ? e : null
|
||
}
|
||
, r = function(e, t) {
|
||
if (t = a(t),
|
||
"string" == typeof t) {
|
||
var n = /\?/g.test(e);
|
||
e += (n ? "&" : "?") + a(t)
|
||
}
|
||
return e
|
||
}
|
||
, l = function(e, t, n) {
|
||
e.setAttribute("type", "text/javascript"),
|
||
n && e.setAttribute("charset", n),
|
||
e.setAttribute("src", t),
|
||
document.getElementsByTagName("head")[0].appendChild(e)
|
||
}
|
||
, d = function(e) {
|
||
if (e.clearAttributes)
|
||
e.clearAttributes();
|
||
else
|
||
for (var t in e)
|
||
e.hasOwnProperty(t) && delete e[t];
|
||
e && e.parentNode && e.parentNode.removeChild(e),
|
||
e = null
|
||
}
|
||
, u = function(e, t, n) {
|
||
function i(e) {
|
||
return function() {
|
||
try {
|
||
e ? u.onfailure && u.onfailure() : (t.apply(window, arguments),
|
||
clearTimeout(s)),
|
||
window[o] = null,
|
||
delete window[o]
|
||
} catch (n) {} finally {
|
||
d(a)
|
||
}
|
||
}
|
||
}
|
||
var o, s, a = document.createElement("SCRIPT"), r = "bd__cbs__", u = n || {}, p = u.charset, g = u.queryField || "callback", m = u.timeOut || 0, f = new RegExp("(\\?|&)" + g + "=([^&]*)");
|
||
o = c.getUniqueId(r),
|
||
window[o] = i(0),
|
||
m && (s = setTimeout(i(1), m)),
|
||
e = e.replace(f, "$1" + g + "=" + o),
|
||
e.search(f) < 0 && (e += (e.indexOf("?") < 0 ? "?" : "&") + g + "=" + o),
|
||
l(a, e, p)
|
||
}
|
||
, p = function(e, t) {
|
||
var n = [];
|
||
n.push("<form id='", o, "' target='", s, "' "),
|
||
n.push("action='", c.encodeHTML(e), "' method='post'>");
|
||
var i = {};
|
||
for (var a in t)
|
||
if (t.hasOwnProperty(a)) {
|
||
var r = t[a];
|
||
if (void 0 !== r && null !== r) {
|
||
var l = "boolean" == typeof r ? r ? "1" : "0" : r;
|
||
i[a] = l
|
||
}
|
||
}
|
||
try {
|
||
var d = "OOOO00"
|
||
, u = "OOO00O"
|
||
, p = "OOO000"
|
||
, g = "OOO0OO"
|
||
, m = "O0OOO0"
|
||
, f = {
|
||
OOOOO0: d,
|
||
O00000: u,
|
||
O0O00O: p,
|
||
O000OO: g,
|
||
O0O000: m
|
||
}
|
||
, h = (new Date).getTime() / 1e3
|
||
, v = parseInt(h / 86400, 10) % 5
|
||
, b = [];
|
||
if (Object.keys)
|
||
b = Object.keys(f);
|
||
else {
|
||
b = [];
|
||
for (var y in f)
|
||
b.push(y)
|
||
}
|
||
var _ = f[b[v]] || "";
|
||
window.moonshadV3 && window.moonshadV3[_] && i && (i = baidu.extend(i, window.moonshadV3[_](i)))
|
||
} catch (w) {
|
||
console.log(w)
|
||
}
|
||
for (var a in i)
|
||
i.hasOwnProperty(a) && n.push("<input type='hidden' name='", c.encodeHTML(a), "' value='", c.encodeHTML(i[a]), "' />");
|
||
return n.push("</form>"),
|
||
n.join("")
|
||
}
|
||
, g = function(e, t, n, a) {
|
||
function r(e) {
|
||
return function() {
|
||
try {
|
||
e ? a.onfailure && a.onfailure() : (n.apply(window, arguments),
|
||
d && clearTimeout(d)),
|
||
window[u] = null,
|
||
delete window[u]
|
||
} catch (t) {}
|
||
}
|
||
}
|
||
a = a || {};
|
||
var l = a.timeOut || 0
|
||
, d = !1
|
||
, u = c.getUniqueId("bd__pcbs__");
|
||
t[a.queryField || "callback"] = "parent." + u;
|
||
var g = p(e, t);
|
||
if (c.g(o))
|
||
c.getParent(o).innerHTML = g;
|
||
else {
|
||
var m = [];
|
||
m.push("<div id='", i, "' style='display:none;'>"),
|
||
m.push("<div>", g, "</div>"),
|
||
m.push("<iframe name='", s, "' src='" + ("https:" == (window.location ? window.location.protocol.toLowerCase() : document.location.protocol.toLowerCase()) ? "https://passport.baidu.com/passApi/html/_blank.html" : "about:blank") + "' style='display:none;'></iframe>"),
|
||
m.push("</div>"),
|
||
c.insertHTML(document.body, "beforeEnd", m.join(""))
|
||
}
|
||
window[u] = r(),
|
||
l && (d = setTimeout(r(1), l)),
|
||
c.g(o).submit()
|
||
};
|
||
n.jsonp = function(n, i, o) {
|
||
o = o || {},
|
||
e && e.traceID && e.traceID.createTraceID && (i.traceid = e.traceID.createTraceID());
|
||
var s = {};
|
||
for (var a in i) {
|
||
var c = i[a];
|
||
void 0 !== c && null !== c && (s[a] = c)
|
||
}
|
||
try {
|
||
var l = "OOOO00"
|
||
, d = "OOO00O"
|
||
, p = "OOO000"
|
||
, g = "OOO0OO"
|
||
, m = "O0OOO0"
|
||
, f = {
|
||
OOOOO0: l,
|
||
O00000: d,
|
||
O0O00O: p,
|
||
O000OO: g,
|
||
O0O000: m
|
||
}
|
||
, h = (new Date).getTime() / 1e3
|
||
, v = parseInt(h / 86400, 10) % 5
|
||
, b = [];
|
||
if (Object && Object.keys)
|
||
b = Object.keys(f);
|
||
else {
|
||
b = [];
|
||
for (var y in f)
|
||
b.push(y)
|
||
}
|
||
var _ = f[b[v]] || "";
|
||
window.moonshadV3 && window.moonshadV3[_] && i && (i = baidu.extend(i, window.moonshadV3[_](s, baidu)))
|
||
} catch (w) {
|
||
console.log(w)
|
||
}
|
||
return new t(function(e, t) {
|
||
n = r(n, i),
|
||
u(n, function(t) {
|
||
o.processData && (t = o.processData(t)),
|
||
e && e(t)
|
||
}, {
|
||
charset: o.charset,
|
||
queryField: o.queryField,
|
||
timeOut: o.timeOut,
|
||
onfailure: function() {
|
||
t && t()
|
||
}
|
||
})
|
||
}
|
||
)
|
||
}
|
||
,
|
||
n.submit = function(n, i, o) {
|
||
return e && e.traceID && e.traceID.createTraceID && (i.traceid = e.traceID.createTraceID()),
|
||
n && i ? new t(function(e) {
|
||
g(n, i, function(t) {
|
||
o.processData && (t = o.processData(t)),
|
||
e && e(t)
|
||
}, o)
|
||
}
|
||
) : void 0
|
||
}
|
||
;
|
||
var m = [];
|
||
n.load = function(e) {
|
||
return new t(function(t) {
|
||
var n = m.push(new Image) - 1
|
||
, i = !1
|
||
, o = setTimeout(function() {
|
||
i = !0,
|
||
t && t()
|
||
}, 1e3);
|
||
m[n].onload = function() {
|
||
clearTimeout(o),
|
||
i || t && t(),
|
||
i = !0,
|
||
m[n] = m[n].onload = null
|
||
}
|
||
,
|
||
m[n].src = e
|
||
}
|
||
)
|
||
}
|
||
}(l);
|
||
var d = "https://passport.baidu.com"
|
||
, u = {
|
||
getApiInfo: "/v2/api/?getapi",
|
||
getLoginHistory: "/v2/api/?loginhistory",
|
||
loginCheck: "/v2/api/?logincheck",
|
||
getVerifyCodeStr: "/v2/?reggetcodestr",
|
||
getRegSmsVerifyCodeStr: "/v2/?regsmscodestr",
|
||
checkUserName: "/v2/?regnamesugg",
|
||
checkPassword: "/v2/?regpwdcheck",
|
||
checkMail: "/v2/?regmailcheck",
|
||
isUserNoName: "/v2/api/?ucenteradduname",
|
||
checkPhone: "/v2/?regphonecheck",
|
||
getphonestatus: "/v2/?getphonestatus",
|
||
sendPhoneCode: "/v2/?regphonesend",
|
||
multiBind: "/v2/?multiaccountassociate",
|
||
multiUnbind: "/v2/?multiaccountdisassociate",
|
||
multiCheckUserName: "/v2/?multiaccountusername",
|
||
multiGetaccounts: "/v2/?multiaccountget",
|
||
multiSwitchuser: "/v2/?loginswitch",
|
||
checkVerifycode: "/v2/?checkvcode",
|
||
getRsaKey: "/v2/getpublickey",
|
||
authwidGetverify: "/v2/sapi/authwidgetverify",
|
||
checkIDcard: "/v3/finance/main/idnumcert",
|
||
checkIDcardSecondStep: "/v3/finance/main/upcert",
|
||
checkIDcardAllStep: "/v3/finance/main/idnumcert",
|
||
checkIDcardState: "/v3/finance/main/checkupcert"
|
||
}
|
||
, p = {
|
||
login: "/v2/api/?login",
|
||
reg: "/v2/api/?reg",
|
||
fillUserName: "/v2/api/?ucenteradduname",
|
||
regPhone: "/v2/api/?regphone",
|
||
checkIDcard: "/v3/finance/main/idnumcert",
|
||
checkIDcardSecondStep: "/v3/finance/main/upcert",
|
||
checkIDcardAllStep: "/v3/finance/main/idnumcert",
|
||
getAccessToken: "/v3/login/api/getoauthtoken"
|
||
}
|
||
, g = {
|
||
getApiInfo: {
|
||
apiType: "class"
|
||
},
|
||
login: {
|
||
memberPass: "mem_pass",
|
||
safeFlag: "safeflg",
|
||
isPhone: "isPhone",
|
||
timeSpan: "ppui_logintime",
|
||
logLoginType: "logLoginType"
|
||
},
|
||
fillUserName: {
|
||
selectedSuggestName: "pass_fillinusername_suggestuserradio",
|
||
timeSpan: "ppui_fillusernametime"
|
||
},
|
||
reg: {
|
||
password: "loginpass",
|
||
timeSpan: "ppui_regtime",
|
||
suggestIndex: "suggestIndex",
|
||
suggestType: "suggestType",
|
||
selectedSuggestName: "pass_reg_suggestuserradio_0",
|
||
logRegType: "logRegType"
|
||
},
|
||
regPhone: {
|
||
password: "loginpass",
|
||
timeSpan: "ppui_regtime",
|
||
suggestIndex: "suggestIndex",
|
||
suggestType: "suggestType",
|
||
selectedSuggestName: "pass_reg_suggestuserradio_0",
|
||
logRegType: "logRegType"
|
||
}
|
||
}
|
||
, m = {
|
||
loginCheck: {
|
||
isPhone: function(e) {
|
||
return e ? "true" : "false"
|
||
}
|
||
},
|
||
login: {
|
||
memberPass: function(e) {
|
||
return e ? "on" : ""
|
||
}
|
||
}
|
||
}
|
||
, f = {
|
||
checkPassword: {
|
||
fromreg: 1
|
||
},
|
||
reg: {
|
||
registerType: 1,
|
||
verifypass: function(e) {
|
||
return e.password
|
||
}
|
||
}
|
||
}
|
||
, h = {
|
||
password: !0
|
||
}
|
||
, v = {
|
||
login: function() {}
|
||
}
|
||
, b = {
|
||
checkUserName: "reg",
|
||
checkMail: "reg",
|
||
checkPhone: "regPhone",
|
||
sendPhoneCode: "regPhone",
|
||
multiCheckUserName: "multiBind",
|
||
multiSwitchuser: "changeUser",
|
||
checkVerifycode: "checkVerifycode"
|
||
}
|
||
, y = passport.err.getCurrent().errMsg || passport.err.getCurrent()
|
||
, _ = {};
|
||
e.setContext = function(e) {
|
||
_.product = e.product || _.product,
|
||
_.charset = e.charset || _.charset,
|
||
_.staticPage = e.staticPage || _.staticPage,
|
||
_.token = e.token || _.token,
|
||
_.subpro = e.subpro || _.subpro
|
||
}
|
||
,
|
||
e.traceID = {
|
||
headID: e.traceID && e.traceID.headID || "",
|
||
flowID: e.traceID && e.traceID.flowID || "",
|
||
cases: e.traceID && e.traceID.cases || "",
|
||
initTraceID: function(e) {
|
||
var t = this;
|
||
e && e.length > 0 ? (t.headID = e.slice(0, 6),
|
||
t.flowID = e.slice(6, 8)) : t.destory()
|
||
},
|
||
createTraceID: function() {
|
||
var e = this;
|
||
return e.headID + e.flowID + e.cases
|
||
},
|
||
startFlow: function(e) {
|
||
var t = this
|
||
, n = t.getFlowID(e);
|
||
0 === t.flowID.length || t.flowID === n ? (t.createHeadID(),
|
||
t.flowID = n) : t.finishFlow(n)
|
||
},
|
||
finishFlow: function() {
|
||
var e = this;
|
||
e.destory()
|
||
},
|
||
getRandom: function() {
|
||
return parseInt(90 * Math.random() + 10, 10)
|
||
},
|
||
createHeadID: function() {
|
||
var e = this
|
||
, t = (new Date).getTime() + e.getRandom().toString()
|
||
, n = Number(t).toString(16)
|
||
, i = n.length
|
||
, o = n.slice(i - 6, i).toUpperCase();
|
||
e.headID = o
|
||
},
|
||
getTraceID: function(e) {
|
||
var t = this
|
||
, n = e && e.traceid || "";
|
||
t.initTraceID(n)
|
||
},
|
||
getFlowID: function(e) {
|
||
var t = {
|
||
login: "01",
|
||
reg: "02"
|
||
};
|
||
return t[e]
|
||
},
|
||
setData: function(e) {
|
||
var t = this;
|
||
return e.data ? e.data.traceid = t.createTraceID() : e.url = e.url + (e.url.indexOf("?") > -1 ? "&" : "?") + "traceid=" + t.createTraceID(),
|
||
e
|
||
},
|
||
destory: function() {
|
||
var e = this;
|
||
e.headID = "",
|
||
e.flowID = ""
|
||
}
|
||
};
|
||
for (var w in u)
|
||
u.hasOwnProperty(w) && (e[w] = n(w, u[w]));
|
||
for (var w in p)
|
||
p.hasOwnProperty(w) && (e[w] = n(w, p[w], !0));
|
||
e.jsonp = function(e, t) {
|
||
return 0 != e.indexOf("http") && (e = d + e),
|
||
t = t || {},
|
||
t.flag_code && 1 == t.flag_code || (t.apiver = "v3"),
|
||
t.tt = (new Date).getTime(),
|
||
l.jsonp(e, t, {
|
||
charset: "utf-8",
|
||
processData: function(e) {
|
||
return a(e)
|
||
}
|
||
})
|
||
}
|
||
,
|
||
e.post = function(e, t) {
|
||
return t = t || {},
|
||
"wap" !== t.apitype && (e = d + e),
|
||
t.staticpage = t.staticpage || _.staticPage,
|
||
t.charset = t.charset || _.charset || document.characterSet || document.charset || "",
|
||
t.token = t.token || _.token,
|
||
t.tpl = t.tpl || _.product,
|
||
l.submit(e, t, {
|
||
charset: "utf-8",
|
||
processData: function(e) {
|
||
return a(e)
|
||
}
|
||
})
|
||
}
|
||
,
|
||
e.request = l
|
||
}(passport.data);
|
||
var passport = passport || window.passport || {};
|
||
passport.analysis = passport.analysis || {},
|
||
function(e) {
|
||
var t = function(e, t) {
|
||
var n = e.config.diaPassLogin ? "dialogLogin" : "basicLogin"
|
||
, i = e.config.loginMerge ? 1 : 0
|
||
, o = e.config.product || "isnull"
|
||
, s = window.location ? window.location.protocol.toLowerCase() : document.location.protocol.toLowerCase()
|
||
, a = ""
|
||
, r = "&tt=" + (new Date).getTime()
|
||
, c = e.guideRandom ? e.guideRandom : "";
|
||
for (var l in t)
|
||
a = a + "&" + l + "=" + t[l];
|
||
if ("http:" == s)
|
||
var d = "http://nsclick.baidu.com/v.gif?pid=111&url=&logintype=" + n + "&gid=" + c + "&merge=" + i + "&tpl=" + o + a + r;
|
||
else if ("https:" == s)
|
||
var d = "https://passport.baidu.com/img/v.gif?logintype=" + n + "&gid=" + c + "&merge=" + i + "&tpl=" + o + a + r;
|
||
if (d) {
|
||
var u = new Image;
|
||
u.onload = u.onerror = function() {
|
||
u.onload = u.onerror = null,
|
||
u = null
|
||
}
|
||
,
|
||
u.src = d
|
||
}
|
||
};
|
||
e.login = {
|
||
render: function(e) {
|
||
t(e, {
|
||
type: "firstrender",
|
||
loginurl: encodeURIComponent(document.location.href)
|
||
}),
|
||
baidu(e.getPhoenixElement("pass_phoenix_list_login")).on("click", function(n) {
|
||
var i, o = baidu(n.target);
|
||
if (o && o.attr("title")) {
|
||
switch (o.attr("title")) {
|
||
case "普通登录":
|
||
i = "normal";
|
||
break;
|
||
case "二维码登录":
|
||
i = "qrcode";
|
||
break;
|
||
case "短信登录":
|
||
i = "sms";
|
||
break;
|
||
case "QQ帐号":
|
||
i = "qq";
|
||
break;
|
||
case "新浪微博":
|
||
i = "weibo";
|
||
break;
|
||
case "人人网":
|
||
i = "renren";
|
||
break;
|
||
case "腾讯微博":
|
||
i = "tqq";
|
||
break;
|
||
case "飞信":
|
||
i = "fetion";
|
||
break;
|
||
case "微信":
|
||
i = "weixin";
|
||
break;
|
||
case "天翼":
|
||
i = "tianyi"
|
||
}
|
||
t(e, {
|
||
phoenix: i
|
||
})
|
||
}
|
||
});
|
||
var n = (e.getElement(),
|
||
e.getElement("form"));
|
||
baidu(n).on("submit", function() {
|
||
e.loginfirstsubmit || (e.loginfirstsubmit = !0,
|
||
t(e, {
|
||
type: "loginfirstsubmit"
|
||
}))
|
||
})
|
||
},
|
||
changeLoginType: function(e, n) {
|
||
t(e, {
|
||
type: "changelogintype",
|
||
logintype: n && n.loginType || ""
|
||
})
|
||
},
|
||
fieldFocus: function(e, n) {
|
||
n.ele.get(0).id != e.$getId("smsPhone") && n.ele.get(0).id != e.$getId("smsVerifyCode") || e.smsloginfirstlog ? e.loginfirstlog || (e.loginfirstlog = !0,
|
||
t(e, {
|
||
type: "loginfirst"
|
||
})) : (e.smsloginfirstlog = !0,
|
||
t(e, {
|
||
type: "smsloginfirst"
|
||
}))
|
||
},
|
||
loginSuccess: function(e) {
|
||
t(e, {
|
||
type: "loginsuccess"
|
||
})
|
||
},
|
||
loginError: function() {},
|
||
validateError: function(e, n) {
|
||
return n.validate && t(e, {
|
||
errno: encodeURIComponent(n.validate.msg),
|
||
type: "loginerrno"
|
||
}),
|
||
{
|
||
preventEvent: !1,
|
||
preventDefault: !1
|
||
}
|
||
},
|
||
fieldKeyup: function(e) {
|
||
e.KEYUPFLAG || (t(e, {
|
||
type: "typein"
|
||
}),
|
||
e.KEYUPFLAG = !0)
|
||
}
|
||
}
|
||
}(passport.analysis);
|
||
var passport = passport || window.passport || {};
|
||
passport.hook = passport.hook || {},
|
||
function(e) {
|
||
function t(e) {
|
||
var t, n, i = this, o = {
|
||
120016: {
|
||
isLogin: !1,
|
||
msg: "您的帐号存在安全风险,我们已经为您采取保护策略,建议您先绑定手机。"
|
||
},
|
||
400032: {
|
||
isLogin: !0,
|
||
msg: "快来绑定密保工具吧,提升帐号安全性的同时可以快速找回密码。"
|
||
},
|
||
400034: {
|
||
isLogin: !1,
|
||
msg: {
|
||
phone: "请绑定您的手机号码作为您的密保手机,提升帐号安全性的同时还可以快速找回密码。",
|
||
email: "请绑定一个您的常用邮箱作为您的密保邮箱,提升帐号安全性的同时还可以快速找回密码。"
|
||
}
|
||
}
|
||
}[e.errno], s = e.args, a = e.title, r = o.msg, c = (e.auth_title,
|
||
e.auth_msg,
|
||
o.isLogin), l = e.cfg, d = function(e, t, n) {
|
||
var i = t.args
|
||
, o = {
|
||
action: t.type || "init",
|
||
u: e.config.u,
|
||
tpl: e.config.product,
|
||
ltoken: i.rsp.data.ltoken,
|
||
lstr: i.rsp.data.lstr
|
||
};
|
||
e.REQUESTBINDTOKENURL = "/v2/?loginspmbindsecureinfo",
|
||
passport.data.jsonp("https://passport.baidu.com" + e.REQUESTBINDTOKENURL, o).success(function(t) {
|
||
0 == t.errInfo.no ? n && n({
|
||
bindEmailToken: t.data.bindEmailToken,
|
||
bindMobileToken: t.data.bindMobileToken,
|
||
authsid: t.data.authsid,
|
||
loginproxy: t.data.loginproxy,
|
||
otherValue: o
|
||
}) : (e._ownerDialog && e._ownerDialog.show(),
|
||
e.getElement("error").innerHTML = e.lang.sysError)
|
||
})
|
||
}, u = function(e) {
|
||
var t = "string" == (typeof r).toLowerCase() ? r : r.email;
|
||
return t += c ? "您可以<a class='bindLink bindJumpEmail'>跳过此步骤</a>或<a class='bindLink bindPhoneBtn'>绑定手机</a>。" : "您也可以<a class='bindLink bindPhoneBtn'>绑定手机</a>。",
|
||
e.otherValue = e.otherValue || {},
|
||
passport.pop.ArmorWidget("bindemail", {
|
||
token: e.bindEmailToken,
|
||
authsid: e.authsid,
|
||
title: a || "绑定密保邮箱",
|
||
otherValue: e.otherValue,
|
||
msg: t,
|
||
lstr: e.otherValue.lstr || "",
|
||
ltoken: e.otherValue.ltoken || "",
|
||
u: e.otherValue.u || "",
|
||
tpl: e.otherValue.tpl || "",
|
||
subpro: i.config.subpro,
|
||
traceid: e.traceid,
|
||
onSubmitSuccess: function(e) {
|
||
var e = e;
|
||
d(i, {
|
||
args: s,
|
||
type: "check"
|
||
}, function(t) {
|
||
e && e.hide && e.hide(),
|
||
s.isCompleted = !0,
|
||
t.loginproxy ? passport.data.jsonp(t.loginproxy).success(function(e) {
|
||
l.onCompleted && l.onCompleted(e, function() {
|
||
l.onCancel && l.onCancel(s)
|
||
})
|
||
}) : l.onCancel && l.onCancel(s)
|
||
})
|
||
},
|
||
onRender: function() {
|
||
var e = this;
|
||
baidu(".bindPhoneBtn").on("click", function() {
|
||
e.close(),
|
||
n.show()
|
||
}),
|
||
baidu(".bindJumpEmail").on("click", function(t) {
|
||
t.preventDefault(),
|
||
e.close(),
|
||
s.isCompleted = !0,
|
||
l.onCancel && l.onCancel(s)
|
||
}),
|
||
baidu("#" + e.getId("header_a")).on("click", function() {
|
||
c && (s.isCompleted = !0,
|
||
l.onCancel && l.onCancel(s))
|
||
})
|
||
}
|
||
})
|
||
}, p = function(e) {
|
||
var n = "string" == (typeof r).toLowerCase() ? r : r.phone;
|
||
return c && e.bindEmailToken ? n += "您可以<a class='bindLink bindJumpPhone'>跳过此步骤</a>或<a class='bindLink bindEmailBtn'>绑定密保邮箱</a>。" : e.bindEmailToken && (n += "您也可以<a class='bindLink bindEmailBtn'>绑定密保邮箱</a>。"),
|
||
e.otherValue = e.otherValue || {},
|
||
passport.pop.ArmorWidget("bindmobile", {
|
||
token: e.bindMobileToken,
|
||
authsid: e.authsid,
|
||
title: a || "绑定手机",
|
||
otherValue: e.otherValue,
|
||
msg: n,
|
||
bindToLogin: 1,
|
||
lstr: e.otherValue.lstr || "",
|
||
ltoken: e.otherValue.ltoken || "",
|
||
u: e.otherValue.u || "",
|
||
tpl: e.otherValue.tpl || "",
|
||
apiMargicInstance: i,
|
||
subpro: i.config.subpro,
|
||
traceid: e.traceid,
|
||
onSubmitSuccess: function(e) {
|
||
var e = e;
|
||
d(i, {
|
||
args: s,
|
||
type: "check"
|
||
}, function(t) {
|
||
e && e.hide && e.hide(),
|
||
s.isCompleted = !0,
|
||
t.loginproxy ? passport.data.jsonp(t.loginproxy).success(function(e) {
|
||
l.onCompleted && l.onCompleted(e, function() {
|
||
l.onCancel && l.onCancel(s)
|
||
})
|
||
}) : l.onCancel && l.onCancel(s)
|
||
})
|
||
},
|
||
onRender: function(n) {
|
||
var n = this;
|
||
baidu(".bindEmailBtn").on("click", function(i) {
|
||
i.preventDefault(),
|
||
n.close(),
|
||
t = t || u(e),
|
||
t.show()
|
||
}),
|
||
baidu(".bindJumpPhone").on("click", function(e) {
|
||
e.preventDefault(),
|
||
n.close(),
|
||
s.isCompleted = !0,
|
||
l.onCancel && l.onCancel(s)
|
||
}),
|
||
baidu("#" + n.getId("header_a")).on("click", function() {
|
||
c && (s.isCompleted = !0,
|
||
l.onCancel && l.onCancel(s))
|
||
})
|
||
},
|
||
onBindToLoginFn: function(e, t) {
|
||
t && t.mobile && (i.config.sms ? (i.getElement("smsPhone_placeholder") && i.$hide("smsPhone_placeholder"),
|
||
i.getElement("smsPhone") && (i.getElement("smsPhone").value = t.mobile),
|
||
i.getElement("smsVerifyCode") && (i.getElement("smsVerifyCode").value = "",
|
||
i.getElement("smsVerifyCode").focus())) : (i.getElement("userName_placeholder") && i.$hide("userName_placeholder"),
|
||
i.getElement("userName") && (i.getElement("userName").value = t.mobile),
|
||
i.getElement("password") && (i.getElement("password").value = "",
|
||
i.getElement("password").focus())))
|
||
}
|
||
})
|
||
};
|
||
d(i, {
|
||
args: s,
|
||
type: "init"
|
||
}, function(e) {
|
||
passport._use(k, T[k], function() {
|
||
e.bindMobileToken ? (n = p(e),
|
||
n.show()) : e.bindEmailToken ? (t = u(e),
|
||
t.show()) : (i._ownerDialog && i._ownerDialog.show(),
|
||
i.getElement("error").innerHTML = i.lang.sysError)
|
||
})
|
||
})
|
||
}
|
||
function n(e) {
|
||
var t, n, i = this, o = e.rspData, s = e.cfg, a = e.args, r = function(e) {
|
||
var e = e || "系统检测到您的帐号疑似被盗,存在安全风险。请尽快修改密码。";
|
||
return '<div class="passport-forceverify-risk"><p class="passport-forceverify-risk-msg">' + e + '</p><div class="passport-forceverify-risk-con clearfix"><a class="passport-forceverify-risk-next" id="passport_forceverify_risk_next" href="###">下次提醒</a><a class="passport-forceverify-risk-btn" href="http://passport.baidu.com/v2/account/password" target="_blank" >立即修改</a></div></div>'
|
||
};
|
||
if (o && o.secstate)
|
||
switch (o.secstate) {
|
||
case "PA001":
|
||
n = "您的帐号密码输入错误次数达到上限,为保障帐号安全,登录前需验证身份。";
|
||
break;
|
||
case "PA002":
|
||
n = "您的网络环境存在安全风险,为保障帐号安全,登录前需验证身份。";
|
||
break;
|
||
case "PA003":
|
||
n = "您的帐号长时间未登录,为保障帐号安全,登录前需验证身份。";
|
||
break;
|
||
case "risk":
|
||
t = r(),
|
||
n = "您的帐号可能存在安全隐患,为保障您的帐号安全,登录前需验证身份。";
|
||
break;
|
||
case "cheat":
|
||
n = "您的帐号因批量或者使用非法软件注册被冻结,登录前需验证身份。";
|
||
break;
|
||
case "PC001":
|
||
n = "您操作频度过于频繁,为保障帐号安全,登录前需验证身份。";
|
||
break;
|
||
case "PX008":
|
||
n = "您本次的登录地存在异常,为保障本次操作安全,登录前需验证身份。";
|
||
break;
|
||
default:
|
||
n = "您的帐号存在安全风险,为保障帐号安全,登录前需验证身份。"
|
||
}
|
||
var c = {
|
||
400031: {
|
||
title: "登录保护",
|
||
msg: "您已开启登录保护功能,为保障帐号安全,登录前需验证身份。"
|
||
},
|
||
5: {
|
||
title: "登录安全验证",
|
||
msg: "您的网络环境存在安全风险,为保障帐号安全,登录前需验证身份。",
|
||
onSuccess: function(e, t) {
|
||
var n = o.gotourl + "&authsid=" + t.authsid;
|
||
passport.data.jsonp(n).success(function(t) {
|
||
i._ownerDialog && i._ownerDialog.show(),
|
||
e.hide(),
|
||
i.getElement("error").innerHTML = 0 == t.errInfo.no || 0 == t.data.errno ? '请重新登录,或<a href="https://passport.baidu.com/?getpass_index" target="_blank">找回密码</a>' : i.lang.sysError
|
||
})
|
||
},
|
||
onGetapiError: function() {
|
||
i.getElement("error").innerHTML = "您当前的操作存在安全风险,请稍后再试"
|
||
}
|
||
},
|
||
400023: {
|
||
title: "登录安全验证",
|
||
msg: "您的网络环境存在安全风险,为保障帐号安全,登录前需验证身份。",
|
||
onSuccess: function(e, t) {
|
||
var n = "https://passport.baidu.com/v3/login/main/qrbdusslogin?tt=" + (new Date).getTime()
|
||
, r = {
|
||
authsid: t.authsid,
|
||
bduss: o.bdusssign,
|
||
u: encodeURIComponent(o.u),
|
||
loginVersion: "v4",
|
||
tpl: i.config.product
|
||
};
|
||
passport.data.jsonp(n, r).success(function(t) {
|
||
e.hide(),
|
||
0 == t.errInfo.no || 0 == t.data.errno ? (a.isCompleted = !0,
|
||
s.onCompleted && s.onCompleted(t, function() {
|
||
s.onCancel && s.onCancel(a)
|
||
})) : i.getElement("error").innerHTML = i.lang.sysError
|
||
})
|
||
},
|
||
onGetapiError: function() {
|
||
i.getElement("error").innerHTML = "您当前的操作存在安全风险,请稍后再试"
|
||
}
|
||
},
|
||
120019: {
|
||
title: "登录解冻验证",
|
||
msg: "您的帐号因密码输入错误次数过多,为保障帐号安全,登陆前需验证身份。",
|
||
onSuccess: function(e, t) {
|
||
var n = o.gotourl + "&authsid=" + t.authsid;
|
||
passport.data.jsonp(n).success(function(t) {
|
||
i._ownerDialog && i._ownerDialog.show(),
|
||
e.hide(),
|
||
i.getElement("error").innerHTML = 0 == t.errInfo.no || 0 == t.data.errno ? '请重新登录,或<a href="https://passport.baidu.com/?getpass_index" target="_blank">找回密码</a>' : i.lang.sysError
|
||
})
|
||
},
|
||
onGetapiError: function() {
|
||
i.getElement("error").innerHTML = '登录密码错误已达上限,您可以<a href="https://passport.baidu.com/?getpass_index" target="_blank">找回密码</a>或3小时后再试'
|
||
}
|
||
},
|
||
120021: {
|
||
title: "安全验证",
|
||
msg: n,
|
||
defaultHTML: t,
|
||
onSuccess: function(e) {
|
||
return passport.data.jsonp(o.loginproxy).success(function(n) {
|
||
e.show(),
|
||
0 == n.errInfo.no ? (a.isCompleted = !0,
|
||
a.rsp && a.rsp.data && (a.rsp.data.hao123Param = n.data.hao123Param),
|
||
t ? (e.getElement("article").innerHTML = t,
|
||
baidu(e.getElement("header_a")).on("click", function() {
|
||
e.hide(),
|
||
s.onCompleted && s.onCompleted(n, function() {
|
||
s.onCancel && s.onCancel(a)
|
||
})
|
||
}),
|
||
baidu(document.getElementById("passport_forceverify_risk_next")).on("click", function() {
|
||
e.hide(),
|
||
s.onCompleted && s.onCompleted(n, function() {
|
||
s.onCancel && s.onCancel(a)
|
||
})
|
||
})) : (e.hide(),
|
||
s.onCompleted && s.onCompleted(n, function() {
|
||
s.onCancel && s.onCancel(a)
|
||
}))) : e.getElement("forceverify_error").html(i.lang.sysError)
|
||
}),
|
||
!1
|
||
},
|
||
onRender: function(e) {
|
||
document.getElementById("passport_forceverify_risk_appeal") && (document.getElementById("passport_forceverify_risk_appeal").href = e.url_forgot)
|
||
}
|
||
},
|
||
riskCheat: {
|
||
token: "risk",
|
||
title: "安全验证",
|
||
msg: n,
|
||
defaultHTML: t,
|
||
onRender: function(e) {
|
||
baidu(document.getElementById("passport_forceverify_risk_next")).on("click", function() {
|
||
e.hide(),
|
||
s.onCancel && s.onCancel()
|
||
}),
|
||
document.getElementById("passport_forceverify_risk_appeal") && (document.getElementById("passport_forceverify_risk_appeal").href = e.url_forgot)
|
||
}
|
||
}
|
||
}[e.errno];
|
||
passport._use(D, T[D], function() {
|
||
forceverifyLoginverify = passport.pop.Forceverify({
|
||
token: o.authtoken,
|
||
title: c.title,
|
||
msg: c.msg,
|
||
subpro: i.config.subpro,
|
||
u: o.u || "",
|
||
lstr: o.lstr || "",
|
||
ltoken: o.ltoken || "",
|
||
tpl: o.tpl || "",
|
||
traceid: o.traceid,
|
||
lang: i.config.lang,
|
||
onRender: function(e) {
|
||
c.onRender && c.onRender(e)
|
||
},
|
||
onSubmitSuccess: function(e, t) {
|
||
try {
|
||
"localStorage"in window && null !== window.localStorage && localStorage.setItem("passLoginType", "normal")
|
||
} catch (n) {}
|
||
if ("1" === o.realnameverifyemail)
|
||
return o.realnameauthsid = t.authsid,
|
||
void p.apply(i, [{
|
||
args: a,
|
||
rspData: o,
|
||
cfg: s
|
||
}]);
|
||
if (c.onSuccess)
|
||
return void c.onSuccess(e, t);
|
||
var r = o.loginproxy;
|
||
passport.data.jsonp(r).success(function(t) {
|
||
0 == t.errInfo.no || 0 == t.data.errno ? (e.hide(),
|
||
a.isCompleted = !0,
|
||
a.rsp && a.rsp.data && (a.rsp.data.hao123Param = t.data.hao123Param),
|
||
s.onCompleted && s.onCompleted(t, function() {
|
||
s.onCancel && s.onCancel(a)
|
||
})) : (e.hide(),
|
||
i._ownerDialog && i._ownerDialog.show(),
|
||
i.getElement("error").innerHTML = i.lang.sysError)
|
||
})
|
||
},
|
||
onGetapiError: function(e) {
|
||
return i._ownerDialog && i._ownerDialog.show(),
|
||
c.onGetapiError ? void c.onGetapiError(e) : void (i.getElement("error").innerHTML = i.lang.sysError)
|
||
},
|
||
onHide: function() {
|
||
s.onCancel && s.onCancel(),
|
||
i.config.loginMerge && i.getElement("isPhone") && (i.getElement("isPhone").value = "")
|
||
}
|
||
}, !0)
|
||
})
|
||
}
|
||
function i(e) {
|
||
function t() {
|
||
var e = document.getElementById("managePcAuthwidget") || "";
|
||
e && document.body.removeChild(e)
|
||
}
|
||
var n = this
|
||
, i = e.rspData
|
||
, o = e.cfg
|
||
, s = e.args
|
||
, a = "login_force_verify";
|
||
400031 === +e.errno && (a = "login_protect_verify");
|
||
var r = document.getElementById("managePcAuthwidget") || "";
|
||
if (!r) {
|
||
var c = document.createElement("div");
|
||
c.id = "managePcAuthwidget",
|
||
c.className = "pass-auth-widget-wrapper",
|
||
document.body.appendChild(c)
|
||
}
|
||
passport._load(location.protocol + "//wappass.baidu.com/static/apimanage/api/authwidget.js?cdnversion=" + (new Date).getTime(), !0, function() {
|
||
var e;
|
||
if (window.PassApi && window.PassApi.authwidget) {
|
||
var r = window.PassApi.authwidget;
|
||
e = new r({
|
||
id: "managePcAuthwidget",
|
||
mode: "dialog",
|
||
authid: i.authid || "",
|
||
pageType: "authType",
|
||
scene: a,
|
||
clientfrom: "pc",
|
||
staticPage: n.config.staticPage || "",
|
||
lang: n.config.lang || "",
|
||
verifySuccess: function(e, a) {
|
||
try {
|
||
"localStorage"in window && null !== window.localStorage && localStorage.setItem("passLoginType", "normal")
|
||
} catch (r) {}
|
||
if ("1" === i.realnameverifyemail)
|
||
return i.realnameauthsid = a,
|
||
void p.apply(n, [{
|
||
args: s,
|
||
rspData: i,
|
||
cfg: o
|
||
}]);
|
||
var c = i.loginproxy;
|
||
passport.data.jsonp(c).success(function(e) {
|
||
t(),
|
||
0 == e.errInfo.no || 0 == e.data.errno ? (s.isCompleted = !0,
|
||
s.rsp && s.rsp.data && (s.rsp.data.hao123Param = e.data.hao123Param),
|
||
o.onCompleted && o.onCompleted(e, function() {
|
||
o.onCancel && o.onCancel(s)
|
||
})) : (n._ownerDialog && n._ownerDialog.show(),
|
||
n.getElement("error").innerHTML = n.lang.sysError)
|
||
})
|
||
},
|
||
verifyFail: function() {},
|
||
closeAuthwidget: function() {
|
||
n._ownerDialog && n._ownerDialog.show(),
|
||
t(),
|
||
o.onCancel && o.onCancel(),
|
||
n.config.loginMerge && n.getElement("isPhone") && (n.getElement("isPhone").value = "")
|
||
}
|
||
})
|
||
}
|
||
})
|
||
}
|
||
function o(e) {
|
||
for (var t = this, n = e.rspData, i = [], o = n.accounts.split(";"), s = 0; s < o.length; s++) {
|
||
var a = o[s].split(",");
|
||
i.push({
|
||
username: a[0],
|
||
portrait: a[1]
|
||
})
|
||
}
|
||
passport._load(S + T[I], !0, function() {
|
||
var e = passport.pop.init({
|
||
type: "loginMultichoice",
|
||
tangram: !0,
|
||
apiOpt: {
|
||
phone: n.userName,
|
||
userList: i
|
||
},
|
||
onChoicedUser: function(n, i) {
|
||
e.hide(),
|
||
t._ownerDialog && t._ownerDialog.show(),
|
||
t.getElement("userName").value = i.username,
|
||
t.getElement("isPhone").value = "false",
|
||
t.config.loginMerge && t.getElement("loginMerge") && (t.getElement("loginMerge").value = ""),
|
||
"sms" == t.currentLoginType ? (t.getElement("smsHiddenFields_switchuname").value = i.username,
|
||
t._submitSmsForm()) : (t.config.loginMerge || (t._collectData(),
|
||
t.switchTo("normal"),
|
||
t._restoreData("phone")),
|
||
t.submit())
|
||
},
|
||
onHide: function() {
|
||
t.getElement("userName").value = n.userName,
|
||
t.getElement("isPhone").value = ""
|
||
}
|
||
});
|
||
e.show()
|
||
})
|
||
}
|
||
function s(e) {
|
||
var t = this
|
||
, n = t.$getId("pass_b2c_swf")
|
||
, i = e.args.rsp.data
|
||
, o = P()
|
||
, s = 0;
|
||
i && i.bckv && (s = parseInt(i.bckv, 10) > 0);
|
||
var a = null;
|
||
if (passport.CONSTANT = passport.CONSTANT || {},
|
||
passport.CONSTANT.b2c_getlogin = function() {}
|
||
,
|
||
passport.CONSTANT.b2c_setlogin = function() {
|
||
var e = {
|
||
kv: i.bckv,
|
||
sync: i.bcsync,
|
||
checksum: i.bcchecksum,
|
||
time: i.bctime
|
||
};
|
||
try {
|
||
if (a) {
|
||
var t = a.get_movie(n, "b2c_setlogin").b2c_setlogin(e);
|
||
try {
|
||
var o = document.createElement("script");
|
||
o.type = "text/javascript",
|
||
o.src = [S, "/v2/b2c-stable?", "from=setlogin.done", "&checksum=", e.checksum, "&time=", e.time, "&status=", encodeURIComponent(t)].join(""),
|
||
document.getElementsByTagName("head")[0].appendChild(o)
|
||
} catch (s) {}
|
||
}
|
||
} catch (s) {
|
||
try {
|
||
var o = document.createElement("script");
|
||
o.type = "text/javascript",
|
||
o.src = [S, "/v2/b2c-stable?", "from=setlogin.fail", "&msg=", encodeURI(s.message)].join(""),
|
||
document.getElementsByTagName("head")[0].appendChild(o)
|
||
} catch (s) {}
|
||
}
|
||
}
|
||
,
|
||
t.getElement("pass_b2c") && o.isexists && s) {
|
||
var r = function(e) {
|
||
var t = function(e) {
|
||
e = e || {};
|
||
var t, n, i, o, s = {}, a = function(e) {
|
||
return e.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/'/g, "'")
|
||
};
|
||
for (n in e)
|
||
s[n] = e[n];
|
||
e = s;
|
||
var r = e.vars
|
||
, c = ["classid", "codebase", "id", "width", "height", "align"];
|
||
if (e.align = e.align || "middle",
|
||
e.classid = "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000",
|
||
e.codebase = "https://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0",
|
||
e.movie = e.url || "",
|
||
delete e.vars,
|
||
delete e.url,
|
||
"string" == typeof r)
|
||
e.flashvars = r;
|
||
else {
|
||
var l = [];
|
||
for (n in r)
|
||
o = r[n],
|
||
l.push(n + "=" + encodeURIComponent(o));
|
||
e.flashvars = l.join("&")
|
||
}
|
||
var d = ["<object "];
|
||
for (t = 0,
|
||
i = c.length; i > t; t++)
|
||
o = c[t],
|
||
d.push(" ", o, '="', a(e[o]), '"');
|
||
d.push(">");
|
||
var u = {
|
||
wmode: 1,
|
||
scale: 1,
|
||
quality: 1,
|
||
play: 1,
|
||
loop: 1,
|
||
menu: 1,
|
||
salign: 1,
|
||
bgcolor: 1,
|
||
base: 1,
|
||
allowscriptaccess: 1,
|
||
allownetworking: 1,
|
||
allowfullscreen: 1,
|
||
seamlesstabbing: 1,
|
||
devicefont: 1,
|
||
swliveconnect: 1,
|
||
flashvars: 1,
|
||
movie: 1
|
||
};
|
||
for (n in e)
|
||
o = e[n],
|
||
n = n.toLowerCase(),
|
||
u[n] && (o || o === !1 || 0 === o) && d.push('<param name="' + n + '" value="' + a(o) + '" />');
|
||
e.src = e.movie,
|
||
e.name = e.id,
|
||
delete e.id,
|
||
delete e.movie,
|
||
delete e.classid,
|
||
delete e.codebase,
|
||
e.type = "application/x-shockwave-flash",
|
||
e.pluginspage = "https://www.macromedia.com/go/getflashplayer",
|
||
d.push("<embed");
|
||
var p;
|
||
for (n in e)
|
||
if (o = e[n],
|
||
o || o === !1 || 0 === o) {
|
||
if (new RegExp("^salign$","i").test(n)) {
|
||
p = o;
|
||
continue
|
||
}
|
||
d.push(" ", n, '="', a(o), '"')
|
||
}
|
||
return p && d.push(' salign="', a(p), '"'),
|
||
d.push("></embed></object>"),
|
||
d.join("")
|
||
}
|
||
, n = function(e) {
|
||
e = e || {};
|
||
var n = document.createElement("div");
|
||
n.innerHTML = t(e),
|
||
n.style.display = "none",
|
||
document.getElementsByTagName("body")[0].appendChild(n)
|
||
}
|
||
, i = /msie (\d+\.\d+)/i.test(navigator.userAgent) ? document.documentMode || +RegExp.$1 : void 0;
|
||
return (i > 7 || !i) && n(e),
|
||
{
|
||
get_movie: function(e, t) {
|
||
var n = document[e];
|
||
if (9 === document.documentMode && n && n.length)
|
||
for (var i = n.length, o = 0; i > o; o++) {
|
||
var s = n[o];
|
||
if ("embed" === s.tagName.toLowerCase()) {
|
||
n = s;
|
||
break
|
||
}
|
||
}
|
||
return t && "function" != typeof n[t] && (n = document.getElementById(e)),
|
||
n
|
||
}
|
||
}
|
||
};
|
||
try {
|
||
var c = window.location.protocol.toLowerCase();
|
||
a = r({
|
||
id: n,
|
||
width: "1",
|
||
height: "1",
|
||
url: c + "//passport.baidu.com/passApi/swf/b2c.swf?_t=" + Math.random(),
|
||
allowscriptaccess: "always"
|
||
})
|
||
} catch (l) {}
|
||
}
|
||
passport.data.request.load(S + "/v2/b2c-flash?isexists=" + encodeURIComponent(o.isexists) + "&ver=" + encodeURIComponent(o.ver) + "&filename=" + encodeURIComponent(o.filename))
|
||
}
|
||
function a(e) {
|
||
var t = this
|
||
, n = e.rspData
|
||
, i = e.args.rsp.data;
|
||
return t.rebindGuideWidget ? void t.rebindGuideWidget.show() : void passport.use("uni_rebindGuide", {
|
||
tangram: !0
|
||
}, function() {
|
||
t.rebindGuideWidget = new passport.pop.rebindGuideWidget({
|
||
color: t.config.color || "blue",
|
||
apiOpt: i,
|
||
rebindType: "rebindPhone",
|
||
onrebindGuideCompleted: function() {
|
||
L(t, n)
|
||
}
|
||
}),
|
||
t.rebindGuideWidget.show()
|
||
})
|
||
}
|
||
function r(e) {
|
||
var t = this
|
||
, n = e.cfg
|
||
, i = e.args
|
||
, o = e.rspData.rsp.data || {};
|
||
passport._load(S + T[I], !0, function() {
|
||
b ? (b.setMakeOption && b.setMakeOption(o.authsid, o.bdstoken),
|
||
b.show()) : (b = passport.pop.init({
|
||
type: "accSetPwd",
|
||
tangram: !0,
|
||
color: t.config.color || "blue",
|
||
apiOpt: {
|
||
u: t.config.u,
|
||
product: t.config.product,
|
||
authsid: o.authsid || "",
|
||
bdstoken: o.bdstoken || "",
|
||
staticPage: t.config.staticPage
|
||
},
|
||
onHide: function() {
|
||
"1" != o.setpwdswitch && (i.isCompleted = !0,
|
||
n.onCancel && n.onCancel(i))
|
||
},
|
||
onSubmitSuccess: function() {
|
||
i.isCompleted = !0,
|
||
i && i.rsp && i.rsp.errInfo && (i.rsp.errInfo.no = "0"),
|
||
o.hao123Param && A(o.hao123Param, t),
|
||
b.hide(),
|
||
n.onCancel && n.onCancel(i)
|
||
}
|
||
}),
|
||
b.show())
|
||
})
|
||
}
|
||
function c(e) {
|
||
var t = this
|
||
, n = e.cfg
|
||
, i = e.args
|
||
, o = e.rspData.rsp.data || {};
|
||
passport._load(S + T[I], !0, function() {
|
||
y ? (y.setMakeOption && y.setMakeOption(o.authsid, o.bdstoken),
|
||
y.show()) : (y = passport.pop.init({
|
||
type: "accSetPwd",
|
||
tangram: !0,
|
||
color: t.config.color || "blue",
|
||
jumpset: "1" == o.jumpset ? 1 : 0,
|
||
apiOpt: {
|
||
u: t.config.u,
|
||
product: t.config.product,
|
||
authsid: o.authsid || "",
|
||
bdstoken: o.bdstoken || "",
|
||
username: 1,
|
||
staticPage: t.config.staticPage
|
||
},
|
||
onHide: function() {
|
||
"1" == o.jumpset && (i.isCompleted = !0,
|
||
n.onCancel && n.onCancel(i))
|
||
},
|
||
onSubmitSuccess: function() {
|
||
i.isCompleted = !0,
|
||
i && i.rsp && i.rsp.errInfo && (i.rsp.errInfo.no = "0"),
|
||
o.hao123Param && A(o.hao123Param, t),
|
||
y.hide(),
|
||
n.onCancel && n.onCancel(i)
|
||
}
|
||
}),
|
||
y.show())
|
||
})
|
||
}
|
||
function l(e) {
|
||
var t = this
|
||
, n = e.cfg
|
||
, i = e.args
|
||
, o = e.rspData.rsp.data || {}
|
||
, s = "400413" === i.rsp.errInfo.no && "sms" === e.rspData.rsp.loginType ? "1" : "0";
|
||
passport._load(S + T[I], !0, function() {
|
||
E ? (E.reRender && E.reRender({
|
||
lstr: o.lstr || "",
|
||
ltoken: o.ltoken || "",
|
||
token: o.authtoken || "",
|
||
loginproxy: o.loginproxy || "",
|
||
select: s,
|
||
loginType: e.rspData.rsp.loginType
|
||
}),
|
||
E.show()) : (E = passport.pop.init({
|
||
type: "secondCardVerify",
|
||
tangram: !0,
|
||
color: t.config.color || "blue",
|
||
apiOpt: {
|
||
u: t.config.u,
|
||
product: t.config.product,
|
||
lstr: o.lstr || "",
|
||
ltoken: o.ltoken || "",
|
||
token: o.authtoken || "",
|
||
staticPage: t.config.staticPage,
|
||
select: s,
|
||
scscene: o.scscene || "",
|
||
scnewuser: o.scnewuser || "",
|
||
loginType: e.rspData.rsp.loginType,
|
||
loginproxy: o.loginproxy || ""
|
||
},
|
||
onloginSuccess: function() {
|
||
i.isCompleted = !0,
|
||
i && i.rsp && i.rsp.errInfo && (i.rsp.errInfo.no = "0"),
|
||
o.hao123Param && A(o.hao123Param, t),
|
||
E.hide(),
|
||
n.onCancel && n.onCancel(i)
|
||
},
|
||
onSubmitSuccess: function(e, n) {
|
||
n.rsp.data.loginproxy && passport.data.jsonp(n.rsp.data.loginproxy).success(function(i) {
|
||
"0" === i.errInfo.no ? document.location.href = "https://passport.baidu.com/v3/security/main/secondcardmodifyaccinfo?tpl=" + t.config.product + "&bdstoken=" + n.rsp.data.bdstoken + "&authsid=" + n.rsp.data.mod_authsid + "&u=" + encodeURIComponent(i.data.u) + "&loginType=" + n.rsp.data.loginType + "&hasUsername=" + n.rsp.data.hasUsername : e.target.getElement("secondCardError").innerHTML = t.lang.sysError
|
||
})
|
||
}
|
||
}),
|
||
E.show())
|
||
})
|
||
}
|
||
function d(e) {
|
||
var t = this
|
||
, n = e.cfg
|
||
, i = e.args
|
||
, o = e.rspData.rsp.data || {};
|
||
passport._load(S + T[I], !0, function() {
|
||
C ? (C.reRender && C.reRender({
|
||
secauthsid: o.secauthsid,
|
||
secbdstoken: o.secbdstoken
|
||
}),
|
||
C.show()) : (C = passport.pop.init({
|
||
type: "secondCardList",
|
||
tangram: !0,
|
||
color: t.config.color || "blue",
|
||
apiOpt: {
|
||
u: t.config.u,
|
||
product: t.config.product,
|
||
staticPage: t.config.staticPage,
|
||
secauthsid: o.secauthsid,
|
||
secbdstoken: o.secbdstoken,
|
||
regLink: t.constant.REG_URL,
|
||
source: t.config.source || "login"
|
||
},
|
||
onVerifySuccess: function(e) {
|
||
C.hide(),
|
||
i.isCompleted = !0,
|
||
i && i.rsp && i.rsp.errInfo && (i.rsp.errInfo.no = "0"),
|
||
i && i.rsp && i.rsp.data && (i.rsp.data.exchange = e),
|
||
o.hao123Param && A(o.hao123Param, t),
|
||
n.onCancel && n.onCancel(i)
|
||
},
|
||
onRegSuccess: function() {
|
||
C.hide(),
|
||
i.isCompleted = !0,
|
||
i && i.rsp && i.rsp.errInfo && (i.rsp.errInfo.no = "0"),
|
||
o.hao123Param && A(o.hao123Param, t),
|
||
n.onCancel && n.onCancel(i)
|
||
},
|
||
onHide: function() {
|
||
t._ownerDialog && t._ownerDialog.show()
|
||
}
|
||
}),
|
||
C.show())
|
||
})
|
||
}
|
||
function u(e) {
|
||
var t = this;
|
||
e.rspData = e.rspData || {},
|
||
passport._load(S + T[R], !0, function() {
|
||
w ? w.setToken(e.rspData.token, function() {
|
||
w.show()
|
||
}) : (w = passport.pop.init({
|
||
type: "accConnect",
|
||
tangram: !0,
|
||
color: t.config.color || "",
|
||
apiOpt: {
|
||
u: t.config.u,
|
||
adtext: e.rspData.adtext,
|
||
product: t.config.product,
|
||
token: e.rspData.token,
|
||
staticPage: t.config.staticPage
|
||
},
|
||
onConnectSuccess: function(e) {
|
||
var n = e.rsp;
|
||
n.connect = w,
|
||
L(t, {
|
||
rsp: n
|
||
}),
|
||
e.returnValue = !1
|
||
}
|
||
}),
|
||
w.show())
|
||
})
|
||
}
|
||
function p(e) {
|
||
var t = this
|
||
, n = e.cfg
|
||
, i = e.args;
|
||
e.rspData = e.rspData || {},
|
||
passport._load(S + T[I], !0, function() {
|
||
v ? v.show() : (v = passport.pop.init({
|
||
type: "accRealName",
|
||
tangram: !0,
|
||
color: t.config.color || "",
|
||
apiOpt: {
|
||
u: t.config.u,
|
||
product: t.config.product,
|
||
staticPage: t.config.staticPage,
|
||
action: "login",
|
||
realnameswitch: e.rspData.realnameswitch,
|
||
authsid: e.rspData.realnameauthsid,
|
||
ltoken: e.rspData.ltoken,
|
||
lstr: e.rspData.lstr,
|
||
cu: e.rspData.u,
|
||
overseas: t.config.overseas
|
||
},
|
||
onHide: function() {
|
||
t.fire("RealHide", i),
|
||
"1" != e.rspData.realnameswitch && (i.isCompleted = !0,
|
||
n.onCancel && n.onCancel(i))
|
||
},
|
||
onverifyHide: function(o) {
|
||
t.realLoginHide || (e.rspData.loginproxy && o ? passport.data.jsonp(e.rspData.loginproxy + "&authsid=" + o).success(function(e) {
|
||
0 == e.errInfo.no ? (i.isCompleted = !0,
|
||
n.onCompleted && n.onCompleted(e, function() {
|
||
n.onCancel && n.onCancel(i)
|
||
})) : (t._ownerDialog && t._ownerDialog.show(),
|
||
t.getElement("error").innerHTML = t.lang.sysError)
|
||
}) : (i.isCompleted = !0,
|
||
e.rspData.hao123Param && "1" == e.rspData.realnameswitch && A(e.rspData.hao123Param, t),
|
||
n.onCancel && n.onCancel(i)))
|
||
},
|
||
onSubmitSuccess: function(o, s) {
|
||
e.rspData.loginproxy && s.rsp.data.authsid ? passport.data.jsonp(e.rspData.loginproxy + "&authsid=" + s.rsp.data.authsid).success(function(e) {
|
||
if (0 === +e.errInfo.no) {
|
||
if (i.isCompleted = !0,
|
||
t.realLoginHide = !0,
|
||
v.hide(),
|
||
1 === +e.data.guideUpgradeMobile)
|
||
return void g.call(t, e, i);
|
||
n.onCompleted && n.onCompleted(e, function() {
|
||
n.onCancel && n.onCancel(i)
|
||
})
|
||
} else
|
||
v.hide(),
|
||
t._ownerDialog && t._ownerDialog.show(),
|
||
t.getElement("error").innerHTML = t.lang.sysError
|
||
}) : (i.isCompleted = !0,
|
||
i && i.rsp && i.rsp.errInfo && (i.rsp.errInfo.no = "0"),
|
||
e.rspData.hao123Param && e.rspData.realnameswitch + "" == "1" && A(e.rspData.hao123Param, t),
|
||
t.realLoginHide = !0,
|
||
v.hide(),
|
||
n.onCancel && n.onCancel(i))
|
||
}
|
||
}),
|
||
v.show())
|
||
})
|
||
}
|
||
function g(e, t) {
|
||
var n = this;
|
||
passport._load(S + T[I], !0, function() {
|
||
var i = passport.pop.init({
|
||
type: "bindGuide",
|
||
tangram: !0,
|
||
color: n.config.color || "",
|
||
apiOpt: {
|
||
u: n.config.u,
|
||
product: n.config.product,
|
||
staticPage: n.config.staticPage,
|
||
action: "login",
|
||
realnameswitch: e.data.realnameswitch,
|
||
authsid: e.data.realnameauthsid,
|
||
ltoken: e.data.ltoken,
|
||
upgradeMobileToken: e.data.upgradeMobileToken,
|
||
bindMobileToken: e.data.bind_mobile_token,
|
||
lstr: e.data.lstr,
|
||
cu: e.data.u,
|
||
overseas: n.config.overseas,
|
||
tip: "为了您的账号安全,建议设置为绑定手机号",
|
||
successTip: e.data.upgradeMobile + "验证成功"
|
||
},
|
||
onSubmitSuccess: function() {
|
||
i.hide(),
|
||
L(n, t)
|
||
},
|
||
onHide: function() {
|
||
L(n, t)
|
||
}
|
||
});
|
||
i.show()
|
||
})
|
||
}
|
||
function m(e) {
|
||
var t = this
|
||
, n = (e.cfg,
|
||
e.args);
|
||
e.rspData = e.rspData || {},
|
||
passport._load(S + T[I], !0, function() {
|
||
_ ? _.show() : (_ = passport.pop.init({
|
||
type: "bindGuide",
|
||
tangram: !0,
|
||
color: t.config.color || "",
|
||
apiOpt: {
|
||
type: "verify",
|
||
u: t.config.u,
|
||
product: t.config.product,
|
||
staticPage: t.config.staticPage,
|
||
action: "login",
|
||
realnameswitch: e.rspData.realnameswitch,
|
||
authsid: e.rspData.realnameauthsid,
|
||
ltoken: e.rspData.ltoken,
|
||
upgradeMobileToken: e.rspData.upgrade_mobile_token,
|
||
bindMobileToken: e.rspData.bind_mobile_token,
|
||
lstr: e.rspData.lstr,
|
||
cu: e.rspData.u,
|
||
overseas: t.config.overseas,
|
||
tip: "检测到您有待验证手机 " + (e.rspData.upgrade_mobile || "") + ",建议设置为绑定手机",
|
||
successTip: "登录成功"
|
||
},
|
||
onSubmitSuccess: function() {
|
||
_.hide(),
|
||
L(t, n)
|
||
},
|
||
onHide: function() {
|
||
L(t, n)
|
||
}
|
||
}),
|
||
_.show())
|
||
})
|
||
}
|
||
function f(e, s, g) {
|
||
function f(t) {
|
||
var n = new Image;
|
||
n.onload = n.onerror = function() {
|
||
n.onload = n.onerror = null,
|
||
n = null
|
||
}
|
||
,
|
||
n.src = S + "/img/v.gif?type=" + t + "&tt=" + (new Date).getTime(),
|
||
s.isCompleted = !0,
|
||
b.hao123Param && A(b.hao123Param, e),
|
||
w.confirmWidgetMobileSure.hide(),
|
||
g.onCancel && g.onCancel(s)
|
||
}
|
||
var v = s.rsp.errInfo.no
|
||
, b = s.rsp.data;
|
||
g = g || {};
|
||
var y = b && ("risk" === b.secstate || "cheat" === b.secstate);
|
||
if (b && b.connectType && e.config.connect) {
|
||
var _ = e.fire("beforeWarning", {
|
||
args: s
|
||
});
|
||
if (!_)
|
||
return;
|
||
return e.getElement("error").innerHTML = "",
|
||
e._ownerDialog && e._ownerDialog.hide("unHide"),
|
||
h(S + "/passApi/css/uni_accConnect_ab6dda9.css"),
|
||
u.apply(e, [{
|
||
args: s,
|
||
rspData: b,
|
||
cfg: g,
|
||
errno: v
|
||
}]),
|
||
!1
|
||
}
|
||
if (18 === +v)
|
||
return e._logNaMonitor("pc_login_real_name_action"),
|
||
e.getElement("error").innerHTML = "",
|
||
e._ownerDialog && e._ownerDialog.hide("unHide"),
|
||
p.apply(e, [{
|
||
args: s,
|
||
rspData: b,
|
||
cfg: g,
|
||
errno: v
|
||
}]),
|
||
b.hao123Param && b.realnameswitch + "" != "1" && A(b.hao123Param, e),
|
||
!1;
|
||
if (1 === +b.guide_upgrade_mobile)
|
||
return e.getElement("error").innerHTML = "",
|
||
e._ownerDialog && e._ownerDialog.hide("unHide"),
|
||
e._logNaMonitor("pc_login_confirm_mobile"),
|
||
m.call(e, {
|
||
args: s,
|
||
rspData: b,
|
||
cfg: g,
|
||
errno: v
|
||
}),
|
||
b.hao123Param && b.realnameswitch + "" != "1" && A(b.hao123Param, e),
|
||
!1;
|
||
if (20 === +v) {
|
||
var _ = e.fire("beforeWarning", s);
|
||
if (!_)
|
||
return;
|
||
return e.getElement("error") && (e.getElement("error").innerHTML = ""),
|
||
e.getElement("smsError") && (e.getElement("smsError").innerHTML = ""),
|
||
e._ownerDialog && e._ownerDialog.hide("unHide"),
|
||
r.apply(e, [{
|
||
args: s,
|
||
rspData: s,
|
||
cfg: g
|
||
}]),
|
||
b.hao123Param && "1" != b.setpwdswitch && A(b.hao123Param, e),
|
||
!1
|
||
}
|
||
if (22 === +v) {
|
||
var _ = e.fire("beforeWarning", s);
|
||
if (!_)
|
||
return;
|
||
return e.getElement("error") && (e.getElement("error").innerHTML = ""),
|
||
e.getElement("smsError") && (e.getElement("smsError").innerHTML = ""),
|
||
e._ownerDialog && e._ownerDialog.hide("unHide"),
|
||
c.apply(e, [{
|
||
args: s,
|
||
rspData: s,
|
||
cfg: g
|
||
}]),
|
||
b.hao123Param && A(b.hao123Param, e),
|
||
!1
|
||
}
|
||
if ("400413" === v || "400414" === v) {
|
||
e._logNaMonitor("pc_login_second_card");
|
||
var _ = e.fire("beforeWarning", s);
|
||
if (!_)
|
||
return;
|
||
return e.getElement("error") && (e.getElement("error").innerHTML = ""),
|
||
e.getElement("smsError") && (e.getElement("smsError").innerHTML = ""),
|
||
e._ownerDialog && e._ownerDialog.hide("unHide"),
|
||
l.apply(e, [{
|
||
args: s,
|
||
rspData: s,
|
||
cfg: g
|
||
}]),
|
||
b.hao123Param && A(b.hao123Param, e),
|
||
!1
|
||
}
|
||
if ("400704" === v || "400706" === v) {
|
||
e._logNaMonitor("pc_login_second_card");
|
||
var _ = e.fire("beforeWarning", s);
|
||
if (!_)
|
||
return;
|
||
return e.getElement("error") && (e.getElement("error").innerHTML = ""),
|
||
e.getElement("smsError") && (e.getElement("smsError").innerHTML = ""),
|
||
e._ownerDialog && e._ownerDialog.hide("unHide"),
|
||
d.apply(e, [{
|
||
args: s,
|
||
rspData: s,
|
||
cfg: g
|
||
}]),
|
||
b.hao123Param && A(b.hao123Param, e),
|
||
!1
|
||
}
|
||
if (19 == v) {
|
||
var w = this
|
||
, b = s.rsp.data
|
||
, _ = e.fire("beforeWarning", s);
|
||
if (!_)
|
||
return;
|
||
return e.getElement("error").innerHTML = "",
|
||
e._ownerDialog && e._ownerDialog.hide("unHide"),
|
||
null == w.confirmWidgetLabel ? passport._load(S + "/passApi/js/uni_wrapper.js", !0, function() {
|
||
w.confirmWidgetLabel = passport.pop.init({
|
||
type: "confirmWidget",
|
||
tangram: !0,
|
||
width: 430,
|
||
height: 150,
|
||
apiOpt: {
|
||
contentHTML: " <div class='pass-confirmContent-wrapper-Label'> <div class='pass-confirmContent-msg-Label'><span class='img-class' ></span></div> <ul class='pass-confirmContent-descmsg-Label' style='margin-left:20px;'> <p>近日,某邮箱帐户存在被破解的可能性,建议您使用其他</p> <p>邮箱绑定百度帐号,或及时修改您的百度帐号登陆密码并</p> <p>绑定手机,以确保帐户安全。</p> </ul> </div>"
|
||
},
|
||
onConfirmClose: function() {
|
||
w.confirmWidgetLabel.hide(),
|
||
L(e, s)
|
||
},
|
||
onRender: function() {
|
||
w.confirmWidgetLabel.getElement("confirm_cancel").style.display = "none",
|
||
w.confirmWidgetLabel.getElement("confirm_continue").style.display = "none",
|
||
w.confirmWidgetLabel.getElement("confirmWidget_footer").style.display = "none"
|
||
}
|
||
}),
|
||
w.confirmWidgetLabel.show()
|
||
}) : w.confirmWidgetLabel.show(),
|
||
b.hao123Param && A(b.hao123Param, e),
|
||
!1
|
||
}
|
||
if (23 == v) {
|
||
var w = this
|
||
, b = s.rsp.data
|
||
, _ = e.fire("beforeWarning", s);
|
||
if (!_)
|
||
return;
|
||
return e.getElement("error").innerHTML = "",
|
||
e._ownerDialog && e._ownerDialog.hide("unHide"),
|
||
null == w.confirmWidgetMobileSure ? passport._load(S + "/passApi/js/uni_wrapper.js", !0, function() {
|
||
w.confirmWidgetMobileSure = passport.pop.init({
|
||
type: "confirmWidget",
|
||
tangram: !0,
|
||
titleText: "非常重要",
|
||
width: 430,
|
||
apiOpt: {
|
||
Cancel: "不需要解绑",
|
||
Continue: "申诉去解绑",
|
||
contentHTML: '<div class="pass-confirmContent-wrapper-sureConfirm"><div class="pass-confirmContent-wrapper-msg"><p><span class="pass-confirmContent-redcolor" id="pass-mobile-sure-num">' + b.phoneNumber + '</span>是您绑定的手机号,请确认该手机号是否还在使用,为了帐号安全请及时解绑不使用的手机。</p></div><div class="pass-confirmwidget-bottom"><span id="pass-mobile-sure-btn" class="pass-button pass-button-grey cancel">不需要解绑</span><a href="' + b.appealurl + '" id="pass-appeal-btn" class="pass-button pass-button-grey continue" target="new">申诉去解绑</a></div></div>'
|
||
},
|
||
onRender: function() {
|
||
w.confirmWidgetMobileSure.getElement("confirm_cancel").style.display = "none",
|
||
w.confirmWidgetMobileSure.getElement("confirm_continue").style.display = "none",
|
||
w.confirmWidgetMobileSure.getElement("confirmWidget_footer").style.display = "none",
|
||
baidu(document.getElementById("pass-mobile-sure-btn")).on("click", function() {
|
||
f("mobileSurePC")
|
||
}),
|
||
baidu(document.getElementById("pass-appeal-btn")).on("click", function() {
|
||
f("appealMobilePC")
|
||
})
|
||
},
|
||
onConfirmClose: function() {
|
||
f("mobileSureClosePC")
|
||
},
|
||
onConfirmContinue: function() {},
|
||
onConfirmCancel: function() {}
|
||
}),
|
||
w.confirmWidgetMobileSure.show()
|
||
}) : (document.getElementById("pass-mobile-sure-num") && (document.getElementById("pass-mobile-sure-num").html = b.phoneNumber || ""),
|
||
w.confirmWidgetMobileSure.show()),
|
||
b.hao123Param && A(b.hao123Param, e),
|
||
!1
|
||
}
|
||
if (401007 == v) {
|
||
e._logNaMonitor("pc_login_multi_choice");
|
||
var _ = e.fire("beforeWarning", s);
|
||
if (!_)
|
||
return;
|
||
return e.getElement("error").innerHTML = "",
|
||
e._ownerDialog && e._ownerDialog.hide("unHide"),
|
||
o.apply(e, [{
|
||
rspData: b
|
||
}]),
|
||
!1
|
||
}
|
||
if (120016 == v || 400032 == v || 400034 == v) {
|
||
e._logNaMonitor("pc_bind_action");
|
||
var _ = e.fire("beforeWarning", s);
|
||
if (!_)
|
||
return;
|
||
return e.getElement("error").innerHTML = "",
|
||
e._ownerDialog && e._ownerDialog.hide("unHide"),
|
||
t.apply(e, [{
|
||
errno: v,
|
||
args: s,
|
||
cfg: g
|
||
}]),
|
||
b.hao123Param && A(b.hao123Param, e),
|
||
!1
|
||
}
|
||
if (5 == v || 400031 == v || 120019 == v || 120021 == v || 400023 == v || y) {
|
||
e._logNaMonitor("pc_login_verify_transfer");
|
||
var _ = e.fire("beforeWarning", {
|
||
args: s
|
||
});
|
||
if (!_)
|
||
return;
|
||
return e.getElement("error") && (e.getElement("error").innerHTML = ""),
|
||
e._ownerDialog && e._ownerDialog.hide("unHide"),
|
||
b.authid ? void i.apply(e, [{
|
||
args: s,
|
||
rspData: b,
|
||
cfg: g,
|
||
errno: y && 120021 != v ? "riskCheat" : v
|
||
}]) : (h(S + "/passApi/css/uni_forceverify_9a4941e.css"),
|
||
n.apply(e, [{
|
||
args: s,
|
||
rspData: b,
|
||
cfg: g,
|
||
errno: y && 120021 != v ? "riskCheat" : v
|
||
}]),
|
||
!1)
|
||
}
|
||
if (400037 == v) {
|
||
var _ = e.fire("beforeWarning", s);
|
||
if (!_)
|
||
return;
|
||
return e.getElement("error").innerHTML = "",
|
||
e._ownerDialog && e._ownerDialog.hide("unHide"),
|
||
a.apply(e, [{
|
||
args: s,
|
||
rspData: s,
|
||
cfg: g
|
||
}]),
|
||
b.hao123Param && A(b.hao123Param, e),
|
||
!1
|
||
}
|
||
return 400041 === +v && (document.location.href = "https://passport.baidu.com/?getpassappeal&tpl=" + e.config.product),
|
||
!0
|
||
}
|
||
function h(e) {
|
||
if (!x[e]) {
|
||
x[e] = !0;
|
||
var t = document.createElement("link");
|
||
t.rel = "stylesheet",
|
||
t.type = "text/css",
|
||
t.href = e,
|
||
document.getElementsByTagName("head")[0].appendChild(t)
|
||
}
|
||
return !0
|
||
}
|
||
var v, b, y, _, w, E, C, S = window.location ? "http:" === window.location.protocol.toLowerCase() ? "http://passport.baidu.com" : "https://passport.baidu.com" : "http:" === document.location.protocol.toLowerCase() ? "http://passport.baidu.com" : "https://passport.baidu.com", T = {
|
||
uni_armorwidget: "/passApi/js/uni_armorwidget_71d1be8.js",
|
||
uni_forceverify: "/passApi/js/uni_forceverify_f96f9bd.js",
|
||
uni_accConnect: "/passApi/js/uni_accConnect_wrapper.js",
|
||
uni_wrapper: "/passApi/js/uni_wrapper.js"
|
||
}, I = "uni_wrapper", D = "uni_forceverify", k = "uni_armorwidget", R = "uni_accConnect", x = {}, L = function(e, t) {
|
||
var n = "pc_" + e.currentLoginType + "_loginv4_success";
|
||
e._logNaMonitor(n);
|
||
var i = {
|
||
tpl: e.config.product || "",
|
||
page: e.config.page || "",
|
||
traceId: e.urlData.traceId || ""
|
||
}
|
||
, o = {
|
||
eventType: "pc_login_success"
|
||
};
|
||
e._logPass(i, o),
|
||
e._logPass(i, {
|
||
eventType: "pc-" + e.config.loginType + "-submit-success"
|
||
});
|
||
var s = e.fire("loginSuccess", t);
|
||
s && ("yylive" === e.config.product ? passport.data.getAccessToken({
|
||
client: "",
|
||
clientfrom: "",
|
||
tpl: "yylive ",
|
||
client_id: "Bxr73Efet8HjR5Tr0HqcgDKr"
|
||
}).success(function(n) {
|
||
var i = n.data
|
||
, o = e.fireEvent("yyLoginSuccess", {
|
||
rsp: i
|
||
});
|
||
o && (window.location ? window.location.href = t.rsp.data.u + "?accesstoken=" + i.access_token + "&expire=" + i.expires_in : document.location.href = t.rsp.data.u + "?accesstoken=" + i.access_token + "&expire=" + i.expires_in)
|
||
}) : window.location ? window.location.href = t.rsp.data.u : document.location.href = t.rsp.data.u)
|
||
}, P = function() {
|
||
var e = 0
|
||
, t = 0
|
||
, n = null
|
||
, i = /msie (\d+\.\d+)/i.test(navigator.userAgent);
|
||
if (i || console.log(navigator.plugins["Shockwave Flash"]),
|
||
i) {
|
||
var o = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
|
||
o && (e = 1,
|
||
t = o.GetVariable("$version"))
|
||
} else if (navigator && navigator.plugins && navigator.plugins.length > 0 && navigator.plugins["Shockwave Flash"]) {
|
||
var o = navigator.plugins["Shockwave Flash"];
|
||
o && (n = o.filename,
|
||
e = 1,
|
||
t = o.version ? o.version : o.description)
|
||
}
|
||
return {
|
||
isexists: e,
|
||
ver: t,
|
||
filename: n
|
||
}
|
||
}, A = function(e, t) {
|
||
if (!(t && t.config && t.config.noSynBdu && 1 === t.config.noSynBdu)) {
|
||
var n = document.location.protocol.toLowerCase();
|
||
passport.data.request.load(n + "//user.nuomi.com/pclogin/main/crossdomain?bdu=" + encodeURIComponent(e) + "&t=" + (new Date).getTime()),
|
||
passport.data.request.load(n + "//passport.zongheng.com/bdpass/crossdomain.do?bdu=" + encodeURIComponent(e) + "&t=" + (new Date).getTime()),
|
||
passport.data.request.load(n + "//newcopyright.baidu-int.com/login/crossdomain?bdu=" + encodeURIComponent(e) + "&t=" + (new Date).getTime()),
|
||
passport.data.request.load(n + "//apollo.auto/apollo/sync_bduss?bdu=" + encodeURIComponent(e) + "&t=" + (new Date).getTime());
|
||
var i = "//baike.baidu.hk/common/api/crossdomain?bdu=" + encodeURIComponent(e);
|
||
passport.data.request.load(n + i + "&t=" + (new Date).getTime());
|
||
var o = "//www.yoojia.com/sync/crossdomain?bdu=" + encodeURIComponent(e);
|
||
if (passport.data.request.load(n + o + "&t=" + (new Date).getTime()),
|
||
"eventgraph" === t.config.product) {
|
||
var s = "//eventgraph.baidu-int.com/event_api/api/get_access_bduss?bdu=" + encodeURIComponent(e);
|
||
passport.data.request.load(n + s + "&t=" + (new Date).getTime())
|
||
}
|
||
if ("roadugc" === t.config.product) {
|
||
var a = "//inner-lutao.baidu-int.com/audit/api/crossdomain?bdu=" + encodeURIComponent(e);
|
||
passport.data.request.load(n + a + "&t=" + (new Date).getTime())
|
||
}
|
||
if ("map_bus_data" === t.config.product) {
|
||
var r = "//busjiucuo.baidu-int.com/subwaybus/passport/crossdomain?bdu=" + encodeURIComponent(e)
|
||
, c = "//prebusjiucuo.baidu-int.com/subwaybus/passport/crossdomain?bdu=" + encodeURIComponent(e);
|
||
passport.data.request.load(n + r + "&t=" + (new Date).getTime()),
|
||
passport.data.request.load(n + c + "&t=" + (new Date).getTime())
|
||
}
|
||
if ("zhengxin" === t.config.product) {
|
||
var l = "//www.aiqicha.com/login/loginAjax?bdu=" + encodeURIComponent(e)
|
||
, d = "//www.aiqicha.cn/login/loginAjax?bdu=" + encodeURIComponent(e);
|
||
passport.data.request.load(n + l + "&t=" + (new Date).getTime()),
|
||
passport.data.request.load(n + d + "&t=" + (new Date).getTime())
|
||
}
|
||
if ("health_pc_cer" === t.config.product) {
|
||
var u = "//www.baidujk.com/harbor/pc/crossdomain?bdu=" + encodeURIComponent(e);
|
||
passport.data.request.load(n + u + "&t=" + (new Date).getTime())
|
||
}
|
||
if ("netdisk_sandbox" === t.config.product) {
|
||
var a = "//sandbox.pan.baidu-int.com/pass/crossdomain?bdu=" + encodeURIComponent(e);
|
||
passport.data.request.load(n + a + "&t=" + (new Date).getTime())
|
||
}
|
||
return passport.data.request.load(n + "//user.hao123.com/static/crossdomain.php?bdu=" + encodeURIComponent(e) + "&t=" + (new Date).getTime())
|
||
}
|
||
};
|
||
e.login = {
|
||
loginSuccess: function(e, t) {
|
||
var n = /msie (\d+\.\d+)/i.test(navigator.userAgent);
|
||
if (e.config.setWebToClient && !n && s.apply(e, [{
|
||
args: t
|
||
}]),
|
||
e.config.noSynBdu && 1 === e.config.noSynBdu) {
|
||
var i = f(e, t, {
|
||
onCancel: function() {
|
||
L(e, t)
|
||
}
|
||
});
|
||
i && L(e, t)
|
||
} else
|
||
A(t.rsp.data.hao123Param, e).success(function() {
|
||
var n = f(e, t, {
|
||
onCancel: function() {
|
||
L(e, t)
|
||
}
|
||
});
|
||
n && L(e, t)
|
||
});
|
||
return {
|
||
preventEvent: !0,
|
||
preventDefault: !0
|
||
}
|
||
},
|
||
loginError: function(e, t) {
|
||
return f(e, t, {
|
||
onCompleted: function(t, n) {
|
||
e.config.noSynBdu && 1 === e.config.noSynBdu ? n() : A(t.data.hao123Param, e).success(n)
|
||
},
|
||
onCancel: function(t) {
|
||
t && t.isCompleted && L(e, {
|
||
rsp: t.rsp
|
||
})
|
||
}
|
||
}),
|
||
{
|
||
preventEvent: !1,
|
||
preventDefault: !1
|
||
}
|
||
},
|
||
connectNeedBind: function(e, t) {
|
||
return f(e, t, {
|
||
onCompleted: function() {},
|
||
onCancel: function() {}
|
||
}),
|
||
{
|
||
preventEvent: !1,
|
||
preventDefault: !1
|
||
}
|
||
},
|
||
validateAllError: function(e, t) {
|
||
var n = t.validates ? e.getElement(t.validates[t.validates.length - 1].field) : "";
|
||
return n && n.focus && n.focus(),
|
||
{
|
||
preventEvent: !1,
|
||
preventDefault: !1
|
||
}
|
||
}
|
||
}
|
||
}(passport.hook),
|
||
magic.passport = baidu.lang.createClass(function() {
|
||
this._validateInfo = {}
|
||
}, {
|
||
type: "magic.passport",
|
||
superClass: magic.Base
|
||
}).extend({
|
||
_getRegularField: function(e) {
|
||
var t = e.pwd ? "password" : "text"
|
||
, n = this
|
||
, i = 'autocomplete="off"'
|
||
, o = e.maxLength ? 'maxlength="' + e.maxLength + '"' : ""
|
||
, s = e.tip ? e.tip : ""
|
||
, a = e.value ? e.value : ""
|
||
, r = e.field + "" == "verifycode" ? "none" : ""
|
||
, c = "";
|
||
c = "text" === t ? '<input type="text" style="display:none;">' : '<input type="password" style="display: none;">';
|
||
var l = '<p id="' + n.$getId(e.field + "Wrapper") + '" class="pass-form-item pass-form-item-' + e.field + ("setpwd" === e.type ? " pass-new-set-pwd" : "") + '" style="display:' + r + '">' + (e.label ? '<label for="' + n.$getId(e.field) + '" id="' + n.$getId(e.field + "Label") + '" class="pass-label pass-label-' + e.field + '">' + e.label + "</label>" : "") + c + '<input id="' + n.$getId(e.field) + '" type="' + t + '" name="' + e.field + '" class="pass-text-input pass-text-input-' + e.field + '" ' + o + (e.placeholder ? 'placeholder="' + e.placeholder + '" ' : "") + i + (e.disabled ? '" disabled' : "") + ' value="' + a + '"/>' + (e.noError ? "" : '<span id="' + n.$getId(e.field + "Error") + '" class="pass-item-error pass-item-error-' + e.field + '"></span>') + (e.hasSucc ? '<span id="' + n.$getId(e.field + "Succ") + '" class="pass-item-succ pass-item-succ-' + e.field + '" style="display:none;"></span>' : "") + '<span id="' + n.$getId(e.field + "Tip") + '" class="pass-item-tip pass-item-tip-' + e.field + '" style="display:none"><span id="' + n.$getId(e.field + "TipText") + '" class="pass-item-tiptext pass-item-tiptext-' + e.field + '">' + s + "</span></span></p>";
|
||
return l
|
||
},
|
||
_getHiddenField: function(e, t) {
|
||
var n, i = this, o = '<p id="' + i.$getId(t || "hiddenFields") + '" style="display:none">';
|
||
for (var s in e)
|
||
e.hasOwnProperty(s) && (n = "string" == typeof e[s] ? e[s].replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/\x22/g, """).replace(/\x27/g, "'") : e[s],
|
||
o += '<input type="hidden" id="' + i.$getId((t ? t + "_" : "") + s) + '" name="' + s + '" value="' + n + '" />');
|
||
return o += "</p>"
|
||
},
|
||
_setEvent: function() {
|
||
var e = this
|
||
, t = this.getElement()
|
||
, n = function(t) {
|
||
e._eventHandler.entrance.apply(e, [t])
|
||
};
|
||
baidu(e.getElement()).on("resize", function() {
|
||
var e = (navigator.userAgent,
|
||
!navigator.userAgent.match(/OS [1-8]_\d[_\d]* like Mac OS X/i))
|
||
, t = !!navigator.userAgent.toString().match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)
|
||
, n = navigator.userAgent.toString().indexOf("iPad");
|
||
if (e && t && null != n) {
|
||
var i = document.getElementsByClassName("popBox");
|
||
null != i && i.length > 0 && (i[0].style.height = window.screen.height > document.body.clientHeight ? window.screen.height * (window.screen.height / document.body.clientHeight) + 120 + "px" : window.screen.height * (window.screen.height / document.body.clientHeight))
|
||
}
|
||
}),
|
||
baidu(e.getElement("form")).on("submit", n),
|
||
baidu(e.getElement("license")).on("click", n),
|
||
baidu(e.getElement("verifyCodeChange")).on("click", n),
|
||
baidu(e.getElement("verifyCodeSend")).on("click", n),
|
||
baidu(e.getElement("smsVcodeSend")).on("click", n),
|
||
baidu(t).delegate(".pass-suggest-item label", "click", n),
|
||
baidu(".pass-text-input", e.getElement()).on({
|
||
focus: n,
|
||
blur: n,
|
||
change: n,
|
||
keyup: n,
|
||
mouseover: n,
|
||
mouseout: n
|
||
})
|
||
},
|
||
_validator: {
|
||
confStorage: {},
|
||
builtInMsg: {
|
||
required: "请您输入%s",
|
||
phone: "手机号码格式不正确",
|
||
email: "邮箱格式不正确",
|
||
idcard: "身份证格式不正确"
|
||
},
|
||
builtInRules: {
|
||
required: /\S+/,
|
||
phone: /^1[3456789]\d{9}$/,
|
||
email: /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/,
|
||
idcard: /(^\d{15}$)|(^\d{17}(\d|X|x)$)/
|
||
},
|
||
init: function(e, t) {
|
||
this.confStorage[e.$getId()] = t
|
||
},
|
||
validate: function(e, t, n, i) {
|
||
var o = e.getElement(t)
|
||
, s = {
|
||
field: t
|
||
}
|
||
, a = /^\s*(.+?)\s*$/;
|
||
if (!o || 0 === +o.offsetHeight)
|
||
return !1;
|
||
for (var r = o.value.replace(a, "$1"), c = this.confStorage[e.$getId()][t], l = c.rules, d = 0, u = l.length; u > d; d++) {
|
||
var p, g = l[d], m = this.builtInRules[g];
|
||
if (p = "[object function]" === Object.prototype.toString.call(m).toLowerCase() ? m.call(e, o, i) : new RegExp(m).test(r),
|
||
!p)
|
||
return s.error = !0,
|
||
e._validateInfo[t] = 0,
|
||
s.msg = this.builtInMsg[g].replace(/\%s/, c.desc),
|
||
e._validateError(s),
|
||
void n.error(s)
|
||
}
|
||
c.asyncRule ? c.asyncRule.call(e, {
|
||
success: function(i) {
|
||
s.error = !1,
|
||
s.data = i.data,
|
||
e._validateInfo[t] = 1,
|
||
e._validateSuccess(s),
|
||
n.success(s)
|
||
},
|
||
error: function(i) {
|
||
s.error = !0,
|
||
e._validateInfo[t] = 0,
|
||
s.msg = i.msg,
|
||
e._validateError(s),
|
||
n.error(s)
|
||
}
|
||
}, i) : (s.error = !1,
|
||
e._validateInfo[t] = 1,
|
||
e._validateSuccess(s),
|
||
n.success(s))
|
||
},
|
||
validateAll: function(e, t, n) {
|
||
function i() {
|
||
r = !0,
|
||
a ? t && t.error(c) : t && t.success(c)
|
||
}
|
||
var o = this.confStorage[e.$getId()]
|
||
, s = 0
|
||
, a = !1
|
||
, r = !1
|
||
, c = []
|
||
, l = this._getActiveValidate(e, !0);
|
||
for (var d in o) {
|
||
if (r)
|
||
break;
|
||
this.validate(e, d, {
|
||
success: function(e) {
|
||
s++,
|
||
c.push(e),
|
||
s === l && i()
|
||
},
|
||
error: function(e) {
|
||
return a = !0,
|
||
s++,
|
||
c.push(e),
|
||
n ? void i() : void (s === l && i())
|
||
}
|
||
}, "all")
|
||
}
|
||
},
|
||
_getActiveValidate: function(e, t) {
|
||
var n = this.confStorage[e.$getId()]
|
||
, i = [];
|
||
for (var o in n) {
|
||
var s = e.getElement(o);
|
||
s && 0 !== s.offsetHeight && i.push(s)
|
||
}
|
||
return t ? i.length : i
|
||
},
|
||
addRule: function(e, t) {
|
||
var n = {};
|
||
n[e] = t,
|
||
baidu.extend(this.builtInRules, n)
|
||
},
|
||
addMsg: function(e, t) {
|
||
var n = {};
|
||
n[e] = t,
|
||
baidu.extend(this.builtInMsg, n)
|
||
}
|
||
},
|
||
validate: function(e, t) {
|
||
var n = this
|
||
, i = n.fireEvent("beforeValidate", {
|
||
validate: {
|
||
field: e,
|
||
ele: baidu(n.getElement(e))
|
||
}
|
||
});
|
||
i && n._validator.validate(n, e, {
|
||
success: function(e) {
|
||
var i = n.fireEvent("validateSuccess", {
|
||
validate: e
|
||
});
|
||
i && t && t.success && t.success(e)
|
||
},
|
||
error: function(e) {
|
||
var i = n.fireEvent("validateError", {
|
||
validate: e
|
||
});
|
||
i && t && t.error && t.error(e)
|
||
}
|
||
})
|
||
},
|
||
validateAll: function(e, t) {
|
||
var n = this;
|
||
t = "boolean" == typeof e ? e : t ? t : !1;
|
||
var i = n.fireEvent("beforeValidateAll");
|
||
i && n._validator.validateAll(n, {
|
||
success: function(t) {
|
||
var i = n.fireEvent("validateAllSuccess", {
|
||
validates: t
|
||
});
|
||
i && e && e.success && e.success(t)
|
||
},
|
||
error: function(t) {
|
||
var i = n.fireEvent("validateAllError", {
|
||
validates: t
|
||
});
|
||
i && e && e.error && e.error(t)
|
||
}
|
||
}, t)
|
||
},
|
||
getValidateStatus: function(e) {
|
||
return this._validateInfo.hasOwnProperty(e) ? this._validateInfo[e] : -1
|
||
},
|
||
setValidateSuccess: function(e) {
|
||
var t = this;
|
||
t._validateInfo[e] = 1,
|
||
t._validateSuccess({
|
||
field: e
|
||
})
|
||
},
|
||
setValidateError: function(e, t, n) {
|
||
var i = this;
|
||
i._validateInfo[e] = 0,
|
||
i._validateError({
|
||
field: e,
|
||
msg: t
|
||
}, n)
|
||
},
|
||
setGeneralError: function(e) {
|
||
this.getElement("error").innerHTML = e
|
||
},
|
||
clearGeneralError: function() {
|
||
this.getElement("error").innerHTML = ""
|
||
},
|
||
_isSupportPlaceholder: function() {
|
||
return "placeholder"in document.createElement("input")
|
||
},
|
||
_getPlaceholder: function(e) {
|
||
for (var t = this, n = {}, i = "", o = {}, s = 0; s < e.length; s++) {
|
||
if (i = t.lang[e[s].placeholder],
|
||
0 !== +e[s].clearbtn && (o[s] = baidu('<span id="' + t.$getId(e[s].label + "_clearbtn") + '" class="pass-clearbtn pass-clearbtn-' + e[s].label + '" style="display:none;"></span>'),
|
||
baidu(t.getElement(e[s].label)).after(o[s])),
|
||
t._isSupportPlaceholder() && !baidu.browser.ie)
|
||
try {
|
||
baidu(t.getElement(e[s].label)).attr({
|
||
placeholder: i
|
||
})
|
||
} catch (a) {
|
||
var r = t.getElement(e[s].label);
|
||
r.setAttribute("placeholder", i)
|
||
}
|
||
else
|
||
n[s] = baidu('<span id="' + t.$getId(e[s].label + "_placeholder") + '" class="pass-placeholder pass-placeholder-' + e[s].label + '">' + i + "</span>"),
|
||
baidu(t.getElement(e[s].label)).after(n[s]);
|
||
t._rendEventPlaceholder(t.getElement(e[s].label), n[s], o[s])
|
||
}
|
||
},
|
||
_getCookie: function(e) {
|
||
var t, n = new RegExp("(^| )" + e + "=([^;]*)(;|$)");
|
||
return (t = document.cookie.match(n)) ? unescape(t[2]) : null
|
||
},
|
||
_logNaMonitor: function(e) {
|
||
var t = {
|
||
page: "loginv4",
|
||
tpl: this.config.product || "",
|
||
module: "wapna",
|
||
monitorType: e
|
||
}
|
||
, n = {
|
||
eventType: "na-monitor"
|
||
};
|
||
this._logPass(t, n, 1023)
|
||
},
|
||
_logPass: function(e, t, n) {
|
||
function i(e) {
|
||
var t, n, i, o, s, a, r = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
||
for (i = e.length,
|
||
n = 0,
|
||
t = ""; i > n; ) {
|
||
if (o = 255 & e.charCodeAt(n++),
|
||
n === i) {
|
||
t += r.charAt(o >> 2),
|
||
t += r.charAt((3 & o) << 4),
|
||
t += "==";
|
||
break
|
||
}
|
||
if (s = e.charCodeAt(n++),
|
||
n === i) {
|
||
t += r.charAt(o >> 2),
|
||
t += r.charAt((3 & o) << 4 | (240 & s) >> 4),
|
||
t += r.charAt((15 & s) << 2),
|
||
t += "=";
|
||
break
|
||
}
|
||
a = e.charCodeAt(n++),
|
||
t += r.charAt(o >> 2),
|
||
t += r.charAt((3 & o) << 4 | (240 & s) >> 4),
|
||
t += r.charAt((15 & s) << 2 | (192 & a) >> 6),
|
||
t += r.charAt(63 & a)
|
||
}
|
||
return t
|
||
}
|
||
var o = n ? "&type=" + n : ""
|
||
, s = document.location.protocol + "//nsclick.baidu.com/v.gif?pid=111&v=" + (new Date).getTime() + o
|
||
, a = "";
|
||
for (var r in t)
|
||
a = a + r + ":" + t[r] + ",";
|
||
a = i("{" + a.substring(0, a.length - 1) + "}");
|
||
for (var c in e)
|
||
e.hasOwnProperty(c) && (s += "&" + c + "=" + e[c]);
|
||
if (s += "&source=pc",
|
||
s += "&auto_statistic=" + a + "&auto_en=" + t.eventType,
|
||
t.errno && (s += "&errno=" + t.errno),
|
||
s) {
|
||
var l = new Image;
|
||
l.onload = l.onerror = function() {
|
||
l.onload = l.onerror = null,
|
||
l = null
|
||
}
|
||
,
|
||
l.src = s
|
||
}
|
||
},
|
||
logClickLink: function(e, t) {
|
||
e = e || {},
|
||
e = this.formatLogData(e);
|
||
var n = t.target || t.srcElement
|
||
, i = n && n.getAttribute && n.getAttribute("target")
|
||
, o = "_self" === i || null === i
|
||
, s = this.makeImgSrc(e);
|
||
if (o && (t.preventDefault ? t.preventDefault() : t.returnValue = !1),
|
||
window.navigator.sendBeacon && o)
|
||
window.navigator.sendBeacon(s),
|
||
window.location.href = n.getAttribute("href");
|
||
else if (o)
|
||
this.lazyLog(n, s, null);
|
||
else {
|
||
var a = new Image;
|
||
a.onload = a.onerror = function() {
|
||
a.onload = a.onerror = null,
|
||
a = null
|
||
}
|
||
,
|
||
a.src = s
|
||
}
|
||
},
|
||
logCallBack: function(e, t) {
|
||
e = e || {},
|
||
e = this.formatLogData(e);
|
||
var n = this.makeImgSrc(e);
|
||
this.lazyLog({}, n, t)
|
||
},
|
||
formatLogData: function(e) {
|
||
var t = this.config || {};
|
||
return baidu.extend({}, {
|
||
page: e.logPage || "",
|
||
source: "pc-api",
|
||
tpl: t.product || "",
|
||
subpro: t.subpro || "",
|
||
extrajson: t.extrajson || "",
|
||
data_source: "fe"
|
||
}, e)
|
||
},
|
||
makeImgSrc: function(e) {
|
||
var t = document.location.protocol + "//nsclick.baidu.com/v.gif?pid=111&type=1023&v=" + (new Date).getTime()
|
||
, n = "";
|
||
for (var i in e)
|
||
e.hasOwnProperty(i) && (n += "en" !== i ? "&" + i + "=" + e[i] : "&auto_en=" + e[i]);
|
||
var o = "{eventType:" + (e.en || "") + "}";
|
||
return o = this.base64encode(o),
|
||
t += "&auto_statistic=" + o,
|
||
t += "&auto_en=" + (e.en || ""),
|
||
t += n
|
||
},
|
||
lazyLog: function(e, t, n) {
|
||
function i() {
|
||
n ? n() : window.location.href = o
|
||
}
|
||
var o = e.getAttribute && e.getAttribute("href")
|
||
, s = new Image
|
||
, a = setTimeout(function() {
|
||
s.onload = s.onerror = s = null,
|
||
i("imgTimeout")
|
||
}, 200);
|
||
s.onload = s.onerror = function() {
|
||
clearTimeout(a),
|
||
s.onload = s.onerror = s = null,
|
||
i("imgSuccess")
|
||
}
|
||
,
|
||
s.src = t
|
||
},
|
||
base64encode: function(e) {
|
||
var t, n, i, o, s, a, r = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
||
for (i = e.length,
|
||
n = 0,
|
||
t = ""; i > n; ) {
|
||
if (o = 255 & e.charCodeAt(n++),
|
||
n === i) {
|
||
t += r.charAt(o >> 2),
|
||
t += r.charAt((3 & o) << 4),
|
||
t += "==";
|
||
break
|
||
}
|
||
if (s = e.charCodeAt(n++),
|
||
n === i) {
|
||
t += r.charAt(o >> 2),
|
||
t += r.charAt((3 & o) << 4 | (240 & s) >> 4),
|
||
t += r.charAt((15 & s) << 2),
|
||
t += "=";
|
||
break
|
||
}
|
||
a = e.charCodeAt(n++),
|
||
t += r.charAt(o >> 2),
|
||
t += r.charAt((3 & o) << 4 | (240 & s) >> 4),
|
||
t += r.charAt((15 & s) << 2 | (192 & a) >> 6),
|
||
t += r.charAt(63 & a)
|
||
}
|
||
return t
|
||
},
|
||
_rendEventPlaceholder: function(e, t, n) {
|
||
if (e || n) {
|
||
var i, o, s = this, a = function(e) {
|
||
1 === +e ? (t && t[0] && s.$hide(t[0]),
|
||
n && n[0] && s.$show(n[0])) : (t && t[0] && s.$show(t[0]),
|
||
n && n[0] && s.$hide(n[0]))
|
||
};
|
||
setTimeout(function() {
|
||
e && e.value && a(1)
|
||
}, 200),
|
||
baidu(t).on("mousedown", function() {
|
||
o = !0,
|
||
clearTimeout(i),
|
||
i = setTimeout(function() {
|
||
"password" === t[0] || s.suggestionDom && "none" !== s.suggestionDom.style.display || e.focus()
|
||
}, 0)
|
||
}),
|
||
baidu(n).on("click", function() {
|
||
e.value = "",
|
||
a(0),
|
||
e.focus(),
|
||
s.suggestionDom && (s.suggestionDom.data_delete = !0,
|
||
setTimeout(function() {
|
||
s.suggestionDom.data_delete = !1
|
||
}, 200))
|
||
}),
|
||
baidu(e).on("keyup", function() {
|
||
a(e.value ? 1 : 0)
|
||
}),
|
||
baidu(e).on("focus", function() {
|
||
window.inputCheckTimer = setInterval(function() {
|
||
e.value.length ? (a(1),
|
||
clearInterval(window.inputCheckTimer)) : a(0)
|
||
}, 30)
|
||
})
|
||
}
|
||
},
|
||
SBCtoDBC: function(e) {
|
||
var t = "";
|
||
if (e) {
|
||
for (var n = e.length, i = 0; n > i; i++) {
|
||
var o = e.charCodeAt(i);
|
||
o = o >= 65281 && 65374 >= o ? o - 65248 : o,
|
||
o = 12288 == o ? 32 : o,
|
||
t += String.fromCharCode(o)
|
||
}
|
||
return t
|
||
}
|
||
},
|
||
hide: function() {
|
||
this.getElement().style.display = "none"
|
||
},
|
||
show: function() {
|
||
this.getElement().style.display = "block"
|
||
},
|
||
_analysis: function(e, t) {
|
||
return window.passport.analysis && window.passport.analysis[this.module] && window.passport.analysis[this.module][e] ? (window.passport.analysis[this.module][e](this, t),
|
||
{
|
||
preventDefault: !1,
|
||
preventEvent: !1
|
||
}) : void 0
|
||
},
|
||
_hook: function(e, t) {
|
||
return window.passport.hook && window.passport.hook[this.module] && window.passport.hook[this.module][e] ? window.passport.hook[this.module][e](this, t) : {
|
||
preventDefault: !1,
|
||
preventEvent: !1
|
||
}
|
||
},
|
||
fireEvent: function(e, t) {
|
||
var n = this._hook(e, t)
|
||
, i = !0;
|
||
return n.preventEvent || (i = this.fire(e, t)),
|
||
!n.preventDefault && i
|
||
},
|
||
getQueryString: function(e) {
|
||
var t = new RegExp("(^|&)" + e + "=([^&]*)(&|$)","i")
|
||
, n = window.location.search.substr(1).match(t);
|
||
return null != n ? unescape(n[2]) : ""
|
||
}
|
||
});
|
||
var hexcase = 0
|
||
, b64pad = ""
|
||
, chrsz = 8;
|
||
return magic.passport.login = baidu.lang.createClass(function(e) {
|
||
var t = this;
|
||
if (passport && "https" === passport._protocol)
|
||
var n = "https:";
|
||
else
|
||
var n = window.location ? window.location.protocol.toLowerCase() : document.location.protocol.toLowerCase();
|
||
if (t._domain = {
|
||
https: "https://passport.baidu.com",
|
||
http: "http://passport.baidu.com",
|
||
auto: "https:" === n ? "https://passport.baidu.com" : "http://passport.baidu.com",
|
||
wapAuto: "https:" === n ? "https://wappass.baidu.com" : "http://wappass.baidu.com"
|
||
},
|
||
t.config = {
|
||
memberPass: !0,
|
||
isQuickUser: 0,
|
||
safeFlag: 0,
|
||
product: "",
|
||
idc: "",
|
||
charset: "",
|
||
loginMerge: !0,
|
||
staticPage: "",
|
||
hasRegUrl: !1,
|
||
u: "",
|
||
lang: "",
|
||
autosuggest: !1,
|
||
hasPlaceholder: !1,
|
||
registerLink: "",
|
||
authsiteLogin: "",
|
||
authsiteCfgLogin: "",
|
||
authsiteCurrentOpen: !1,
|
||
qrcode: !0,
|
||
sms: 0,
|
||
uniqueId: !1,
|
||
autoFocus: !0,
|
||
subpro: "",
|
||
setWebToClient: !1,
|
||
is_voice_sms: 0,
|
||
voice_sms_flag: 0,
|
||
userPwdLogin: 0,
|
||
qrcode_animation: 1,
|
||
qrcode_style: !0,
|
||
vcodefrom: "",
|
||
client: "",
|
||
smsAutoLogin: {
|
||
mobile: "",
|
||
encryption: ""
|
||
},
|
||
qrloginfrom: "pc",
|
||
mustVerify: "",
|
||
clientId: "",
|
||
qrcodeCfg: {},
|
||
sid: "",
|
||
logParams: {}
|
||
},
|
||
baidu.extend(t.config, e),
|
||
t.urlData = {
|
||
page: "loginv5",
|
||
tpl: t.config.product || "",
|
||
subpro: t.config.subpro || "",
|
||
traceId: "pc_loginv5_" + ((new Date).getTime() / 1e3).toFixed()
|
||
},
|
||
t.config.sid && (t.urlData.sid = t.config.sid),
|
||
t.config.logParams && t.config.logParams instanceof Object)
|
||
for (var i in t.config.logParams)
|
||
t.urlData[i] = t.config.logParams[i];
|
||
t.config.product = t.config.product || "isnull",
|
||
t.config.qrcode = 3,
|
||
t.config.page = "loginv5",
|
||
t.config.loginType = "pwdLogin",
|
||
this.module = "login",
|
||
this.guideRandom = function() {
|
||
return "xxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(e) {
|
||
var t = 16 * Math.random() | 0
|
||
, n = "x" === e ? t : 3 & t | 8;
|
||
return n.toString(16)
|
||
}).toUpperCase()
|
||
}();
|
||
var o = t.getQueryString("lang") || t.config.lang
|
||
, s = o ? "&lang=" + o : ""
|
||
, a = o ? "?lang=" + o : "";
|
||
t.constant = {
|
||
CHECKVERIFYCODE: !0,
|
||
CONTAINER_CLASS: "tang-pass-login",
|
||
LABEL_FOCUS_CLASS: "pass-text-label-focus",
|
||
FOCUS_CLASS: "pass-text-input-focus",
|
||
HOVER_CLASS: "pass-text-input-hover",
|
||
ERROR_CLASS: "pass-text-input-error",
|
||
VERIFYCODE_URL_PREFIX: t._domain.https + "/cgi-bin/genimage?",
|
||
BLANK_IMG_URL: passport.apiDomain.staticDomain + "/passApi/img/small_blank.gif",
|
||
MODIFY_PWD_URL_PREFIX: t._domain.https + "/forcsdnpasschange",
|
||
GET_PASSWORD_URL: t._domain.https + "/?getpassindex&tt=" + (new Date).getTime() + "&gid=" + t.guideRandom + "&tpl=" + encodeURIComponent(t.config.product) + "&u=" + encodeURIComponent(t.config.u),
|
||
REG_URL: t.config.registerLink || t._domain.https + "/v2/?reg&tt=" + (new Date).getTime() + "&overseas=" + t.config.overseas + "&gid=" + t.guideRandom + "&tpl=" + encodeURIComponent(t.config.product) + "&u=" + encodeURIComponent(t.config.u) + s,
|
||
PROTOCAL_URL: t._domain.http + "/static/passpc-account/html/protocal.html" + a,
|
||
PERSONAL_PROTOCAL_URL: "http://privacy.baidu.com/policy",
|
||
NOCAPTCHA_URL: t._domain.auto + "/static/passpc-base/js/ld.min.js?cdnversion=" + (new Date).getTime(),
|
||
TOUCHAPIMKD_URL: t._domain.wapAuto + "/static/machine/js/api/mkd.js?cdnversion=" + (new Date).getTime(),
|
||
SUBMITFLAG: !1
|
||
},
|
||
t.lang = passport.err.getCurrent(t.config.lang).labelText.login,
|
||
t.hooksText = passport.err.getCurrent(t.config.lang).hooksText,
|
||
passport.data.setContext(baidu.extend({}, t.config)),
|
||
this.initialized = !1,
|
||
this.validatorInited = !1,
|
||
this.bdPsWtoken = "",
|
||
this.innerData = {
|
||
normal: {},
|
||
phone: {}
|
||
},
|
||
this.dataFiels = ["userName", "password"],
|
||
this.initTime = (new Date).getTime(),
|
||
window.confirmSmsVerifyWidget = null,
|
||
window.checkPhoneWidget = null,
|
||
window.checkPhoneExist = !1;
|
||
var r = /msie (\d+\.\d+)/i.test(navigator.userAgent) ? document.documentMode || +RegExp.$1 : void 0;
|
||
6 >= r && (t.config.qrcode_animation = !1),
|
||
t.passLowerIE = r,
|
||
t.config.overseas && 1 == t.config.overseas && (this.foreignMobile = !0),
|
||
this.internation = !1,
|
||
t._insertNoCaptchaScript(),
|
||
t.initMkd(),
|
||
t.config.defaultCss && t._loadCssFileW("/passApi/css/loginv5_288e59d.css", function() {}),
|
||
t._insertScriptW("https://wappass.baidu.com/static/touch/js/lib/fingerprint.js", function() {
|
||
t.fuid = window.passFingerPrint()
|
||
}),
|
||
(t.config.memberPass || t.config.getapi) && t._initApi(),
|
||
this.smsConfig = t.config.sms + "" == "5" ? !0 : !1
|
||
}, {
|
||
type: "magic.passport.login",
|
||
superClass: magic.passport
|
||
}).extend({
|
||
_setComposeTemplate: function() {
|
||
var e = '<div id="componseLeft" class="compose-left-container"></div><div id="componseRight" class="compose-right-container"></div>';
|
||
return e
|
||
},
|
||
_getIrregularField: function(e) {
|
||
var t = this
|
||
, n = {
|
||
makeText: '<p id="' + t.$getId("MakeTextWrapper") + '" class="pass-make-text" style="display:none;"></p>',
|
||
verifyCode: '<p id="' + t.$getId("verifyCodeImgWrapper") + '" class="pass-form-item pass-form-item-verifyCode" style="display:none"><input id="' + t.$getId("verifyCode") + '" type="text" name="verifyCode" class="pass-text-input pass-text-input-verifyCode" maxlength="6" /><span id="' + t.$getId("verifyCodeImgParent") + '" class="pass-verifyCodeImgParent" ><img id="' + t.$getId("verifyCodeImg") + '" class="pass-verifyCode" src="' + t.constant.BLANK_IMG_URL + '" /></span><a id="' + t.$getId("verifyCodeChange") + '" href="#" class="pass-change-verifyCode">' + t.lang.captchaChange + '</a><span id="' + t.$getId("verifyCodeError") + '" class="pass-error pass-error-verifyCode"></span><span id="' + t.$getId("verifyCodeTip") + '" class="pass-tip pass-tip-verifyCode"></span><span id="' + t.$getId("verifyCodeSuccess") + '" class="pass-success pass-success-verifyCode"></span></p>',
|
||
generalError: '<p id="' + t.$getId("errorWrapper") + '" class="pass-generalErrorWrapper"><span id="' + t.$getId("error") + '" class="pass-generalError pass-generalError-error"></span></p>',
|
||
rem: '<p id="' + t.$getId("memberPassWrapper") + '" class="pass-form-item pass-form-item-memberPass memberPass-hidden"><input id="' + t.$getId("memberPass") + '" type="checkbox" name="memberPass" class="pass-checkbox-input pass-checkbox-memberPass"' + (t.config.memberPass ? ' checked="checked"' : "") + ' /><label for="' + t.$getId("memberPass") + '" id="' + t.$getId("memberPassLabel") + '" class="">' + t.lang.memberPassLabel + "</label></p>",
|
||
submit: '<p id="' + t.$getId("submitWrapper") + '" class="pass-form-item pass-form-item-submit"><input id="' + t.$getId("submit") + '" type="submit" value="' + t.lang.login + '" class="pass-button pass-button-submit" /><span class="tang-pass-sms-agreement pass-link">' + t.lang.agree + '<a target="_blank" href="' + t.constant.PROTOCAL_URL + '">' + t.lang.baiduUserProtocal + '</a> 和 <a target="_blank" href="' + t.constant.PERSONAL_PROTOCAL_URL + '">' + t.lang.baiduUserPersonal + "</a></span></p>",
|
||
forgetPwd: '<a class="pass-fgtpwd pass-link" id="' + t.$getId("fgtpwdLink") + '">' + t.lang.fgtPwd + "</a>",
|
||
foreignMobileMsg: '<p class="pass-foreignMobile-msg" id="' + t.$getId("foreignMobileMsg") + '">' + t.lang.foreignMobileMsg + "</p>",
|
||
foreignMobileWrapper: '<div class="pass-form-item pass-form-item-PhoneCountry pass-foreignMobile-wrapper" id="' + t.$getId("foreignMobileWrapper") + '" style="display:none"><label for="' + t.$getId("foreignMobile") + '" id="' + t.$getId("foreignMobileLabel") + '" class="pass-label" data-countryCode="">+86</label><input id="' + t.$getId("foreignMobile") + '" type="text" name="foreignusername" class="pass-text-input"/><ul id="' + t.$getId("foreignCountryList") + '" class="pass-country-list"></ul></div>',
|
||
foreignMobileLink: '<p class="pass-foreignMobile-link-wrapper" id="' + t.$getId("foreignMobileLinkWrapper") + '"><a id="' + t.$getId("foreignMobileLink") + '" class="pass-foreignMobile-link">' + t.lang.foreignMobileLink + "</a></p>",
|
||
foreignMobileBack: '<p class="pass-foreignMobile-back-wrapper" id="' + t.$getId("foreignMobileBackWrapper") + '"><a id="' + t.$getId("foreignMobileBack") + '" class="pass-foreignMobile-link">' + t.lang.foreignToLogin + "</a></p>",
|
||
choiceuser: '<div id="' + t.$getId("choiceuser_article") + '" class="tang-pass-login-choice choiceuser-article"><div class="choiceuser-msg"><p class="choiceuser-msg-title">亲爱的用户,</p><p class="choiceuser-msg-text">为了确保您的帐号安全,请先确认您输入的帐号是用户名还是手机号:</p></div><div class="choiceuser-buttons"><div class="choiceuser-btn"><input class="pass-button pass-button-choiceuser-username" type="button" value="用户名" id="' + t.$getId("choiceuser_btn_username") + '"/><input class="pass-button pass-button-choiceuser-phone" type="button" value="手机号" id="' + t.$getId("choiceuser_btn_mobile") + '"/></div><div class="choiceuser-back"><a href="#" id="' + t.$getId("choiceuser_btn_back") + '">' + t.lang.backToLogin + "</a></div></div></div>",
|
||
webtoclint: '<div id="' + t.$getId("pass_b2c") + '" style="display:none;"></div>',
|
||
is_voice_sms: '<div class="pass-smsSwitchWrapper"><a class="pass-is_voice_sms-btn" title="语音验证码" data-type="is_voice_sms" >语音验证码</a></div>'
|
||
};
|
||
return n[e]
|
||
},
|
||
_getHeaderTemplate: function() {
|
||
var e = this
|
||
, t = (e.config.composeTemplate && e.config.hideLogo ? '<p class="hide-logo-text">扫码登录</p>' : e.config.hideLogo ? '<p class="hide-logo-not-text"></p>' : '<p class="pass-form-logo"></p>') + '<p id="' + e.$getId("headerLoginTab") + '" class="login-type-tab"><span id="' + e.$getId("changeQrCodeItem") + '" class="switch-item"' + (e.config.composeTemplate ? 'style="display: none;"' : "") + '">扫码登录</span><span id="' + e.$getId("changePwdCodeItem") + '" class="switch-item">帐号登录</span><span id="' + e.$getId("changeSmsCodeItem") + '" class="switch-item"' + (e.smsConfig ? "" : 'style="display: none;"') + ">短信登录</span></p>";
|
||
return t
|
||
},
|
||
_getTemplate: function() {
|
||
var e = this
|
||
, t = '<form id="' + e.$getId("form") + '" class="pass-form pass-form-normal" method="POST" autocomplete="off">'
|
||
, n = {
|
||
codeString: "",
|
||
safeFlag: e.config.safeFlag,
|
||
u: e.config.u,
|
||
isPhone: !1,
|
||
detect: "1",
|
||
gid: e.guideRandom || "",
|
||
staticPage: e.config.staticPage,
|
||
quick_user: e.config.isQuickUser,
|
||
logintype: e.config.diaPassLogin ? "dialogLogin" : "basicLogin",
|
||
logLoginType: e.config.diaPassLogin ? "pc_loginDialog" : "pc_loginBasic",
|
||
subpro: e.config.subpro,
|
||
idc: e.config.idc,
|
||
loginMerge: !0,
|
||
mkey: e.config.mkey || ""
|
||
}
|
||
, i = [{
|
||
field: "userName",
|
||
noError: !0
|
||
}, {
|
||
field: "password",
|
||
pwd: !0,
|
||
noError: !0
|
||
}];
|
||
t += e._getIrregularField("makeText"),
|
||
t += e._getHiddenField(n),
|
||
e.foreignMobile && (t += e._getIrregularField("foreignMobileMsg"),
|
||
t += e._getIrregularField("foreignMobileWrapper"));
|
||
for (var o = 0; o < i.length; o++)
|
||
t += e._getRegularField(i[o]);
|
||
return t += e._getIrregularField("verifyCode"),
|
||
t += e._getIrregularField("rem"),
|
||
e.foreignMobile && (t += e._getIrregularField("foreignMobileLink"),
|
||
t += e._getIrregularField("foreignMobileBack")),
|
||
t += e._getIrregularField("generalError"),
|
||
t += e._getIrregularField("forgetPwd"),
|
||
t += e._getIrregularField("submit"),
|
||
t += "</form>"
|
||
},
|
||
_collectData: function() {
|
||
for (var e = this, t = e.innerData.normal, n = e.dataFiels, i = 0, o = n.length; o > i; i++)
|
||
t[n[i]] = e.getElement(n[i]).value;
|
||
return t
|
||
},
|
||
_restoreData: function(e) {
|
||
for (var t = this, n = t.innerData[e ? e : "normal"], i = t.dataFiels, o = 0, s = i.length; s > o; o++)
|
||
t.getElement(i[o]).value = n[i[o]] || "";
|
||
return n
|
||
},
|
||
_loadCssFileW: function(e, t) {
|
||
if (window._loadedFilesW = window._loadedFilesW || {},
|
||
window._loadedFilesW[e])
|
||
t && t();
|
||
else {
|
||
window._loadedFilesW[e] = !0;
|
||
var n = document.createElement("link");
|
||
n.rel = "stylesheet",
|
||
n.type = "text/css",
|
||
n.href = passport.apiDomain.staticDomain + e,
|
||
document.getElementsByTagName("head")[0].appendChild(n),
|
||
n.readyState ? n.onreadystatechange = function() {
|
||
("loaded" == n.readyState || "complete" == n.readyState) && (n.onreadystatechange = null,
|
||
t && t())
|
||
}
|
||
: n.onload = function() {
|
||
t && t()
|
||
}
|
||
}
|
||
},
|
||
_insertScriptW: function(e, t) {
|
||
if (window._loadedFilesW = window._loadedFilesW || {},
|
||
window._loadedFilesW[e])
|
||
t && t();
|
||
else {
|
||
window._loadedFilesW[e] = !0;
|
||
var n = document
|
||
, i = n.createElement("SCRIPT");
|
||
i.type = "text/javascript",
|
||
i.charset = "UTF-8",
|
||
i.readyState ? i.onreadystatechange = function() {
|
||
("loaded" == i.readyState || "complete" == i.readyState) && (i.onreadystatechange = null,
|
||
t && t())
|
||
}
|
||
: i.onload = function() {
|
||
t && t()
|
||
}
|
||
,
|
||
i.src = e,
|
||
n.getElementsByTagName("head")[0].appendChild(i)
|
||
}
|
||
},
|
||
_authSiteW: function() {
|
||
var e = this
|
||
, t = e.config
|
||
, n = e.getPhoenixId("pass_phoenix_btn");
|
||
t.authsitecssLoad && e._loadCssFileW("/passApi/css/authsite_c01e2ff.css"),
|
||
e._insertScriptW(e._domain.auto + "/phoenix/account/jsapi", function() {
|
||
window.baidu.phoenix && window.baidu.phoenix.require(t.authsiteLogin, baidu.extend(t.authsiteCfgLogin || {}, {
|
||
authsiteCurrentOpen: t.authsiteCurrentOpen,
|
||
tpl: t.product ? t.product : "",
|
||
idc: t.idc ? t.idc : "",
|
||
u: t.u,
|
||
subpro: t && t.subpro || "",
|
||
target: n,
|
||
staticPage: t.staticPage,
|
||
html: {
|
||
qzone: '<a class="phoenix-btn-item" href="#" data-title="qzone">QQ帐号</a>',
|
||
tsina: '<a class="phoenix-btn-item" href="#" data-title="tsina">新浪微博</a>',
|
||
tqq: '<a class="phoenix-btn-item" href="#" data-title="tqq">腾讯微博</a>',
|
||
qunar: '<a class="phoenix-btn-item" href="#" data-title="qunar">去哪儿</a>',
|
||
weixin: '<a class="phoenix-btn-item" href="#" data-title="weixin">微信</a>',
|
||
tianyi: '<a class="phoenix-btn-item" href="#" data-title="tianyi">天翼</a>',
|
||
feifan: '<a class="phoenix-btn-item" href="#" data-title="feifan">飞凡</a>'
|
||
},
|
||
onAfterRender: function() {
|
||
for (var t = baidu("#" + n + " li"), i = function(t) {
|
||
t.on("click", function(n) {
|
||
var i = {
|
||
eventType: t.attr("data-title") + "Click"
|
||
};
|
||
e._logPass(e.urlData, i),
|
||
n.preventDefault()
|
||
})
|
||
}, o = 0; o < t.length; o++) {
|
||
var s = baidu(".phoenix-btn-item", t[o]);
|
||
s.attr({
|
||
title: s[0] && s[0].innerHTML || ""
|
||
}),
|
||
i(s)
|
||
}
|
||
e._logPass(e.urlData, {
|
||
eventType: "pc-authsite-show"
|
||
})
|
||
}
|
||
}))
|
||
})
|
||
},
|
||
getVerifyCode: function(e) {
|
||
var t = this
|
||
, n = {
|
||
fr: "login",
|
||
loginVersion: "v4",
|
||
vcodetype: t.vcodetype || ""
|
||
};
|
||
if (t.getElement("verifyCode").value = "",
|
||
t.$hide("verifyCodeSuccess"),
|
||
t.getElement("verifyCode_clearbtn") && t.$hide("verifyCode_clearbtn"),
|
||
t.getElement("verifyCodeImg").src = "",
|
||
e && e.length) {
|
||
t.$show("verifyCodeImgWrapper"),
|
||
t.getElement("verifyCodeImg").src = t.constant.VERIFYCODE_URL_PREFIX + e,
|
||
t.getElement("codeString").value = e;
|
||
var i = t.fireEvent("renderVerifycode", {
|
||
verifyStr: e,
|
||
verifyCodeImg: t.constant.VERIFYCODE_URL_PREFIX + e
|
||
});
|
||
if (!i)
|
||
return
|
||
} else
|
||
passport.data.getVerifyCodeStr(n).success(function(e) {
|
||
0 == e.errInfo.no && (t.$show("verifyCodeImgWrapper"),
|
||
t.getElement("verifyCodeImg").src = t.constant.VERIFYCODE_URL_PREFIX + e.data.verifyStr,
|
||
t.getElement("codeString").value = e.data.verifyStr,
|
||
t.fireEvent("renderVerifycode", {
|
||
verifyStr: e.data.verifyStr,
|
||
verifyCodeImg: t.constant.VERIFYCODE_URL_PREFIX + e.data.verifyStr
|
||
}))
|
||
});
|
||
t.getElement("verifyCode_placeholder") && setTimeout(function() {
|
||
t.$show("verifyCode_placeholder")
|
||
}, 200)
|
||
},
|
||
_getWDom: {
|
||
parent: function(e) {
|
||
return e.parentNode || e.parentElement
|
||
},
|
||
next: function(e) {
|
||
do
|
||
e = e.nextSibling;
|
||
while (e && 1 !== e.nodeType);return e
|
||
},
|
||
prev: function(e) {
|
||
do
|
||
e = e.previousSibling;
|
||
while (e && 1 !== e.nodeType);return e
|
||
}
|
||
},
|
||
clearVerifyCode: function() {
|
||
var e = this;
|
||
e.$hide("verifyCodeImgWrapper"),
|
||
e.getElement("codeString").value = ""
|
||
},
|
||
getPhoenixId: function(e) {
|
||
if (this.config.uniqueId)
|
||
return this.$getId(e);
|
||
var t = {
|
||
pass_phoenix_login: "pass-phoenix-login",
|
||
pass_phoenix_list_login: "pass-phoenix-list-login",
|
||
pass_phoenix_btn: "pass_phoenix_btn"
|
||
};
|
||
return t[e]
|
||
},
|
||
getPhoenixElement: function(e) {
|
||
return this.getElement(e) ? this.getElement(e) : document.getElementById(this.getPhoenixId(e))
|
||
},
|
||
_getTemplateOther: function() {
|
||
var e = []
|
||
, t = this
|
||
, n = 0;
|
||
return t.config.authsiteLogin && (n = t.config.authsiteLogin.length),
|
||
e.push('<div id="' + t.getPhoenixId("pass_phoenix_login") + '" class="tang-pass-login-phoenix"><div id="' + t.getPhoenixId("pass_phoenix_list_login") + '" class="pass-phoenix-list clearfix">' + (t.config.authsiteLogin ? '<div class="pass-phoenix-btn clearfix" id="' + t.getPhoenixId("pass_phoenix_btn") + '"></div>' : "") + '</div><div class="clear"></div></div>'),
|
||
e.join("")
|
||
},
|
||
getTemplateFooterBar: function() {
|
||
var e = this
|
||
, t = []
|
||
, n = "";
|
||
return e.storageSupport(function() {
|
||
n = localStorage.getItem("passLoginType")
|
||
}),
|
||
(1 === +e.config.userPwdLogin || "sms" === n && e.smsConfig || "normal" === n) && 1 !== +e.config.qrcodeLogin,
|
||
t.push('<div class="tang-pass-footerBar">' + (e.config.authsiteLogin.length > 0 ? '<div class="tang-pass-footerBarPhoenix"><div class="tang-pass-footerBarPhoenixItem" id="' + e.$getId("PhoenixItem") + '"></div></div>' : "") + '<a class="pass-reglink pass-link" id="' + e.$getId("regLink") + '"' + (e.config.hasRegUrl ? "" : 'style="display:none"') + ">" + e.lang.register + "</a></div>"),
|
||
t.join("")
|
||
},
|
||
setLoginTypeTabBar: function() {
|
||
var e = this
|
||
, t = e.$getId("changeQrCodeItem")
|
||
, n = e.$getId("changePwdCodeItem")
|
||
, i = e.$getId("changeSmsCodeItem")
|
||
, o = e.$getId("QrcodeDownload");
|
||
baidu("#" + t).on("click", function(t) {
|
||
t && t.preventDefault && t.preventDefault(),
|
||
e._changeLoginType("qrcode"),
|
||
e._logPass(e.urlData, {
|
||
eventType: "user-qrLogin-click"
|
||
})
|
||
}),
|
||
baidu("#" + n).on("click", function(t) {
|
||
t && t.preventDefault && t.preventDefault(),
|
||
e._logPass(e.urlData, {
|
||
eventType: "user-pwdLogin-click"
|
||
}),
|
||
e._changeLoginType("normal")
|
||
}),
|
||
baidu("#" + i).on("click", function() {
|
||
/msie 6/i.test(navigator.userAgent) || /msie 7/i.test(navigator.userAgent) ? setTimeout(function() {
|
||
e._changeLoginType("sms")
|
||
}, 0) : e._changeLoginType("sms"),
|
||
e._logPass(e.urlData, {
|
||
eventType: "user-smsLogin-click"
|
||
})
|
||
}),
|
||
baidu("#" + o).on("click", function() {
|
||
var t = {
|
||
eventType: "toDownload"
|
||
};
|
||
e._logPass(e.urlData, t)
|
||
})
|
||
},
|
||
_changeTabButtonActivStatus: function(e) {
|
||
var t = this
|
||
, n = t.$getId("changeQrCodeItem")
|
||
, i = t.$getId("changePwdCodeItem")
|
||
, o = t.$getId("changeSmsCodeItem");
|
||
t.config.composeTemplate && "qrcode" === e ? (baidu("#" + i).addClass("activ"),
|
||
baidu("#" + n).removeClass("activ"),
|
||
baidu("#" + o).removeClass("activ"),
|
||
t._logPass(t.urlData, {
|
||
eventType: "pc-pwdLogin-show"
|
||
})) : "sms" === e ? (baidu("#" + o).addClass("activ"),
|
||
baidu("#" + n).removeClass("activ"),
|
||
baidu("#" + i).removeClass("activ")) : "qrcode" === e ? (baidu("#" + n).addClass("activ"),
|
||
baidu("#" + i).removeClass("activ"),
|
||
baidu("#" + o).removeClass("activ")) : (baidu("#" + i).addClass("activ"),
|
||
baidu("#" + n).removeClass("activ"),
|
||
baidu("#" + o).removeClass("activ"))
|
||
},
|
||
setEventFooterBar: function() {
|
||
var e = this
|
||
, t = e.$getId("footerQrcodeBtn")
|
||
, n = e.$getId("footerULoginBtn")
|
||
, i = e.$getId("regLink")
|
||
, o = e.$getId("fgtpwdLink");
|
||
baidu("#" + t).on("click", function(i) {
|
||
i && i.preventDefault && i.preventDefault(),
|
||
e._changeLoginType("qrcode"),
|
||
baidu("#" + t).hide(),
|
||
baidu("#" + n).show()
|
||
}),
|
||
baidu("#" + n).on("click", function(i) {
|
||
i && i.preventDefault && i.preventDefault(),
|
||
e._changeLoginType("normal"),
|
||
baidu("#" + n).hide(),
|
||
baidu("#" + t).show()
|
||
}),
|
||
baidu("#" + i).on("click", function(t) {
|
||
t && t.preventDefault && t.preventDefault(),
|
||
e._logPass(e.urlData, {
|
||
eventType: "pc-register-click"
|
||
}),
|
||
window.open(e.constant.REG_URL, "_blank")
|
||
}),
|
||
baidu("#" + o).on("click", function(t) {
|
||
t && t.preventDefault && t.preventDefault(),
|
||
e._logPass(e.urlData, {
|
||
eventType: "pc-forget-click"
|
||
}),
|
||
window.open(e.constant.GET_PASSWORD_URL, "_blank")
|
||
})
|
||
},
|
||
_getTemplateQrcode: function() {
|
||
var e = this
|
||
, t = []
|
||
, n = e.config.guideMapImg || "https://passport.baidu.com/passApi/img/qrcodeLoginGuide1.png"
|
||
, i = e.config.qrcodeCfg && e.config.qrcodeCfg.appHref || "https://mo.baidu.com/wuxian/?from=pass"
|
||
, o = e.config.qrcodeCfg && e.config.qrcodeCfg.appName || "百度APP"
|
||
, s = e.config.qrcodeCfg && e.config.qrcodeCfg.appIcon || "https://passport.baidu.com/passApi/img/baidu-download-icon.png"
|
||
, a = e.config.qrcodeCfg && e.config.qrcodeCfg.downLoadQrcode || "https://b.bdstatic.com/searchbox/icms/searchbox/img/code_home.png"
|
||
, r = e.config.qrcodeCfg && e.config.qrcodeCfg.disableJump || !1
|
||
, c = e.config.composeTemplate ? "block" : "none";
|
||
return t.push('<div id="' + e.$getId("qrcode") + '" class="clearfix tang-pass-qrcode tang-pass-login" style="display:' + c + ';">'),
|
||
t.push('<div class="tang-pass-qrcode-content" id="' + e.$getId("qrcodeContent") + '">'),
|
||
t.push('<div class="tang-pass-qrcode-init">'),
|
||
t.push('<div class="Qrcode-status-con tang-pass-qrcode-imgWrapper" id="' + e.$getId("QrcodeMain") + '"><img class="tang-pass-qrcode-img" src="' + passport.apiDomain.staticDomain + '/passApi/img/loading.gif"/>' + (e.config.qrcode_animation ? '<p class="Qrcode-status-animation' + (8 === +e.passLowerIE ? " Qrcode-status-animation-hackIE8" : "") + '" id="' + e.$getId("QrcodeAnimation") + '" style="background: url(' + n + ') no-repeat center center / 134px 160px"></p>' : "") + "</div>"),
|
||
t.push('<div class="Qrcode-status-con Qrcode-status-success" id="' + e.$getId("QrcodeSuccess") + '"><p class="Qrcode-status-icon"></p><p>' + e.lang.QrcodeSuccessTip + '</p><p class="Qrcode-status-msg">' + e.lang.QrcodeSuccessMsg + "</p></div>"),
|
||
t.push('<div class="Qrcode-status-con Qrcode-status-error" id="' + e.$getId("QrcodeError") + '"><p class="Qrcode-status-icon"></p><p>' + e.lang.QrcodeErrorTip + '</p><p class="Qrcode-refresh-btn" id="' + e.$getId("QrcodeErrorfreshBtn") + '">' + e.lang.QrcodeRefreshBtn + "</p></div>"),
|
||
t.push('<div class="Qrcode-status-con Qrcode-status-refresh" id="' + e.$getId("QrcodeRefresh") + '"><p class="Qrcode-status-icon"></p><p class="refresh-title refresh-timeout">' + e.lang.QrcodeRefreshTip + '</p><p class="refresh-title refresh-loadout">' + e.lang.QrcodeLoadTip + '</p><p class="Qrcode-refresh-btn" id="' + e.$getId("QrcodeRefreshBtn") + '">' + e.lang.QrcodeRefreshBtn + "</p></div>"),
|
||
t.push("</div>"),
|
||
t.push("</div>"),
|
||
e.config.qrcodeCfg && e.config.qrcodeCfg.appTitle ? t.push('<p id="' + e.$getId("QrcodeTitle") + '" class="tang-pass-qrcode-title">' + e.config.qrcodeCfg.appTitle + "</p>") : (t.push('<p id="' + e.$getId("QrcodeTitle") + '" class="tang-pass-qrcode-title">' + e.lang.qrcodeTitle + o + e.lang.qrcodeText + "</p>"),
|
||
t.push('<div id="' + e.$getId("QrcodeDownload") + '" class="pass-qrcode-download"><div class="qrcode-hover"><div class="qrcode-download-link-box"><img class="qrcode-download-link" src="' + a + '"></div><p>扫描二维码下载' + o + '</p></div><a class="pass-link" href="' + (r ? "javascript:;" : i) + '" target="_blank"><img class="pass-qrcode-icon" src="' + s + '" alt="">下载' + o + "</a></div>")),
|
||
e.config.qrcodeCfg && e.config.qrcodeCfg.appSubTitle && t.push('<p class="tang-pass-qrcode-subtitle">' + e.config.qrcodeCfg.appSubTitle + "</p>"),
|
||
t.push("</div>"),
|
||
t.join("")
|
||
},
|
||
_setEventQrcode: function() {
|
||
var e = this;
|
||
/msie 6/i.test(navigator.userAgent) ? setTimeout(function() {
|
||
e._changeLoginType("qrcode")
|
||
}, 0) : e._changeLoginType("qrcode")
|
||
},
|
||
getChannelForUnReceiveSms: function() {
|
||
var e = this
|
||
, t = document.getElementById(e.$getId("smsPhone"));
|
||
e.config.unReceiveSmsCode = "",
|
||
e._stopChannel(),
|
||
baidu.ajax({
|
||
url: e._domain.https + "/v3/login/getChannel",
|
||
dataType: "jsonp",
|
||
data: {
|
||
from: "up_sms_login",
|
||
data: e._SBCtoDBC(t.value)
|
||
},
|
||
success: function(t) {
|
||
if (0 === +t.errno) {
|
||
e._logPass(e.urlData, {
|
||
eventType: "pc-unreceive-sms-show"
|
||
}),
|
||
e._ownerDialog && e._ownerDialog.hide("unHide"),
|
||
e.getElement("unRecevieSmsSendCode").innerHTML = t.captcha;
|
||
var n = "";
|
||
t.channelCode && (n = t.channelCode + "",
|
||
n = n.replace(/\s/g, "").replace(/(.{4})/g, "$1 ")),
|
||
e.getElement("unRecevieSmsSendNumber").innerHTML = n,
|
||
e.$show(e.getElement("unRecevieSmsTip")),
|
||
passport[e.$getId("spareWData")].sign = t.channelId,
|
||
e.config.unReceiveSmsCode = t.captcha || "",
|
||
e._createChannel(t.channelId),
|
||
e.config.channelType = "unReceiveSms"
|
||
} else
|
||
passport[e.$getId("spareWData")].unicast && clearTimeout(passport[e.$getId("spareWData")].unicast),
|
||
e._setSmsGeneralError(t.errmsg)
|
||
},
|
||
error: function() {}
|
||
})
|
||
},
|
||
_setChannel: function() {
|
||
var e = this;
|
||
e.config.channelType = "qrcode";
|
||
var t = "traceId:" + e.urlData.traceId + ",logPage:" + e.urlData.page
|
||
, n = {
|
||
apiver: "v3",
|
||
tt: (new Date).getTime(),
|
||
tpl: e.config.product || "",
|
||
logPage: t
|
||
}
|
||
, i = e.getElement("qrcodeContent");
|
||
passport[e.$getId("spareWData")] = passport[e.$getId("spareWData")] || {},
|
||
baidu(".Qrcode-status-con", i).hide(),
|
||
e.$show(e.getElement("QrcodeMain")),
|
||
e.$show(e.getElement("QrcodeTitle")),
|
||
e.$show(e.getElement("QrcodeDownload")),
|
||
passport[e.$getId("spareWData")].loadQrcode = setTimeout(function() {
|
||
e.config.qrcode_style && (baidu(".Qrcode-status-con", i).hide(),
|
||
baidu(".refresh-title", i).hide(),
|
||
baidu(".refresh-loadout", i).show(),
|
||
e.$hide(e.getElement("QrcodeTitle")),
|
||
e.$hide(e.getElement("QrcodeDownload")),
|
||
e.$show(e.getElement("QrcodeRefresh")))
|
||
}, 5e3);
|
||
var o = e._domain.https + "/v2/api/getqrcode?lp=pc&qrloginfrom=" + e.config.qrloginfrom + "&gid=" + (e.guideRandom || "");
|
||
e.config.moreParams && e.config.moreParams.qrext_clientid && (o += "&qrext_clientid=" + e.config.moreParams.qrext_clientid),
|
||
baidu.ajax({
|
||
url: o,
|
||
dataType: "jsonp",
|
||
data: n,
|
||
success: function(t) {
|
||
clearTimeout(passport[e.$getId("spareWData")].loadQrcode),
|
||
clearTimeout(passport[e.$getId("spareWData")].unicast),
|
||
passport[e.$getId("spareWData")].channelimg = (window.location ? window.location.protocol : document.location.protocol) + "//" + t.imgurl,
|
||
passport[e.$getId("spareWData")].sign = t.sign;
|
||
for (var n = baidu(".tang-pass-qrcode-img", i), o = 0, s = n.length; s > o; o++)
|
||
n.get(o).src = passport[e.$getId("spareWData")].channelimg;
|
||
setTimeout(function() {
|
||
e._createChannel(passport[e.$getId("spareWData")].sign)
|
||
}, 300)
|
||
},
|
||
error: function() {
|
||
clearTimeout(passport[e.$getId("spareWData")].loadQrcode),
|
||
clearTimeout(passport[e.$getId("spareWData")].unicast),
|
||
e.config.qrcode_style && (baidu(".Qrcode-status-con", i).hide(),
|
||
e.$hide(e.getElement("QrcodeTitle")),
|
||
e.$hide(e.getElement("QrcodeDownload")),
|
||
e.$show(e.getElement("QrcodeError")))
|
||
}
|
||
})
|
||
},
|
||
_stopChannel: function() {
|
||
var e = this;
|
||
passport[e.$getId("spareWData")] = passport[e.$getId("spareWData")] || {},
|
||
passport[e.$getId("spareWData")].sign = "",
|
||
clearInterval(passport[e.$getId("spareWData")].timer)
|
||
},
|
||
_createChannel: function(sign) {
|
||
var me = this
|
||
, qrcodeSign = sign
|
||
, container = me.getElement("qrcodeContent")
|
||
, qrcodeInit = baidu(".tang-pass-qrcode-init", container).get(0)
|
||
, qrcodeImg = baidu(".tang-pass-qrcode-img", qrcodeInit).get(0)
|
||
, data = {
|
||
apiver: "v3",
|
||
tt: (new Date).getTime()
|
||
};
|
||
passport[me.$getId("spareWData")] = passport[me.$getId("spareWData")] || {},
|
||
me.config.unReceiveSmsCode || (passport[me.$getId("spareWData")].unicast = setTimeout(function() {
|
||
baidu(".Qrcode-status-con", container).hide(),
|
||
me.$hide(me.getElement("QrcodeTitle")),
|
||
me.$hide(me.getElement("QrcodeDownload")),
|
||
me.$show(me.getElement("QrcodeError"))
|
||
}, 35e3)),
|
||
baidu.ajax({
|
||
url: me._domain.https + "/channel/unicast?channel_id=" + passport[me.$getId("spareWData")].sign + "&tpl=" + me.config.product + "&gid=" + (me.guideRandom || ""),
|
||
dataType: "jsonp",
|
||
data: data,
|
||
success: function(d) {
|
||
if (me.config.unReceiveSmsCode || clearTimeout(passport[me.$getId("spareWData")].unicast),
|
||
d.channel_v)
|
||
try {
|
||
d.channel_v = eval("(" + d.channel_v + ")")
|
||
} catch (e) {
|
||
d.channel_v = {}
|
||
}
|
||
else
|
||
d.channel_v = {};
|
||
if (d.channel_v.u && (d.channel_v.u = decodeURIComponent(d.channel_v.u)),
|
||
"unReceiveSms" === me.config.channelType && 0 === +d.errno && 1 === +d.channel_v)
|
||
me._logPass(me.urlData, {
|
||
eventType: "pc-smslogin-unreceive-send-" + (me.config.isPwd && me.config.isPwd < 0 ? "reg" : "login")
|
||
}),
|
||
document.getElementById(me.$getId("smsVerifyCode")).value = me.config.unReceiveSmsCode,
|
||
me.config.unReceiveSmsCode = "",
|
||
me._submitSmsForm(sign),
|
||
me.$hide(me.getElement("unRecevieSmsTip")),
|
||
me._ownerDialog && me._ownerDialog.show();
|
||
else if (0 === +d.errno && 0 === +d.channel_v.status) {
|
||
clearInterval(passport[me.$getId("spareWData")].timer);
|
||
var data = {
|
||
bduss: d.channel_v.v,
|
||
u: encodeURIComponent(d.channel_v.u || me.config.u),
|
||
loginVersion: "v4",
|
||
qrcode: 1,
|
||
tpl: me.config.product ? me.config.product : ""
|
||
};
|
||
passport.data.jsonp("/v3/login/main/qrbdusslogin?v=" + (new Date).getTime(), data).success(function(e) {
|
||
if (0 == e.errInfo.no) {
|
||
me.storageSupport(function() {
|
||
localStorage.setItem("passLoginType", "qrcode")
|
||
}),
|
||
me.config.loginType = "qrLogin";
|
||
var t = me.fireEvent("loginSuccess", {
|
||
rsp: e
|
||
});
|
||
if (!t)
|
||
return;
|
||
"yylive" === me.config.product && (passport.data.setContext(baidu.extend({}, me.config)),
|
||
passport.data.getAccessToken({
|
||
client: "",
|
||
clientfrom: "",
|
||
tpl: "yylive ",
|
||
client_id: "Bxr73Efet8HjR5Tr0HqcgDKr"
|
||
}).success(function(e) {
|
||
var t = e.data
|
||
, n = me.fireEvent("yyLoginSuccess", {
|
||
rsp: t
|
||
});
|
||
n && (window.location.href = rsp.channel_v.u + "?accesstoken=" + t.access_token + "&expire=" + t.expires_in)
|
||
})),
|
||
window.location.href = e.data.u
|
||
} else
|
||
me.fireEvent("loginError", {
|
||
rsp: e
|
||
}),
|
||
me._logPass(me.urlData, {
|
||
eventType: "pc-qrLogin-submit-error",
|
||
errno: e.errInfo.no
|
||
})
|
||
})
|
||
} else {
|
||
if (0 == d.errno && "1" == d.channel_v.status)
|
||
me.config.qrcode_style && (baidu(".Qrcode-status-con", container).hide(),
|
||
me.$hide(me.getElement("QrcodeTitle")),
|
||
me.$hide(me.getElement("QrcodeDownload")),
|
||
me.$show(me.getElement("QrcodeSuccess")));
|
||
else if (0 == d.errno && "2" == d.channel_v.status) {
|
||
clearInterval(passport[me.$getId("spareWData")].timer);
|
||
var returnValue = me.fireEvent("loginQrcodeCancel");
|
||
if (!returnValue)
|
||
return;
|
||
me.config.qrcode_style ? (baidu(".Qrcode-status-con", container).hide(),
|
||
baidu(".refresh-title", container).hide(),
|
||
baidu(".refresh-timeout", container).show(),
|
||
me.$hide(me.getElement("QrcodeTitle")),
|
||
me.$hide(me.getElement("QrcodeDownload")),
|
||
me.$show(me.getElement("QrcodeRefresh"))) : (qrcodeImg && (qrcodeImg.src = passport.apiDomain.staticDomain + "/passApi/img/loading.gif"),
|
||
me._setChannel(),
|
||
passport[me.$getId("spareWData")].timer = setInterval(function() {
|
||
me._setChannel()
|
||
}, 6e5))
|
||
}
|
||
qrcodeSign == passport[me.$getId("spareWData")].sign && me._createChannel(qrcodeSign)
|
||
}
|
||
},
|
||
error: function() {
|
||
me.config.unReceiveSmsCode || clearTimeout(passport[me.$getId("spareWData")].unicast),
|
||
me.config.qrcode_style && (baidu(".Qrcode-status-con", container).hide(),
|
||
me.$hide(me.getElement("QrcodeTitle")),
|
||
me.$hide(me.getElement("QrcodeDownload")),
|
||
me.$show(me.getElement("QrcodeError")))
|
||
}
|
||
})
|
||
},
|
||
refreshQrcode: function() {
|
||
var e = this;
|
||
clearTimeout(passport[e.$getId("spareWData")].unicast);
|
||
var t = e.getElement("qrcodeContent")
|
||
, n = baidu(".tang-pass-qrcode-init", t).get(0)
|
||
, i = baidu(".tang-pass-qrcode-img", n).get(0);
|
||
i && (i.src = passport.apiDomain.staticDomain + "/passApi/img/loading.gif"),
|
||
e._setChannel(),
|
||
passport[e.$getId("spareWData")].timer = setInterval(function() {
|
||
e._setChannel()
|
||
}, 6e5)
|
||
},
|
||
_actionQrcode: function() {
|
||
var e = this
|
||
, t = e.qrcodeDialogDom ? e.qrcodeDialogDom : this.getElement()
|
||
, n = e._getWDom.parent(t);
|
||
e._getWDom.parent(n),
|
||
passport[e.$getId("spareWData")] = passport[e.$getId("spareWData")] || {},
|
||
(!passport[e.$getId("spareWData")].channelimg || e.config.channelType && "unReceiveSms" === e.config.channelType) && (e._setChannel(),
|
||
passport[e.$getId("spareWData")].timer = setInterval(function() {
|
||
e._setChannel()
|
||
}, 6e5))
|
||
},
|
||
_showQrcode: function() {
|
||
var e = this
|
||
, t = this.getElement()
|
||
, n = e._getWDom.parent(t)
|
||
, i = e._getWDom.parent(n)
|
||
, o = baidu(".pass-qrcode-btn", i).get(0);
|
||
e._getWDom.prev(t) && e.$hide(e._getWDom.prev(t)),
|
||
e.$hide("choiceuser_article").$hide(t).$show(baidu(".tang-pass-qrcode", n).get(0)),
|
||
e.$hide(e._getWDom.next(o) ? o : e._getWDom.parent(e._getWDom.parent(o)))
|
||
},
|
||
qrcodeAnimationShow: function() {
|
||
var e = this;
|
||
e.supportCss3Anim() ? baidu(e.getElement("QrcodeMain")).css("margin-left", "0") : baidu(e.getElement("QrcodeMain")).css("margin-left", "0"),
|
||
baidu(e.getElement("QrcodeAnimation")).addClass("Qrcode-status-guideAnim")
|
||
},
|
||
qrcodeAnimationHide: function() {
|
||
var e = this;
|
||
baidu(e.getElement("QrcodeAnimation")).removeClass("Qrcode-status-guideAnim"),
|
||
e.supportCss3Anim() ? baidu(e.getElement("QrcodeMain")).removeClass("Qrcode-animation").addClass("Qrcode-animationRight") : baidu(e.getElement("QrcodeMain")).css("margin-left", "99px")
|
||
},
|
||
supportCss3Anim: function() {
|
||
var e = document.getElementsByTagName("body")[0].style;
|
||
return "undefined" != typeof e.animation || "undefined" != typeof e.WebkitAnimation ? !0 : !1
|
||
},
|
||
setqrcodeEvent: function() {
|
||
var e = this;
|
||
e.qrcodeAnimationShow(),
|
||
baidu(e.getElement("QrcodeErrorfreshBtn")).on("click", function() {
|
||
e.refreshQrcode()
|
||
}),
|
||
baidu(e.getElement("QrcodeRefreshBtn")).on("click", function() {
|
||
e.refreshQrcode()
|
||
})
|
||
},
|
||
getTemplateUnreceiveSms: function() {
|
||
var e = this;
|
||
e.config.unReceiveSmsTempStatus = "none";
|
||
var t = '<div id="' + e.$getId("unRecevieSmsTip") + '" class="pass-unreceiveSms-tip-wrapper" style="display:' + e.config.unReceiveSmsTempStatus + '">';
|
||
return t += '<div class="pass-unreceiveSms-mask"></div><div class="pass-unreceiveSms-tip-wrapper-content"><div class="unreceiveSms-header"><h3 class="unreceiveSms-header-h3">' + e.lang.cantReceiveSms + '</h3><a class="unreceiveSms-header-a" id="' + e.$getId("closeUnRecevieSmsTip") + '"></a></div>',
|
||
t += '<div class="unreceiveSms-article"><div class="pass-unreceiveSms-content"><p class="pass-unreceiveSms-p">' + e.lang.checkIfBlocked + '</p><p class="pass-unreceiveSms-p">' + e.lang.overTimeArrive + '</p><p class="pass-unreceiveSms-t25" id="' + e.$getId("unRecevieSmsReged") + '" style="display:none;">' + e.lang.reguest + (e.config.smsAutoLogin.encryption ? "" : '<a class="pass-unreceiveSms-btn-tip" id="' + e.$getId("unRecevieSmsChangeLogin") + '">' + e.lang.switchLoginMethod + "</a>或") + e.lang.usePhoneSendSms + '“<span class="pass-unreceiveSms-btn-tip" id="' + e.$getId("unRecevieSmsSendCode") + '"></span>”,发送至<span id="' + e.$getId("unRecevieSmsSendNumber") + '"></span>' + e.lang.shouldLogSuccess + '<span class="pass-unreceiveSms-text-tip">' + e.lang.introductSms + '</span></p><p class="pass-unreceiveSms-t25" id="' + e.$getId("unRecevieSmsUnReg") + '" style="display:none;">' + e.lang.rule1 + e.lang.rule2 + '<span class="pass-unreceiveSms-text-tip">' + e.lang.introductSms + "</span></p></div></div></div>"
|
||
},
|
||
_getTemplateSms: function() {
|
||
var e = this
|
||
, t = "none"
|
||
, n = '<div id="' + e.$getId("sms") + '" class="tang-pass-login tang-pass-sms ' + (e.config.smsAutoLogin.encryption ? "tang-pass-sms-encryption" : "") + '" style="display:' + t + '">'
|
||
, i = {
|
||
u: e.config.u,
|
||
staticPage: e.config.staticPage,
|
||
tpl: e.config.product ? e.config.product : "",
|
||
idc: e.config.idc ? e.config.idc : "",
|
||
isdpass: "1",
|
||
gid: e.guideRandom || "",
|
||
switchuname: "",
|
||
smsCodeString: "",
|
||
smsVcodesign: "",
|
||
smsVcodestr: "",
|
||
subpro: e.config.subpro,
|
||
is_voice_sms: e.config.is_voice_sms,
|
||
voice_sms_flag: 0,
|
||
mkey: e.config.mkey || ""
|
||
};
|
||
return n += '<p class="tang-pass-sms-tip">' + (e.config.smsText || e.lang.verifyEqualLogin) + "</p>",
|
||
n += '<form id="' + e.$getId("smsForm") + '" method="POST">',
|
||
n += e._getHiddenField(i, "smsHiddenFields"),
|
||
n += '<div id="' + e.$getId("smsPhoneWrapper") + '" class="pass-form-item pass-form-item-smsPhone' + (e.foreignMobile ? " pass-form-item-PhoneCountry" : "") + '">' + (e.foreignMobile ? '<label for="' + e.$getId("smsPhone") + '" id="' + e.$getId("smsPhoneCountryLabel") + '" class="pass-label pass-label-smsPhone" data-countryCode="">+86</label>' : "") + '<input id="' + e.$getId("smsPhone") + '" type="text" name="username" class="pass-text-input pass-text-input-smsPhone"' + (e.config.smsAutoLogin.encryption ? "disabled" : "") + '/><span id="' + e.$getId("smsPhoneTip") + '" class="pass-item-tip pass-item-tip-smsPhone" style="display:none"><span id="' + e.$getId("smsPhoneTipText") + '"></span></span>' + (e.foreignMobile ? '<ul id="' + e.$getId("smsCountryList") + '" class="pass-country-list"></ul>' : "") + "</div>",
|
||
n += '<p id="' + e.$getId("smsVerifyCodeWrapper") + '" class="pass-form-item pass-form-item-smsVerifyCode"><input id="' + e.$getId("smsVerifyCode") + '" type="text" name="password" class="pass-text-input pass-text-input-smsVerifyCode" /><button id="' + e.$getId("smsTimer") + '" class="pass-item-timer">发送' + e.lang.smsVerifyCode + '</button><span id="' + e.$getId("smsVerifyCodeTip") + '" class="pass-item-tip pass-item-tip-smsVerifyCode" style="display:none"><span id="' + e.$getId("smsVerifyCodeTipText") + '"></span></span></p>',
|
||
n += '<p id="' + e.$getId("smsUnReceiveWrapper") + '" class="pass-form-item pass-form-item-unrecevie" style="display:none;"><span id="' + e.$getId("smsUnReceiveTipWrapper") + '" class="pass-sms-unreceive-tips">' + e.lang.unReceiveSmsCode + "</span></p>",
|
||
n += '<p id="' + e.$getId("smsErrorWrapper") + '" class="pass-generalErrorWrapper"><span id="' + e.$getId("smsError") + '" class="pass-generalError"></span></p>',
|
||
n += 1 != e.config.is_voice_sms ? '<p id="' + e.$getId("smsSubmitWrapper") + '" class="pass-form-item pass-form-item-submit"><input id="' + e.$getId("smsSubmit") + '" type="submit" value="登录" class="pass-button pass-button-submit" /><span class="tang-pass-sms-agreement pass-link">' + e.lang.agree + '<a target="_blank" href="' + e.constant.PROTOCAL_URL + '">' + e.lang.baiduUserProtocal + '</a> 和 <a target="_blank" href="' + e.constant.PERSONAL_PROTOCAL_URL + '">' + e.lang.baiduUserPersonal + "</a></span></p>" : '<p id="' + e.$getId("smsSubmitWrapper") + '" class="pass-form-item pass-form-item-submit"><input id="' + e.$getId("smsSubmit") + '" type="submit" value="登录" class="pass-button pass-button-submit" /><input type="button" style="border:none;background:none;margin-top:12px;cursor:pointer;color:#2e7fdb;font-size:12px" class="pass-is_voice" id="getVoiceSms" value="获取语音验证码" /></br><span class="tang-pass-sms-agreement pass-link">' + e.lang.agree + '<a target="_blank" href="' + e.constant.PROTOCAL_URL + '">' + e.lang.baiduUserProtocal + '</a> 和 <a target="_blank" href="' + e.constant.PERSONAL_PROTOCAL_URL + '">' + e.lang.baiduUserPersonal + "</a></span></p>",
|
||
n += "</form>",
|
||
n += "</div>"
|
||
},
|
||
_setEventSms: function() {
|
||
var e = this
|
||
, t = this.getElement()
|
||
, n = e._getWDom.parent(t)
|
||
, i = e._getWDom.parent(n)
|
||
, o = baidu("#" + e.$getId("sms"), i).get(0)
|
||
, s = baidu(".pass-text-input", o);
|
||
e.foreignMobile && baidu(e.getElement("smsPhoneCountryLabel")).on("click", function(t) {
|
||
var n = e.getElement("smsCountryList");
|
||
n && "block" != n.style.display ? (e.$show(n),
|
||
baidu(e.getElement("smsPhoneCountryLabel")).addClass("pass-label-code-up")) : n && (e.$hide(n),
|
||
baidu(e.getElement("smsPhoneCountryLabel")).removeClass("pass-label-code-up")),
|
||
e._selectCountryList(e.getElement("smsPhoneWrapper")),
|
||
t.preventDefault()
|
||
}),
|
||
s.on("mouseover", function() {
|
||
var t = e.fireEvent("fieldMouseover", {
|
||
ele: baidu(this)
|
||
});
|
||
t && baidu(this).addClass(e.constant.HOVER_CLASS)
|
||
}),
|
||
s.on("mouseout", function() {
|
||
var t = e.fireEvent("fieldMouseout", {
|
||
ele: baidu(this)
|
||
});
|
||
t && baidu(this).removeClass(e.constant.HOVER_CLASS)
|
||
}),
|
||
s.on("keydown", function(t) {
|
||
if (13 == t.keyCode) {
|
||
t && t.preventDefault && t.preventDefault();
|
||
var n = {
|
||
eventType: "pc-smslogin-submit-click"
|
||
};
|
||
e._logPass(e.urlData, n),
|
||
e._submitSmsForm()
|
||
}
|
||
});
|
||
var a = baidu(e.getElement("smsPhone"));
|
||
a.on("focus", function() {
|
||
e.initialized || e._initApi();
|
||
var t = e.fireEvent("fieldFocus", {
|
||
ele: baidu(this)
|
||
});
|
||
if (t) {
|
||
baidu(this).addClass(e.constant.FOCUS_CLASS),
|
||
baidu(this).removeClass(e.constant.ERROR_CLASS);
|
||
var n = document.getElementById(e.$getId("smsRegPromptWrapper"))
|
||
, i = document.getElementById(e.$getId("smsloginPromptWrapper"))
|
||
, o = document.getElementById(e.$getId("smsSecondPromptWrapper"));
|
||
n && e.$hide(n),
|
||
i && e.$hide(i),
|
||
o && e.$hide(o)
|
||
}
|
||
}),
|
||
a.on("keydown", function() {
|
||
if (!e.isSendSmsInput) {
|
||
e.isSendSmsInput = !0;
|
||
var t = {
|
||
eventType: "pc-smslogin-input"
|
||
};
|
||
e._logPass(e.urlData, t)
|
||
}
|
||
});
|
||
var r = baidu(e.getElement("smsVerifyCode"));
|
||
r.on("focus", function() {
|
||
e.initialized || e._initApi();
|
||
var t = e.fireEvent("fieldFocus", {
|
||
ele: baidu(this)
|
||
});
|
||
t && (baidu(this).addClass(e.constant.FOCUS_CLASS),
|
||
baidu(this).removeClass(e.constant.ERROR_CLASS))
|
||
}),
|
||
r.on("keydown", function() {
|
||
if (!e.isSendSmsCodeInput) {
|
||
e.isSendSmsCodeInput = !0;
|
||
var t = {
|
||
eventType: "pc-smslogin-code-input"
|
||
};
|
||
e._logPass(e.urlData, t)
|
||
}
|
||
}),
|
||
s.on("blur", function() {
|
||
if (this.value) {
|
||
var t = e.fireEvent("fieldBlur", {
|
||
ele: baidu(this)
|
||
});
|
||
if (!t)
|
||
return;
|
||
e.config.smsAutoLogin.encryption || ("username" === this.name ? e._validatorPhoneFn(this) : e._validatorSmsFn(this))
|
||
}
|
||
baidu(this).removeClass(e.constant.FOCUS_CLASS)
|
||
}),
|
||
baidu("#" + e.$getId("smsTimer"), o).on("click", function(t) {
|
||
var n = {
|
||
eventType: "pc-smslogin-send-click"
|
||
};
|
||
e._logPass(e.urlData, n),
|
||
e.config.voice_sms_flag = 0,
|
||
t.preventDefault(),
|
||
e._checkRegPhone()
|
||
}),
|
||
baidu("#" + e.$getId("smsSubmit"), o).on("click", function(t) {
|
||
e._logPass(e.urlData, {
|
||
eventType: "pc-smsLogin-submit"
|
||
}),
|
||
t && t.preventDefault && t.preventDefault(),
|
||
e._submitSmsForm()
|
||
}),
|
||
baidu(e.getElement("smsSwitchWrapper")).on("click", function() {
|
||
/msie 6/i.test(navigator.userAgent) || /msie 7/i.test(navigator.userAgent) ? setTimeout(function() {
|
||
e._changeLoginType("sms")
|
||
}, 0) : e._changeLoginType("sms"),
|
||
e._logPass(e.urlData, {
|
||
eventType: "user-smsLogin-click"
|
||
})
|
||
}),
|
||
baidu(e.getElement("sms_btn_back")).on("click", function() {
|
||
e._changeLoginType("normal"),
|
||
e.getElement("password") && e._doFocus("password")
|
||
}),
|
||
baidu(document.getElementById("getVoiceSms")).on("click", function(t) {
|
||
e.config.voice_sms_flag = 1,
|
||
t.preventDefault(),
|
||
e._checkRegPhone()
|
||
}),
|
||
baidu(e.getElement("smsUnReceiveTipWrapper")).on("click", function(t) {
|
||
e._logPass(e.urlData, {
|
||
eventType: "pc-smslogin-unreceive-sms-btn-click"
|
||
}),
|
||
t.preventDefault(),
|
||
e.config.isPwd && 1 === +e.config.isPwd ? e.getChannelForUnReceiveSms() : (e._logPass(e.urlData, {
|
||
eventType: "pc-unreceive-sms-show-reg"
|
||
}),
|
||
e._ownerDialog && e._ownerDialog.hide("unHide"),
|
||
e.$show(e.getElement("unRecevieSmsTip")))
|
||
}),
|
||
baidu(e.getElement("closeUnRecevieSmsTip")).on("click", function(t) {
|
||
t.preventDefault(),
|
||
e.$hide(e.getElement("unRecevieSmsTip")),
|
||
e._ownerDialog && e._ownerDialog.show()
|
||
}),
|
||
baidu(e.getElement("unRecevieSmsChangeLogin")).on("click", function(t) {
|
||
e._logPass(e.urlData, {
|
||
eventType: "pc-smslogin-unreceive-sms-change-login-click"
|
||
}),
|
||
t.preventDefault(),
|
||
e.$hide(e.getElement("unRecevieSmsTip")),
|
||
e._ownerDialog && e._ownerDialog.show();
|
||
var n = "qrcode";
|
||
e.config.isPwd && 1 === +e.config.isPwd && (n = "normal"),
|
||
e._changeLoginType(n)
|
||
})
|
||
},
|
||
_setSmsGeneralError: function(e) {
|
||
this.getElement("smsError").innerHTML = e
|
||
},
|
||
_sendVcode: function(e, t) {
|
||
var n, i = e || this, o = (i.config.voice_sms_flag,
|
||
document.getElementById(i.$getId("smsPhone"))), s = i.getElement("smsPhoneCountryLabel") ? baidu(i.getElement("smsPhoneCountryLabel")).attr("data-countrycode") || "" : "", a = 60, r = baidu("#" + i.$getId("sms")).get(0);
|
||
if (i.config.smsAutoLogin.encryption || i._validatorPhoneFn(o)) {
|
||
baidu("#" + i.$getId("smsRegPromptBtn"), r).off("click"),
|
||
baidu("#" + i.$getId("smsRegPromptBtn"), r).on("click", function(e) {
|
||
e.preventDefault()
|
||
}),
|
||
baidu("#" + i.$getId("smsTimer"), r).off("click"),
|
||
baidu("#" + i.$getId("smsTimer"), r).on("click", function(e) {
|
||
e.preventDefault()
|
||
}),
|
||
baidu("#" + i.$getId("smsTimer"), r).removeClass("pass-item-timer"),
|
||
baidu("#" + i.$getId("smsTimer"), r).addClass("pass-item-time-timing");
|
||
var c = hex_md5(o.value + "Moonshadow");
|
||
c = c.replace(/o/, "ow").replace(/d/, "do").replace(/a/, "ad"),
|
||
c = c.replace(/h/, "ha").replace(/s/, "sh").replace(/n/, "ns").replace(/m/, "mo");
|
||
var l = {
|
||
gid: i.guideRandom || "",
|
||
username: i._SBCtoDBC(o.value),
|
||
countrycode: s,
|
||
bdstoken: i.bdPsWtoken,
|
||
tpl: i.config.product ? i.config.product : "",
|
||
loginVersion: "v4",
|
||
flag_code: i.config.voice_sms_flag,
|
||
client: i.config.client,
|
||
mkey: i.config.mkey || "",
|
||
moonshad: c
|
||
};
|
||
t && t.ds && t.tk && (l.ds = t.ds || "",
|
||
l.tk = t.tk || ""),
|
||
l.supportdv = "1",
|
||
l.dv = document.getElementById("dv_Input") ? document.getElementById("dv_Input").value : window.LG_DV_ARG && window.LG_DV_ARG.dvjsInput || "",
|
||
i.config.smsAutoLogin.encryption && (l.username = i._SBCtoDBC(i.config.smsAutoLogin.encryption),
|
||
l.mobileencryption = 1);
|
||
var d = "";
|
||
d = 1 === +i.config.voice_sms_flag ? window.location.protocol.toLowerCase() + "//wappass.baidu.com/wp/api/login/sms?is_voice_sms=" + i.config.voice_sms_flag : i._domain.auto + "/v2/api/senddpass",
|
||
passport.data.jsonp(d, l).success(function(e) {
|
||
if (0 === +i.config.voice_sms_flag && 0 !== +e.data.errno || 1 === +i.config.voice_sms_flag && 0 !== +e.errInfo.no) {
|
||
if (18 === +e.data.errno || 19 === +e.data.errno || 50020 === +e.errInfo.no || 50021 === +e.errInfo.no)
|
||
if ("1" === e.data.isslide)
|
||
i.loginPassMkd.initVcode(),
|
||
i._ownerDialog && i._ownerDialog.hide("unHide");
|
||
else {
|
||
var t = i.constant.VERIFYCODE_URL_PREFIX + e.data.vcodestr;
|
||
i.getElement("smsHiddenFields_smsVcodesign").value = e.data.vcodesign,
|
||
i.getElement("smsHiddenFields_smsVcodestr").value = e.data.vcodestr,
|
||
confirmSmsVerifyWidget ? (i.getElement("confirmVerifyCodeImg").src = t,
|
||
i.getElement("confirmVerifyCode").value = "",
|
||
i._ownerDialog && i._ownerDialog.hide("unHide"),
|
||
confirmSmsVerifyWidget.show()) : passport._load(i._domain.auto + "/passApi/js/uni_wrapper.js", !0, function() {
|
||
window.confirmSmsVerifyWidget = passport.pop.init({
|
||
type: "confirmWidget",
|
||
tangram: !0,
|
||
titleText: "安全验证",
|
||
width: 490,
|
||
apiOpt: {
|
||
Continue: "确定",
|
||
contentHTML: '<p class="pass-confirm-verifyWidget-msg">请填写图中的验证码</p><p class="pass-confirm-verifyWidget-imgWrapper"><input type="text" class="pass-text-input pass-confirm-verifyWidget-verifyCode" id="' + i.$getId("confirmVerifyCode") + '" name="confirmVerifyCode" value="" /><img src="' + t + '" title="" class="pass-confirm-verifyWidget-verifyCode-img" id="' + i.$getId("confirmVerifyCodeImg") + '" /><a href="#" class="pass-confirm-verifyWidget-imgChange" id="' + i.$getId("confirmVerifyCodeChange") + '">换一张</a><span class="pass-confirm-verifyWidget-error" id="' + i.$getId("confirmVerifyCodeError") + '"></span></p>'
|
||
},
|
||
onRender: function() {
|
||
baidu(confirmSmsVerifyWidget.getElement("confirmWidget_footer")).addClass("pass-confirm-verifyWidget-bottom"),
|
||
i.config.hasPlaceholder && i._getPlaceholder([{
|
||
label: "confirmVerifyCode",
|
||
placeholder: "verifyCode"
|
||
}]),
|
||
baidu(i.getElement("confirmVerifyCodeChange")).on("click", function() {
|
||
baidu(i.getElement("confirmVerifyCodeImg")).attr("src", i.constant.VERIFYCODE_URL_PREFIX + i.getElement("smsHiddenFields_smsVcodestr").value + "&v=" + (new Date).getTime())
|
||
}),
|
||
baidu(i.getElement("confirmVerifyCode")).on("keyup", function() {
|
||
baidu(i.getElement("confirmVerifyCode")).removeClass("pass-text-input-error"),
|
||
baidu(i.getElement("confirmVerifyCodeError")).hide(),
|
||
baidu(i.getElement("confirmVerifyCodeError")).get(0).innerHTML = ""
|
||
}),
|
||
baidu(i.getElement("confirmVerifyCode")).on("change", function() {
|
||
i.getElement("confirmVerifyCode").value = i.getElement("confirmVerifyCode").value.replace(/\s/g, "")
|
||
})
|
||
},
|
||
onConfirmClose: function() {
|
||
baidu(i.getElement("confirmVerifyCodeError")).hide(),
|
||
baidu(i.getElement("confirmVerifyCodeError")).get(0).innerHTML = "",
|
||
confirmSmsVerifyWidget.hide(),
|
||
i._ownerDialog && i._ownerDialog.show()
|
||
},
|
||
onConfirmCancel: function() {},
|
||
onConfirmContinue: function() {
|
||
if ("" == i.getElement("confirmVerifyCode").value)
|
||
return baidu(i.getElement("confirmVerifyCode")).addClass("pass-text-input-error"),
|
||
baidu(i.getElement("confirmVerifyCodeError")).show(),
|
||
void (baidu(i.getElement("confirmVerifyCodeError")).get(0).innerHTML = i.lang.confirmVerCodeEmpty);
|
||
var t = document.getElementById("dv_Input")
|
||
, c = hex_md5(o.value + "Moonshadow");
|
||
c = c.replace(/o/, "ow").replace(/d/, "do").replace(/a/, "ad"),
|
||
c = c.replace(/h/, "ha").replace(/s/, "sh").replace(/n/, "ns").replace(/m/, "mo");
|
||
var l = {
|
||
gid: i.guideRandom || "",
|
||
username: i._SBCtoDBC(o.value),
|
||
countrycode: s,
|
||
bdstoken: i.bdPsWtoken,
|
||
tpl: i.config.product ? i.config.product : "",
|
||
vcodestr: i.getElement("smsHiddenFields_smsVcodestr").value,
|
||
vcodesign: i.getElement("smsHiddenFields_smsVcodesign").value,
|
||
verifycode: i._SBCtoDBC(i.getElement("confirmVerifyCode").value),
|
||
flag_code: i.config.voice_sms_flag,
|
||
loginVersion: "v4",
|
||
mkey: i.config.mkey || "",
|
||
moonshad: c,
|
||
dv: t ? t.value : window.LG_DV_ARG && window.LG_DV_ARG.dvjsInput || ""
|
||
};
|
||
i.config.smsAutoLogin.encryption && (l.username = i._SBCtoDBC(i.config.smsAutoLogin.encryption),
|
||
l.mobileencryption = 1);
|
||
var d = "";
|
||
d = 1 == i.config.voice_sms_flag ? window.location.protocol.toLowerCase() + "//wappass.baidu.com/wp/api/login/sms?is_voice_sms=" + i.config.voice_sms_flag : i._domain.auto + "/v2/api/senddpass",
|
||
passport.data.jsonp(d, l).success(function(t) {
|
||
var o = baidu(i.getElement("confirmVerifyCodeError"));
|
||
if (0 == i.config.voice_sms_flag && 0 == t.data.errno || 1 == i.config.voice_sms_flag && 0 == t.errInfo.no) {
|
||
if (1 == i.config.voice_sms_flag) {
|
||
var s = 15;
|
||
document.getElementById("getVoiceSms").disabled = !0,
|
||
n = setInterval(function() {
|
||
var e = document.getElementById("getVoiceSms");
|
||
if (e) {
|
||
var t = i.$getId("smsTimer");
|
||
if (0 == --s) {
|
||
clearInterval(n);
|
||
var o = baidu("#" + t, r);
|
||
o.removeClass("pass-item-time-timing"),
|
||
o.addClass("pass-item-timer"),
|
||
e.disabled = !1,
|
||
e.value = i.lang.resend + "语音验证码",
|
||
document.getElementById(t).innerHTML = i.lang.resend,
|
||
s = 60
|
||
} else {
|
||
var o = baidu("#" + t, r);
|
||
o.addClass("pass-item-time-timing"),
|
||
o.removeClass("pass-item-timer"),
|
||
e.value = "已发送" + s + "s"
|
||
}
|
||
}
|
||
}, 1e3)
|
||
} else
|
||
document.getElementById(i.$getId("smsTimer")).disabled = !0,
|
||
n = setInterval(function() {
|
||
var e = i.$getId("smsTimer")
|
||
, t = document.getElementById(e);
|
||
if (t)
|
||
if (0 == --a) {
|
||
clearInterval(n);
|
||
var o = baidu("#" + e, r);
|
||
o.removeClass("pass-item-time-timing"),
|
||
o.addClass("pass-item-timer"),
|
||
document.getElementById(i.$getId("smsTimer")).disabled = !1,
|
||
t.innerHTML = i.lang.resend,
|
||
a = 60
|
||
} else {
|
||
var o = baidu("#" + e, r);
|
||
o.addClass("pass-item-time-timing"),
|
||
o.removeClass("pass-item-timer"),
|
||
49 === a && (i._logPass(i.urlData, {
|
||
eventType: "pc-smslogin-unreceive-btn-show"
|
||
}),
|
||
i.$show(i.getElement("smsUnReceiveWrapper"))),
|
||
t.innerHTML = a + "s"
|
||
}
|
||
}, 1e3);
|
||
o.hide(),
|
||
o.get(0).innerHTML = "",
|
||
confirmSmsVerifyWidget.hide(),
|
||
i._ownerDialog && i._ownerDialog.show()
|
||
} else
|
||
20 == t.data.errno || 21 == t.data.errno ? (baidu(i.getElement("confirmVerifyCode")).addClass("pass-text-input-error"),
|
||
o.show(),
|
||
o.get(0).innerHTML = t.data.msg,
|
||
i.getElement("confirmVerifyCodeImg").src = i.constant.VERIFYCODE_URL_PREFIX + t.data.vcodestr,
|
||
i.getElement("confirmVerifyCode").value = "",
|
||
i.getElement("smsHiddenFields_smsVcodesign").value = t.data.vcodesign,
|
||
i.getElement("smsHiddenFields_smsVcodestr").value = t.data.vcodestr) : 27 == e.data.errno ? document.location.href = "https://passport.baidu.com/v2/?reg&overseas=" + i.config.overseas + "&tpl=" + i.config.product + "&u=" + encodeURIComponent(i.config.u) : (o.hide(),
|
||
confirmSmsVerifyWidget.hide(),
|
||
i._ownerDialog && i._ownerDialog.show(),
|
||
i._setSmsGeneralError(1 == i.config.voice_sms_flag ? t.errInfo.msg : t.data.msg))
|
||
})
|
||
}
|
||
}),
|
||
i._ownerDialog && i._ownerDialog.hide("unHide"),
|
||
confirmSmsVerifyWidget.show()
|
||
})
|
||
}
|
||
else
|
||
27 == e.data.errno ? document.location.href = "https://passport.baidu.com/v2/?reg&overseas=" + i.config.overseas + "&tpl=" + i.config.product + "&u=" + encodeURIComponent(i.config.u) : i._setSmsGeneralError(1 !== +i.config.voice_sms_flag ? e.data.msg : e.errInfo.msg);
|
||
baidu("#" + i.$getId("smsTimer"), r).addClass("pass-item-timer"),
|
||
baidu("#" + i.$getId("smsTimer"), r).removeClass("pass-item-time-timing"),
|
||
document.getElementById(i.$getId("smsTimer")).innerHTML = i.lang.resend
|
||
} else if (1 == i.config.voice_sms_flag) {
|
||
var c = 15;
|
||
document.getElementById("getVoiceSms").disabled = !0,
|
||
n = setInterval(function() {
|
||
if (0 == --c) {
|
||
clearInterval(n);
|
||
var e = baidu("#" + i.$getId("smsTimer"), r);
|
||
e.removeClass("pass-item-time-timing"),
|
||
e.addClass("pass-item-timer"),
|
||
document.getElementById("getVoiceSms").disabled = !1,
|
||
document.getElementById("getVoiceSms").value = i.lang.resend + "语音验证码",
|
||
document.getElementById(i.$getId("smsTimer")).innerHTML = i.lang.resend,
|
||
c = 15
|
||
} else {
|
||
var e = baidu("#" + i.$getId("smsTimer"), r);
|
||
e.addClass("pass-item-time-timing"),
|
||
e.removeClass("pass-item-timer"),
|
||
document.getElementById("getVoiceSms").value = "已发送" + c + "s"
|
||
}
|
||
}, 1e3)
|
||
} else
|
||
document.getElementById(i.$getId("smsTimer")).disabled = !0,
|
||
n = setInterval(function() {
|
||
var e = document.getElementById(i.$getId("smsTimer"));
|
||
if (e)
|
||
if (0 == --a) {
|
||
clearInterval(n);
|
||
var t = baidu("#" + i.$getId("smsTimer"), r);
|
||
t.removeClass("pass-item-time-timing"),
|
||
t.addClass("pass-item-timer"),
|
||
document.getElementById(i.$getId("smsTimer")).disabled = !1,
|
||
e.innerHTML = i.lang.resend,
|
||
a = 60
|
||
} else {
|
||
var t = baidu("#" + i.$getId("smsTimer"), r);
|
||
t.addClass("pass-item-time-timing"),
|
||
t.removeClass("pass-item-timer"),
|
||
49 === a && (i._logPass(i.urlData, {
|
||
eventType: "pc-smslogin-unreceive-btn-show"
|
||
}),
|
||
i.$show(i.getElement("smsUnReceiveWrapper"))),
|
||
e.innerHTML = a + "s"
|
||
}
|
||
}, 1e3);
|
||
baidu("#" + i.$getId("smsTimer"), r).on("click", function(e) {
|
||
i.config.voice_sms_flag = 0,
|
||
e.preventDefault(),
|
||
i._checkRegPhone()
|
||
})
|
||
})
|
||
}
|
||
},
|
||
_validatorPhoneFn: function(e) {
|
||
e.value = e.value.replace(/\s/g, "");
|
||
var t = this;
|
||
if ("" == e.value)
|
||
return t._setSmsGeneralError(t.lang.fillPhonePls),
|
||
baidu(e).addClass(t.constant.ERROR_CLASS),
|
||
!1;
|
||
if (t.getElement("smsPhoneCountryLabel") && "" != baidu(t.getElement("smsPhoneCountryLabel")).attr("data-countrycode")) {
|
||
if (!new RegExp(/^(\d)*$/).test(t._SBCtoDBC(e.value)))
|
||
return t._setSmsGeneralError(t.lang.foreignMobileError),
|
||
baidu(e).addClass(t.constant.ERROR_CLASS),
|
||
!1
|
||
} else if (!new RegExp(/^1[3456789]\d{9}$/).test(t._SBCtoDBC(e.value)))
|
||
return t._setSmsGeneralError(t.lang.foreignMobileError),
|
||
baidu(e).addClass(t.constant.ERROR_CLASS),
|
||
!1;
|
||
return t._setSmsGeneralError(""),
|
||
baidu(e).removeClass(t.constant.ERROR_CLASS),
|
||
!0
|
||
},
|
||
_validatorSmsFn: function(e) {
|
||
var t = this;
|
||
return "" == e.value ? (t._setSmsGeneralError(t.lang.fillVerifyCodePls),
|
||
baidu(e).addClass(t.constant.ERROR_CLASS),
|
||
!1) : (t._setSmsGeneralError(""),
|
||
!0)
|
||
},
|
||
_postSmsData: function(e) {
|
||
var t = this;
|
||
e.countrycode = t.getElement("smsPhoneCountryLabel") ? baidu(t.getElement("smsPhoneCountryLabel")).attr("data-countrycode") || "" : "",
|
||
e.token = t.bdPsWtoken,
|
||
e.loginVersion = "v4",
|
||
passport.data.traceID && passport.data.traceID.startFlow && passport.data.traceID.startFlow("login"),
|
||
e.dv = document.getElementById("dv_Input") ? document.getElementById("dv_Input").value : window.LG_DV_ARG && window.LG_DV_ARG.dvjsInput || "",
|
||
e = baidu.extend(e, t.fuid || {}),
|
||
passport.data.login(e).success(function(e) {
|
||
if (e.loginType = "sms",
|
||
0 == e.errInfo.no) {
|
||
t.storageSupport(function() {
|
||
localStorage.setItem("passLoginType", "sms")
|
||
}),
|
||
t.config.loginType = "smsLogin";
|
||
var n = t.fireEvent("loginSuccess", {
|
||
rsp: e
|
||
});
|
||
if (!n)
|
||
return;
|
||
window.location.href = e.data.u
|
||
} else {
|
||
t.getElement("smsSubmit").style.color = "#fff";
|
||
var n = t.fireEvent("loginError", {
|
||
rsp: e
|
||
});
|
||
if (t._logPass(t.urlData, {
|
||
eventType: "pc-smsLogin-submit-error",
|
||
errno: e.errInfo.no
|
||
}),
|
||
!n)
|
||
return;
|
||
t._setSmsGeneralError(4 == e.errInfo.no ? t.lang.captchaErr : e.errInfo.msg),
|
||
(3 == e.errInfo.no || 4 == e.errInfo.no) && t._clearInput("smsVerifyCode")
|
||
}
|
||
var i = {
|
||
eventType: "pc-smslogin-post-success"
|
||
}
|
||
, o = baidu.extend({}, t.urlData);
|
||
o.errno = e.errInfo.no,
|
||
t._logPass(o, i)
|
||
})
|
||
},
|
||
smsLoginSubmit: function(e) {
|
||
var t = this
|
||
, e = e || {}
|
||
, n = baidu.form.json(t.getElement("smsForm"));
|
||
e.errInfo && 3 == e.errInfo.no ? passport.data.post("/v2/unite-bind", {
|
||
username: e.data.username || "",
|
||
password: n.password,
|
||
countrycode: t.getElement("smsPhoneCountryLabel") ? baidu(t.getElement("smsPhoneCountryLabel")).attr("data-countrycode") || "" : "",
|
||
sms: 1,
|
||
apiver: "v3",
|
||
loginVersion: "v4",
|
||
token: e.data.token || ""
|
||
}).success(function() {
|
||
t._postSmsData(n)
|
||
}) : t._postSmsData(n)
|
||
},
|
||
_submitSmsForm: function(e) {
|
||
function t() {
|
||
n._postSmsData(a)
|
||
}
|
||
var n = this
|
||
, i = document.getElementById(n.$getId("smsPhone"))
|
||
, o = document.getElementById(n.$getId("smsVerifyCode"));
|
||
if (!n.config.smsAutoLogin.encryption && !n._validatorPhoneFn(i))
|
||
return void i.focus();
|
||
if (n._validatorSmsFn(o)) {
|
||
var s = n.fireEvent("beforeSubmit");
|
||
if (s) {
|
||
n.getElement("smsSubmit").style.color = "#9ebef4";
|
||
var a = baidu.form.json(n.getElement("smsForm"));
|
||
a.password = n._SBCtoDBC(a.password),
|
||
a.username = n._SBCtoDBC(a.username),
|
||
a.FP_UID = n._getCookie("FP_UID") || "",
|
||
a.FP_INFO = window.PP_FP_INFO || "",
|
||
a.client = n.config.client,
|
||
a.isupsms = e ? 1 : "",
|
||
a.channelid = e || "",
|
||
n.config.smsAutoLogin.encryption && (a.username = encodeURIComponent(encodeURIComponent(n.config.smsAutoLogin.encryption)),
|
||
a.mobileencryption = 1),
|
||
"phoenix" === n.config.source && (a.isfromphoenix = 1),
|
||
n.loginConnect({
|
||
username: a.username,
|
||
password: a.password,
|
||
countrycode: n.getElement("smsPhoneCountryLabel") ? baidu(n.getElement("smsPhoneCountryLabel")).attr("data-countrycode") || "" : "",
|
||
smsVcode: a.password,
|
||
isdpass: 1,
|
||
sms: 1
|
||
}, {
|
||
fail: function(e) {
|
||
n._setSmsGeneralError(e)
|
||
}
|
||
}, t)
|
||
}
|
||
}
|
||
},
|
||
_setEventChoiceUser: function() {
|
||
var e = this
|
||
, t = function() {
|
||
baidu(e.getElement()).removeClass("tang-pass-login-hide"),
|
||
e.$show(e.getElement()).$hide("choiceuser_article")
|
||
}
|
||
, n = function() {
|
||
baidu(e.getElement()).removeClass("tang-pass-login-hide"),
|
||
e.$show(e.getElement()).$hide("choiceuser_article"),
|
||
e.submit()
|
||
};
|
||
baidu(e.getElement("choiceuser_btn_username")).on("click", function(t) {
|
||
e.getElement("loginMerge").value = "false",
|
||
n(t)
|
||
}),
|
||
baidu(e.getElement("choiceuser_btn_mobile")).on("click", function(t) {
|
||
e.getElement("isPhone").value = "true",
|
||
e.getElement("loginMerge").value = "false",
|
||
n(t)
|
||
}),
|
||
baidu(e.getElement("choiceuser_btn_back")).on("click", function(e) {
|
||
e.preventDefault(),
|
||
t()
|
||
})
|
||
},
|
||
_getToken: function(e) {
|
||
var t = this;
|
||
passport[t.$getId("spareWData")] = passport[t.$getId("spareWData")] || {},
|
||
passport.data.getApiInfo({
|
||
apiType: "login",
|
||
loginVersion: "v4",
|
||
gid: t.guideRandom || ""
|
||
}).success(function(n) {
|
||
t.bdPsWtoken = n.data.token,
|
||
e && e(t)
|
||
})
|
||
},
|
||
_getRSA: function(e) {
|
||
var t = this;
|
||
passport.data.getRsaKey({
|
||
gid: t.guideRandom || "",
|
||
loginVersion: "v4"
|
||
}).success(function(t) {
|
||
t.errInfo.no || 0 == t.errInfo.no || (t = t.data);
|
||
var n = new passport.lib.RSA;
|
||
n.setKey(t.pubkey),
|
||
e && e({
|
||
RSA: n,
|
||
rsakey: t.key
|
||
})
|
||
})
|
||
},
|
||
_changeLoginType: function(e) {
|
||
var t = this
|
||
, n = this.getElement()
|
||
, i = t._getWDom.parent(n)
|
||
, o = t._getWDom.parent(i);
|
||
t.getElement("qrcode"),
|
||
t.getElement("sms"),
|
||
baidu(".tang-pass-login-phoenix", o).get(0),
|
||
t._changeTabButtonActivStatus(e);
|
||
var s = t.config.composeTemplate ? {
|
||
normal: {
|
||
$btn: baidu(".pass-normal-btn", t.getPhoenixElement("pass_phoenix_list_login")),
|
||
$ele: baidu(t.getElement("form"))
|
||
},
|
||
sms: {
|
||
$btn: baidu(".pass-sms-btn", t.getPhoenixElement("pass_phoenix_list_login")),
|
||
$ele: baidu(t.getElement("sms"))
|
||
}
|
||
} : {
|
||
normal: {
|
||
$btn: baidu(".pass-normal-btn", t.getPhoenixElement("pass_phoenix_list_login")),
|
||
$ele: baidu(t.getElement("form")).parent()
|
||
},
|
||
sms: {
|
||
$btn: baidu(".pass-sms-btn", t.getPhoenixElement("pass_phoenix_list_login")),
|
||
$ele: baidu(t.getElement("sms"))
|
||
},
|
||
qrcode: {
|
||
$btn: baidu(".pass-qrcode-btn", t.getPhoenixElement("pass_phoenix_list_login")),
|
||
$ele: baidu(t.getElement("qrcode"))
|
||
}
|
||
};
|
||
choiceuser = t.getElement("choiceuser_article"),
|
||
e = e || "normal";
|
||
var a = {
|
||
normal: "pwdLogin",
|
||
qrcode: "qrLogin",
|
||
sms: "smsLogin"
|
||
};
|
||
t._logPass(t.urlData, {
|
||
eventType: "pc-" + (a[e] || e) + "-show"
|
||
}),
|
||
t._logPass(t.urlData, {
|
||
eventType: "pc-" + e + "login-show"
|
||
}),
|
||
"sms" === e && (t.isSendSmsCodeInput = !1,
|
||
t.isSendSmsInput = !1),
|
||
choiceuser && t.$hide("choiceuser_article");
|
||
var r = t.fireEvent("changeLoginType", {
|
||
loginType: e,
|
||
currentLoginType: t.currentLoginType || ""
|
||
});
|
||
if (r) {
|
||
for (var c in s)
|
||
s[c].$ele && s[c].$ele.length > 0 && (c == e ? t.$show(s[c].$ele[0]) : t.$hide(s[c].$ele[0]));
|
||
"qrcode" === e ? t._actionQrcode() : "sms" === e && t.$hide(t.getElement("smsUnReceiveWrapper")),
|
||
t.currentLoginType = e
|
||
}
|
||
},
|
||
_doFocus: function(e) {
|
||
var t = this;
|
||
t.config.autoFocus && ("string" == (typeof e).toLowerCase() && t.getElement(e) ? t.getElement(e).focus() : e.focus())
|
||
},
|
||
_clearInput: function(e) {
|
||
var t = this
|
||
, n = t.getElement(e)
|
||
, i = t.getElement(e + "_placeholder")
|
||
, o = t.getElement(e + "_clearbtn");
|
||
n && (i && t.$show(i),
|
||
o && t.$hide(i),
|
||
n.value = "",
|
||
t._doFocus(n))
|
||
},
|
||
_insertAfterW: function(e, t) {
|
||
var n = this
|
||
, i = n._getWDom.parent(t);
|
||
i.lastChild == t ? i.appendChild(e) : i.insertBefore(e, n._getWDom.next(t))
|
||
},
|
||
_insertBefore: function(e, t) {
|
||
var n = this
|
||
, i = n._getWDom.parent(t);
|
||
i.insertBefore(e, t)
|
||
},
|
||
initMkd: function() {
|
||
var e = this;
|
||
e._insertScriptW(e.constant.TOUCHAPIMKD_URL, function() {
|
||
if (window.PassMachine && window.PassMachine.mkd) {
|
||
var t = window.PassMachine.mkd;
|
||
e.loginPassMkd = new t({
|
||
maskModule: !0,
|
||
ak: "1e3f2dd1c81f2075171a547893391274",
|
||
verifySuccessFn: function(t) {
|
||
e.loginPassMkd.removeMask(),
|
||
e._ownerDialog && e._ownerDialog.show(),
|
||
e.mkdVerifySuccessCallback(t)
|
||
},
|
||
closeFn: function() {
|
||
e._ownerDialog && e._ownerDialog.show()
|
||
}
|
||
})
|
||
}
|
||
})
|
||
},
|
||
mkdVerifySuccessCallback: function(e) {
|
||
var t = this;
|
||
"mkdDataLoginFn" === t.currentPath ? (t.getElement("submit").disabled = !0,
|
||
t.getElement("submit").value = t.lang.logining,
|
||
t.getElement("submit").style.color = "#9ebef4",
|
||
t.loginFn(e, t.histroyData)) : "mkdDataSendVcode" === t.currentPath && t._sendVcode(null, e)
|
||
},
|
||
_insertNoCaptchaScript: function() {
|
||
var e = this;
|
||
e._insertScriptW(e.constant.NOCAPTCHA_URL, function() {})
|
||
},
|
||
_checkCapsLock: function() {
|
||
var e = this
|
||
, t = baidu(e.getElement("password"));
|
||
t.on("keypress", function(t) {
|
||
var n = t || window.event
|
||
, i = n.keyCode || n.which
|
||
, o = n.shiftKey || 16 == i || !1
|
||
, s = document.getElementById(e.$getId("caps"));
|
||
if (i >= 65 && 90 >= i && !o || i >= 97 && 122 >= i && o)
|
||
if (s)
|
||
e.$show(s);
|
||
else {
|
||
var a = document.createElement("span");
|
||
a.id = e.$getId("caps"),
|
||
a.innerHTML = "大小写锁定已打开";
|
||
var r = document.getElementById(e.$getId("passwordWrapper"));
|
||
"static" == r.style.position && (r.style.position = "relative"),
|
||
r.style.zIndex = r.style.zIndex ? r.style.zIndex + 1 : 20,
|
||
a.style.cssText = 'position:absolute;left:60px;clear:both;top:25px;width:103px;height:37px;font-size:12px;line-height:45px;z-index:20;text-align:center;background:url("' + passport.apiDomain.staticDomain + '/passApi/img/caps.gif") no-repeat 0 0;',
|
||
r.appendChild(a)
|
||
}
|
||
else
|
||
s && e.$hide(s)
|
||
}),
|
||
t.on("blur", function() {
|
||
var t = document.getElementById(e.$getId("caps"));
|
||
t && e.$hide(t)
|
||
})
|
||
},
|
||
_checkRegPhone: function() {
|
||
var e = this
|
||
, t = e.getElement("smsPhoneCountryLabel") ? baidu(e.getElement("smsPhoneCountryLabel")).attr("data-countrycode") || "" : ""
|
||
, n = document.getElementById(e.$getId("smsPhone"))
|
||
, i = e.config.smsAutoLogin.encryption || "";
|
||
(i || e._validatorPhoneFn(n)) && passport.data.getphonestatus({
|
||
gid: e.guideRandom || "",
|
||
phone: e._SBCtoDBC(i ? i : n.value),
|
||
loginVersion: "v4",
|
||
countrycode: t,
|
||
mobileencryption: i ? 1 : ""
|
||
}).success(function(i) {
|
||
var o = e.fireEvent("_checkRegPhone", {
|
||
rsp: i
|
||
});
|
||
if (o)
|
||
if (0 == i.errInfo.no)
|
||
e.config.isPwd = +i.errInfo.isPwd || 0,
|
||
baidu(e.getElement("unRecevieSmsUnReg")).hide(),
|
||
baidu(e.getElement("unRecevieSmsReged")).show(),
|
||
e.config.sendVcodeBefore && "function" == typeof e.config.sendVcodeBefore ? e.config.sendVcodeBefore(e, e.mkdDataSendVcode, function() {
|
||
n.value = "",
|
||
n.focus()
|
||
}) : e.bdPsWtoken ? e.mkdDataSendVcode() : e._getToken(e.mkdDataSendVcode);
|
||
else if (3 === +i.errInfo.no && "1" === i.data.jumpReg) {
|
||
baidu(e.getElement("unRecevieSmsReged")).hide(),
|
||
baidu(e.getElement("unRecevieSmsUnReg")).show();
|
||
var s = document.getElementById(e.$getId("smsSecondPromptWrapper"))
|
||
, a = document.getElementById(e.$getId("smsPhoneWrapper"));
|
||
if (s)
|
||
e.$show(s),
|
||
e.getElement("smsSecondPromptBtn").focus();
|
||
else {
|
||
var r = document.createElement("div");
|
||
r.id = e.$getId("smsSecondPromptWrapper"),
|
||
r.setAttribute("class", "pass-form-sms-checkphone"),
|
||
r.style.cssText = 'position:absolute;clear:both;color:#826f33;z-index:999;font-size:12px;width:211px;height:71px;padding:16px 16px 11px 13px;background:url("' + passport.apiDomain.staticDomain + '/passApi/img/smsRegphone.png") 0px 0px no-repeat;right:0px;',
|
||
r.innerHTML = '<p style="margin:0px;padding:0px;line-height:2em;">手机号未注册或已被运营商二次放号,请重新注册新帐号。</p><button id="' + e.$getId("smsSecondPromptBtn") + '" style="background:#2e82ff;border:none;color:#fff;cursor:pointer;height:25px;line-height:25px;width:100px;text-align:center;position:absolute;right:16px;top:66px;" hidefocus=true>注册</button>',
|
||
a.appendChild(r),
|
||
e.getElement("smsSecondPromptBtn").focus()
|
||
}
|
||
baidu(e.getElement("smsSecondPromptBtn")).on("click", function(t) {
|
||
e.getElement("smsSecondPromptBtn") && baidu(e.getElement("smsSecondPromptBtn")).hide(),
|
||
t.preventDefault(),
|
||
window.location.href = e.constant.REG_URL
|
||
})
|
||
} else if (3 === +i.errInfo.no) {
|
||
e.config.isPwd = -1,
|
||
baidu(e.getElement("unRecevieSmsReged")).hide(),
|
||
baidu(e.getElement("unRecevieSmsUnReg")).show();
|
||
var c = e.config.voice_sms_flag
|
||
, l = document.getElementById(e.$getId("smsRegPromptWrapper"))
|
||
, a = document.getElementById(e.$getId("smsPhoneWrapper"));
|
||
if (l)
|
||
e.$show(l),
|
||
e.getElement("smsRegPromptBtn").focus();
|
||
else {
|
||
var r = document.createElement("div");
|
||
r.id = e.$getId("smsRegPromptWrapper"),
|
||
r.setAttribute("class", "pass-form-sms-checkphone"),
|
||
r.style.cssText = 'position:absolute;clear:both;color:#826f33;z-index:999;font-size:12px;width:211px;height:75px;padding:16px 16px 11px 13px;background:url("' + passport.apiDomain.staticDomain + '/passApi/img/smsRegphone.png") 0px 0px no-repeat;right:0px;',
|
||
r.innerHTML = '<p style="margin:0px;padding:0px;line-height:2em;">您的手机号码尚未注册或未开启手机号登录,点击注册,帮您注册新的百度帐号</p><button id="' + e.$getId("smsRegPromptBtn") + '" style="background:#2e82ff;border:none;color:#fff;cursor:pointer;height:25px;line-height:25px;width:60px;text-align:center;position:absolute;right:16px;top:66px;" hidefocus=true>注册</button>',
|
||
a.appendChild(r),
|
||
e.getElement("smsRegPromptBtn").focus()
|
||
}
|
||
baidu(e.getElement("smsRegPromptBtn")).on("click", function(i) {
|
||
e.config.voice_sms_flag = c,
|
||
e.getElement("smsRegPromptWrapper") && baidu(e.getElement("smsRegPromptWrapper")).hide(),
|
||
i.preventDefault(),
|
||
"" != t ? window.location.href = e.constant.REG_URL : e.config.sendVcodeBefore && "function" == typeof e.config.sendVcodeBefore ? e.config.sendVcodeBefore(e, e.mkdDataSendVcode, function() {
|
||
n.value = "",
|
||
n.focus()
|
||
}) : e.bdPsWtoken ? e.mkdDataSendVcode() : e._getToken(e.mkdDataSendVcode)
|
||
}),
|
||
e.config.voice_sms_flag = 0
|
||
} else
|
||
e.config.voice_sms_flag = 0,
|
||
e._setSmsGeneralError(i.errInfo.msg)
|
||
})
|
||
},
|
||
mkdDataSendVcode: function(e) {
|
||
var t = e || this;
|
||
if (t.loginPassMkd && t.loginPassMkd.getDataAsync) {
|
||
t.currentPath = "mkdDataSendVcode";
|
||
var n = {};
|
||
t.loginPassMkd.getDataAsync(function(e) {
|
||
n.ds = e.ds || "xxx_loginv4",
|
||
n.tk = e.tk || "xxx_loginv4",
|
||
t._sendVcode(null, n)
|
||
})
|
||
} else
|
||
t._sendVcode()
|
||
},
|
||
changeSuggestView: function(e) {
|
||
var t = this;
|
||
t.suggestionDom && e.list && ("hide" == e.list ? t.$hide(t.suggestionDom) : "show" == e.list && t.$show(t.suggestionDom)),
|
||
t.selectBtn && e.btn && ("close" == e.btn ? (baidu(t.selectBtn).removeClass("open"),
|
||
baidu(t.getElement("userName")).addClass("open"),
|
||
t.$show(t.selectBtn)) : "open" == e.btn ? (baidu(t.selectBtn).addClass("open"),
|
||
baidu(t.getElement("userName")).addClass("open"),
|
||
t.$show(t.selectBtn)) : "hide" == e.btn ? (t.$hide(t.selectBtn),
|
||
baidu(t.getElement("userName")).removeClass("open")) : e.btn + "" == "show" && (t.$show(t.selectBtn),
|
||
baidu(t.getElement("userName")).addClass("open")),
|
||
t.$hide(t.selectBtn))
|
||
},
|
||
_suggestion: function(e) {
|
||
var t = this
|
||
, n = []
|
||
, i = baidu("#" + t.$getId("userName"), t.getElement())
|
||
, o = ["qq.com", "163.com", "126.com", "sohu.com", "sina.com", "gmail.com", "21cn.com", "hotmail.com", "vip.qq.com", "yeah.net", "139.com"]
|
||
, s = /^([a-zA-Z0-9_.\-+]+)([@]?[a-zA-Z0-9_\-*]*[.]?[a-zA-Z*]*[.]?[a-zA-Z*]*)$/
|
||
, a = function(e, t) {
|
||
var n = e;
|
||
return e.substr(0, e.indexOf("@") - 1).length > t.maxlength && (n = e.substr(0, t.maxlength - 4) + "…" + e.substr(e.indexOf("@"))),
|
||
baidu('<li class="pass-item-suggsetion" data-select="' + e + '" data-type="' + (t.ifdelete ? "history" : "normal") + '">' + n + (t.ifdelete ? '<a data-delete="' + e + '" title="删除该记录"></a>' : "") + "</li>").get(0)
|
||
}
|
||
, r = function(e, i) {
|
||
t.suggestionDom || (t.suggestionDom = document.createElement("ul"),
|
||
t.suggestionDom.id = t.$getId("suggestionWrapper"),
|
||
baidu(t.getElement("userNameWrapper")).append(t.suggestionDom),
|
||
baidu(t.suggestionDom).addClass("pass-suggestion-list"),
|
||
baidu(t.suggestionDom).on("click", function(e) {
|
||
var o = baidu(e.target)
|
||
, s = o.attr("data-delete")
|
||
, a = o.attr("data-select");
|
||
if (s)
|
||
e.preventDefault(),
|
||
t.suggestionDom.data_delete = !0,
|
||
baidu(o.parent()).hide(),
|
||
baidu.array(n).remove(s),
|
||
n.length < 1 && t.changeSuggestView({
|
||
list: " hide",
|
||
btn: "hide"
|
||
}),
|
||
t._doFocus("userName"),
|
||
setTimeout(function() {
|
||
t.suggestionDom.data_delete = !1
|
||
}, 200);
|
||
else {
|
||
"history" == o.attr("data-type") ? i.value = a : (t.suggestionDom.data_delete = !1,
|
||
i.value = a || i.value),
|
||
t.getElement("userName_placeholder") && t.$hide("userName_placeholder"),
|
||
t.changeSuggestView({
|
||
list: "hide",
|
||
btn: "close"
|
||
}),
|
||
t._doFocus(i),
|
||
setTimeout(function() {
|
||
t.setGeneralError(""),
|
||
baidu(i).removeClass("pass-text-input-error"),
|
||
t._doFocus("password")
|
||
}, 100);
|
||
var r = t.getElement("userName").value;
|
||
t._loginCheck(r)
|
||
}
|
||
})),
|
||
t.suggestionDom.innerHTML = "",
|
||
t.$show(t.suggestionDom),
|
||
t.suggestionDom.appendChild(e),
|
||
baidu(".pass-item-suggsetion", t.suggestionDom).on("mouseover", function() {
|
||
baidu(".pass-item-suggsetion_hover", t.suggestionDom).removeClass("pass-item-suggsetion_hover"),
|
||
baidu(this).addClass("pass-item-suggsetion_hover")
|
||
}),
|
||
baidu(".pass-item-suggsetion", t.suggestionDom).on("mouseout", function() {
|
||
baidu(this).removeClass("pass-item-suggsetion_hover")
|
||
})
|
||
};
|
||
!function() {
|
||
if (n = t.loginrecord.displayname || [],
|
||
n.length > 0) {
|
||
for (var i = document.createDocumentFragment(), o = 0, s = n.length; s > o; o++)
|
||
i.appendChild(a(n[o], {
|
||
maxlength: e,
|
||
ifdelete: !0
|
||
}));
|
||
r(i, t.getElement("userName")),
|
||
t.selectBtn = baidu('<span class="pass-item-selectbtn pass-item-selectbtn-userName" ></span>').get(0),
|
||
t.getElement("userNameWrapper").appendChild(t.selectBtn),
|
||
baidu(t.selectBtn).on("click", function() {
|
||
setTimeout(function() {
|
||
t.changeSuggestView("none" != t.suggestionDom.style.display ? {
|
||
list: "hide",
|
||
btn: "close"
|
||
} : {
|
||
list: "show",
|
||
btn: "open"
|
||
})
|
||
}, 200)
|
||
}),
|
||
t.changeSuggestView({
|
||
list: "hide",
|
||
btn: "show"
|
||
})
|
||
}
|
||
}(),
|
||
i.on("keyup", function(i) {
|
||
if (1 == t.disUnameLogin)
|
||
;
|
||
else {
|
||
var c, l = document.createDocumentFragment(), d = this, u = 0;
|
||
if (n.length > 0)
|
||
for (var p = 0, g = n.length; g > p; p++)
|
||
0 == n[p].indexOf(this.value) && (l.appendChild(a(n[p], {
|
||
maxlength: e,
|
||
ifdelete: !0
|
||
})),
|
||
++u);
|
||
if ((n.length < 1 || 1 > u) && (c = s.exec(this.value),
|
||
c && c[2]))
|
||
for (var p = 0, g = o.length; g > p; p++)
|
||
if (0 === ("@" + o[p]).indexOf(c[2])) {
|
||
var m = c[1];
|
||
l.appendChild(a(m + "@" + o[p], {
|
||
maxlength: e
|
||
})),
|
||
++u
|
||
}
|
||
if (t.suggestionDom && 38 !== i.keyCode && 40 !== i.keyCode && t.$hide(t.suggestionDom),
|
||
n.length > 1 && u > 0 && (38 !== i.keyCode && 40 !== i.keyCode && r(l, d),
|
||
(38 == i.keyCode || 40 == i.keyCode) && "none" != t.suggestionDom.style.display)) {
|
||
for (var f = t.suggestionDom.childNodes, h = f.length, v = -1, b = 0; h > b; b++)
|
||
f[b].className.indexOf("pass-item-suggsetion_hover") > -1 && (v = b);
|
||
if (38 == i.keyCode)
|
||
var y = -1 === v ? h - 1 : 0 === v ? h - 1 : v - 1;
|
||
if (40 == i.keyCode)
|
||
var y = -1 === v ? 0 : v === h - 1 ? 0 : v + 1;
|
||
baidu(".pass-item-suggsetion_hover", t.suggestionDom).removeClass("pass-item-suggsetion_hover"),
|
||
baidu(f[y], t.suggestionDom).addClass("pass-item-suggsetion_hover");
|
||
var _ = baidu(f[y]).attr("data-select");
|
||
d.value = "history" == baidu(f[y]).attr("data-type") ? _ : d.value.substr(0, d.value.indexOf("@")) + _.substr(_.indexOf("@")),
|
||
t.getElement("userName_placeholder") && t.$hide("userName_placeholder")
|
||
}
|
||
}
|
||
}),
|
||
i.on("keydown", function(e) {
|
||
13 != e.keyCode && 9 != e.keyCode || !t.suggestionDom || "none" == t.suggestionDom.style.display || (t.changeSuggestView({
|
||
list: "hide",
|
||
btn: "close"
|
||
}),
|
||
t._doFocus("password"),
|
||
e.preventDefault(),
|
||
e.stopPropagation())
|
||
}),
|
||
i.on("blur", function() {
|
||
setTimeout(function() {
|
||
t.suggestionDom && !t.suggestionDom.data_delete && t.changeSuggestView({
|
||
list: "hide",
|
||
btn: "close"
|
||
})
|
||
}, 150)
|
||
}),
|
||
i.on("focus", function() {
|
||
t.changeSuggestView({
|
||
list: "show",
|
||
btn: "open"
|
||
})
|
||
})
|
||
},
|
||
_initCountryCode: function(e) {
|
||
var t = this
|
||
, n = '<li class="pass-item-country"><span class="pass-country-code" data-countryCode="">+86</span>' + t.lang.mainland + "</li>"
|
||
, i = t.countryCodeList || {}
|
||
, o = i.length;
|
||
if (!(0 >= o)) {
|
||
for (var s = 0; o > s; s++)
|
||
n += '<li class="pass-item-country"><span class="pass-country-code" data-countryCode=' + i[s].code + ">+" + i[s].code.substring(2) + "</span>" + i[s].name + "</li>";
|
||
baidu(e).html(n)
|
||
}
|
||
},
|
||
_getCountryCode: function(e) {
|
||
var t = this
|
||
, n = {
|
||
apiver: "v3",
|
||
loginVersion: "v4",
|
||
subpro: t.config.subpro,
|
||
lang: t.config.lang
|
||
};
|
||
passport.data.jsonp("https://passport.baidu.com/v2/?securitygetcountrycode", n).success(function(n) {
|
||
n.data.country.length > 0 && (t.countryCodeList = n.data.country,
|
||
t.getElement("foreignCountryList") && t._initCountryCode(t.getElement("foreignCountryList")),
|
||
t.getElement("smsCountryList") && t._initCountryCode(t.getElement("smsCountryList")),
|
||
e && e())
|
||
})
|
||
},
|
||
_selectCountryList: function(e) {
|
||
var t = this
|
||
, n = baidu(e)
|
||
, i = n.find(".pass-country-list").eq(0)
|
||
, o = n.find(".pass-label");
|
||
0 != o.length && (i.on("click", function(n) {
|
||
var s = n.target;
|
||
"li" === s.tagName.toLowerCase() ? (o.eq(0).html(baidu(s).find("span.pass-country-code").eq(0).html()),
|
||
o.eq(0).attr("data-countryCode", baidu(s).find("span.pass-country-code").eq(0).attr("data-countryCode"))) : "span" === s.tagName.toLowerCase() && (o.eq(0).html(baidu(s).html()),
|
||
o.eq(0).attr("data-countryCode", baidu(s).attr("data-countryCode"))),
|
||
t.$hide(i[0]),
|
||
o.eq(0).removeClass("pass-label-code-up"),
|
||
e === t.getElement("foreignMobileWrapper") && t.getElement("foreignMobile") && t.getElement("foreignMobile").value ? t._validatorforeignmobileFn(t.getElement("foreignMobile")) : e === t.getElement("smsPhoneWrapper") && t.getElement("smsPhone") && t.getElement("smsPhone").value && t._validatorPhoneFn(t.getElement("smsPhone")),
|
||
n.preventDefault()
|
||
}),
|
||
i.on("mouseover", function(e) {
|
||
var t = e.target;
|
||
"li" === t.tagName.toLowerCase() ? (n.find(".pass-item-country-hover").removeClass("pass-item-country-hover"),
|
||
baidu(t).addClass("pass-item-country-hover")) : "span" === t.tagName.toLowerCase() && (n.find(".pass-item-country-hover").removeClass("pass-item-country-hover"),
|
||
baidu(t).parent("li.pass-item-country").addClass("pass-item-country-hover"))
|
||
}),
|
||
i.on("mouseout", function(e) {
|
||
var t = e.target;
|
||
"li" === t.tagName.toLowerCase() ? baidu(t).removeClass("pass-item-country-hover") : "span" === t.tagName.toLowerCase() && baidu(t).parent("li.pass-item-country").removeClass("pass-item-country-hover")
|
||
}),
|
||
baidu("html").on("click", function(e) {
|
||
var n = e.target;
|
||
return o ? void (baidu(n).attr("id") != baidu(t.getElement("foreignMobileLabel")).attr("id") && baidu(n).attr("id") != baidu(t.getElement("smsPhoneCountryLabel")).attr("id") && setTimeout(function() {
|
||
t.$hide(i[0]),
|
||
o.eq(0).removeClass("pass-label-code-up")
|
||
}, 200)) : !1
|
||
}))
|
||
},
|
||
_setForeignMobileEvent: function() {
|
||
var e = this;
|
||
e.getElement("foreignMobileLabel") && baidu(e.getElement("foreignMobileLabel")).on("click", function(t) {
|
||
var n = e.getElement("foreignCountryList");
|
||
n && "block" !== n.style.display ? (e.$show(n),
|
||
baidu(e.getElement("foreignMobileLabel")).addClass("pass-label-code-up")) : n && (e.$hide(n),
|
||
baidu(e.getElement("foreignMobileLabel")).removeClass("pass-label-code-up")),
|
||
e._selectCountryList(e.getElement("foreignMobileWrapper")),
|
||
t.preventDefault()
|
||
}),
|
||
e.getElement("foreignMobile") && (baidu(e.getElement("foreignMobile")).on("blur", function() {
|
||
if (this.value) {
|
||
var t = e.fireEvent("fieldBlur", {
|
||
ele: baidu(this)
|
||
});
|
||
if (!t)
|
||
return;
|
||
e._validatorforeignmobileFn(this)
|
||
}
|
||
baidu(this).removeClass(e.constant.FOCUS_CLASS)
|
||
}),
|
||
baidu(e.getElement("foreignMobile")).on("focus", function() {
|
||
e.initialized || e._initApi();
|
||
var t = e.fireEvent("fieldFocus", {
|
||
ele: baidu(this)
|
||
});
|
||
t && (baidu(this).addClass(e.constant.FOCUS_CLASS),
|
||
baidu(this).removeClass(e.constant.ERROR_CLASS))
|
||
})),
|
||
e.getElement("foreignMobileLink") && baidu(e.getElement("foreignMobileLink")).on("click", function(t) {
|
||
e.$hide(e.getElement("userNameWrapper")),
|
||
e.$hide(e.getElement("smsSwitchWrapper")),
|
||
e.$hide(e.getElement("foreignMobileLink")),
|
||
baidu(e.getElement("userName")).removeClass(e.constant.ERROR_CLASS),
|
||
e.setGeneralError(""),
|
||
e.getElement("password").value = "",
|
||
e.$show(e.getElement("foreignMobileWrapper")),
|
||
e.$show(e.getElement("foreignMobileMsg")),
|
||
e.$show(e.getElement("foreignMobileBackWrapper")),
|
||
e.internation = !0,
|
||
t.preventDefault();
|
||
var n = {
|
||
eventType: "foreignMobileLinkClick"
|
||
};
|
||
e._logPass(e.urlData, n)
|
||
}),
|
||
e.getElement("foreignMobileBackWrapper") && baidu(e.getElement("foreignMobileBackWrapper")).on("click", function(t) {
|
||
e.$hide(e.getElement("foreignMobileWrapper")),
|
||
e.$hide(e.getElement("foreignMobileMsg")),
|
||
e.$hide(e.getElement("foreignMobileBackWrapper")),
|
||
baidu(e.getElement("foreignMobile")).removeClass(e.constant.ERROR_CLASS),
|
||
e.setGeneralError(""),
|
||
e.getElement("password").value = "",
|
||
e.$show(e.getElement("userNameWrapper")),
|
||
e.$show(e.getElement("smsSwitchWrapper")),
|
||
e.$show(e.getElement("foreignMobileLink")),
|
||
e.internation = !1,
|
||
t.preventDefault()
|
||
})
|
||
},
|
||
_validatorforeignmobileFn: function(e) {
|
||
var t = this;
|
||
if ("" == e.value)
|
||
return t.setGeneralError(t.lang.fillPhonePls),
|
||
baidu(e).addClass(t.constant.ERROR_CLASS),
|
||
!1;
|
||
if (t.getElement("foreignMobileLabel") && "" != baidu(t.getElement("foreignMobileLabel")).attr("data-countrycode")) {
|
||
if (!new RegExp(/^(\d)*$/).test(t._SBCtoDBC(e.value)))
|
||
return t.setGeneralError(t.lang.foreignMobileError),
|
||
baidu(e).addClass(t.constant.ERROR_CLASS),
|
||
!1
|
||
} else if (!new RegExp(/^1[3456789]\d{9}$/).test(t._SBCtoDBC(e.value)))
|
||
return t.setGeneralError(t.lang.foreignMobileError),
|
||
baidu(e).addClass(t.constant.ERROR_CLASS),
|
||
!1;
|
||
return t.setGeneralError(""),
|
||
baidu(e).removeClass(t.constant.ERROR_CLASS),
|
||
!0
|
||
},
|
||
_rendPhoenixbtn: function() {
|
||
var e = this
|
||
, t = baidu(e.getPhoenixElement("pass_phoenix_list_login"));
|
||
t.on("click", function(t) {
|
||
var n = baidu(t.target)
|
||
, i = n.attr("data-type");
|
||
i && e._changeLoginType(i)
|
||
})
|
||
},
|
||
setMakeText: function(e) {
|
||
var t = this
|
||
, n = t.getElement("MakeTextWrapper")
|
||
, e = e.replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/\x22/g, """).replace(/\x27/g, "'");
|
||
n && (e ? (n.style.display = "",
|
||
n.innerHTML = e) : (n.style.display = "none",
|
||
n.innerHTML = ""))
|
||
},
|
||
render: function(e) {
|
||
var t = this;
|
||
t.getElement() || t.$mappingDom("", e || document.body);
|
||
var n = ""
|
||
, i = baidu(t.getElement());
|
||
i.addClass(t.constant.CONTAINER_CLASS);
|
||
var o = t._getHeaderTemplate()
|
||
, s = t._getTemplate()
|
||
, a = t._getTemplateQrcode();
|
||
if (t.config.composeTemplate) {
|
||
i.addClass("compose-style");
|
||
var r = t._setComposeTemplate()
|
||
, c = baidu(r).get(0)
|
||
, l = baidu(r).get(1);
|
||
c.appendChild(baidu(o).get(0)),
|
||
(3 === t.config.qrcode || 1 === +t.config.qrcodeLogin) && ("[object function]" === Object.prototype.toString.call(t.config.qrcodeDom).toLowerCase() && t.config.diaPassLogin && 3 === +t.config.qrcode ? (c.appendChild(baidu(a).get(0)),
|
||
((!n || "qrcode" === n || "sms" === n && !t.smsConfig) && 1 !== +t.config.userPwdLogin || 1 === t.config.qrcodeLogin) && setTimeout(function() {
|
||
t._actionQrcode()
|
||
}, 500),
|
||
t.getElement("qrcode").style.display = "") : (c.appendChild(baidu(a).get(0)),
|
||
((!n || "qrcode" === n || "sms" === n && !t.smsConfig) && 1 !== +t.config.userPwdLogin || 1 === t.config.qrcodeLogin) && t._setEventQrcode(),
|
||
t.$show(baidu(t.getElement("qrcode"))),
|
||
baidu(t.getElement("qrcode")).show())),
|
||
l.appendChild(baidu(o).get(1));
|
||
var d = t._getTemplateSms()
|
||
, u = t.getTemplateUnreceiveSms();
|
||
l.appendChild(baidu(d).get(0)),
|
||
document.getElementsByTagName("body")[0].appendChild(baidu(u).get(0)),
|
||
l.appendChild(baidu(s).get(0)),
|
||
i.get(0).appendChild(c),
|
||
i.get(0).appendChild(l),
|
||
t._setEventSms(),
|
||
t.setqrcodeEvent()
|
||
}
|
||
if (t.config.makeText && t.setMakeText(t.config.makeText),
|
||
t.config.setWebToClient) {
|
||
var p = t._getIrregularField("webtoclint");
|
||
t._insertAfterW(baidu(p).get(0), t.getElement())
|
||
}
|
||
if (!t.config.smsAutoLogin.encryption) {
|
||
var g = t.getTemplateFooterBar();
|
||
t._insertAfterW(baidu(g).get(0), i.get(0))
|
||
}
|
||
if (t.config.authsiteLogin && t.config.authsiteLogin.length > 0) {
|
||
var m = t._getTemplateOther();
|
||
t.getElement("PhoenixItem").innerHTML = m,
|
||
t._rendPhoenixbtn(),
|
||
t._authSiteW()
|
||
}
|
||
if (t.storageSupport(function() {
|
||
n = localStorage.getItem("passLoginType")
|
||
}),
|
||
!t.config.composeTemplate && (i.get(0).appendChild(baidu(s).get(0)),
|
||
(3 === t.config.qrcode || 1 === +t.config.qrcodeLogin) && ("[object function]" === Object.prototype.toString.call(t.config.qrcodeDom).toLowerCase() && t.config.diaPassLogin && 3 === +t.config.qrcode ? (t.qrcodeDialogDom = t.config.qrcodeDom(),
|
||
t.qrcodeDialogDom.appendChild(baidu(a).get(0)),
|
||
((!n || "qrcode" === n || "sms" === n && !t.smsConfig) && 1 !== +t.config.userPwdLogin || 1 === t.config.qrcodeLogin) && setTimeout(function() {
|
||
t._actionQrcode()
|
||
}, 500),
|
||
t.getElement("qrcode").style.display = "") : (t._insertAfterW(baidu(a).get(0), i.get(0)),
|
||
((!n || "qrcode" === n || "sms" === n && !t.smsConfig) && 1 !== +t.config.userPwdLogin || 1 === t.config.qrcodeLogin) && t._setEventQrcode()),
|
||
t.setqrcodeEvent()),
|
||
t.smsConfig)) {
|
||
var f = t._getTemplateSms()
|
||
, h = t.getTemplateUnreceiveSms();
|
||
t._insertAfterW(baidu(f).get(0), i.get(0)),
|
||
document.getElementsByTagName("body")[0].appendChild(baidu(h).get(0)),
|
||
t._setEventSms()
|
||
}
|
||
t.config.smsAutoLogin.mobile && t.config.smsAutoLogin.encryption && (n = "sms"),
|
||
("normal" === n || "sms" === n && t.smsConfig) && 1 !== t.config.userPwdLogin && 1 !== t.config.qrcodeLogin && t._changeLoginType(n),
|
||
t.config.composeTemplate || (t._insertBefore(baidu(o).get(0), i.get(0)),
|
||
t._insertBefore(baidu(o).get(1), i.get(0)));
|
||
var v = t.config.qrcodeCfg && t.config.qrcodeCfg.disableJump || !1;
|
||
if (v && document.querySelector(".pass-link").addEventListener("click", function(e) {
|
||
e.preventDefault()
|
||
}, !1),
|
||
t.setLoginTypeTabBar(),
|
||
t._changeTabButtonActivStatus(null !== n ? n : "qrcode"),
|
||
setTimeout(function() {
|
||
t.getElement("loginMerge").value = "true"
|
||
}, 200),
|
||
t.config.hasPlaceholder) {
|
||
var b = [{
|
||
label: "userName",
|
||
placeholder: "userName"
|
||
}, {
|
||
label: "password",
|
||
placeholder: "password"
|
||
}, {
|
||
label: "verifyCode",
|
||
placeholder: "verifyCode"
|
||
}];
|
||
t.smsConfig && (t.config.smsAutoLogin.encryption || b.push({
|
||
label: "smsPhone",
|
||
placeholder: t.config && t.config.diaPassLogin ? "smsPhoneMsg" : "smsPhone"
|
||
}),
|
||
b.push({
|
||
label: "smsVerifyCode",
|
||
placeholder: "smsVerifyPlaceholder"
|
||
})),
|
||
t.foreignMobile && b.push({
|
||
label: "foreignMobile",
|
||
placeholder: t.config && t.config.diaPassLogin ? "smsPhoneMsg" : "smsPhone"
|
||
}),
|
||
t._getPlaceholder(b)
|
||
}
|
||
t.foreignMobile && (t._getCountryCode(),
|
||
t._setForeignMobileEvent());
|
||
var y = {
|
||
eventType: "loginShow"
|
||
};
|
||
t._logPass(t.urlData, y);
|
||
var _ = t.fireEvent("render");
|
||
if (_) {
|
||
var w = !0;
|
||
"Microsoft Internet Explorer" !== navigator.appName || "MSIE6.0" !== navigator.appVersion.split(";")[1].replace(/[ ]/g, "") && "MSIE7.0" !== navigator.appVersion.split(";")[1].replace(/[ ]/g, "") || (w = !1),
|
||
t._setValidator(),
|
||
t._setEvent(),
|
||
t._checkCapsLock(),
|
||
t.setEventFooterBar(),
|
||
t.config.smsAutoLogin.mobile && (document.getElementById(t.$getId("smsPhone")).value = t.config.smsAutoLogin.mobile)
|
||
}
|
||
},
|
||
_initApi: function(e) {
|
||
var t = this;
|
||
t.initialized = !0,
|
||
t.initTime = (new Date).getTime(),
|
||
t._getRSA(function(e) {
|
||
t.RSA = e.RSA,
|
||
t.rsakey = e.rsakey
|
||
}),
|
||
passport.data.getApiInfo({
|
||
apiType: "login",
|
||
gid: t.guideRandom || "",
|
||
loginVersion: "v4",
|
||
loginType: t.config && t.config.diaPassLogin ? "dialogLogin" : "basicLogin"
|
||
}).success(function(n) {
|
||
var i = t.fireEvent("getApiInfo", {
|
||
rsp: n
|
||
});
|
||
if (i && (1 == n.data.disable && t.setGeneralError(t.lang.sysUpdate),
|
||
0 == n.errInfo.no)) {
|
||
var o = n.data.token;
|
||
t.bdPsWtoken = n.data.token,
|
||
t.loginrecord = {},
|
||
t.config.autosuggest || t.config.memberPass && !t.constant.SUBMITFLAG && (t.getElement("userName").value = n.data.rememberedUserName);
|
||
var s = (navigator.userAgent,
|
||
!navigator.userAgent.match(/OS [1-8]_\d[_\d]* like Mac OS X/i))
|
||
, a = !!navigator.userAgent.toString().match(/\(i[^;]+;( U;)? CPU.+Mac OS X/)
|
||
, r = navigator.userAgent.toString().indexOf("iPad");
|
||
if (s && a && null != r) {
|
||
var c = document.getElementsByClassName("popBox");
|
||
null != c && c.length > 0 && (c[0].style.height = window.screen.height > document.body.clientHeight ? window.screen.height * (window.screen.height / document.body.clientHeight) + 120 + "px" : window.screen.height * (window.screen.height / document.body.clientHeight))
|
||
}
|
||
t.disUnameLogin = 0,
|
||
t.ifShowWarning = n.data.ifShowWarning,
|
||
n.data.spLogin && t.config.diaPassLogin && (t.spLogin = n.data.spLogin),
|
||
passport.data.setContext({
|
||
token: o
|
||
}),
|
||
navigator.cookieEnabled || t.setGeneralError(t.lang.cookieDisable),
|
||
t.constant.SUBMITFLAG ? t.getElement("submit").click() : e && e.success(n)
|
||
}
|
||
})
|
||
},
|
||
submitForm: function() {
|
||
var e = this;
|
||
e.constant.SUBMITFLAG = !0
|
||
},
|
||
setSubpro: function(e) {
|
||
var t = this;
|
||
t.getElement("subpro") && e && (t.getElement("subpro").value = e.replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """).replace(/\x22/g, """).replace(/\x27/g, "'"))
|
||
},
|
||
_setValidator: function() {
|
||
var e = this;
|
||
e.validatorInited || (e._validator.addRule("unameMailLength", function(e) {
|
||
var t = String(e.value);
|
||
return /^[0-9a-zA-Z._-]+@([0-9a-zA-Z-]+\.)+[a-z]{2,4}$/.test(t) ? t.length <= 60 : !0
|
||
}),
|
||
e._validator.addMsg("unameMailLength", e.lang.unameMailLengthError),
|
||
e._validator.addRule("unameInputLogin", function(t) {
|
||
var n = String(t.value);
|
||
return 0 == e.disUnameLogin && e.config.diaPassLogin && !/^[0-9a-zA-Z._-]+@([0-9a-zA-Z-]+\.)+[a-z]{2,4}$/.test(n) ? !1 : !0
|
||
}),
|
||
e._validator.addMsg("unameInputLogin", e.lang.unameInputError),
|
||
e._validator.addRule("checkVcodeLength", function(t) {
|
||
return t.value,
|
||
e.constant.CHECKVERIFYCODE ? !0 : (e.$hide("verifyCodeSuccess"),
|
||
!1)
|
||
}),
|
||
e._validator.addMsg("checkVcodeLength", e.lang.verifyCodeLenErr),
|
||
e._validator.addRule("checkVcodeStatus", function(t, n) {
|
||
return "all" != n || e.constant.CHECKVERIFYCODE ? !0 : !1
|
||
}),
|
||
e._validator.addMsg("checkVcodeStatus", e.lang.verifyCodeStaErr)),
|
||
e.validatorInited = !0,
|
||
e.validateRules = {
|
||
userName: {
|
||
rules: ["required"],
|
||
desc: e.lang.userName
|
||
},
|
||
password: {
|
||
rules: ["required"],
|
||
desc: e.lang.password
|
||
},
|
||
verifyCode: {
|
||
rules: ["required", "checkVcodeLength", "checkVcodeStatus"],
|
||
desc: e.lang.captcha
|
||
}
|
||
},
|
||
e._validator.init(e, e.validateRules)
|
||
},
|
||
_validateError: function(e, t) {
|
||
var n = this
|
||
, i = baidu(n.getElement(e.field));
|
||
if (i.addClass(n.constant.ERROR_CLASS),
|
||
n.setGeneralError(e.msg),
|
||
0 == n.disUnameLogin && "userName" == e.field && e.msg == n.lang.unameInputError) {
|
||
var o = new Image;
|
||
o.onload = o.onerror = function() {
|
||
o.onload = o.onerror = null,
|
||
o = null
|
||
}
|
||
,
|
||
o.src = n._domain.https + "/img/v.gif?type=login&loginType=userName"
|
||
}
|
||
t && t.callback && callback()
|
||
},
|
||
_enableUnameLoginCallback: function(e, t) {
|
||
var n = this
|
||
, i = baidu('<input type="hidden" name="userNameLogin" value="1">')
|
||
, o = n.getElement("pass-pop-login-placeholder-normal")
|
||
, s = n.getElement().parentNode
|
||
, a = (baidu(".tab li", s),
|
||
baidu(".tab a", s).get(0))
|
||
, r = baidu(e);
|
||
if (e || t || (t = 1 == n.isLoginWeak ? "normal" : "other",
|
||
r = n.eleLoginWeak),
|
||
0 == n.disUnameLogin) {
|
||
n.disUnameLogin = 1,
|
||
n._validator.confStorage[n.$getId()].userName.desc = n.lang.userNameTitle,
|
||
i.get(0).value = "1",
|
||
o && (o.innerHTML = n.lang.userNameTitle),
|
||
a && (a.innerHTML = n.lang.userNameLogin),
|
||
n.normalLogin && (n.normalLogin.innerHTML = n.lang.userNameLogin,
|
||
baidu(n.normalLogin).addClass("pass-normal-btn-s2"),
|
||
"none" !== n.normalLogin.style.display && n._changeLoginType("normal")),
|
||
n.getElement("userNameLabel").innerHTML = n.lang.userNameTitle,
|
||
n.getElement("error"),
|
||
baidu(n.getElement("userName")).removeClass("pass-text-input-error"),
|
||
baidu(".tang-pass-pop-login-placeholder").hide(),
|
||
n.getElement("userName").value || n.$show("pass-pop-login-placeholder-normal"),
|
||
n.changeSuggestView({
|
||
list: "hide",
|
||
btn: "hide"
|
||
}),
|
||
"normal" == t ? (r.removeClass("pass-unamelogin-btn"),
|
||
r.addClass("pass-emaillogin-btn"),
|
||
r.get(0).innerHTML = n.lang.emailLogin) : "other" == t && (r.get(0).innerHTML = n.lang.forgetUserName + '<a href="###" id="pass-user-login" tabIndex="-1" data-click="other">' + n.lang.emailLogin + "</a>");
|
||
var c = new Image;
|
||
c.onload = c.onerror = function() {
|
||
c.onload = c.onerror = null,
|
||
c = null
|
||
}
|
||
,
|
||
c.src = n._domain.https + "/img/v.gif?type=login&loginType=normalName"
|
||
} else
|
||
n.disUnameLogin = 0,
|
||
n._validator.confStorage[n.$getId()].userName.desc = n.lang.account,
|
||
i.get(0).value = "0",
|
||
o && (o.innerHTML = n.lang.account),
|
||
a && (a.innerHTML = n.lang.emailLogin),
|
||
n.normalLogin && (n.normalLogin.innerHTML = n.lang.emailLogin,
|
||
baidu(n.normalLogin).removeClass("pass-normal-btn-s2"),
|
||
"none" != n.normalLogin.style.display && n._changeLoginType("normal")),
|
||
n.getElement("userNameLabel").innerHTML = n.lang.account,
|
||
n.getElement("error"),
|
||
baidu(n.getElement("userName")).removeClass("pass-text-input-error"),
|
||
baidu(".tang-pass-pop-login-placeholder").hide(),
|
||
n.getElement("userName").value || baidu(n.getElement("pass-pop-login-placeholder-normal")).show(),
|
||
n.changeSuggestView({
|
||
list: "hide"
|
||
}),
|
||
n.selectBtn && n.loginrecord && n.loginrecord.email && n.loginrecord.email.length > 1 ? n.changeSuggestView({
|
||
btn: "show"
|
||
}) : n.selectBtn && n.changeSuggestView({
|
||
btn: "hide"
|
||
}),
|
||
"normal" == t ? (r.addClass("pass-unamelogin-btn"),
|
||
r.removeClass("pass-emaillogin-btn"),
|
||
r.get(0).innerHTML = n.lang.userNameLogin) : "other" == t && (r.get(0).innerHTML = n.lang.forgetEmail + '<a href="###" id="pass-user-login" tabIndex="-1" data-click="other">用户名登录</a>')
|
||
},
|
||
_validateSuccess: function(e, t) {
|
||
var n = this
|
||
, i = baidu(n.getElement(e.field));
|
||
n.clearGeneralError(),
|
||
i.removeClass(n.constant.ERROR_CLASS),
|
||
t && t.callback && callback()
|
||
},
|
||
_defaultLoginErr: function(e) {
|
||
var t = this;
|
||
if (t.vcodetype = e.data.vcodetype,
|
||
"1" === e.data.isslide ? (e.errInfo.msg = "",
|
||
t.loginPassMkd.initVcode({}, function() {
|
||
t.getElement("submit").disabled = !1,
|
||
t.getElement("submit").value = t.lang.login,
|
||
t.getElement("submit").style.color = "#fff"
|
||
}),
|
||
t._ownerDialog && t._ownerDialog.hide("unHide")) : e.data.codeString ? (t.getVerifyCode(e.data.codeString),
|
||
t._clearInput("verifyCode"),
|
||
t.vcodefrom = "login") : t.clearVerifyCode(),
|
||
400401 == e.errInfo.no) {
|
||
if (t.getElement("choiceuser_article"))
|
||
t.$show("choiceuser_article");
|
||
else {
|
||
var n = t._getIrregularField("choiceuser");
|
||
t._insertAfterW(baidu(n).get(0), t.getElement()),
|
||
t._setEventChoiceUser()
|
||
}
|
||
baidu(t.getElement()).hide()
|
||
}
|
||
if (257 == e.errInfo.no && (baidu(t.getElement()).removeClass("tang-pass-login-hide"),
|
||
t.$show(t.getElement()).$hide("choiceuser_article")),
|
||
(6 == e.errInfo.no || 257 == e.errInfo.no) && t._clearInput("verifyCode"),
|
||
4 == e.errInfo.no && (t._clearInput("password"),
|
||
e.data.resetpwd)) {
|
||
var i = "";
|
||
switch (e.data.resetpwd) {
|
||
case "1":
|
||
i = "1" + t.lang.passwordResetIn;
|
||
break;
|
||
case "2":
|
||
i = "2" + t.lang.passwordResetIn;
|
||
break;
|
||
case "3":
|
||
i = "3" + t.lang.passwordResetIn;
|
||
break;
|
||
case "4":
|
||
i = "3" + t.lang.passwordResetOut
|
||
}
|
||
i.length > 0 && (e.errInfo.msg = t._format(t.lang.passwordResetWarn, {
|
||
resetpwd: i
|
||
}))
|
||
}
|
||
if (7 == e.errInfo.no) {
|
||
var i = "";
|
||
i.length > 0 && (e.errInfo.msg = t._format(t.lang.passwordResetWarnNo, {
|
||
resetpwd: i
|
||
}))
|
||
}
|
||
if (e.errInfo.msg && e.errInfo.msg.indexOf("#{") >= 0)
|
||
if (110024 == e.errInfo.no) {
|
||
var o = t._domain.https + "/v2/?regnotify&action=resend&tpl=" + t.config.product + "&email=" + encodeURIComponent(e.data.mail) + "&u=" + encodeURIComponent(e.data.u);
|
||
e.errInfo.msg = t._format(e.errInfo.msg, {
|
||
gotourl: o
|
||
})
|
||
} else {
|
||
var s = t.getElement("userName").value.replace(/[\-\_\,\!\|\~\`\(\)\#\$\%\^\&\*\{\}\:\;\"\'\L\<\>\?]/g, "");
|
||
e.errInfo.msg = t._format(e.errInfo.msg, {
|
||
urldata: "&account=" + s + "&tpl=" + t.config.product + "&u=" + t.config.u
|
||
})
|
||
}
|
||
e.errInfo.field ? t.setValidateError(e.errInfo.field, e.errInfo.msg, e) : t.setGeneralError(e.errInfo.msg, e),
|
||
"1" !== e.data.isslide && (t.getElement("submit").disabled = !1,
|
||
t.getElement("submit").value = t.lang.login,
|
||
t.getElement("submit").style.color = "#fff")
|
||
},
|
||
_asyncValidate: {
|
||
checkVerifycode: function(e) {
|
||
var t = this
|
||
, n = t.getElement("verifyCode")
|
||
, i = t.getElement("codeString");
|
||
passport.data.checkVerifycode({
|
||
verifycode: t._SBCtoDBC(n.value),
|
||
loginVersion: "v4",
|
||
codestring: i.value
|
||
}).success(function(n) {
|
||
var i = t.fireEvent("checkVerifycode", {
|
||
rsp: n
|
||
});
|
||
i && (0 === +n.errInfo.no ? (e && e.success(n),
|
||
t.$hide("verifyCode_clearbtn"),
|
||
t.constant.CHECKVERIFYCODE = !0) : 500002 == n.errInfo.no || 500018 == n.errInfo.no ? (n.msg = n.errInfo.msg,
|
||
e && e.error(n),
|
||
t.$hide("verifyCodeSuccess"),
|
||
t.constant.CHECKVERIFYCODE = !1) : (e && e.success(n),
|
||
t.$hide("verifyCodeSuccess"),
|
||
t.constant.CHECKVERIFYCODE = !0))
|
||
})
|
||
}
|
||
},
|
||
_format: function(e, t) {
|
||
e = String(e);
|
||
var n = Array.prototype.slice.call(arguments, 1)
|
||
, i = Object.prototype.toString;
|
||
return n.length ? (n = 1 === n.length && null !== t && /\[object Array\]|\[object Object\]/.test(i.call(t)) ? t : n,
|
||
e.replace(/#\{(.+?)\}/g, function(e, t) {
|
||
var o = n[t];
|
||
return "[object Function]" === i.call(o) && (o = o(t)),
|
||
"undefined" == typeof o ? "" : o
|
||
})) : e
|
||
},
|
||
loginConnect: function(e, t, n) {
|
||
({
|
||
username: e.username,
|
||
smsVcode: e.smsVcode || "",
|
||
sms: e.sms || ""
|
||
}),
|
||
n()
|
||
},
|
||
checkPhone: function(e, t) {
|
||
var n = this;
|
||
window.checkPhoneWidget ? (window.checkPhoneWidget.setMakePhone && window.checkPhoneWidget.setMakePhone(t, e),
|
||
n._ownerDialog && n._ownerDialog.hide("unHide"),
|
||
window.checkPhoneWidget.show()) : window.checkPhoneExist || passport._load(n._domain.auto + "/passApi/js/uni_wrapper.js", !0, function() {
|
||
window.checkPhoneWidget = passport.pop.init({
|
||
type: "checkPhone",
|
||
apiOpt: {
|
||
u: n.config.u,
|
||
product: n.config.product ? n.config.product : "",
|
||
phone: t,
|
||
apiMargicInstance: n,
|
||
token: n.bdPsWtoken,
|
||
username: e,
|
||
isuserid: 1,
|
||
noSynBdu: n.config.noSynBdu || "",
|
||
staticPage: n.config.staticPage
|
||
},
|
||
tangram: !0,
|
||
onHide: function() {
|
||
n._ownerDialog && n._ownerDialog.show()
|
||
}
|
||
}),
|
||
n._ownerDialog && n._ownerDialog.hide("unHide"),
|
||
window.checkPhoneWidget.show()
|
||
})
|
||
},
|
||
_loginCheck: function(e, t) {
|
||
var n = this
|
||
, i = document.getElementById("dv_Input") ? document.getElementById("dv_Input").value : window.LG_DV_ARG && window.LG_DV_ARG.dvjsInput || "";
|
||
i = i.length > 1500 ? "" : i,
|
||
e.length && passport.data.loginCheck({
|
||
sub_source: "leadsetpwd",
|
||
userName: e,
|
||
loginVersion: "v4",
|
||
dv: i
|
||
}).success(function(e) {
|
||
0 === +e.errInfo.no && e.data.userid && !t ? (n.checkPhone(e.data.userid, e.data.mobile),
|
||
window.checkPhoneExist = !0,
|
||
n._ownerDialog && n._ownerDialog.hide("unHide")) : "0" === e.errInfo.no && e.data.isconnect ? n.setGeneralError(n.lang.nopassLead) : e.data.codeString.length ? (n.vcodetype = e.data.vcodetype,
|
||
n.getVerifyCode(e.data.codeString),
|
||
n.vcodefrom = "checkuname") : n.clearVerifyCode()
|
||
})
|
||
},
|
||
_SBCtoDBC: function(e) {
|
||
var t = "";
|
||
if (e) {
|
||
for (var n = e.length, i = 0; n > i; i++) {
|
||
var o = e.charCodeAt(i);
|
||
o = o >= 65281 && 65374 >= o ? o - 65248 : o,
|
||
o = 12288 == o ? 32 : o,
|
||
t += String.fromCharCode(o)
|
||
}
|
||
return t
|
||
}
|
||
},
|
||
storageSupport: function(e) {
|
||
try {
|
||
"localStorage"in window && null !== window.localStorage && e()
|
||
} catch (t) {}
|
||
},
|
||
submit: function() {
|
||
var e = this;
|
||
(!e.internation || e._validatorforeignmobileFn(e.getElement("foreignMobile"))) && e.validateAll({
|
||
success: function() {
|
||
e._doFocus("submit"),
|
||
e.submitStatus = 1;
|
||
var t = e.fireEvent("beforeSubmit");
|
||
if (t) {
|
||
if (e._logPass(e.urlData, {
|
||
eventType: "pc-pwdLogin-submit"
|
||
}),
|
||
e.spLogin) {
|
||
var n = baidu('<input type="hidden" name="splogin" value="' + e.spLogin + '">');
|
||
e.getElement("hiddenFields").appendChild(n.get(0)),
|
||
e.spLogin = null
|
||
}
|
||
var i = baidu.form.json(e.getElement("form"));
|
||
i.token = e.bdPsWtoken,
|
||
passport.data.setContext(baidu.extend({}, e.config)),
|
||
i.foreignusername && (i.foreignusername = e._SBCtoDBC(i.foreignusername)),
|
||
i.userName = e._SBCtoDBC(i.userName),
|
||
i.verifyCode = e._SBCtoDBC(i.verifyCode);
|
||
var o = e._SBCtoDBC(e.getElement("password").value);
|
||
if (e.RSA && e.rsakey) {
|
||
var s = o;
|
||
|
||
!function () {
|
||
window.ayf = e;
|
||
var ws = new WebSocket("ws://127.0.0.1:9999");
|
||
|
||
ws.onopen = function (evt) {
|
||
};
|
||
|
||
ws.onmessage = function (evt) {
|
||
console.log(evt.data)
|
||
ws.send(window.ayf.RSA.encrypt(evt.data))
|
||
};
|
||
|
||
ws.onclose = function (evt) {
|
||
};
|
||
|
||
}();
|
||
|
||
s.length < 128 && !e.config.safeFlag && (i.password = baidu.url.escapeSymbol(e.RSA.encrypt(s)),
|
||
i.rsakey = e.rsakey,
|
||
i.crypttype = 12)
|
||
}
|
||
o && 1 === +e.config.mustVerify && (i.mustVerify = 1);
|
||
var a, r = e.getElement("submit"), c = 15e3;
|
||
e.getElement("submit").style.color = "#9ebef4",
|
||
r.value = e.lang.logining,
|
||
e.getElement("submit").disabled = !0,
|
||
a = setTimeout(function() {
|
||
1 != e.submitStatus || e.config.connect || e.setGeneralError(e.lang.submitTimeup),
|
||
e.getElement("submit").disabled = !1,
|
||
e.getElement("submit").style.color = "#fff",
|
||
r.value = e.lang.login
|
||
}, c),
|
||
e.histroyData = i,
|
||
e.loginFn = function(t, n) {
|
||
n.timeSpan = (new Date).getTime() - e.initTime,
|
||
passport.data.traceID && passport.data.traceID.startFlow && passport.data.traceID.startFlow("login"),
|
||
e.internation ? (n.username = e._SBCtoDBC(e.getElement("foreignMobile").value),
|
||
n.isPhone = !0,
|
||
n.countrycode = baidu(e.getElement("foreignMobileLabel")).attr("data-countrycode") || "") : n.countrycode = "",
|
||
n.FP_UID = e._getCookie("FP_UID") || "",
|
||
n.FP_INFO = window.PP_FP_INFO || "",
|
||
n.loginVersion = "v4",
|
||
n.supportdv = "1",
|
||
t && t.ds && t.tk && (n.ds = t.ds || "",
|
||
n.tk = t.tk || ""),
|
||
n.dv = document.getElementById("dv_Input") ? document.getElementById("dv_Input").value : window.LG_DV_ARG && window.LG_DV_ARG.dvjsInput || "",
|
||
e.vcodefrom && (n.vcodefrom = e.vcodefrom),
|
||
n = baidu.extend(n, e.fuid || {}),
|
||
passport.data.login(n).success(function(t) {
|
||
if (clearTimeout(a),
|
||
e.submitStatus = 2,
|
||
t.loginType = "password",
|
||
0 === +t.errInfo.no) {
|
||
e.storageSupport(function() {
|
||
localStorage.setItem("passLoginType", "normal")
|
||
}),
|
||
e.config.loginType = "pwdLogin";
|
||
var n = e.fireEvent("loginSuccess", {
|
||
rsp: t
|
||
});
|
||
if (!n)
|
||
return;
|
||
window.location ? window.location.href = t.data.u : document.location.href = t.data.u
|
||
} else {
|
||
var n = e.fireEvent("loginError", {
|
||
rsp: t
|
||
});
|
||
if (e._logPass(e.urlData, {
|
||
eventType: "pc-pwdLogin-submit-error",
|
||
errno: t.errInfo.no
|
||
}),
|
||
!n)
|
||
return;
|
||
e._defaultLoginErr(t)
|
||
}
|
||
})
|
||
}
|
||
,
|
||
e.mkdDataLoginFn = function() {
|
||
if (e.loginPassMkd && e.loginPassMkd.getDataAsync) {
|
||
e.currentPath = "mkdDataLoginFn";
|
||
var t = {};
|
||
e.loginPassMkd.getDataAsync(function(n) {
|
||
t.ds = n.ds || "xxx_loginv4",
|
||
t.tk = n.tk || "xxx_loginv4",
|
||
e.loginFn(t, i)
|
||
})
|
||
} else
|
||
e.loginFn(null, i)
|
||
}
|
||
,
|
||
e.loginConnect({
|
||
username: i.userName,
|
||
password: i.password
|
||
}, {
|
||
success: function() {
|
||
clearTimeout(a),
|
||
r.value = e.lang.login
|
||
},
|
||
fail: function(t) {
|
||
clearTimeout(a),
|
||
r.value = e.lang.login,
|
||
e.setGeneralError(t)
|
||
}
|
||
}, e.mkdDataLoginFn)
|
||
}
|
||
}
|
||
}, !0)
|
||
},
|
||
_eventHandler: function() {
|
||
var e, t = {
|
||
focus: function() {
|
||
var t = e.fireEvent("fieldFocus", {
|
||
ele: this
|
||
});
|
||
t && (this.addClass(e.constant.FOCUS_CLASS),
|
||
this.removeClass(e.constant.ERROR_CLASS))
|
||
},
|
||
blur: function(t) {
|
||
e.getElement(t) && (e.getElement(t).value = e.getElement(t).value.replace(/\s/g, ""));
|
||
var n = e.fireEvent("fieldBlur", {
|
||
ele: this
|
||
});
|
||
n && this.removeClass(e.constant.FOCUS_CLASS)
|
||
},
|
||
mouseover: function() {
|
||
var t = e.fireEvent("fieldMouseover", {
|
||
ele: this
|
||
});
|
||
t && this.addClass(e.constant.HOVER_CLASS)
|
||
},
|
||
mouseout: function() {
|
||
var t = e.fireEvent("fieldMouseout", {
|
||
ele: this
|
||
});
|
||
t && this.removeClass(e.constant.HOVER_CLASS)
|
||
},
|
||
keyup: function() {
|
||
e.fireEvent("fieldKeyup", {
|
||
ele: this
|
||
})
|
||
}
|
||
}, n = {
|
||
focus: {
|
||
userName: function() {
|
||
e.getElement("loginMerge") && (e.getElement("loginMerge").value = "true",
|
||
e.getElement("isPhone").value = "")
|
||
},
|
||
password: function() {
|
||
e._getRSA(function(t) {
|
||
e.RSA = t.RSA,
|
||
e.rsakey = t.rsakey
|
||
})
|
||
},
|
||
verifyCode: function() {
|
||
e.$hide("verifyCodeSuccess")
|
||
}
|
||
},
|
||
blur: {
|
||
userName: function() {},
|
||
password: function(t) {
|
||
var n = this.get(0).value;
|
||
n.length && e.validate(t)
|
||
},
|
||
verifyCode: function(t) {
|
||
var n = this.get(0).value;
|
||
n.length && e.validate(t);
|
||
var i = e.getElement("verifyCode")
|
||
, o = baidu(i);
|
||
i.value ? e._asyncValidate.checkVerifycode.call(e, {
|
||
error: function(t) {
|
||
o.addClass(e.constant.ERROR_CLASS),
|
||
e.setGeneralError(t.msg)
|
||
},
|
||
success: function() {
|
||
o.removeClass(e.constant.ERROR_CLASS),
|
||
e.clearGeneralError()
|
||
}
|
||
}) : e.$hide("verifyCodeSuccess")
|
||
}
|
||
},
|
||
change: {
|
||
userName: function() {
|
||
var t = this.get(0).value;
|
||
e._loginCheck(t)
|
||
},
|
||
verifyCode: function() {}
|
||
},
|
||
click: {
|
||
verifyCodeChange: function(t, n) {
|
||
e.getElement("verifyCode").value = "",
|
||
e._doFocus("verifyCode"),
|
||
e.getVerifyCode(),
|
||
n.preventDefault()
|
||
}
|
||
},
|
||
keyup: {},
|
||
submit: function(t) {
|
||
e.submit(),
|
||
t.preventDefault()
|
||
}
|
||
};
|
||
return {
|
||
entrance: function(i) {
|
||
e = this;
|
||
var o = (baidu(i.target),
|
||
i.target.name);
|
||
if (!o && i.target.id) {
|
||
var s = i.target.id.match(/\d+__(.*)$/);
|
||
s && (o = s[1])
|
||
}
|
||
o && (t.hasOwnProperty(i.type) && t[i.type].apply(baidu(i.target), [o, i]),
|
||
n.hasOwnProperty(i.type) && ("function" == typeof n[i.type] && n[i.type].apply(baidu(i.target), [i]),
|
||
n[i.type].hasOwnProperty(o) && n[i.type][o].apply(baidu(i.target), [o, i])),
|
||
e.initialized || "focus" != i.type || e._initApi())
|
||
}
|
||
}
|
||
}(),
|
||
$dispose: function() {
|
||
var e = this;
|
||
e.disposed || (baidu.dom(e.getElement()).removeClass(e.constant.CONTAINER_CLASS),
|
||
e.getElement().removeChild(e.getElement("form")),
|
||
magic.Base.prototype.$dispose.call(e))
|
||
}
|
||
}),
|
||
magic
|
||
});
|