package  hs.framework.net.so{ public interface ISoAction {  public function ISoAction();  function getData(param1:String=null):Object;  function setData(param1:Object, param2:String=null):void; }}

//

package hs.framework.net.so{ import flash.net.SharedObject; import flash.utils.*;  import hsBase.log.*; public class AbstractSoAction extends Object implements ISoAction {  /**共享key*/  public static var sharedkey:String="bjl"  public function AbstractSoAction()  {  }  public function getData($key:String=null):Object  {   throw new Error("Not implemented");  }  public function setData($storeData:Object, param2:String=null):void  {   throw new Error("Not implemented");  }  public static function getUserSharedObject():SharedObject  {   try   {    return SharedObject.getLocal(sharedkey,"/");   }catch(e:Error){   }   return null;  }  public static function storeData($key:String, $storeData:Object):void  {   var b:ByteArray;   var key:String=$key;   var value:Object=$storeData;   var so:SharedObject=getUserSharedObject();   if (so)   {    b=new ByteArray();    try    {     b.writeObject(value);    }    catch (err:Error)    {     Logger.getInstance().logError(err.message);    }    so.data[key]=b;    try{     so.flush();    }catch(e:Error){         }   }  }  public static function fetchData($key:String):Object  {   var b:ByteArray;   var data:Object;   var key:*=$key;   var so:SharedObject=getUserSharedObject();   var a:* = so.data.hasOwnProperty(key);   Debug.log(" so.data.hasOwnProperty(key):"+ a + "," + key)   if (so && so.data.hasOwnProperty(key))   {    b=so.data[key] as ByteArray;    if (b && b.bytesAvailable > 0)    {     try     {      data=b.readObject();     }     catch (err:Error)     {      Logger.getInstance().logError(err.message);     }    }//    so.flush();    return data;   }   else   {    return null;   }  }  public static function removeData($key:String):void  {   var so:SharedObject=getUserSharedObject();   if (so && so.data.hasOwnProperty($key))   {    so.data[$key]=null;    delete so.data[$key];   }  } }}

//

package com.upupgame.baccarat.player2.game.models.biz{ import hs.framework.net.so.AbstractSoAction; /**  * 用于保护新用户的配置文件
  * 控制***的强度
  * 40617.1  * @author Kayer  * */ public class GameCalfProtectionBiz extends AbstractSoAction {  private const $KEY : String = "calfConfig";  public function GameCalfProtectionBiz()  {   super();  }  public function setCalfData(obj:Object):void   {   var $data:Object = getData();   $data.calfinfo = obj;   setData($data);  }    public function getCalfData():Object   {   var $data:Object = getData();   if( $data != null)   {    return $data.calfinfo;   }   else   {    return null;   }  }    private var data:Object;  override public function getData($key:String = null):Object   {   if (!data)   {    data = fetchData($KEY);   }      if (!data) {    data={"calfinfo":{}};   }   return data;  }  override public function setData($storeData:Object, param2:String=null):void  {   storeData($KEY, $storeData);  } }}