测试Live Writer写日志

/**
 * @author ZhangYi
 */
var LOGIN_WIN_STATE = 0;//多次调用且不关闭,会出现bug

function getLoginWin(para) {
	
	if(LOGIN_WIN_STATE || document.getElementById("globalLoginWin")) {//已经打开了登录面板
		return ;
	}
	LOGIN_WIN_STATE = 1;
	
	para = para || {};
	
	//验证..
	function valid(id) {
		var elem = $("#"+id);
		if(elem.val() == "") {
			elem.trigger("focus");
			return ;
		} else {
			return true;
		}
	}
	
	//登录
	function loginHandler() {
		if( formPanel.getForm().isValid() ) {
			var values = formPanel.getForm().getValues();
				values['m'] = "login";
			
			GameOIS.showLoading("正在验证,请稍候...");
			
			GameOIS.ajax("/login.do", values, function(json) {
				if(json.code == "0") {//登录成功
					LOGIN_WIN_STATE = 0;
					(para.callback || Ext.emptyFn)(json, win);
				} else {
					Ext.MessageBox.hide();
					GameOIS.ajaxErr(json.msg);
					//刷新验证码
					$("#verifyCodeImg").prev().val("").trigger("click");
				}
			});
		} else {
			valid("SLoginCode") && 	valid("SPasswd") && valid("randCode")
		}
	}
	
	var formPanel = new Ext.form.FormPanel({
		baseCls : 'x-plain',
		style : "padding-top:100px;padding-bottom:30px; background:#fff url(/global/img/common/logo.jpg) no-repeat center 5px;",
		bodyStyle : 'color:#222;width:280px;margin:0 auto;',
		defaultType : 'textfield',
		labelSeparator : ":",
		labelWidth : 60,
		labelAlign : "right",
		frame: false,
		items : [{
			id : "SLoginCode",
			name : "SLoginCode",
			width : 180,
			fieldLabel : "用户名",
			allowBlank : false,
			blankText : "用户名不能为空"
		}, {
			id : "SPasswd",
			name : "SPasswd",
			inputType : "password",
			width : 180,
			fieldLabel : "密 码",
			allowBlank : false,
			blankText : "密码不能为空"
		}, {
			id : "randCode",
			name : "randCode",
			width : 120,
			fieldLabel : "验证码",
			allowBlank : false,
			blankText : "请输入验证码",
			maxLength : 4,
			regex : /^\w{4}$/,
			regexText : "验证码输入不符合要求"
		}]
	});
	
	var win = new Ext.Window({
		width : 450,
		height : "auto",
		id : "globalLoginWin",
		title : para.title || "重新登录",
		buttons : [{
			text : "登 录",
			width : 60,
			handler : loginHandler
		}],
		closable : para.closable || false,
		resizable : para.resizable || false,
		draggable : para.draggable || false,
		border : false,
		modal : para.modal || false,
		items : [formPanel]
	});
	//加载登录框并隐藏
	win.show();
	
	//增加验证码
	Ext.get(Ext.getDom("randCode").parentNode).createChild({
		tag : "img",
		id : "verifyCodeImg",
		src : "/login.do?m=verifyCode&kk="+(+new Date()),
		style : "padding-left:3px;width:60px;height:22px;border:none;cursor:pointer;",
		title : "点击刷新验证码!",
		align : "absbottom"
	});
	
	//刷新验证码
	$("#verifyCodeImg").click(function() {
		this.src = this.src.replace(/\d+$/, +new Date());
		$(this).prev().trigger("select");
		return false;
	});
	
	//响应回车
	new Ext.KeyMap(win.getEl(), {
        key	: Ext.EventObject.ENTER,
        fn	: loginHandler,
		scope : win
    });
	
	//居显示
	win.doLayout();
	win.center();
	
	setTimeout(function() {
		$("#SLoginCode").trigger("focus");
	}, 300);
	
	return win;
}
上一篇:ant+yuicompressor 合并、压缩脚本与样式


下一篇:SpringBoot入门到精通(二十一)如何优雅的设计 RESTful API 接口版本号,实现 API 版本控制!