Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*************************************************
- Function: Login
- Description: 登录类
- *************************************************/
- function Login() {
- this._lxdLogin = null; //Login.xml
- this.szDefaultUser = 'admin';
- }
- Login.prototype = {
- //字符串长度判断函数
- _judgeTextLength: function (szString) {
- var iLength = 0;
- for(var i = 0; i < szString.length; i++) {
- if(szString.charCodeAt(i) > 255) {
- iLength+=2;
- } else {
- iLength+=1;
- }
- }
- return iLength;
- },
- //事件绑定函数
- _loginEventBind: function () {
- var that = this;
- //回车事件
- $("body").bind({
- keydown: function (e) {
- if(e.keyCode === 13) {
- that.doLogin();
- }
- }
- });
- },
- //登录页面初始化函数
- initLogin: function () {
- var szLanguage = $.cookie("language");
- //如果直接到登录界面,也获取一下语言
- if (szLanguage === null) {
- if (navigator.appName === "Netscape" || navigator.appName === "Opera") {
- var sysLanguage = navigator.language.toLowerCase();
- } else {
- var sysLanguage = navigator.browserLanguage.toLowerCase();
- }
- var szLanguage = sysLanguage.substring(0, 2);
- if(szLanguage == "zh") { //中文需要区分简体和繁体
- var arSysLan = sysLanguage.split("-");
- if (arSysLan.length === 2) {
- szLanguage = arSysLan[0].toLowerCase() + "_" + arSysLan[1].toUpperCase();
- if(arSysLan[1].toLowerCase() === "cn") {
- $.cookie('language', 'zh');
- szLanguage = "zh";
- } else {
- $.cookie('language', szLanguage);
- }
- }
- } else {
- $.cookie('language', szLanguage);
- }
- }
- if(szLanguage == "ja") {
- $(document.body).append('<style id="lanJa">*{font-family:"Meiryo", "Arial", "sans-serif";}</style>');
- }
- translator.initLanguageSelect(szLanguage);
- this._lxdLogin = translator.getLanguageXmlDoc("Login");
- var lxdMain = translator.getLanguageXmlDoc("Main");
- translator.appendLanguageXmlDoc(this._lxdLogin, lxdMain);
- translator.translatePage(this._lxdLogin, document);
- //jquery无法对title赋值
- document.title = translator.translateNode(this._lxdLogin, "lalogin");
- if(global_config.web_mode === 0) {
- $("#laCopyRight").html(Base64.decode(g_oCommon.m_szCopyRight));
- }
- if (!(document.cookie || navigator.cookieEnabled)) {
- alert(translator.translateNode(this._lxdLogin, "CookieTips"));
- return;
- }
- var szPlugin = translator.translateNode(this._lxdLogin, "laPlugin");
- if(!g_oCommon.checkPlugin("0", szPlugin)) {
- return;
- }
- g_oCommon.m_PreviewOCX = $("#PreviewActiveX")[0];
- $("#PreviewActiveX").css("width", "0");
- if(!g_oCommon.compareFileVersion()) {
- g_oCommon.updateTips();
- }
- $("#loginUserName").focus();
- $("#loginUserName").val("");
- this._loginEventBind();
- this.getDeviceActiveStat();
- },
- //激活状态
- getDeviceActiveStat: function() {
- var that = this;
- $.ajax({
- type: "GET",
- url: g_oCommon.m_lHttp + g_oCommon.m_szHostName + ":" + g_oCommon.m_lHttpPort + "/SDK/activateStatus",
- success: function (xmlDoc, textStatus, xhr) {
- if ($(xmlDoc).find("Activated").text() != "true") {
- that.showChangePswd();
- }
- },
- error: function() {
- //that.showChangePswd();
- }
- });
- },
- //登录函数
- doLogin: function () {
- if(g_oCommon.m_PreviewOCX == null) {
- alert(translator.translateNode(this._lxdLogin, "laNotWin32Plugin"));
- return;
- }
- var that = this;
- //用户名为空时提示
- if($("#loginUserName").val().length == 0) {
- $("#loginUserName").focus();
- alert(translator.translateNode(this._lxdLogin, "LoginTips1"));
- return false
- }
- if(this._judgeTextLength($("#loginUserName").val()) > 16) {
- $("#loginUserName").focus();
- $("#loginUserName").val("");
- alert(translator.translateNode(this._lxdLogin, "LoginTips2"));
- return false;
- }
- if(this._judgeTextLength($("#loginPassword").val()) > 16) {
- $("#loginPassword").focus();
- $("#loginPassword").val("");
- alert(translator.translateNode(this._lxdLogin, "LoginTips3"));
- return false;
- }
- var xmlNetInfo = g_oCommon.parseXmlFromStr(g_oCommon.m_PreviewOCX.HWP_GetInfo(0));
- var szXml = "<?xml version='1.0' encoding='UTF-8'?><userCheck>";
- szXml += "<ipAddress>" + $(xmlNetInfo).find("IP").eq(0).text() + "</ipAddress>";
- szXml += "<macAddress>" + $(xmlNetInfo).find("MAC").eq(0).text() + "</macAddress>";
- szXml += "</userCheck>";
- var xmlDoc = g_oCommon.parseXmlFromStr(szXml);
- g_oCommon.changAuthInfo(Base64.encode($("#loginUserName").val() + ":" + $("#loginPassword").val()));
- var szTimeStamp = new Date().getTime(); //为了解决各个浏览器不带认证请求
- $.ajax({
- type: "post",
- url: g_oCommon.m_lHttp + g_oCommon.m_szHostName + ":" + g_oCommon.m_lHttpPort + "/ISAPI/Security/userCheck?timeStamp=" + szTimeStamp,
- async: true,
- timeout: 15000,
- username: $("#loginUserName").val(),
- password: $("#loginPassword").val(),
- processData: false,
- data: xmlDoc,
- success: function(xmlDoc, textStatus, xhr) {
- if("200" === $(xmlDoc).find("statusValue").eq(0).text()) {
- var szUrl = decodeURI(document.URL), oLoginXml = xmlDoc;
- var bIsRiskPwd = "true" == $(xmlDoc).find('isRiskPassword').eq(0).text();
- if(szUrl.indexOf("?page=") != -1) {
- var szPage = szUrl.substring(szUrl.indexOf("page=") + 5, szUrl.indexOf("¶ms="));
- if(szPage.indexOf(".asp") == -1) {
- szPage = szPage.concat(".asp");
- }
- var szParam = szUrl.substring(szUrl.indexOf("¶ms=") + 8, szUrl.length);
- $.cookie("page", szPage + "?" + szParam + "%1");
- } else {
- $.cookie("page", null);
- }
- g_oWebSession.setItem("userInfo", g_oCommon.m_szUserPwdValue);
- //获取向导能力
- $.ajax({
- type: "get",
- url: g_oCommon.m_lHttp + g_oCommon.m_szHostName + ":" + g_oCommon.m_lHttpPort + "/SDK/capabilities",
- timeout: 15000,
- username: $("#loginUserName").val(),
- password: $("#loginPassword").val(),
- success: function (xmlDoc, textStatus, xhr) {
- if ("true" == $(xmlDoc).find("GuideCap").eq(0).find("isSupGuide").eq(0).text()) {
- var szInfo = g_oCommon.getNodeValue("laPlugin");
- //没装插件不显示向导
- if (!g_oCommon.checkPlugin("0", szInfo)) {
- window.location.href = "main.asp";
- return;
- }
- g_oCommon.m_PreviewOCX = $("#PreviewActiveX")[0];
- $("#PreviewActiveX").css("width", "1");
- var szPathInfo = '';
- try {
- szPathInfo = g_oCommon.m_PreviewOCX.HWP_GetLocalConfig();
- } catch (e) {
- szPathInfo = g_oCommon.m_PreviewOCX.GetLocalConfig();
- }
- var xmlDocCfg = g_oCommon.parseXmlFromStr(szPathInfo);
- if ("1" == $(xmlDocCfg).find("ShowWizard").eq(0).text()) {
- if (!g_oCommon.compareFileVersion()) { //插件版本校验放后面,否则点下载这里又是false会和跳到主页面的操作冲突
- g_oCommon.updateTips();
- }
- $LAB
- .script("../script/wizard.js?version=" + global_config.web_version).wait(function () {
- g_oWizard.parseLocalCfg(xmlDocCfg);
- $("#wizardTip").modal();
- });
- } else if($.cookie("defaultChangeAsk") != "false" && "true" == $(oLoginXml).find('isDefaultPassword').eq(0).text()){
- g_oLogin.showChangePswd();
- return;
- } else {
- window.location.href = "main.asp";
- }
- } else if(bIsRiskPwd) {
- if(window.confirm(translator.translateNode(that._lxdLogin, 'riskPwdTips'))){
- $.cookie("page", "paramconfig.asp?&sub=userlist%4");
- window.location.href = "main.asp";
- } else {
- window.location.href = "main.asp";
- }
- } else {
- window.location.href = "main.asp";
- }
- },
- error: function (xhr, textStatus, errorThrown) {
- if(bIsRiskPwd) {
- if(window.confirm(translator.translateNode(that._lxdLogin, 'riskPwdTips'))){
- $.cookie("page", "paramconfig.asp?&sub=userlist%4");
- }
- }
- window.location.href = "main.asp";
- }
- });
- } else {
- if("Mac binding error" === $(xmlDoc).find("statusString").eq(0).text()) {
- alert(translator.translateNode(that._lxdLogin, "LoginTips6"));
- } else if("IP binding error" === $(xmlDoc).find("statusString").eq(0).text()){
- alert(translator.translateNode(that._lxdLogin, "LoginTips7"));
- } else {
- $("#loginUserName").focus();
- $("#loginUserName").val("");
- $("#loginPassword").val("");
- alert(translator.translateNode(that._lxdLogin, "LoginTips4"));
- }
- }
- },
- error: function(xhr, textStatus, errorThrown) {
- var $xmlDoc = $(xhr.responseXML);
- if ("timeout" == textStatus) {
- alert(translator.translateNode(that._lxdLogin, 'ConnectTimeoutTips'));
- } else if (401 === xhr.status) {
- if($xmlDoc.find("lockStatus").eq(0).text() === "lock") {
- var iLockTime = parseInt($xmlDoc.find("unlockTime").eq(0).text(), 10);
- var szLockTime = "";
- if (iLockTime < 60) {
- szLockTime = translator.translateNode(that._lxdLogin, 'optionSecond');
- } else {
- iLockTime = Math.ceil(iLockTime / 60);
- szLockTime = translator.translateNode(that._lxdLogin, 'laSecond');;
- }
- alert(translator.translateNode(that._lxdLogin, 'userLock').replace("%s", iLockTime).replace("%s", szLockTime)); //输入N次密码错误后,用户被锁定
- } else if($xmlDoc.find("lockStatus").eq(0).text() === "unlock") {
- alert(translator.translateNode(that._lxdLogin, 'loginLockError').replace("%s", $xmlDoc.find("retryLoginTime").eq(0).text()));
- } else {
- alert(translator.translateNode(that._lxdLogin, 'LoginTips4'));
- }
- if (!$('#loginUserName').prop("disabled")) {
- $('#loginUserName').focus();
- }
- $('#loginUserName').val('');
- $('#loginPassword').val('');
- } else {
- //alert(translator.translateNode(that._lxdLogin, 'NetworkErrorTips'));
- alert(g_oCommon.getNodeValue('NetworkErrorTips'));
- }
- }
- });
- },
- //语言切换函数
- changeFrameLanguage: function (lan) {
- if($.cookie("language") == "ja") { //如果原来是ja的,要把字体切换回Arial
- $("#lanJa").remove();
- }
- if(lan == "ja") {
- $(document.body).append('<style id="lanJa">*{font-family:"Meiryo", "Arial", "sans-serif";}</style>');
- }
- $.cookie("language", lan);
- this._lxdLogin = translator.getLanguageXmlDoc("Login", lan);
- var lxdMain = translator.getLanguageXmlDoc("Main", lan);
- translator.appendLanguageXmlDoc(this._lxdLogin, lxdMain);
- translator.translatePage(this._lxdLogin, document);
- document.title = translator.translateNode(this._lxdLogin, "lalogin");
- },
- //显示提示密码登录框,绑定事件
- showChangePswd: function () {
- var that = this;
- $("#defPwsTip").html(g_oCommon.getNodeValue('laChangePswdTip'));
- $("#defaultUser").html(this.szDefaultUser);
- //如果设备返回默认密码,则询问是否需要修改默认密码
- $("#divChangePassword").modal();
- //取消这个绑定,以免回车点击再次发送登录命令
- $("body").unbind("keydown").bind("keydown", function(e){
- if(e.keyCode === 13) {
- that.doActive();
- }
- });
- //链接到用户配置界面
- //$("#btnOK").unbind().bind("click", this.doActive);
- },
- //激活设备
- doActive: function() {
- var iLength = 1024;
- if($("#newPassword").val() !== $("#newComfirmPassword").val()) {
- this.showErrorTips("passwordtips", g_oCommon.getNodeValue("jsPasswordDifferenceTips"), false);
- return;
- }
- if(g_oCommon.CheckPasswordComplexity($("#newPassword").val(), "passwordtips", this.szDefaultUser)) {
- if($.browser.msie && parseInt($.browser.version, 10) < 9) {
- iLength = 256;
- }
- Encryption.encryptPassword($("#newPassword").val(), iLength, this.activeDevice);
- }
- },
- onPswInput: function(szVal) {
- if(!szVal) {
- szVal = $("#newPassword").val();
- }
- $("#pwdblock,#wizardPwd").removeClass().addClass("inputRight");
- var oPswStrength = $(".userstrength:visible");
- var oPswStrengthTips = $("#strengthTips, #wizardstrengthTips");
- switch (g_oCommon.CheckPasswordComplexity(szVal, this.szDefaultUser)) {
- case 1: {
- oPswStrength.eq(0).css("backgroundColor", "#FC657E");
- oPswStrength.eq(1).css("backgroundColor", "");
- oPswStrength.eq(2).css("backgroundColor", "");
- oPswStrengthTips.html(g_oCommon.getNodeValue("weakPwd"));
- break;
- }
- case 2: {
- oPswStrength.eq(0).css("backgroundColor", "#FFC85D");
- oPswStrength.eq(1).css("backgroundColor", "#FFC85D");
- oPswStrength.eq(2).css("backgroundColor", "");
- oPswStrengthTips.html(g_oCommon.getNodeValue("normalPwd"));
- break;
- }
- case 3: {
- oPswStrength.eq(0).css("backgroundColor", "#65D25D");
- oPswStrength.eq(1).css("backgroundColor", "#65D25D");
- oPswStrength.eq(2).css("backgroundColor", "#65D25D");
- oPswStrengthTips.html(g_oCommon.getNodeValue("goodPwd"));
- break;
- }
- default: {
- oPswStrength.css("backgroundColor", "");
- oPswStrengthTips.html('');
- $("#pwdblock,#wizardPwd").removeClass().addClass("inputWrong");
- }
- }
- },
- activeDevice: function(szPwd) {
- var that = this;
- $.ajax({
- type: "PUT",
- url: g_oCommon.m_lHttp + g_oCommon.m_szHostName + ":" + g_oCommon.m_lHttpPort + "/ISAPI/System/activate",
- processData: false,
- data: g_oCommon.xmlToStr($(g_oCommon.parseXmlFromStr('<ActivateInfo><password></password></ActivateInfo>')).find("password").text(szPwd).parent().get(0)),
- success: function (xmlDoc, textStatus, xhr) {
- $("#loginUserName").val(g_oLogin.szDefaultUser);
- $("#loginPassword").val($("#newPassword").val());
- g_oLogin.doLogin();
- },
- error:function (xhr, textStatus, errorThrown) {
- g_oLogin.showErrorTips("passwordtips",g_oCommon.getNodeValue('NetworkErrorTips'), false);
- //alert(g_oCommon.getNodeValue('NetworkErrorTips'));
- }
- });
- },
- showErrorTips: function(szTipsId, szTipsStr) {
- if(typeof g_iShowErrorTipsTimer == "undefined") {
- g_iShowErrorTipsTimer = 0;
- }
- if (0 != g_iShowErrorTipsTimer) {
- $("#" + szTipsId).empty();
- clearTimeout(g_iShowErrorTipsTimer);
- g_iShowErrorTipsTimer = 0;
- }
- szTipsStr = "<img src='../images/config/tips.png' class='verticalmiddle'> " + szTipsStr;
- $("#" + szTipsId).html(szTipsStr);
- //5秒后自动清除
- g_iShowErrorTipsTimer = setTimeout(function () {
- $("#" + szTipsId).html("");
- }, 5000);
- }
- }
- var g_oLogin = new Login();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement