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

[AS3]AS处理Cookie的类实例

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

 

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

 

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

 

热门文章推荐

请稍候...

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

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