
package com.klstudio.util
{
import flash.net.SharedObject;
public class Cookie
{
private var _time:uint;
private var _name:String;
private var _so:SharedObject;
public function Cookie(name:String = "klstudio", timeOut:uint = 3600)
{
_name = name;
_time = timeOut;
_so = SharedObject.getLocal(name, "/");
}
//清楚超时内容;
public function clearTimeOut():void
{
var obj:* = _so.data.cookie;
if (obj == undefined)
{
return;
}
for (var key in obj)
{
if (obj[key] == undefined || obj[key].time == undefined || isTimeOut(obj[key].time))
{
delete obj[key];
}
}
_so.data.cookie = obj;
_so.flush();
}
private function isTimeOut(time:uint):Boolean
{
var today:Date = new Date();
return time + _time * 1000 < today.getTime();
}
//获取超时值;
public function getTimeOut():uint
{
return _time;
}
//获取名称;
public function getName():String
{
return _name;
}
//清除Cookie所有值;
public function clear():void
{
_so.clear();
}
//添加Cookie值
public function put(key:String, value:*):void
{
var today:Date = new Date();
key = "key_" + key;
value.time = today.getTime();
if (_so.data.cookie == undefined)
{
var obj:Object = {};
obj[key] = value;
_so.data.cookie = obj;
}
else
{
_so.data.cookie[key] = value;
}
_so.flush();
}
//删除Cookie值;
public function remove(key:String):void
{
if (contains(key))
{
delete _so.data.cookie["key_" + key];
_so.flush();
}
}
//获取Cookie值;
public function get(key:String):Object
{
return contains(key) ? _so.data.cookie["key_" + key] : null;
}
//Cookie值是否存在;
public function contains(key:String):Boolean
{
key = "key_" + key;
return _so.data.cookie != undefined && _so.data.cookie[key] != undefined;
}
}
}
{
import flash.net.SharedObject;
public class Cookie
{
private var _time:uint;
private var _name:String;
private var _so:SharedObject;
public function Cookie(name:String = "klstudio", timeOut:uint = 3600)
{
_name = name;
_time = timeOut;
_so = SharedObject.getLocal(name, "/");
}
//清楚超时内容;
public function clearTimeOut():void
{
var obj:* = _so.data.cookie;
if (obj == undefined)
{
return;
}
for (var key in obj)
{
if (obj[key] == undefined || obj[key].time == undefined || isTimeOut(obj[key].time))
{
delete obj[key];
}
}
_so.data.cookie = obj;
_so.flush();
}
private function isTimeOut(time:uint):Boolean
{
var today:Date = new Date();
return time + _time * 1000 < today.getTime();
}
//获取超时值;
public function getTimeOut():uint
{
return _time;
}
//获取名称;
public function getName():String
{
return _name;
}
//清除Cookie所有值;
public function clear():void
{
_so.clear();
}
//添加Cookie值
public function put(key:String, value:*):void
{
var today:Date = new Date();
key = "key_" + key;
value.time = today.getTime();
if (_so.data.cookie == undefined)
{
var obj:Object = {};
obj[key] = value;
_so.data.cookie = obj;
}
else
{
_so.data.cookie[key] = value;
}
_so.flush();
}
//删除Cookie值;
public function remove(key:String):void
{
if (contains(key))
{
delete _so.data.cookie["key_" + key];
_so.flush();
}
}
//获取Cookie值;
public function get(key:String):Object
{
return contains(key) ? _so.data.cookie["key_" + key] : null;
}
//Cookie值是否存在;
public function contains(key:String):Boolean
{
key = "key_" + key;
return _so.data.cookie != undefined && _so.data.cookie[key] != undefined;
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述