as3 工具类分享 CookieMgr

今天分享一个工具类 CookieMgr,功能就是读取和写入 SharedObject 对象。很简单,都是静态方法,就不多说了

  1 package org.polarbear.core
  2 {
  3     import flash.net.SharedObject;
  4 
  5     /**
  6      * 本地缓存管理器
  7      * @author vee <a href="mailto:idoublewei&#64;126.com">idoublewei&#64;126.com</a> 2015-5-8 9:27:37
  8      */
  9     public class CookieMgr
 10     {
 11         //============================================================================
 12         //PUBLIC
 13         //============================================================================
 14         /**
 15          * 往缓存中写入数据
 16          * @param key 数据对应的键
 17          * @param data 数据
 18          * @param name 对象名称
 19          * @param localPath 创建了共享对象的 SWF 文件的完整路径或部分路径,这将确定共享对象的本地存储位置。如果未指定此参数,则使用完整路径。
 20          * @return 写入成功返回true,否则返回false
 21          */        
 22         static public function write(key:String, data:*, name:String, localPath:String = null):void
 23         {
 24             if (null == key || "" == key || null == data || null == name) return;
 25             var so:SharedObject = getSO(name, localPath);
 26             if (null == so) return;
 27             
 28             so.data[key] = data;
 29             
 30             try
 31             {
 32                 so.flush();
 33             }
 34             catch(error:Error) { return; }
 35         }
 36         /**
 37          * 从缓存中读取数据
 38          * @param key 所取的数据的键
 39          * @param name 对象的名称
 40          * @param localPath 创建了共享对象的 SWF 文件的完整路径或部分路径,这将确定共享对象的本地存储位置。如果未指定此参数,则使用完整路径。
 41          * @return 如果未找到,返回null
 42          */        
 43         static public function read(key:String, name:String, localPath:String = null):*
 44         {
 45             var so:SharedObject = getSO(name, localPath);
 46             if (null == so) return null;
 47             return so.data[key];
 48         }
 49         /**
 50          * 判断缓存中是否存在指定对象的指定数据
 51          * @param key 对象中数据的键
 52          * @param name 对象的名称
 53          * @param localPath 创建了共享对象的 SWF 文件的完整路径或部分路径,这将确定共享对象的本地存储位置。如果未指定此参数,则使用完整路径。
 54          */
 55         static public function hasCookie(key:String, name:String, localPath:String = null):Boolean
 56         {
 57             var so:SharedObject = getSO(name, localPath);
 58             if (null == so) return false;
 59             return key in so.data;
 60         }
 61         /**
 62          * 删除缓存数据
 63          * @param name 对象的名称
 64          * @param key 需要删除的数据的键,如果未指定该参数,则删除指定name对象,否则删除name对象中的key数据
 65          * @param localPath 创建了共享对象的 SWF 文件的完整路径或部分路径,这将确定共享对象的本地存储位置。如果未指定此参数,则使用完整路径。
 66          */
 67         static public function deleteCookie(name:String, key:String = null, localPath:String = null):void
 68         {
 69             var so:SharedObject = getSO(name, localPath);
 70             if (null == so) return;
 71             
 72             if (null == key)
 73             {
 74                 var keys:Array = [];
 75                 for (key in so.data)
 76                 {
 77                     keys.push(key);
 78                 }
 79                 for each (key in keys)
 80                 {
 81                     delete so.data[key];
 82                 }
 83             }
 84             else if (key in so.data) delete so.data[key];
 85         }
 86         //============================================================================
 87         //PRIVATE
 88         //============================================================================
 89         /**
 90          * 获取指定名称的缓存对象
 91          * @param name 对象名称
 92          * @param localPath 创建了共享对象的 SWF 文件的完整路径或部分路径,这将确定共享对象的本地存储位置。如果未指定此参数,则使用完整路径。
 93          * @return 获取出错时,返回null
 94          */        
 95         static private function getSO(name:String, localPath:String):SharedObject
 96         {
 97             try
 98             {
 99                 var so:SharedObject = SharedObject.getLocal(name, localPath);
100                 return so;
101             } 
102             catch(error:Error) { return null; }
103             return null;
104         }
105     }
106 }
CookieMgr
原文地址:https://www.cnblogs.com/idoublewei/p/4529750.html