`
flymz
  • 浏览: 3706 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

Flex解析安卓网代码片段

阅读更多
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" title="飞梦论坛发帖小助手V1.1" layout="absolute" fontSize="12" width="900" height="600" showStatusBar="false" backgroundGradientAlphas="[1.0, 1.0]" backgroundGradientColors="[#C4CCF2, #C4CCF2]">
<mx:Style source="assets/css/flex_skins.css"/>
<mx:Script>
<![CDATA[
import com.flymz.luntan.AnzhuoParse;
import mx.rpc.events.ResultEvent;
import com.flymz.util.XmlUtil;
import com.flymz.SettingWindow;
import mx.managers.PopUpManager;
import mx.controls.Alert;
import mx.utils.StringUtil;
import com.flymz.luntan.CsdnParse;
import mx.events.ListEvent;
import mx.events.ItemClickEvent;

private var csdnParse:CsdnParse;

private var anzhuoParse:AnzhuoParse;

/**改变论坛*/
private function changeLt(event:ListEvent):void{
var slabel:String = event.currentTarget.selectedLabel;
switch(slabel){
case 'CSDN':
csdnParse = new CsdnParse(this);
/**获取用户信息*/
XmlUtil.readXml(XmlUtil.USER_XML,userResultHandler);
valicode.visible = true;
logArea.text = '';
csdnParse.logShow('欢迎访问CSDN论坛,正在获取验证码......');
break;
case '安卓网':
anzhuoParse = new AnzhuoParse(this);
valicode.visible = false;
/**获取用户信息*/
XmlUtil.readXml(XmlUtil.USER_XML,userResultHandler);
logArea.text = '';
anzhuoParse.logShow('欢迎使用安卓网发帖小助手.........');
break;
}
}

private function userResultHandler(event:ResultEvent):void{
var children:XMLList = new XML(event.result).children();
for(var i:int=0;i<children.length();i++){
var forumStr:String = children[i].@forum;
if(lt.selectedLabel==forumStr){
userInfo.dataProvider = children[i].children();
break;
}
}
}

/**生成验证码*/
private function genValidateImage():void{
var ltType:String = lt.selectedLabel;
switch(ltType){
case 'CSDN':
csdnParse.genValidateImageAgain();
csdnParse.logShow('重新生成验证码.');
break;
}
}

/**系统登录*/
private function loginSystem():void{
var ltType:String = lt.selectedLabel;
switch(ltType){
case 'CSDN':
if(StringUtil.trim(validateNum.text)==''){
Alert.show('请输入验证码!','提示');
return;
}
if(userInfo.selectedLabel==''){
Alert.show('请选择用户!','提示');
return;
}
csdnParse.userId = userInfo.selectedLabel;
csdnParse.password = userInfo.selectedItem.@password;
csdnParse.validateNum = validateNum.text;
csdnParse.loginSystem();
break;
case '安卓网':
if(userInfo.selectedLabel==''){
Alert.show('请选择用户!','提示');
return;
}
anzhuoParse.loginUser(userInfo.selectedLabel,userInfo.selectedItem.@password);
break;
}
}

/**回复帖子*/
private function replyArt():void{
var ltType:String = lt.selectedLabel;
switch(ltType){
case 'CSDN':
csdnParse.replyArticle();
break;
case '安卓网':
anzhuoParse.replyArticle();
break;

}
}

private function sendNewArticle():void{
Alert.show('系统尚未实现该接口。','提示');
}

private function setting():void{
var pop:SettingWindow = SettingWindow(PopUpManager.createPopUp(this,SettingWindow,true));
pop.x = (this.width-pop.width)/2;
pop.y = (this.height-pop.height)/2;
}
]]>
</mx:Script>
<mx:ApplicationControlBar left="10" right="10" top="10">
<mx:Label text="论坛"/>
<mx:ComboBox prompt="请选择" id="lt" change="changeLt(event)">
<mx:dataProvider>
<mx:String>CSDN</mx:String>
<mx:String>安卓网</mx:String>
</mx:dataProvider>
</mx:ComboBox>
<mx:VRule height="30"/>
<mx:Label text="用户"/>
<mx:ComboBox id="userInfo" labelField="@userName" width="110" prompt="请选择">
</mx:ComboBox>
<mx:HBox id="valicode" visible="false">
<mx:VRule height="30"/>
<mx:Label text="验证码"/>
<mx:TextInput width="81" id="validateNum"/>
<mx:Image id="validateImage" height="35" width="120" click="genValidateImage()" useHandCursor="true" buttonMode="true"/>
<mx:VRule height="30"/>
</mx:HBox>
<mx:Button label="登录" click="loginSystem()"/>
<mx:Button label="回帖" id="replyBtn" click="replyArt()" enabled="true"/>
<mx:Button label="发表新帖" id="newBtn" click="sendNewArticle()" enabled="false"/>
<mx:Button label="设置" click="setting()"/>
</mx:ApplicationControlBar>
<mx:TextArea top="90" left="10" right="10" id="logArea" bottom="10" wordWrap="true" editable="false"/>
<mx:Label text="运行日志监控台" left="10" top="70"/>
<mx:Label top="70" right="30" id="loginState" width="150"/>

</mx:WindowedApplication>


package com.flymz.luntan
{
import flash.events.Event;
import flash.net.URLRequest;

import mx.controls.Alert;
import mx.controls.TextArea;
import mx.core.FlexHTMLLoader;

public class AnzhuoParse
{
public function AnzhuoParse(login:Login)
{
this.login = login;
this._logArea = login.logArea;
html = new FlexHTMLLoader();
}

private var userName:String;

private var password:String;

private var login:Login;

private var _logArea:TextArea;

private var html:FlexHTMLLoader;

/**论坛登录地址*/
private var loginPath:String = 'http://www.hiapk.com/bbs/logging.php?action=login';

private var loginSubmit:String = 'http://www.hiapk.com/bbs/logging.php?action=login&loginsubmit=yes';

/**登录成功后转向的地址*/
private var successPath:String = 'http://www.hiapk.com/bbs/';


/**
* 用户登陆
*/
public function loginUser(userName:String,password:String):void{
this.userName = userName;
this.password = password;
html.load(new URLRequest(loginPath));
html.addEventListener(Event.COMPLETE,completeHandler);
}

/**
* 回复帖子
*/
public function replyArticle():void
{

}

private function completeHandler(event:Event):void{
if(html.window.document.body==null){
logShow('初始化登录失败!');
return;
}
var inner:String = html.window.document.body.innerHTML;
var loc:String = html.location;
logShow(loc);
switch(loc){
case loginPath:
logShow('加载登录页面成功,正在准备登录...');
html.window.document.getElementsByName('username')[0].value=userName;
html.window.document.getElementById('password').value = password;
html.window.document.getElementById('cookietime').checked='checked';
html.window.document.getElementById('loginform').submit();
break;
case loginSubmit:
logShow(inner);
break;
case successPath:
if(inner.indexOf(userName)!=-1){
login.loginState.htmlText = '用户“<u>'+userName+'</u>”登录中.';
login.replyBtn.enabled = true;
login.newBtn.enabled = true;
logShow('用户'+userName+'登录成功!');
}else{
logShow('用户'+userName+'登录失败!可能用户名/密码不正确!');
}
break;
}
}

public function logShow(log:String):void{
_logArea.htmlText = _logArea.htmlText+'安卓网提示:'+log+'\n';
}

}
}
分享到:
评论

相关推荐

    小程序源码 FlexLayout布局 (代码+截图)

    小程序源码 FlexLayout布局 (代码+截图)小程序源码 FlexLayout布局 (代码+截图)小程序源码 FlexLayout布局 (代码+截图)小程序源码 FlexLayout布局 (代码+截图)小程序源码 FlexLayout布局 (代码+截图)小程序源码 Flex...

    Flex4实战源代码

    通过研究这些源代码,开发者可以深入学习Flex4的编程技巧,提升开发能力,同时也可以借鉴其中的设计模式和最佳实践,提高代码质量。文件名"SourceCode"表明这个压缩包包含的正是这些源码文件,等待开发者去探索和...

    flex麻将和牌源代码

    《flex麻将和牌源代码解析》 在信息技术领域,游戏开发是其中不可或缺的一部分,而麻将作为深受大众喜爱的传统娱乐活动,其电子化形式——网络麻将,更是吸引了众多开发者参与其中。本篇我们将深入探讨一个基于Flex...

    Flex 4 权威指南 代码

    Flex 4,全称为Adobe Flex 4,是Adobe公司推出的一款强大的富互联网应用程序(RIA)开发框架,主要用于构建具有丰富用户体验的Web应用。这个框架基于ActionScript 3.0编程语言,结合了MXML和AS3的混合编程模型,极大...

    Flex 代码格式化

    Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex 代码格式化Flex ...

    flex完全手册源代码详解3

    flex完全手册源代码详解3希望对大家学习有帮住

    Flex源代码 Flexsource flex3源代码 flex3source

    Flex源代码 Flexsource flex3源代码 flex3source 不是反编译的源代码,带注释的源代码 你值得拥有!!! 参见博客:http://blog.csdn.net/wojiao555555/article/details/11650679

    每位设计师都应该拥有的50个CSS代码片段 sublime text代码片段

    Sublime Text是一款广受欢迎的代码编辑器,拥有强大的代码片段功能,可以帮助设计师和开发者提高工作效率。这个名为“wwek-plugin-sublime-snippets”的压缩包文件,很可能是为Sublime Text设计的一套CSS代码片段...

    flex for android 90分钟 完全入门

    Flex for Android 90分钟完全入门是一门针对初学者的快速教程,旨在帮助开发者在短时间内掌握使用Adobe Flex技术开发Android应用程序的基本技能。Flex是Adobe公司推出的一种基于ActionScript的开源框架,它允许...

    flex源代码资料,一些flex源代码的例子

    Flex是Adobe公司开发的一种用于构建富互联网应用程序(RIA)的开放源代码框架,它基于ActionScript编程语言和MXML标记语言。这些源代码例子可能是针对Flex SDK的不同版本,包括了第9、10、11、12和13章的内容,这...

    基于FLEX技术的实例代码3

    基于FLEX技术的实例代码 ,代码实例来自于《FLEX 3.0 实例开发详解》,非原创代码。

    flex画图测试程序代码

    flex画图测试程序代码。内含2个文件,flex画图.mxml 和DrawPanel.as。希望大家少走弯路,学习借鉴。

    Flex 发送邮件前台代码

    Flex 发送邮件前台代码示例 Flex 发送邮件前台代码示例 Flex 发送邮件前台代码示例

    flex完全手册源代码详解4

    《Flex完全手册源代码详解4》是一本深入探讨Adobe Flex技术的专业书籍,其核心内容是通过源代码解析来帮助读者理解和掌握Flex编程的关键概念和技术。这本书可能是系列的一部分,旨在逐步深化对Flex的理解,特别是...

    RSA加密解密 Flex 和 C#互通代码

    RSA加密解密 Flex 和 C#互通代码。因为。net 的加密类与flex crypto不通用,不能实现,c#加密,flex解密,且只能公匙加密、私匙解密。因此整理出两边通用的加密类。实现简单,可以公匙加密私匙解密,或私匙加密公匙...

    flex builder 3 格式化代码

    《Flex Builder 3 代码格式化与自动化注释详解》 Flex Builder 3,作为Adobe公司推出的基于Eclipse的开发工具,是专为构建富互联网应用程序(RIA)而设计的,尤其是针对Adobe Flex和ActionScript的开发。在编程过程...

    Flex4权威指南源代码

    《Flex4权威指南》是一本深入探讨Adobe Flex 4开发技术的专业书籍,其源代码提供了丰富的实例和示例,帮助读者更好地理解和应用Flex 4框架。Flex 4,也称为Flash Builder 4,是Adobe公司推出的一个强大的RIA(Rich ...

    flex lcds 用户登录 代码

    标题中的“flex lcds 用户登录代码”涉及到的技术领域主要包括Flex技术、LCD屏幕显示以及用户登录系统的设计与实现。Flex是一种用于构建富互联网应用程序(RIA)的开放源代码框架,主要基于ActionScript和MXML,常...

    Flex 页面与代码分离

    在Flex开发中,页面与代码分离是一种常见的最佳实践,它有助于提高代码的可维护性、可读性和可扩展性。Flex是一种基于ActionScript和Flash Player的开源框架,主要用于构建富互联网应用程序(RIA)。本资源“Flex ...

    Flex 购物车整站代码

    Flex购物车整站代码是一个基于Adobe Flex 3技术构建的电子商务网站示例,适用于初学者进行学习和实践。Flex是一个强大的富互联网应用(RIA)开发框架,它使用MXML和ActionScript编程语言,允许开发者创建交互性强、...

Global site tag (gtag.js) - Google Analytics