⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 welcome.mxml

📁 flex 实现的一个showcase 喜欢flex的朋友可以
💻 MXML
📖 第 1 页 / 共 2 页
字号:
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas
	xmlns:mx="http://www.adobe.com/2006/mxml"
	xmlns:panels="com.flexShowcase.panels.*"
	xmlns:remote="com.flexShowcase.net.remote.*"
	
	left="0"
	right="0"
	top="0"
	bottom="0"
	
	backgroundColor="#E5E5E5"
	borderColor="#FFFFFF"
	borderStyle="solid"
	borderThickness="2"
	
	creationComplete="creationCompleteHandler(event)">
	
	<mx:Script>
		<![CDATA[
			
			//////////////////////////////////////////////////
			//import
			
			import com.flexShowcase.constants.TextRestrictions;
			import com.flexShowcase.events.UserEvent;
			import com.flexShowcase.net.remote.parsers.*;
			import com.flexShowcase.net.remote.*;
			import com.flexShowcase.data.User;
			
			import mx.controls.Alert;
			import mx.events.ResizeEvent;
			import mx.events.ValidationResultEvent;
			import mx.rpc.AbstractInvoker;
			import mx.rpc.events.FaultEvent;
			import mx.rpc.events.ResultEvent;
			import mx.validators.Validator;
			
			//////////////////////////////////////////////////
			//public variables
			
			[Bindable] public var flexShowcaseServiceConfig:FlexShowcaseServiceConfig;
			
			//////////////////////////////////////////////////
			//private variables
			
			[Bindable] private var loginFormIsValid:Boolean;
			[Bindable] private var signupFormIsEmpty:Boolean;
			[Bindable] private var signupFormIsValid:Boolean;
			[Bindable] private var registrationStep1Valid:Boolean;
			[Bindable] private var registrationStep2Valid:Boolean;
			[Bindable] private var registrationStep3Valid:Boolean;
			
			private var focussedFormControl:DisplayObject;
			private var signupUser:User;
			
			
			//////////////////////////////////////////////////
			//initialization
			
			private function creationCompleteHandler(event:Event):void {
				loginFormIsValid = false;
				signupFormIsEmpty = true;
				signupFormIsValid = false;
				
				loginEmail.addEventListener(KeyboardEvent.KEY_DOWN, loginKeyDownHandler);
				loginPassword.addEventListener(KeyboardEvent.KEY_DOWN, loginKeyDownHandler);
			}
			
			//////////////////////////////////////////////////
			//public functions
			
			public function show():void {
				loginEmail.text = getSharedObjectEmail();
				loginPassword.text = "";
				createEmailStep1.text = "";
				createEmailStep2.text = "";
				createPasswordStep2.text = "";
				createEmailStep3.text = "";
				createPasswordStep3.text = "";
				createNewPasswordStep3.text = "";
				
				loginEmail.errorString = "";
				loginPassword.errorString = "";
				createEmailStep1.errorString = "";
				createEmailStep2.errorString = "";
				createPasswordStep2.errorString = "";
				createEmailStep3.errorString = "";
				createPasswordStep3.errorString = "";
				createNewPasswordStep3.errorString = "";
				
				registerStep1.visible = true;
				registerStep2.visible = false;
				registerStep3.visible = false;
				
				if (loginEmail.text != "") {
					focusManager.setFocus(loginPassword);
				} else {
					focusManager.setFocus(loginEmail);
				}
				
				loginFormIsValid = false;
				signupFormIsEmpty = true;
				signupFormIsValid = false;
				
				registrationStep1Valid = false;
				registrationStep2Valid = false;
				registrationStep2Valid = false;
				
				signupUser = null;
			}
			
			
			//////////////////////////////////////////////////
			//private functions
			
			private function getSharedObjectEmail():String {
				var userSharedObject:SharedObject = SharedObject.getLocal("userData");
				
				var email:String;
				if (userSharedObject != null) {
					email = userSharedObject.data.email;
				} else {
					email = "";					
				}
				
				return email
			}
			
			private function loginUser(username:String, password:String):void {
				dispatchLoginEvent(username, password);
			}
			
			private function signupAction():void {
				userService.user.register.addEventListener(ResultEvent.RESULT, userRegisterResultHandler);
				userService.user.register.addEventListener(FaultEvent.FAULT, userRegisterFaultHandler);
				
				var user:Object = new Object();
				user.name = createEmailStep1.text;
				user.mail = createEmailStep1.text;
				
				userService.user.register(user);
			}
			
			private function loginSignup(username:String, password:String):void {
				userService.user.login.addEventListener(ResultEvent.RESULT, userSignupLoginResultHandler);
				userService.user.login.addEventListener(FaultEvent.FAULT, userSignupLoginFaultHandler);
				userService.user.login(username, password);
			}
			
			
			//validation--------------------------------------
			
			private function validateLoginForm(event:Event):void {
				focussedFormControl = event.target as DisplayObject;
				
				loginFormIsValid = true;
				
				validateLogin(loginEmailValidator);
				validateLogin(loginPasswordValidator);
			}
			private function validateLogin(validator:Validator):Boolean {
				var validatorSource:DisplayObject = validator.source as DisplayObject;
				var suppressEvents:Boolean = (validatorSource != focussedFormControl);
				var event:ValidationResultEvent = validator.validate(null, suppressEvents);
				var currentControlIsValid:Boolean = (event.type == ValidationResultEvent.VALID);
				
				loginFormIsValid = loginFormIsValid && currentControlIsValid;
				
				return currentControlIsValid;
			}
			
			private function validateSignupForm(event:Event):void {
				focussedFormControl = event.target as DisplayObject;
				
				signupFormIsEmpty = (createEmailStep1.text == "");
				
				signupFormIsValid = true;
				
				validateSignup(signupEmailValidator);
				if(registerStep2.visible){
					if (createPasswordStep2.text==""){
						signupFormIsValid = false;
					}
				}
				
				if(registerStep3.visible){
					if ((createNewPasswordStep3.text != confirmNewPasswordStep3.text)||confirmNewPasswordStep3.text==""||createNewPasswordStep3.text=="") {
						signupFormIsValid = false;
					}
				}
			}
			private function validateSignup(validator:Validator):Boolean {
				var validatorSource:DisplayObject = validator.source as DisplayObject;
				var suppressEvents:Boolean = (validatorSource != focussedFormControl);
				var event:ValidationResultEvent = validator.validate(null, suppressEvents);
				var currentControlIsValid:Boolean = (event.type == ValidationResultEvent.VALID);
				
				signupFormIsValid = signupFormIsValid && currentControlIsValid;
				
				return currentControlIsValid;
			}
			
			
			//////////////////////////////////////////////////
			//dispatch functions
			
			private function dispatchLoginEvent(username:String, password:String):void {
				var userEvent:UserEvent = new UserEvent(UserEvent.LOGIN, true);
				userEvent.username = username;
				userEvent.password = password;
				
				dispatchEvent(userEvent);
			}
			
			
			//////////////////////////////////////////////////
			//handler functions
			
			private function loginClickHandler(mouseEvent:MouseEvent):void {
				loginUser(loginEmail.text, loginPassword.text);
			}
			private function loginKeyDownHandler(keyboardEvent:KeyboardEvent):void {
				if (keyboardEvent.charCode == 13) {
					if (keyboardEvent.currentTarget == loginEmail || keyboardEvent.currentTarget == loginPassword) {
						if (loginFormIsValid == true) {
							loginUser(loginEmail.text, loginPassword.text);
						}
					}
				}
			}
			
			private function signupClickHandler(mouseEvent:MouseEvent):void {
				signupAction();
			}
			private function signupKeyDownHandler(keyboardEvent:KeyboardEvent):void {
				if (keyboardEvent.charCode == 13) {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -