ZendAMF通信类 AS3与PHP通信

9 篇文章 0 订阅
package helper
{
	import config.ConfigVar;
	import config.ConfigZendAMF;
	
	import flash.display.Sprite;
	import flash.geom.Point;
	import flash.net.NetConnection;
	import flash.net.Responder;

	public class HH_ZendAMF
	{
		public function HH_ZendAMF()
		{
		}
		
		//通信类:ZendAMF通信类
		public static function zendAMF(postStr:String,arr:Array,trueFun:Function=null,zeroFun:Function=null,errorFun:Function=null,isLoading:Boolean=false,lodingIsBg:Boolean=false,sitePoint:Point=null,sizePoint:Point=null,url:String=null):Function
		{
			if(sitePoint==null)
			{
				sitePoint = new Point(336,205);
			}
			if(sizePoint==null)
			{
				sizePoint = new Point(278,157);
			}
			
			var fun:Function;
			if(isLoading==true)
			{
				var lodingSp:Sprite = new Sprite();
				ConfigVar.KEEPSP.addChild(lodingSp);
				var loding:HH_Loading = new HH_Loading(lodingSp,null,"one","HTTP");
				loding.showLoading("",lodingIsBg,sitePoint.x,sitePoint.y,sizePoint.x,sizePoint.y);
			}
			var backFun:Function = function(obj:Object):void
			{
				if(isLoading==true)
				{
					ConfigVar.KEEPSP.removeChild(lodingSp);
				}
				
				//返回给过为0时的处理
				if(obj=="0")
				{
					if(zeroFun!=null)
					{
						zeroFun();
					}else{
						_zeroFun(postStr);
					}
				}
				//返回结果出错时的处理
				else if(obj=="-1")
				{
					if(errorFun!=null)
					{
						errorFun();
					}else{

						_errorFun(postStr);
					}
				}
				//返回正确结果是的处理
				else
				{
					if(trueFun!=null)
					{
						trueFun(obj);
					}
				}
			}
			
			if(arr==null)
			{
				arr = new Array();
			}
			if(url==null || url==""){ url = ConfigZendAMF.amfURL; }
			var rsp:Responder = new Responder(backFun);
			var conn:NetConnection = new NetConnection();
			conn.connect(url);
			conn.call(postStr, rsp, arr);
			fun = function():void
			{
				conn.close();
				if(isLoading==true)
				{
					ConfigVar.KEEPSP.addChild(lodingSp);
					ConfigVar.KEEPSP.removeChild(lodingSp);
				}
			};
			
			return fun;
		}
		
		/**
		 * 返回结果为零时的处理
		 * */
		private static function _zeroFun(postStr:String):void
		{
			
		}
		
		/**
		 * 返回结果出错时的处理
		 * */
		private static function _errorFun(postStr:String):void
		{
			
		}
	}
}

用法如下: HH_ZendAMF.zendAMF("webgame_controller.get_users",null,getUserRole,zeroFun,errorFun,true,true);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值