测试Live Writer写日志

简介: /** * @author ZhangYi */ var LOGIN_WIN_STATE = 0;//多次调用且不关闭,会出现bug function getLoginWin(para) { if(LOGIN_WIN_STATE || document.
/**
 * @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;
}
目录
相关文章
【交互 widget】Flutter Dialog
【交互 widget】Flutter Dialog
542 0
【交互 widget】Flutter Dialog
让自己的npm包拥有typescript类型支持
让自己的npm包拥有typescript类型支持
让自己的npm包拥有typescript类型支持
|
缓存 JSON NoSQL
信创环境下分布式文件存储MinIO集群部署
信创环境下分布式文件存储MinIO集群部署
1554 0
|
Python
在dataframe中插入新的一行
在pandas中,可以使用`insert`函数在dataframe中插入新的一行。
1529 1
|
监控 安全 Java
【开发者必备】Spring Boot中自定义注解与处理器的神奇魔力:一键解锁代码新高度!
【8月更文挑战第29天】本文介绍如何在Spring Boot中利用自定义注解与处理器增强应用功能。通过定义如`@CustomProcessor`注解并结合`BeanPostProcessor`实现特定逻辑处理,如业务逻辑封装、配置管理及元数据分析等,从而提升代码整洁度与可维护性。文章详细展示了从注解定义、处理器编写到实际应用的具体步骤,并提供了实战案例,帮助开发者更好地理解和运用这一强大特性,以实现代码的高效组织与优化。
788 0
|
监控 Java Spring
Spring Boot中一般如何使用线程池?
在Spring Boot应用程序中,合理地使用线程池可以有效地提高系统的性能和并发处理能力。本文将深入探讨Spring Boot中如何一般性地使用线程池,包括线程池的配置、使用方式以及一些最佳实践。
2580 0
|
测试技术
测试思想-测试设计 测试用例设计之因果图方法
测试思想-测试设计 测试用例设计之因果图方法
341 0
|
运维 监控 安全
Service Mesh 在中国工商银行的探索与实践
服务网格与现有微服务架构融合发展,助力工行应用架构向分布式、服务化转型,承载未来开放平台核心银行系统。
Service Mesh 在中国工商银行的探索与实践
|
Web App开发 Java Apache