<?xml version="1.0" encoding="utf-8"?>
<mx:Window xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" title="单聊" name="windows" initialize="init()" width="400" height="350">
<mx:Script>
<![CDATA[
import mx.events.FlexEvent;
import mx.formatters.DateFormatter;
import mx.charts.chartClasses.DataDescription;
import mx.controls.Alert;
import AppCore.DataService;
private var ds:DataService; //数据库的连接
private var _senduserID:String ="";
[Bindable]
private var _receiveuserID:String ="";
private var today:Date;
private var formatted:String="";
private var times:Timer;
private var outPutValue:String="";
[Bindable]
private var txtReceiveMessage:String="";
[Bindable]
private var sendUserName:String="";
[Bindable]
private var receiveUserName:String="";
private var _username:String="";
private function init():void
{
ds=new DataService();
times=new Timer(2000);
times.addEventListener(TimerEvent.TIMER,timerHandle);
times.start();
exchangeReceiveIDName();
btnSend.addEventListener(MouseEvent.CLICK,btnSendClickHandle);
btnClose.addEventListener(MouseEvent.CLICK,btnCloseHandle);
btnChat.addEventListener(MouseEvent.CLICK,btnChatClickHandle);
imDetail.addEventListener(FlexEvent.VALUE_COMMIT,onValueCommit);
}
private function onValueCommit(event:Event):void
{
imDetail.verticalScrollPosition=imDetail.maxVerticalScrollPosition;
}
private function btnChatClickHandle(event:MouseEvent):void
{
var chathistory:ChatHistory=new ChatHistory();
chathistory.sendUserID=_senduserID;
chathistory.receiveUserID=_receiveuserID;
Alert.show(chathistory.sendUserID.toString());
Alert.show(chathistory.receiveUserID.toString());
chathistory.open();
}
private function exchangeSendIDName():void
{
ds.getData("select * from T_USERSINFO where USERID='"+_senduserID+"'",callback,"getSendUserName");//得到发送人的姓名
}
private function exchangeReceiveIDName():void
{
ds.getData("select * from T_USERSINFO where USERID='"+_receiveuserID+"'",callback,"getReceiveUserName"); //得到收信人姓名
}
private function btnCloseHandle(event:MouseEvent):void
{
this.close();
}
private function timerHandle(event:TimerEvent):void
{
ds.getData("select * from T_CHATLOGS where STATES=0 and RECEIVEUSERID='"+_senduserID+"'",callback,"getMessage");
}
private function callback(data:XMLList,token:String):void
{
switch(token)
{
case "getMessage":
if(data.toString()!="")
{
var items:XML;
for each(items in data)
{
//dateFormatter.format(items.SENDTIME)
var date:String=items.SENDTIME;
outPutValue=receiveUserName+" "+date.substring(0,10)+" "+date.substring(11,19)+"\n"+items.CONTENS+"\n";
txtReceiveMessage+=outPutValue;
changeFlag(items.CHARID);
}
}
break;
case "getSendUserName":
sendUserName=data.USERNAME;
sendMessage();
break;
case "getReceiveUserName":
receiveUserName=data.USERNAME;
break;
}
}
private function changeFlag(charid:int):void
{
ds.execSQL("update T_CHATLOGS set STATES=1 where CHARID='"+charid+"'",changeFlagcallback);
function changeFlagcallback():void
{
}
}
private function btnSendClickHandle(event:MouseEvent):void
{
var dateFormatter:DateFormatter=new DateFormatter();
dateFormatter.formatString="YYYY-MM-DD JJ:NN:SS";
today=new Date();
formatted=dateFormatter.format(today);
//formatted=today.fullYear+"-"+today.month+"-"+today.date+" "+today.hours+":"+today.minutes+":"+today.seconds;
exchangeSendIDName();
}
private function sendMessage():void
{
if(txtSend.text=="")
{
Alert.show("发送消息不能空!","提示");
}
else
{
ds.execSQL("insert into T_CHATLOGS values('"+_senduserID+"','"+_receiveuserID+"','"+txtSend.text+"','"+formatted+"','0')",sendcallback);
function sendcallback():void
{
txtReceiveMessage+=sendUserName+" "+formatted+"\n"+txtSend.text+"\n";
txtSend.text="";
}
}
}
public function get senduserID():String
{
return _senduserID;
}
public function set senduserID(value:String):void
{
_senduserID=value;
}
public function get receiveuserID():String
{
return _receiveuserID;
}
public function set receiveuserID(value:String):void
{
_receiveuserID=value;
}
]]>
</mx:Script>
<mx:Label x="0" y="0" text="与{receiveUserName} 聊天中" width="140" height="28" fontSize="14"/>
<mx:TextArea left="-0.5" right="0" top="26" bottom="129" id="imDetail" text="{txtReceiveMessage}" editable="false" fontSize="14"/>
<mx:TextArea y="204" height="90" id="txtSend" left="-0.5" right="0" fontSize="14"/>
<mx:Button y="296" label="关闭" id="btnClose" right="5" width="75"/>
<mx:Button y="296" label="发送" width="69" id="btnSend" right="88"/>
<mx:Button y="296" label="聊天记录" width="74" left="0" id="btnChat"/>
</mx:Window>
评论0