123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- import { sys } from "cc"
- export class LocalStorageUtil {
- private static _inst:LocalStorageUtil;
- public static getInstance(): LocalStorageUtil{
- if(!this._inst)this._inst=new LocalStorageUtil();
- return this._inst;
- }
- //缓存
- temporary: Map<string, any>;
-
- constructor() {
- this.temporary = new Map<string, any>();
- }
- private _user_id:string|null;
- public setUserId(uk:string):void{
- this._user_id=uk;
- }
- /**
- * 缓存变量存储区别用户
- * @param {*} key
- * @param {*} value
- */
- set(key: string, value: any): any {
- if (typeof value === 'object') {
- try {
- value = JSON.stringify(value);
- }
- catch (e) {
- console.error(`解析失败,str = ${value}`);
- return;
- }
- }
- else if (typeof value === 'number') {
- value = value + "";
- }
- if (this._user_id)
- sys.localStorage.setItem(this._user_id + "_" + key, value);
- else
- sys.localStorage.setItem(key,value);
- return value;
- }
- /**
- * 获取缓存变量区别用户
- * @param {*} key
- * @returns
- */
- private get(key: string): string {
- if (null == key) {
- console.error("存储的key不能为空");
- return null!;
- }
- let data;
- if (this._user_id)
- data = sys.localStorage.getItem(this._user_id + "_" + key);
- else
- data = sys.localStorage.getItem(key);
- if (!data) return undefined;
- return data;
-
- }
- /** 获取指定关键字的数值 */
- getNumber(key: string, defaultValue: number = 0): number {
- var r = this.get(key);
- if (r == "0") {
- return Number(r);
- }
- return Number(r) || defaultValue;
- }
- /** 获取指定关键字的布尔值 */
- getBoolean(key: string): boolean {
- var r = this.get(key);
- return Boolean(r) || false;
- }
- /** 获取指定关键字的JSON对象 */
- getJson(key: string, defaultValue?: any): any {
- var r = this.get(key);
- return (r && JSON.parse(r)) || defaultValue;
- }
- /** 获取指定关键字的JSON对象 */
- getObject(key: string): any {
- let data= this.get(key);
- try {
- const jsonObj = JSON.parse(data)
- return jsonObj;
- } catch (error) {
- return data;
- }
- }
- /**
- * 删除缓存变量
- * @param {*} key
- */
- public removeNormalObject(key: string): any {
- sys.localStorage.removeItem(key);
- }
- /**
- * 缓存变量存储
- * @param {*} key
- * @param {*} value
- */
- setNormalObject(key: string, value: any): any {
- sys.localStorage.setItem(key, JSON.stringify(value));
- return value;
- }
- /**
- * 获取缓存变量
- * @param {*} key
- * @returns
- */
- getNormalObject(key: string): string {
- let data;
- data = sys.localStorage.getItem(key);
- if (!data) return undefined;
- try {
- const jsonObj = JSON.parse(data)
- return jsonObj;
- } catch (error) {
- return data;
- }
- }
- /**
- * 删除缓存变量
- * @param {*} key
- */
- removeObject(key: string) {
- sys.localStorage.removeItem(key);
- }
- /**
- * 临时变量存储
- * @param {*} key
- * @param {*} value
- */
- setTempObject(key: string, value: any) {
- this.temporary.set(key, value);
- }
- /**
- * 获取临时变量
- * @param {*} key
- * @returns
- */
- getTempObject(key: string): any {
- return this.temporary.get(key);
- }
- /**
- * 删除临时变量
- * @param {*} key
- */
- removeTempObject(key: string) {
- this.temporary.delete(key);
- }
- }
|