·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]AS处理Cookie的类实例

时间:2015-09-06 16:21酷播
[AS3]AS处理Cookie的类实例

 

  1. package  hs.framework.net.so 
  2.  public interface ISoAction 
  3.  { 
  4.   public function ISoAction(); 
  5.   function getData(param1:String=null):Object; 
  6.   function setData(param1:Object, param2:String=null):void; 
  7.  } 
  1. package hs.framework.net.so 
  2.  import flash.net.SharedObject; 
  3.  import flash.utils.*; 
  4.    
  5.  import hsBase.log.*; 
  6.  public class AbstractSoAction extends Object implements ISoAction 
  7.  { 
  8.   /**共享key*/ 
  9.   public static var sharedkey:String="bjl" 
  10.   public function AbstractSoAction() 
  11.   { 
  12.   } 
  13.   public function getData($key:String=null):Object 
  14.   { 
  15.    throw new Error("Not implemented"); 
  16.   } 
  17.   public function setData($storeData:Object, param2:String=null):void 
  18.   { 
  19.    throw new Error("Not implemented"); 
  20.   } 
  21.   public static function getUserSharedObject():SharedObject 
  22.   { 
  23.    try 
  24.    { 
  25.     return SharedObject.getLocal(sharedkey,"/"); 
  26.    }catch(e:Error){ 
  27.    } 
  28.    return null; 
  29.   } 
  30.   public static function storeData($key:String, $storeData:Object):void 
  31.   { 
  32.    var b:ByteArray; 
  33.    var key:String=$key; 
  34.    var value:Object=$storeData; 
  35.    var so:SharedObject=getUserSharedObject(); 
  36.    if (so) 
  37.    { 
  38.     b=new ByteArray(); 
  39.     try 
  40.     { 
  41.      b.writeObject(value); 
  42.     } 
  43.     catch (err:Error) 
  44.     { 
  45.      Logger.getInstance().logError(err.message); 
  46.     } 
  47.     so.data[key]=b; 
  48.     try{ 
  49.      so.flush(); 
  50.     }catch(e:Error){ 
  51.        
  52.     } 
  53.    } 
  54.   } 
  55.   public static function fetchData($key:String):Object 
  56.   { 
  57.    var b:ByteArray; 
  58.    var data:Object; 
  59.    var key:*=$key; 
  60.    var so:SharedObject=getUserSharedObject(); 
  61.    var a:* = so.data.hasOwnProperty(key); 
  62.    Debug.log(" so.data.hasOwnProperty(key):"+ a + "," + key) 
  63.    if (so && so.data.hasOwnProperty(key)) 
  64.    { 
  65.     b=so.data[key] as ByteArray; 
  66.     if (b && b.bytesAvailable > 0) 
  67.     { 
  68.      try 
  69.      { 
  70.       data=b.readObject(); 
  71.      } 
  72.      catch (err:Error) 
  73.      { 
  74.       Logger.getInstance().logError(err.message); 
  75.      } 
  76.     } 
  77. //    so.flush(); 
  78.     return data; 
  79.    } 
  80.    else 
  81.    { 
  82.     return null; 
  83.    } 
  84.   } 
  85.   public static function removeData($key:String):void 
  86.   { 
  87.    var so:SharedObject=getUserSharedObject(); 
  88.    if (so && so.data.hasOwnProperty($key)) 
  89.    { 
  90.     so.data[$key]=null; 
  91.     delete so.data[$key]; 
  92.    } 
  93.   } 
  94.  } 

 

  1. package com.upupgame.baccarat.player2.game.models.biz 
  2.  import hs.framework.net.so.AbstractSoAction; 
  3.  /** 
  4.   * 用于保护新用户的配置文件</br> 
  5.   * 控制***的强度</br> 
  6.   * 40617.1 
  7.   * @author Kayer 
  8.   * */ 
  9.  public class GameCalfProtectionBiz extends AbstractSoAction 
  10.  { 
  11.   private const $KEY : String = "calfConfig"
  12.   public function GameCalfProtectionBiz() 
  13.   { 
  14.    super(); 
  15.   } 
  16.   public function setCalfData(obj:Object):void  
  17.   { 
  18.    var $data:Object = getData(); 
  19.    $data.calfinfo = obj
  20.    setData($data); 
  21.   } 
  22.     
  23.   public function getCalfData():Object  
  24.   { 
  25.    var $data:Object = getData(); 
  26.    if( $data != null) 
  27.    { 
  28.     return $data.calfinfo; 
  29.    } 
  30.    else 
  31.    { 
  32.     return null; 
  33.    } 
  34.   } 
  35.     
  36.   private var data:Object; 
  37.   override public function getData($key:String = null):Object  
  38.   { 
  39.    if (!data) 
  40.    { 
  41.     data = fetchData($KEY); 
  42.    } 
  43.      
  44.    if (!data) { 
  45.     data={"calfinfo":{}}; 
  46.    } 
  47.    return data; 
  48.   } 
  49.   override public function setData($storeData:Object, param2:String=null):void 
  50.   { 
  51.    storeData($KEY, $storeData); 
  52.   } 
  53.  } 

 

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器