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

 

你可能感兴趣的:(cookie)