@qxs-bns/utils 0.0.12 → 0.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/es/index.mjs CHANGED
@@ -1,30 +1,27 @@
1
1
  import { ArgoLog as r } from "./src/argo-log.mjs";
2
- import { isMobile as t } from "./src/device.mjs";
3
- import { createVideoUploader as s, downloadFile as a } from "./src/file-operations.mjs";
4
- import { JsonToExcel as n, excelToJson as p } from "./src/json.mjs";
2
+ import { isMobile as l } from "./src/device.mjs";
3
+ import { createVideoUploader as s, downloadFile as t } from "./src/file-operations.mjs";
4
+ import { JsonToExcel as p, excelToJson as a } from "./src/json.mjs";
5
5
  import { OssUploader as x, generateSignedUrl as f, uploadFile as g } from "./src/oss-uploader.mjs";
6
- import { initStorage as U, useStorage as c } from "./src/storage.mjs";
7
- import { isBoolean as w, isElement as J, isImageByMimeType as T, isJSONString as b, isNumber as y, isUndefined as B, isWindow as E } from "./src/types.mjs";
8
- import { watermark as M } from "./src/watermark.mjs";
6
+ import { isBoolean as c, isElement as w, isImageByMimeType as J, isJSONString as S, isNumber as T, isUndefined as b, isWindow as u } from "./src/types.mjs";
7
+ import { watermark as B } from "./src/watermark.mjs";
9
8
  export {
10
9
  r as ArgoLog,
11
- n as JsonToExcel,
10
+ p as JsonToExcel,
12
11
  x as OssUploader,
13
12
  s as createVideoUploader,
14
- a as downloadFile,
15
- p as excelToJson,
13
+ t as downloadFile,
14
+ a as excelToJson,
16
15
  f as generateSignedUrl,
17
- U as initStorage,
18
- w as isBoolean,
19
- J as isElement,
20
- T as isImageByMimeType,
21
- b as isJSONString,
22
- t as isMobile,
23
- y as isNumber,
24
- B as isUndefined,
25
- E as isWindow,
16
+ c as isBoolean,
17
+ w as isElement,
18
+ J as isImageByMimeType,
19
+ S as isJSONString,
20
+ l as isMobile,
21
+ T as isNumber,
22
+ b as isUndefined,
23
+ u as isWindow,
26
24
  g as uploadFile,
27
- c as useStorage,
28
- M as watermark
25
+ B as watermark
29
26
  };
30
27
  //# sourceMappingURL=index.mjs.map
package/es/index.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -1,4 +1,4 @@
1
- interface EnvironmentConfig {
1
+ export interface EnvironmentConfig {
2
2
  encryptType?: number;
3
3
  debugMode?: number;
4
4
  appkey: string;
@@ -22,12 +22,11 @@ interface EnvironmentConfig {
22
22
  * argoLog.track('event_name', { key: 'value' });
23
23
  * ```
24
24
  */
25
- export declare class ArgoLog {
25
+ export declare class ArgoLog<T = EnvironmentConfig> {
26
26
  private static instances;
27
27
  private AnalysysAgent;
28
- constructor(envConfig: EnvironmentConfig);
28
+ constructor(envConfig: T);
29
29
  track: (name: string, opt?: Record<string, any>) => void;
30
30
  setProfile: (info: Record<string, any>) => void;
31
31
  setAlias: (code: string) => void;
32
32
  }
33
- export {};
@@ -1 +1 @@
1
- {"version":3,"file":"argo-log.mjs","sources":["../../../../packages/utils/src/argo-log.ts"],"sourcesContent":["// import AnalysysAgent from 'ans-javascript-sdk'\n\n// 定义配置项的类型别名\ninterface EnvironmentConfig {\n encryptType?: number\n debugMode?: number\n appkey: string\n uploadURL: string\n autoProfile?: boolean\n autoTrack?: boolean\n}\n\n/**\n * ArgoLog 类 - 用于处理埋点统计的工具类\n *\n * @class ArgoLog\n * @description 基于 AnalysysAgent SDK 封装的埋点工具类,提供了埋点追踪、用户画像设置和用户别名设置等功能\n * @example\n * ```typescript\n * const argoLog = new ArgoLog({\n * appkey: 'your-app-key',\n * uploadURL: 'your-upload-url'\n * });\n *\n * // 追踪事件\n * argoLog.track('event_name', { key: 'value' });\n * ```\n */\nexport class ArgoLog {\n private static instances = new Map<string, ArgoLog>()\n private AnalysysAgent: any | null = null\n\n constructor(envConfig: EnvironmentConfig) {\n try {\n // 检查是否为浏览器环境\n if (typeof window === 'undefined') {\n console.warn('[ArgoLog] 仅支持浏览器环境')\n return this\n }\n\n const configKey = JSON.stringify(envConfig)\n const existingInstance = ArgoLog.instances.get(configKey)\n\n if (existingInstance) {\n return existingInstance\n }\n\n if (!envConfig) {\n console.error('envConfig is required')\n return this\n }\n\n // 动态导入 SDK\n import('ans-javascript-sdk').then((module) => {\n this.AnalysysAgent = module.default\n this.AnalysysAgent.init(envConfig)\n ArgoLog.instances.set(configKey, this)\n }).catch((error) => {\n console.warn('[ArgoLog] SDK 加载失败:', error)\n })\n }\n catch (error) {\n console.warn('[ArgoLog] Init failed:', error)\n }\n\n return this\n }\n\n track = (name: string, opt?: Record<string, any>): void => {\n try {\n if (!this.AnalysysAgent) {\n console.warn('[ArgoLog] SDK 未初始化')\n return\n }\n if (!name) {\n console.warn('[ArgoLog] track: name is required')\n return\n }\n this.AnalysysAgent.track(name, opt)\n }\n catch (error) {\n console.warn('[ArgoLog] track failed:', error)\n }\n }\n\n setProfile = (info: Record<string, any>): void => {\n try {\n if (!info) {\n console.warn('[ArgoLog] setProfile: info is required')\n return\n }\n this.AnalysysAgent.profileSet(info)\n }\n catch (error) {\n console.warn('[ArgoLog] setProfile failed:', error)\n }\n }\n\n setAlias = (code: string): void => {\n try {\n if (!code) {\n console.warn('[ArgoLog] setAlias: code is required')\n return\n }\n this.AnalysysAgent.alias(code)\n }\n catch (error) {\n console.warn('[ArgoLog] setAlias failed:', error)\n }\n }\n}\n"],"names":["_ArgoLog","envConfig","__publicField","name","opt","error","info","code","configKey","existingInstance","module","ArgoLog"],"mappings":";;;AA4BO,MAAMA,IAAN,MAAMA,EAAQ;AAAA,EAInB,YAAYC,GAA8B;AAFlC,IAAAC,EAAA,uBAA4B;AAsCpC,IAAAA,EAAA,eAAQ,CAACC,GAAcC,MAAoC;AACrD,UAAA;AACE,YAAA,CAAC,KAAK,eAAe;AACvB,kBAAQ,KAAK,oBAAoB;AACjC;AAAA,QAAA;AAEF,YAAI,CAACD,GAAM;AACT,kBAAQ,KAAK,mCAAmC;AAChD;AAAA,QAAA;AAEG,aAAA,cAAc,MAAMA,GAAMC,CAAG;AAAA,eAE7BC,GAAO;AACJ,gBAAA,KAAK,2BAA2BA,CAAK;AAAA,MAAA;AAAA,IAEjD;AAEA,IAAAH,EAAA,oBAAa,CAACI,MAAoC;AAC5C,UAAA;AACF,YAAI,CAACA,GAAM;AACT,kBAAQ,KAAK,wCAAwC;AACrD;AAAA,QAAA;AAEG,aAAA,cAAc,WAAWA,CAAI;AAAA,eAE7BD,GAAO;AACJ,gBAAA,KAAK,gCAAgCA,CAAK;AAAA,MAAA;AAAA,IAEtD;AAEA,IAAAH,EAAA,kBAAW,CAACK,MAAuB;AAC7B,UAAA;AACF,YAAI,CAACA,GAAM;AACT,kBAAQ,KAAK,sCAAsC;AACnD;AAAA,QAAA;AAEG,aAAA,cAAc,MAAMA,CAAI;AAAA,eAExBF,GAAO;AACJ,gBAAA,KAAK,8BAA8BA,CAAK;AAAA,MAAA;AAAA,IAEpD;AA5EM,QAAA;AAEE,UAAA,OAAO,SAAW;AACpB,uBAAQ,KAAK,oBAAoB,GAC1B;AAGH,YAAAG,IAAY,KAAK,UAAUP,CAAS,GACpCQ,IAAmBT,EAAQ,UAAU,IAAIQ,CAAS;AAExD,UAAIC;AACK,eAAAA;AAGT,UAAI,CAACR;AACH,uBAAQ,MAAM,uBAAuB,GAC9B;AAIT,aAAO,qEAAoB,EAAE,KAAK,CAACS,MAAW;AAC5C,aAAK,gBAAgBA,EAAO,SACvB,KAAA,cAAc,KAAKT,CAAS,GACzBD,EAAA,UAAU,IAAIQ,GAAW,IAAI;AAAA,MAAA,CACtC,EAAE,MAAM,CAACH,MAAU;AACV,gBAAA,KAAK,uBAAuBA,CAAK;AAAA,MAAA,CAC1C;AAAA,aAEIA,GAAO;AACJ,cAAA,KAAK,0BAA0BA,CAAK;AAAA,IAAA;AAGvC,WAAA;AAAA,EAAA;AA6CX;AAjFEH,EADWF,GACI,aAAY,oBAAI,IAAqB;AAD/C,IAAMW,IAANX;"}
1
+ {"version":3,"file":"argo-log.mjs","sources":["../../../../packages/utils/src/argo-log.ts"],"sourcesContent":["// 定义配置项的类型别名\nexport interface EnvironmentConfig {\n encryptType?: number\n debugMode?: number\n appkey: string\n uploadURL: string\n autoProfile?: boolean\n autoTrack?: boolean\n}\n\n/**\n * ArgoLog 类 - 用于处理埋点统计的工具类\n *\n * @class ArgoLog\n * @description 基于 AnalysysAgent SDK 封装的埋点工具类,提供了埋点追踪、用户画像设置和用户别名设置等功能\n * @example\n * ```typescript\n * const argoLog = new ArgoLog({\n * appkey: 'your-app-key',\n * uploadURL: 'your-upload-url'\n * });\n *\n * // 追踪事件\n * argoLog.track('event_name', { key: 'value' });\n * ```\n */\nexport class ArgoLog<T = EnvironmentConfig> {\n private static instances = new Map<string, ArgoLog<any>>()\n private AnalysysAgent: any | null = null\n\n constructor(envConfig: T) {\n try {\n // 检查是否为浏览器环境\n if (typeof window === 'undefined') {\n console.warn('[ArgoLog] 仅支持浏览器环境')\n return this\n }\n\n const configKey = JSON.stringify(envConfig)\n const existingInstance = ArgoLog.instances.get(configKey)\n\n if (existingInstance) {\n return existingInstance\n }\n\n if (!envConfig) {\n console.error('envConfig is required')\n return this\n }\n\n // 动态导入 SDK\n import('ans-javascript-sdk').then((module) => {\n this.AnalysysAgent = module.default\n this.AnalysysAgent.init(envConfig)\n ArgoLog.instances.set(configKey, this)\n }).catch((error) => {\n console.warn('[ArgoLog] SDK 加载失败:', error)\n })\n }\n catch (error) {\n console.warn('[ArgoLog] Init failed:', error)\n }\n\n return this\n }\n\n track = (name: string, opt?: Record<string, any>): void => {\n try {\n if (!this.AnalysysAgent) {\n console.warn('[ArgoLog] SDK 未初始化')\n return\n }\n if (!name) {\n console.warn('[ArgoLog] track: name is required')\n return\n }\n this.AnalysysAgent.track(name, opt)\n }\n catch (error) {\n console.warn('[ArgoLog] track failed:', error)\n }\n }\n\n setProfile = (info: Record<string, any>): void => {\n try {\n if (!info) {\n console.warn('[ArgoLog] setProfile: info is required')\n return\n }\n this.AnalysysAgent.profileSet(info)\n }\n catch (error) {\n console.warn('[ArgoLog] setProfile failed:', error)\n }\n }\n\n setAlias = (code: string): void => {\n try {\n if (!code) {\n console.warn('[ArgoLog] setAlias: code is required')\n return\n }\n this.AnalysysAgent.alias(code)\n }\n catch (error) {\n console.warn('[ArgoLog] setAlias failed:', error)\n }\n }\n}\n"],"names":["_ArgoLog","envConfig","__publicField","name","opt","error","info","code","configKey","existingInstance","module","ArgoLog"],"mappings":";;;AA0BO,MAAMA,IAAN,MAAMA,EAA+B;AAAA,EAI1C,YAAYC,GAAc;AAFlB,IAAAC,EAAA,uBAA4B;AAsCpC,IAAAA,EAAA,eAAQ,CAACC,GAAcC,MAAoC;AACrD,UAAA;AACE,YAAA,CAAC,KAAK,eAAe;AACvB,kBAAQ,KAAK,oBAAoB;AACjC;AAAA,QAAA;AAEF,YAAI,CAACD,GAAM;AACT,kBAAQ,KAAK,mCAAmC;AAChD;AAAA,QAAA;AAEG,aAAA,cAAc,MAAMA,GAAMC,CAAG;AAAA,eAE7BC,GAAO;AACJ,gBAAA,KAAK,2BAA2BA,CAAK;AAAA,MAAA;AAAA,IAEjD;AAEA,IAAAH,EAAA,oBAAa,CAACI,MAAoC;AAC5C,UAAA;AACF,YAAI,CAACA,GAAM;AACT,kBAAQ,KAAK,wCAAwC;AACrD;AAAA,QAAA;AAEG,aAAA,cAAc,WAAWA,CAAI;AAAA,eAE7BD,GAAO;AACJ,gBAAA,KAAK,gCAAgCA,CAAK;AAAA,MAAA;AAAA,IAEtD;AAEA,IAAAH,EAAA,kBAAW,CAACK,MAAuB;AAC7B,UAAA;AACF,YAAI,CAACA,GAAM;AACT,kBAAQ,KAAK,sCAAsC;AACnD;AAAA,QAAA;AAEG,aAAA,cAAc,MAAMA,CAAI;AAAA,eAExBF,GAAO;AACJ,gBAAA,KAAK,8BAA8BA,CAAK;AAAA,MAAA;AAAA,IAEpD;AA5EM,QAAA;AAEE,UAAA,OAAO,SAAW;AACpB,uBAAQ,KAAK,oBAAoB,GAC1B;AAGH,YAAAG,IAAY,KAAK,UAAUP,CAAS,GACpCQ,IAAmBT,EAAQ,UAAU,IAAIQ,CAAS;AAExD,UAAIC;AACK,eAAAA;AAGT,UAAI,CAACR;AACH,uBAAQ,MAAM,uBAAuB,GAC9B;AAIT,aAAO,qEAAoB,EAAE,KAAK,CAACS,MAAW;AAC5C,aAAK,gBAAgBA,EAAO,SACvB,KAAA,cAAc,KAAKT,CAAS,GACzBD,EAAA,UAAU,IAAIQ,GAAW,IAAI;AAAA,MAAA,CACtC,EAAE,MAAM,CAACH,MAAU;AACV,gBAAA,KAAK,uBAAuBA,CAAK;AAAA,MAAA,CAC1C;AAAA,aAEIA,GAAO;AACJ,cAAA,KAAK,0BAA0BA,CAAK;AAAA,IAAA;AAGvC,WAAA;AAAA,EAAA;AA6CX;AAjFEH,EADWF,GACI,aAAY,oBAAI,IAA0B;AADpD,IAAMW,IAANX;"}
@@ -1,31 +1,26 @@
1
1
  declare class Storage {
2
2
  private readonly prefix;
3
- private constructor();
4
- static init(prefix?: string): Storage;
5
- static getInstance(): Storage;
6
- private getTopLevelDomain;
3
+ constructor(prefix?: string);
7
4
  local: {
8
- has: (key: string) => boolean;
9
- get: (key: string) => string | null;
10
- set: (key: string, value: string) => void;
11
- remove: (key: string) => void;
5
+ has: (key: string, usePrefix?: boolean) => boolean;
6
+ get: (key: string, usePrefix?: boolean) => string | null;
7
+ set: (key: string, value: string, usePrefix?: boolean) => void;
8
+ remove: (key: string, usePrefix?: boolean) => void;
12
9
  clear: () => void;
13
10
  };
14
11
  session: {
15
- has: (key: string) => boolean;
16
- get: (key: string) => string | null;
17
- set: (key: string, value: string) => void;
18
- remove: (key: string) => void;
12
+ has: (key: string, usePrefix?: boolean) => boolean;
13
+ get: (key: string, usePrefix?: boolean) => string | null;
14
+ set: (key: string, value: string, usePrefix?: boolean) => void;
15
+ remove: (key: string, usePrefix?: boolean) => void;
19
16
  clear: () => void;
20
17
  };
21
18
  cookie: {
22
- has: (key: string) => boolean;
23
- get: (key: string) => string | null;
24
- set: (key: string, value: string, expires?: number, path?: string, domain?: string) => void;
25
- remove: (key: string, path?: string, domain?: string) => void;
19
+ has: (key: string, usePrefix?: boolean) => boolean;
20
+ get: (key: string, usePrefix?: boolean) => string | null;
21
+ set: (key: string, value: string, expires?: number, path?: string, domain?: string, usePrefix?: boolean) => void;
22
+ remove: (key: string, path?: string, domain?: string, usePrefix?: boolean) => void;
26
23
  clear: () => void;
27
24
  };
28
25
  }
29
- export declare const initStorage: typeof Storage.init;
30
- export declare const useStorage: typeof Storage.getInstance;
31
- export {};
26
+ export default Storage;
package/lib/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./src/argo-log.js"),t=require("./src/device.js"),i=require("./src/file-operations.js"),r=require("./src/json.js"),o=require("./src/oss-uploader.js"),s=require("./src/storage.js"),e=require("./src/types.js"),a=require("./src/watermark.js");exports.ArgoLog=n.ArgoLog;exports.isMobile=t.isMobile;exports.createVideoUploader=i.createVideoUploader;exports.downloadFile=i.downloadFile;exports.JsonToExcel=r.JsonToExcel;exports.excelToJson=r.excelToJson;exports.OssUploader=o.OssUploader;exports.generateSignedUrl=o.generateSignedUrl;exports.uploadFile=o.uploadFile;exports.initStorage=s.initStorage;exports.useStorage=s.useStorage;exports.isBoolean=e.isBoolean;exports.isElement=e.isElement;exports.isImageByMimeType=e.isImageByMimeType;exports.isJSONString=e.isJSONString;exports.isNumber=e.isNumber;exports.isUndefined=e.isUndefined;exports.isWindow=e.isWindow;exports.watermark=a.watermark;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./src/argo-log.js"),n=require("./src/device.js"),i=require("./src/file-operations.js"),r=require("./src/json.js"),o=require("./src/oss-uploader.js"),e=require("./src/types.js"),l=require("./src/watermark.js");exports.ArgoLog=s.ArgoLog;exports.isMobile=n.isMobile;exports.createVideoUploader=i.createVideoUploader;exports.downloadFile=i.downloadFile;exports.JsonToExcel=r.JsonToExcel;exports.excelToJson=r.excelToJson;exports.OssUploader=o.OssUploader;exports.generateSignedUrl=o.generateSignedUrl;exports.uploadFile=o.uploadFile;exports.isBoolean=e.isBoolean;exports.isElement=e.isElement;exports.isImageByMimeType=e.isImageByMimeType;exports.isJSONString=e.isJSONString;exports.isNumber=e.isNumber;exports.isUndefined=e.isUndefined;exports.isWindow=e.isWindow;exports.watermark=l.watermark;
2
2
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- interface EnvironmentConfig {
1
+ export interface EnvironmentConfig {
2
2
  encryptType?: number;
3
3
  debugMode?: number;
4
4
  appkey: string;
@@ -22,12 +22,11 @@ interface EnvironmentConfig {
22
22
  * argoLog.track('event_name', { key: 'value' });
23
23
  * ```
24
24
  */
25
- export declare class ArgoLog {
25
+ export declare class ArgoLog<T = EnvironmentConfig> {
26
26
  private static instances;
27
27
  private AnalysysAgent;
28
- constructor(envConfig: EnvironmentConfig);
28
+ constructor(envConfig: T);
29
29
  track: (name: string, opt?: Record<string, any>) => void;
30
30
  setProfile: (info: Record<string, any>) => void;
31
31
  setAlias: (code: string) => void;
32
32
  }
33
- export {};
@@ -1 +1 @@
1
- {"version":3,"file":"argo-log.js","sources":["../../../../packages/utils/src/argo-log.ts"],"sourcesContent":["// import AnalysysAgent from 'ans-javascript-sdk'\n\n// 定义配置项的类型别名\ninterface EnvironmentConfig {\n encryptType?: number\n debugMode?: number\n appkey: string\n uploadURL: string\n autoProfile?: boolean\n autoTrack?: boolean\n}\n\n/**\n * ArgoLog 类 - 用于处理埋点统计的工具类\n *\n * @class ArgoLog\n * @description 基于 AnalysysAgent SDK 封装的埋点工具类,提供了埋点追踪、用户画像设置和用户别名设置等功能\n * @example\n * ```typescript\n * const argoLog = new ArgoLog({\n * appkey: 'your-app-key',\n * uploadURL: 'your-upload-url'\n * });\n *\n * // 追踪事件\n * argoLog.track('event_name', { key: 'value' });\n * ```\n */\nexport class ArgoLog {\n private static instances = new Map<string, ArgoLog>()\n private AnalysysAgent: any | null = null\n\n constructor(envConfig: EnvironmentConfig) {\n try {\n // 检查是否为浏览器环境\n if (typeof window === 'undefined') {\n console.warn('[ArgoLog] 仅支持浏览器环境')\n return this\n }\n\n const configKey = JSON.stringify(envConfig)\n const existingInstance = ArgoLog.instances.get(configKey)\n\n if (existingInstance) {\n return existingInstance\n }\n\n if (!envConfig) {\n console.error('envConfig is required')\n return this\n }\n\n // 动态导入 SDK\n import('ans-javascript-sdk').then((module) => {\n this.AnalysysAgent = module.default\n this.AnalysysAgent.init(envConfig)\n ArgoLog.instances.set(configKey, this)\n }).catch((error) => {\n console.warn('[ArgoLog] SDK 加载失败:', error)\n })\n }\n catch (error) {\n console.warn('[ArgoLog] Init failed:', error)\n }\n\n return this\n }\n\n track = (name: string, opt?: Record<string, any>): void => {\n try {\n if (!this.AnalysysAgent) {\n console.warn('[ArgoLog] SDK 未初始化')\n return\n }\n if (!name) {\n console.warn('[ArgoLog] track: name is required')\n return\n }\n this.AnalysysAgent.track(name, opt)\n }\n catch (error) {\n console.warn('[ArgoLog] track failed:', error)\n }\n }\n\n setProfile = (info: Record<string, any>): void => {\n try {\n if (!info) {\n console.warn('[ArgoLog] setProfile: info is required')\n return\n }\n this.AnalysysAgent.profileSet(info)\n }\n catch (error) {\n console.warn('[ArgoLog] setProfile failed:', error)\n }\n }\n\n setAlias = (code: string): void => {\n try {\n if (!code) {\n console.warn('[ArgoLog] setAlias: code is required')\n return\n }\n this.AnalysysAgent.alias(code)\n }\n catch (error) {\n console.warn('[ArgoLog] setAlias failed:', error)\n }\n }\n}\n"],"names":["_ArgoLog","envConfig","__publicField","name","opt","error","info","code","configKey","existingInstance","module","ArgoLog"],"mappings":"oPA4BO,MAAMA,EAAN,MAAMA,CAAQ,CAInB,YAAYC,EAA8B,CAFlCC,EAAA,qBAA4B,MAsCpCA,EAAA,aAAQ,CAACC,EAAcC,IAAoC,CACrD,GAAA,CACE,GAAA,CAAC,KAAK,cAAe,CACvB,QAAQ,KAAK,oBAAoB,EACjC,MAAA,CAEF,GAAI,CAACD,EAAM,CACT,QAAQ,KAAK,mCAAmC,EAChD,MAAA,CAEG,KAAA,cAAc,MAAMA,EAAMC,CAAG,QAE7BC,EAAO,CACJ,QAAA,KAAK,0BAA2BA,CAAK,CAAA,CAEjD,GAEAH,EAAA,kBAAcI,GAAoC,CAC5C,GAAA,CACF,GAAI,CAACA,EAAM,CACT,QAAQ,KAAK,wCAAwC,EACrD,MAAA,CAEG,KAAA,cAAc,WAAWA,CAAI,QAE7BD,EAAO,CACJ,QAAA,KAAK,+BAAgCA,CAAK,CAAA,CAEtD,GAEAH,EAAA,gBAAYK,GAAuB,CAC7B,GAAA,CACF,GAAI,CAACA,EAAM,CACT,QAAQ,KAAK,sCAAsC,EACnD,MAAA,CAEG,KAAA,cAAc,MAAMA,CAAI,QAExBF,EAAO,CACJ,QAAA,KAAK,6BAA8BA,CAAK,CAAA,CAEpD,GA5EM,GAAA,CAEE,GAAA,OAAO,OAAW,IACpB,eAAQ,KAAK,oBAAoB,EAC1B,KAGH,MAAAG,EAAY,KAAK,UAAUP,CAAS,EACpCQ,EAAmBT,EAAQ,UAAU,IAAIQ,CAAS,EAExD,GAAIC,EACK,OAAAA,EAGT,GAAI,CAACR,EACH,eAAQ,MAAM,uBAAuB,EAC9B,KAIT,QAAA,QAAA,EAAA,KAAA,IAAA,QAAO,oEAAoB,CAAA,EAAE,KAAMS,GAAW,CAC5C,KAAK,cAAgBA,EAAO,QACvB,KAAA,cAAc,KAAKT,CAAS,EACzBD,EAAA,UAAU,IAAIQ,EAAW,IAAI,CAAA,CACtC,EAAE,MAAOH,GAAU,CACV,QAAA,KAAK,sBAAuBA,CAAK,CAAA,CAC1C,QAEIA,EAAO,CACJ,QAAA,KAAK,yBAA0BA,CAAK,CAAA,CAGvC,OAAA,IAAA,CA6CX,EAjFEH,EADWF,EACI,YAAY,IAAI,KAD1B,IAAMW,EAANX"}
1
+ {"version":3,"file":"argo-log.js","sources":["../../../../packages/utils/src/argo-log.ts"],"sourcesContent":["// 定义配置项的类型别名\nexport interface EnvironmentConfig {\n encryptType?: number\n debugMode?: number\n appkey: string\n uploadURL: string\n autoProfile?: boolean\n autoTrack?: boolean\n}\n\n/**\n * ArgoLog 类 - 用于处理埋点统计的工具类\n *\n * @class ArgoLog\n * @description 基于 AnalysysAgent SDK 封装的埋点工具类,提供了埋点追踪、用户画像设置和用户别名设置等功能\n * @example\n * ```typescript\n * const argoLog = new ArgoLog({\n * appkey: 'your-app-key',\n * uploadURL: 'your-upload-url'\n * });\n *\n * // 追踪事件\n * argoLog.track('event_name', { key: 'value' });\n * ```\n */\nexport class ArgoLog<T = EnvironmentConfig> {\n private static instances = new Map<string, ArgoLog<any>>()\n private AnalysysAgent: any | null = null\n\n constructor(envConfig: T) {\n try {\n // 检查是否为浏览器环境\n if (typeof window === 'undefined') {\n console.warn('[ArgoLog] 仅支持浏览器环境')\n return this\n }\n\n const configKey = JSON.stringify(envConfig)\n const existingInstance = ArgoLog.instances.get(configKey)\n\n if (existingInstance) {\n return existingInstance\n }\n\n if (!envConfig) {\n console.error('envConfig is required')\n return this\n }\n\n // 动态导入 SDK\n import('ans-javascript-sdk').then((module) => {\n this.AnalysysAgent = module.default\n this.AnalysysAgent.init(envConfig)\n ArgoLog.instances.set(configKey, this)\n }).catch((error) => {\n console.warn('[ArgoLog] SDK 加载失败:', error)\n })\n }\n catch (error) {\n console.warn('[ArgoLog] Init failed:', error)\n }\n\n return this\n }\n\n track = (name: string, opt?: Record<string, any>): void => {\n try {\n if (!this.AnalysysAgent) {\n console.warn('[ArgoLog] SDK 未初始化')\n return\n }\n if (!name) {\n console.warn('[ArgoLog] track: name is required')\n return\n }\n this.AnalysysAgent.track(name, opt)\n }\n catch (error) {\n console.warn('[ArgoLog] track failed:', error)\n }\n }\n\n setProfile = (info: Record<string, any>): void => {\n try {\n if (!info) {\n console.warn('[ArgoLog] setProfile: info is required')\n return\n }\n this.AnalysysAgent.profileSet(info)\n }\n catch (error) {\n console.warn('[ArgoLog] setProfile failed:', error)\n }\n }\n\n setAlias = (code: string): void => {\n try {\n if (!code) {\n console.warn('[ArgoLog] setAlias: code is required')\n return\n }\n this.AnalysysAgent.alias(code)\n }\n catch (error) {\n console.warn('[ArgoLog] setAlias failed:', error)\n }\n }\n}\n"],"names":["_ArgoLog","envConfig","__publicField","name","opt","error","info","code","configKey","existingInstance","module","ArgoLog"],"mappings":"oPA0BO,MAAMA,EAAN,MAAMA,CAA+B,CAI1C,YAAYC,EAAc,CAFlBC,EAAA,qBAA4B,MAsCpCA,EAAA,aAAQ,CAACC,EAAcC,IAAoC,CACrD,GAAA,CACE,GAAA,CAAC,KAAK,cAAe,CACvB,QAAQ,KAAK,oBAAoB,EACjC,MAAA,CAEF,GAAI,CAACD,EAAM,CACT,QAAQ,KAAK,mCAAmC,EAChD,MAAA,CAEG,KAAA,cAAc,MAAMA,EAAMC,CAAG,QAE7BC,EAAO,CACJ,QAAA,KAAK,0BAA2BA,CAAK,CAAA,CAEjD,GAEAH,EAAA,kBAAcI,GAAoC,CAC5C,GAAA,CACF,GAAI,CAACA,EAAM,CACT,QAAQ,KAAK,wCAAwC,EACrD,MAAA,CAEG,KAAA,cAAc,WAAWA,CAAI,QAE7BD,EAAO,CACJ,QAAA,KAAK,+BAAgCA,CAAK,CAAA,CAEtD,GAEAH,EAAA,gBAAYK,GAAuB,CAC7B,GAAA,CACF,GAAI,CAACA,EAAM,CACT,QAAQ,KAAK,sCAAsC,EACnD,MAAA,CAEG,KAAA,cAAc,MAAMA,CAAI,QAExBF,EAAO,CACJ,QAAA,KAAK,6BAA8BA,CAAK,CAAA,CAEpD,GA5EM,GAAA,CAEE,GAAA,OAAO,OAAW,IACpB,eAAQ,KAAK,oBAAoB,EAC1B,KAGH,MAAAG,EAAY,KAAK,UAAUP,CAAS,EACpCQ,EAAmBT,EAAQ,UAAU,IAAIQ,CAAS,EAExD,GAAIC,EACK,OAAAA,EAGT,GAAI,CAACR,EACH,eAAQ,MAAM,uBAAuB,EAC9B,KAIT,QAAA,QAAA,EAAA,KAAA,IAAA,QAAO,oEAAoB,CAAA,EAAE,KAAMS,GAAW,CAC5C,KAAK,cAAgBA,EAAO,QACvB,KAAA,cAAc,KAAKT,CAAS,EACzBD,EAAA,UAAU,IAAIQ,EAAW,IAAI,CAAA,CACtC,EAAE,MAAOH,GAAU,CACV,QAAA,KAAK,sBAAuBA,CAAK,CAAA,CAC1C,QAEIA,EAAO,CACJ,QAAA,KAAK,yBAA0BA,CAAK,CAAA,CAGvC,OAAA,IAAA,CA6CX,EAjFEH,EADWF,EACI,YAAY,IAAI,KAD1B,IAAMW,EAANX"}
@@ -1,31 +1,26 @@
1
1
  declare class Storage {
2
2
  private readonly prefix;
3
- private constructor();
4
- static init(prefix?: string): Storage;
5
- static getInstance(): Storage;
6
- private getTopLevelDomain;
3
+ constructor(prefix?: string);
7
4
  local: {
8
- has: (key: string) => boolean;
9
- get: (key: string) => string | null;
10
- set: (key: string, value: string) => void;
11
- remove: (key: string) => void;
5
+ has: (key: string, usePrefix?: boolean) => boolean;
6
+ get: (key: string, usePrefix?: boolean) => string | null;
7
+ set: (key: string, value: string, usePrefix?: boolean) => void;
8
+ remove: (key: string, usePrefix?: boolean) => void;
12
9
  clear: () => void;
13
10
  };
14
11
  session: {
15
- has: (key: string) => boolean;
16
- get: (key: string) => string | null;
17
- set: (key: string, value: string) => void;
18
- remove: (key: string) => void;
12
+ has: (key: string, usePrefix?: boolean) => boolean;
13
+ get: (key: string, usePrefix?: boolean) => string | null;
14
+ set: (key: string, value: string, usePrefix?: boolean) => void;
15
+ remove: (key: string, usePrefix?: boolean) => void;
19
16
  clear: () => void;
20
17
  };
21
18
  cookie: {
22
- has: (key: string) => boolean;
23
- get: (key: string) => string | null;
24
- set: (key: string, value: string, expires?: number, path?: string, domain?: string) => void;
25
- remove: (key: string, path?: string, domain?: string) => void;
19
+ has: (key: string, usePrefix?: boolean) => boolean;
20
+ get: (key: string, usePrefix?: boolean) => string | null;
21
+ set: (key: string, value: string, expires?: number, path?: string, domain?: string, usePrefix?: boolean) => void;
22
+ remove: (key: string, path?: string, domain?: string, usePrefix?: boolean) => void;
26
23
  clear: () => void;
27
24
  };
28
25
  }
29
- export declare const initStorage: typeof Storage.init;
30
- export declare const useStorage: typeof Storage.getInstance;
31
- export {};
26
+ export default Storage;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@qxs-bns/utils",
3
- "version": "0.0.12",
3
+ "version": "0.0.13",
4
4
  "main": "lib/index.js",
5
5
  "module": "es/index.mjs",
6
6
  "types": "es/index.d.ts",