@qxs-bns/utils 0.0.10 → 0.0.12

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.
Files changed (52) hide show
  1. package/README.md +65 -0
  2. package/es/_virtual/_commonjs-dynamic-modules.mjs +7 -0
  3. package/es/_virtual/_commonjs-dynamic-modules.mjs.map +1 -0
  4. package/es/_virtual/_commonjsHelpers.mjs +7 -0
  5. package/es/_virtual/_commonjsHelpers.mjs.map +1 -0
  6. package/es/_virtual/ali-oss/dist/aliyun-oss-sdk.mjs +20195 -0
  7. package/es/_virtual/ali-oss/dist/aliyun-oss-sdk.mjs.map +1 -0
  8. package/es/_virtual/aliyun-oss-sdk.mjs +8 -0
  9. package/es/_virtual/aliyun-oss-sdk.mjs.map +1 -0
  10. package/es/_virtual/aliyun-oss-sdk2.mjs +5 -0
  11. package/es/_virtual/aliyun-oss-sdk2.mjs.map +1 -0
  12. package/es/_virtual/xlsx/xlsx.mjs +24583 -0
  13. package/es/_virtual/xlsx/xlsx.mjs.map +1 -0
  14. package/es/index.d.ts +1 -0
  15. package/es/index.mjs +22 -18
  16. package/es/index.mjs.map +1 -1
  17. package/es/src/argo-log.d.ts +20 -3
  18. package/es/src/argo-log.mjs +31 -19
  19. package/es/src/argo-log.mjs.map +1 -1
  20. package/es/src/json.mjs +14 -14
  21. package/es/src/oss-uploader.d.ts +43 -0
  22. package/es/src/oss-uploader.mjs +89 -0
  23. package/es/src/oss-uploader.mjs.map +1 -0
  24. package/lib/_virtual/_commonjs-dynamic-modules.js +2 -0
  25. package/lib/_virtual/_commonjs-dynamic-modules.js.map +1 -0
  26. package/lib/_virtual/_commonjsHelpers.js +2 -0
  27. package/lib/_virtual/_commonjsHelpers.js.map +1 -0
  28. package/lib/_virtual/ali-oss/dist/aliyun-oss-sdk.js +85 -0
  29. package/lib/_virtual/ali-oss/dist/aliyun-oss-sdk.js.map +1 -0
  30. package/lib/_virtual/aliyun-oss-sdk.js +2 -0
  31. package/lib/_virtual/aliyun-oss-sdk.js.map +1 -0
  32. package/lib/_virtual/aliyun-oss-sdk2.js +2 -0
  33. package/lib/_virtual/aliyun-oss-sdk2.js.map +1 -0
  34. package/lib/_virtual/xlsx/xlsx.js +105 -0
  35. package/lib/_virtual/xlsx/xlsx.js.map +1 -0
  36. package/lib/index.d.ts +1 -0
  37. package/lib/index.js +1 -1
  38. package/lib/src/argo-log.d.ts +20 -3
  39. package/lib/src/argo-log.js +1 -1
  40. package/lib/src/argo-log.js.map +1 -1
  41. package/lib/src/json.js +1 -1
  42. package/lib/src/json.js.map +1 -1
  43. package/lib/src/oss-uploader.d.ts +43 -0
  44. package/lib/src/oss-uploader.js +2 -0
  45. package/lib/src/oss-uploader.js.map +1 -0
  46. package/package.json +7 -8
  47. package/es/src/media.d.ts +0 -1
  48. package/es/src/media.mjs +0 -7
  49. package/es/src/media.mjs.map +0 -1
  50. package/lib/src/media.d.ts +0 -1
  51. package/lib/src/media.js +0 -2
  52. package/lib/src/media.js.map +0 -1
package/es/index.d.ts CHANGED
@@ -2,6 +2,7 @@ export * from './src/argo-log';
2
2
  export * from './src/device';
3
3
  export * from './src/file-operations';
4
4
  export * from './src/json';
5
+ export { generateSignedUrl, type OssClientConfig, type OssConfig, type OssCredentials, OssUploader, uploadFile, } from './src/oss-uploader';
5
6
  export * from './src/storage';
6
7
  export * from './src/types';
7
8
  export * from './src/watermark';
package/es/index.mjs CHANGED
@@ -1,26 +1,30 @@
1
1
  import { ArgoLog as r } from "./src/argo-log.mjs";
2
2
  import { isMobile as t } from "./src/device.mjs";
3
- import { createVideoUploader as s, downloadFile as n } from "./src/file-operations.mjs";
4
- import { JsonToExcel as p, excelToJson as x } from "./src/json.mjs";
5
- import { initStorage as l, useStorage as d } from "./src/storage.mjs";
6
- import { isBoolean as S, isElement as c, isImageByMimeType as w, isJSONString as J, isNumber as T, isUndefined as b, isWindow as u } from "./src/types.mjs";
7
- import { watermark as B } from "./src/watermark.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";
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";
8
9
  export {
9
10
  r as ArgoLog,
10
- p as JsonToExcel,
11
+ n as JsonToExcel,
12
+ x as OssUploader,
11
13
  s as createVideoUploader,
12
- n as downloadFile,
13
- x as excelToJson,
14
- l as initStorage,
15
- S as isBoolean,
16
- c as isElement,
17
- w as isImageByMimeType,
18
- J as isJSONString,
14
+ a as downloadFile,
15
+ p as excelToJson,
16
+ f as generateSignedUrl,
17
+ U as initStorage,
18
+ w as isBoolean,
19
+ J as isElement,
20
+ T as isImageByMimeType,
21
+ b as isJSONString,
19
22
  t as isMobile,
20
- T as isNumber,
21
- b as isUndefined,
22
- u as isWindow,
23
- d as useStorage,
24
- B as watermark
23
+ y as isNumber,
24
+ B as isUndefined,
25
+ E as isWindow,
26
+ g as uploadFile,
27
+ c as useStorage,
28
+ M as watermark
25
29
  };
26
30
  //# 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":";;;;;;;;"}
@@ -6,11 +6,28 @@ interface EnvironmentConfig {
6
6
  autoProfile?: boolean;
7
7
  autoTrack?: boolean;
8
8
  }
9
+ /**
10
+ * ArgoLog 类 - 用于处理埋点统计的工具类
11
+ *
12
+ * @class ArgoLog
13
+ * @description 基于 AnalysysAgent SDK 封装的埋点工具类,提供了埋点追踪、用户画像设置和用户别名设置等功能
14
+ * @example
15
+ * ```typescript
16
+ * const argoLog = new ArgoLog({
17
+ * appkey: 'your-app-key',
18
+ * uploadURL: 'your-upload-url'
19
+ * });
20
+ *
21
+ * // 追踪事件
22
+ * argoLog.track('event_name', { key: 'value' });
23
+ * ```
24
+ */
9
25
  export declare class ArgoLog {
10
26
  private static instances;
27
+ private AnalysysAgent;
11
28
  constructor(envConfig: EnvironmentConfig);
12
- track: (name: string, opt?: any) => void;
13
- setProfile: (info: any) => void;
14
- setAlias: (code: any) => void;
29
+ track: (name: string, opt?: Record<string, any>) => void;
30
+ setProfile: (info: Record<string, any>) => void;
31
+ setAlias: (code: string) => void;
15
32
  }
16
33
  export {};
@@ -1,55 +1,67 @@
1
1
  var c = Object.defineProperty;
2
- var l = (t, r, e) => r in t ? c(t, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : t[r] = e;
3
- var s = (t, r, e) => l(t, typeof r != "symbol" ? r + "" : r, e);
4
- import n from "../_virtual/ans-javascript-sdk/sdk/AnalysysAgent_JS_SDK.es6.min.mjs";
5
- const o = class o {
2
+ var l = (s, r, e) => r in s ? c(s, r, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[r] = e;
3
+ var t = (s, r, e) => l(s, typeof r != "symbol" ? r + "" : r, e);
4
+ const n = class n {
6
5
  constructor(r) {
7
- s(this, "track", (r, e) => {
6
+ t(this, "AnalysysAgent", null);
7
+ t(this, "track", (r, e) => {
8
8
  try {
9
+ if (!this.AnalysysAgent) {
10
+ console.warn("[ArgoLog] SDK 未初始化");
11
+ return;
12
+ }
9
13
  if (!r) {
10
14
  console.warn("[ArgoLog] track: name is required");
11
15
  return;
12
16
  }
13
- n.track(r, e);
14
- } catch (i) {
15
- console.warn("[ArgoLog] track failed:", i);
17
+ this.AnalysysAgent.track(r, e);
18
+ } catch (o) {
19
+ console.warn("[ArgoLog] track failed:", o);
16
20
  }
17
21
  });
18
- s(this, "setProfile", (r) => {
22
+ t(this, "setProfile", (r) => {
19
23
  try {
20
24
  if (!r) {
21
25
  console.warn("[ArgoLog] setProfile: info is required");
22
26
  return;
23
27
  }
24
- n.profileSet(r);
28
+ this.AnalysysAgent.profileSet(r);
25
29
  } catch (e) {
26
30
  console.warn("[ArgoLog] setProfile failed:", e);
27
31
  }
28
32
  });
29
- s(this, "setAlias", (r) => {
33
+ t(this, "setAlias", (r) => {
30
34
  try {
31
35
  if (!r) {
32
36
  console.warn("[ArgoLog] setAlias: code is required");
33
37
  return;
34
38
  }
35
- n.alias(r);
39
+ this.AnalysysAgent.alias(r);
36
40
  } catch (e) {
37
41
  console.warn("[ArgoLog] setAlias failed:", e);
38
42
  }
39
43
  });
40
44
  try {
41
- const e = JSON.stringify(r), i = o.instances.get(e);
42
- if (i)
43
- return i;
44
- r || console.error("envConfig is required"), n.init(r), o.instances.set(e, this);
45
+ if (typeof window > "u")
46
+ return console.warn("[ArgoLog] 仅支持浏览器环境"), this;
47
+ const e = JSON.stringify(r), o = n.instances.get(e);
48
+ if (o)
49
+ return o;
50
+ if (!r)
51
+ return console.error("envConfig is required"), this;
52
+ import("../_virtual/ans-javascript-sdk/sdk/AnalysysAgent_JS_SDK.es6.min.mjs").then((i) => {
53
+ this.AnalysysAgent = i.default, this.AnalysysAgent.init(r), n.instances.set(e, this);
54
+ }).catch((i) => {
55
+ console.warn("[ArgoLog] SDK 加载失败:", i);
56
+ });
45
57
  } catch (e) {
46
- return console.warn("[ArgoLog] Init failed:", e), this;
58
+ console.warn("[ArgoLog] Init failed:", e);
47
59
  }
48
60
  return this;
49
61
  }
50
62
  };
51
- s(o, "instances", /* @__PURE__ */ new Map());
52
- let a = o;
63
+ t(n, "instances", /* @__PURE__ */ new Map());
64
+ let a = n;
53
65
  export {
54
66
  a as ArgoLog
55
67
  };
@@ -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\nexport class ArgoLog {\n private static instances = new Map<string, ArgoLog>()\n\n constructor(envConfig: EnvironmentConfig) {\n try {\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 }\n\n AnalysysAgent.init(envConfig)\n ArgoLog.instances.set(configKey, this)\n }\n catch (error) {\n console.warn('[ArgoLog] Init failed:', error)\n // 仍然返回实例,让后续操作可以继续\n return this\n }\n\n return this\n }\n\n track = (name: string, opt?: any) => {\n try {\n if (!name) {\n console.warn('[ArgoLog] track: name is required')\n return\n }\n AnalysysAgent.track(name, opt)\n }\n catch (error) {\n console.warn('[ArgoLog] track failed:', error)\n }\n }\n\n setProfile = (info: any) => {\n try {\n if (!info) {\n console.warn('[ArgoLog] setProfile: info is required')\n return\n }\n AnalysysAgent.profileSet(info)\n }\n catch (error) {\n console.warn('[ArgoLog] setProfile failed:', error)\n }\n }\n\n setAlias = (code: any) => {\n try {\n if (!code) {\n console.warn('[ArgoLog] setAlias: code is required')\n return\n }\n AnalysysAgent.alias(code)\n }\n catch (error) {\n console.warn('[ArgoLog] setAlias failed:', error)\n }\n }\n}\n"],"names":["_ArgoLog","envConfig","__publicField","name","opt","AnalysysAgent","error","info","code","configKey","existingInstance","ArgoLog"],"mappings":";;;;AAYO,MAAMA,IAAN,MAAMA,EAAQ;AAAA,EAGnB,YAAYC,GAA8B;AAyB1C,IAAAC,EAAA,eAAQ,CAACC,GAAcC,MAAc;AAC/B,UAAA;AACF,YAAI,CAACD,GAAM;AACT,kBAAQ,KAAK,mCAAmC;AAChD;AAAA,QAAA;AAEY,QAAAE,EAAA,MAAMF,GAAMC,CAAG;AAAA,eAExBE,GAAO;AACJ,gBAAA,KAAK,2BAA2BA,CAAK;AAAA,MAAA;AAAA,IAEjD;AAEA,IAAAJ,EAAA,oBAAa,CAACK,MAAc;AACtB,UAAA;AACF,YAAI,CAACA,GAAM;AACT,kBAAQ,KAAK,wCAAwC;AACrD;AAAA,QAAA;AAEF,QAAAF,EAAc,WAAWE,CAAI;AAAA,eAExBD,GAAO;AACJ,gBAAA,KAAK,gCAAgCA,CAAK;AAAA,MAAA;AAAA,IAEtD;AAEA,IAAAJ,EAAA,kBAAW,CAACM,MAAc;AACpB,UAAA;AACF,YAAI,CAACA,GAAM;AACT,kBAAQ,KAAK,sCAAsC;AACnD;AAAA,QAAA;AAEF,QAAAH,EAAc,MAAMG,CAAI;AAAA,eAEnBF,GAAO;AACJ,gBAAA,KAAK,8BAA8BA,CAAK;AAAA,MAAA;AAAA,IAEpD;AA7DM,QAAA;AACI,YAAAG,IAAY,KAAK,UAAUR,CAAS,GACpCS,IAAmBV,EAAQ,UAAU,IAAIS,CAAS;AAExD,UAAIC;AACK,eAAAA;AAGT,MAAKT,KACH,QAAQ,MAAM,uBAAuB,GAGvCI,EAAc,KAAKJ,CAAS,GACpBD,EAAA,UAAU,IAAIS,GAAW,IAAI;AAAA,aAEhCH,GAAO;AACJ,qBAAA,KAAK,0BAA0BA,CAAK,GAErC;AAAA,IAAA;AAGF,WAAA;AAAA,EAAA;AAyCX;AAjEEJ,EADWF,GACI,aAAY,oBAAI,IAAqB;AAD/C,IAAMW,IAANX;"}
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;"}
package/es/src/json.mjs CHANGED
@@ -1,37 +1,37 @@
1
- import { utils as s, writeFile as b, read as x } from "xlsx";
2
- function S(c = "", t = [], r) {
1
+ import { utils as s, writeFile as S, read as _ } from "../_virtual/xlsx/xlsx.mjs";
2
+ function x(c = "", t = [], r) {
3
3
  try {
4
4
  if (!t.length)
5
5
  return;
6
6
  const e = s.aoa_to_sheet(t);
7
7
  r && (e["!merges"] = r);
8
8
  const o = s.book_new();
9
- s.book_append_sheet(o, e, ""), b(o, `${c}.xlsx`);
9
+ s.book_append_sheet(o, e, ""), S(o, `${c}.xlsx`);
10
10
  } catch (e) {
11
11
  return console.log("e: ", e), new Error("数据导出失败");
12
12
  }
13
13
  }
14
14
  function d(c, t, r) {
15
- const e = x(c, { type: "binary" }), o = [];
16
- for (const h in e.Sheets)
17
- if (Object.prototype.hasOwnProperty.call(e.Sheets, h)) {
15
+ const e = _(c, { type: "binary" }), o = [];
16
+ for (const i in e.Sheets)
17
+ if (Object.prototype.hasOwnProperty.call(e.Sheets, i)) {
18
18
  let n = [];
19
- const i = e.Sheets[h]["!ref"] || "", l = i.split(":"), f = r + l[1].toString();
20
- n = n.concat(s.sheet_to_json(e.Sheets[h], { header: 1, range: r ? f : i }));
19
+ const a = e.Sheets[i]["!ref"] || "", l = a.split(":"), f = r + l[1].toString();
20
+ n = n.concat(s.sheet_to_json(e.Sheets[i], { header: 1, range: r ? f : a }));
21
21
  const p = n[0];
22
22
  n.shift();
23
- const u = n.map((k) => {
24
- const a = {};
25
- return p.forEach((w, _) => {
26
- a[w] = k[_];
27
- }), a;
23
+ const u = n.map((w) => {
24
+ const h = {};
25
+ return p.forEach((k, y) => {
26
+ h[k] = w[y];
27
+ }), h;
28
28
  });
29
29
  o.push(...u);
30
30
  }
31
31
  return t && t(o), o;
32
32
  }
33
33
  export {
34
- S as JsonToExcel,
34
+ x as JsonToExcel,
35
35
  d as excelToJson
36
36
  };
37
37
  //# sourceMappingURL=json.mjs.map
@@ -0,0 +1,43 @@
1
+ import { default as OSS } from 'ali-oss';
2
+
3
+ export interface OssCredentials {
4
+ accessKeyId: string;
5
+ accessKeySecret: string;
6
+ securityToken: string;
7
+ }
8
+ export interface OssConfig extends Partial<Omit<OssClientConfig, 'accessKeyId' | 'accessKeySecret' | 'stsToken'>> {
9
+ file: File;
10
+ onProgress?: (p: {
11
+ percent: number;
12
+ }) => void;
13
+ path?: string;
14
+ getCredentials: () => Promise<OssCredentials | null>;
15
+ }
16
+ export interface OssClientConfig {
17
+ accessKeyId: string;
18
+ accessKeySecret: string;
19
+ stsToken: string;
20
+ secure: boolean;
21
+ bucket: string;
22
+ region: string;
23
+ cors: boolean;
24
+ useFetch: boolean;
25
+ timeout: number;
26
+ headers: Record<string, string>;
27
+ }
28
+ export declare class OssError extends Error {
29
+ constructor(message: string);
30
+ }
31
+ export declare class OssUploader {
32
+ private static client;
33
+ private static createTokenTime;
34
+ private static readonly expireTime;
35
+ private static getOssCredentials;
36
+ static initOssClient(getCredentials: OssConfig['getCredentials'], args?: Partial<OssConfig>): Promise<void>;
37
+ static uploadFile(opts: OssConfig & {
38
+ getCredentials: OssConfig['getCredentials'];
39
+ }): Promise<OSS.MultipartUploadResult>;
40
+ static generateSignedUrl(objectKey: string, getCredentials: OssConfig['getCredentials'], args?: Partial<OssConfig>): Promise<string>;
41
+ }
42
+ export declare const uploadFile: typeof OssUploader.uploadFile;
43
+ export declare const generateSignedUrl: typeof OssUploader.generateSignedUrl;
@@ -0,0 +1,89 @@
1
+ var u = Object.defineProperty;
2
+ var g = (r, e, t) => e in r ? u(r, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[e] = t;
3
+ var a = (r, e, t) => g(r, typeof e != "symbol" ? e + "" : e, t);
4
+ import y from "../_virtual/aliyun-oss-sdk.mjs";
5
+ class o extends Error {
6
+ constructor(e) {
7
+ super(e), this.name = "OssError";
8
+ }
9
+ }
10
+ const h = {
11
+ accessKeyId: "",
12
+ accessKeySecret: "",
13
+ stsToken: "",
14
+ secure: !0,
15
+ bucket: "yao-file-daily",
16
+ region: "oss-cn-hangzhou",
17
+ cors: !0,
18
+ useFetch: !1,
19
+ timeout: 6e4,
20
+ headers: {
21
+ "Access-Control-Allow-Origin": "*",
22
+ "Access-Control-Allow-Methods": "GET, POST, PUT, DELETE",
23
+ "Access-Control-Allow-Headers": "*"
24
+ }
25
+ };
26
+ class n {
27
+ // 获取凭证
28
+ static async getOssCredentials(e) {
29
+ const t = await e();
30
+ if (!t)
31
+ throw new o("获取凭证失败");
32
+ return {
33
+ accessKeyId: t.accessKeyId,
34
+ accessKeySecret: t.accessKeySecret,
35
+ securityToken: t.securityToken
36
+ };
37
+ }
38
+ // 修改初始化方法
39
+ static async initOssClient(e, t) {
40
+ const c = Date.now() - this.createTokenTime;
41
+ if (!h.accessKeyId || c > this.expireTime)
42
+ try {
43
+ const { accessKeyId: s, accessKeySecret: l, securityToken: i } = await this.getOssCredentials(e);
44
+ Object.assign(h, {
45
+ accessKeyId: s,
46
+ accessKeySecret: l,
47
+ stsToken: i,
48
+ ...t,
49
+ refreshSTSToken: async () => await this.getOssCredentials(e),
50
+ refreshSTSTokenInterval: 3e5
51
+ }), this.createTokenTime = Date.now(), this.client = new y(h);
52
+ } catch (s) {
53
+ throw new o(s instanceof Error ? s.message : String(s));
54
+ }
55
+ }
56
+ // 修改上传方法
57
+ static async uploadFile(e) {
58
+ const { file: t, onProgress: c = () => {
59
+ }, path: s = "ksh/pdf", getCredentials: l } = e;
60
+ await this.initOssClient(l);
61
+ try {
62
+ return await this.client.multipartUpload(`${s}/${t.name}`, t, {
63
+ progress(d) {
64
+ c({ percent: Math.round(d * 100) });
65
+ }
66
+ });
67
+ } catch (i) {
68
+ throw new o(i instanceof Error ? i.message : String(i));
69
+ }
70
+ }
71
+ // 修改生成签名URL方法
72
+ static async generateSignedUrl(e, t, c) {
73
+ await this.initOssClient(t, c);
74
+ try {
75
+ return await this.client.signatureUrl(e, { expires: 60 * 60 });
76
+ } catch (s) {
77
+ throw new o(s instanceof Error ? s.message : String(s));
78
+ }
79
+ }
80
+ }
81
+ a(n, "client"), a(n, "createTokenTime", 0), a(n, "expireTime", 15 * 60 * 1e3);
82
+ const S = n.uploadFile.bind(n), f = n.generateSignedUrl.bind(n);
83
+ export {
84
+ o as OssError,
85
+ n as OssUploader,
86
+ f as generateSignedUrl,
87
+ S as uploadFile
88
+ };
89
+ //# sourceMappingURL=oss-uploader.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oss-uploader.mjs","sources":["../../../../packages/utils/src/oss-uploader.ts"],"sourcesContent":["import OSS from 'ali-oss'\n\nexport interface OssCredentials {\n accessKeyId: string\n accessKeySecret: string\n securityToken: string\n}\n\nexport interface OssConfig extends Partial<Omit<OssClientConfig, 'accessKeyId' | 'accessKeySecret' | 'stsToken'>> {\n file: File\n onProgress?: (p: { percent: number }) => void\n path?: string\n getCredentials: () => Promise<OssCredentials | null>\n}\n\nexport interface OssClientConfig {\n accessKeyId: string\n accessKeySecret: string\n stsToken: string\n secure: boolean\n bucket: string\n region: string\n cors: boolean\n useFetch: boolean\n timeout: number\n headers: Record<string, string>\n}\n\n// 定义错误类型\nexport class OssError extends Error {\n constructor(message: string) {\n super(message)\n this.name = 'OssError'\n }\n}\n\nconst ossConfig: OssClientConfig = {\n accessKeyId: '',\n accessKeySecret: '',\n stsToken: '',\n secure: true,\n bucket: 'yao-file-daily',\n region: 'oss-cn-hangzhou',\n cors: true,\n useFetch: false,\n timeout: 60000,\n headers: {\n 'Access-Control-Allow-Origin': '*',\n 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE',\n 'Access-Control-Allow-Headers': '*',\n },\n}\n\nexport class OssUploader {\n private static client: OSS\n private static createTokenTime: number = 0\n private static readonly expireTime = 15 * 60 * 1000\n\n // 获取凭证\n private static async getOssCredentials(getCredentials: OssConfig['getCredentials']): Promise<Required<OssCredentials>> {\n const credentials = await getCredentials()\n if (!credentials) {\n throw new OssError('获取凭证失败')\n }\n return {\n accessKeyId: credentials.accessKeyId,\n accessKeySecret: credentials.accessKeySecret,\n securityToken: credentials.securityToken,\n }\n }\n\n // 修改初始化方法\n public static async initOssClient(getCredentials: OssConfig['getCredentials'], args?: Partial<OssConfig>): Promise<void> {\n const diff = Date.now() - this.createTokenTime\n if (!ossConfig.accessKeyId || diff > this.expireTime) {\n try {\n const { accessKeyId, accessKeySecret, securityToken: stsToken } = await this.getOssCredentials(getCredentials)\n Object.assign(ossConfig, {\n accessKeyId,\n accessKeySecret,\n stsToken,\n ...args,\n refreshSTSToken: async () => {\n return await this.getOssCredentials(getCredentials)\n },\n refreshSTSTokenInterval: 300000,\n })\n this.createTokenTime = Date.now()\n this.client = new OSS(ossConfig)\n }\n catch (error) {\n throw new OssError(error instanceof Error ? error.message : String(error))\n }\n }\n }\n\n // 修改上传方法\n public static async uploadFile(opts: OssConfig & { getCredentials: OssConfig['getCredentials'] }): Promise<OSS.MultipartUploadResult> {\n const { file, onProgress = () => {}, path = 'ksh/pdf', getCredentials } = opts\n\n await this.initOssClient(getCredentials)\n\n try {\n const result = await this.client.multipartUpload(`${path}/${file.name}`, file, {\n progress(p: number) {\n onProgress({ percent: Math.round(p * 100) })\n },\n })\n return result\n }\n catch (error) {\n throw new OssError(error instanceof Error ? error.message : String(error))\n }\n }\n\n // 修改生成签名URL方法\n public static async generateSignedUrl(\n objectKey: string,\n getCredentials: OssConfig['getCredentials'],\n args?: Partial<OssConfig>,\n ): Promise<string> {\n await this.initOssClient(getCredentials, args)\n try {\n return await this.client.signatureUrl(objectKey, { expires: 60 * 60 })\n }\n catch (error) {\n throw new OssError(error instanceof Error ? error.message : String(error))\n }\n }\n}\n\n// 导出便捷方法\nexport const uploadFile = OssUploader.uploadFile.bind(OssUploader)\nexport const generateSignedUrl = OssUploader.generateSignedUrl.bind(OssUploader)\n"],"names":["OssError","message","ossConfig","OssUploader","getCredentials","credentials","args","diff","accessKeyId","accessKeySecret","stsToken","OSS","error","opts","file","onProgress","path","p","objectKey","__publicField","uploadFile","generateSignedUrl"],"mappings":";;;;AA6BO,MAAMA,UAAiB,MAAM;AAAA,EAClC,YAAYC,GAAiB;AAC3B,UAAMA,CAAO,GACb,KAAK,OAAO;AAAA,EAAA;AAEhB;AAEA,MAAMC,IAA6B;AAAA,EACjC,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,UAAU;AAAA,EACV,SAAS;AAAA,EACT,SAAS;AAAA,IACP,+BAA+B;AAAA,IAC/B,gCAAgC;AAAA,IAChC,gCAAgC;AAAA,EAAA;AAEpC;AAEO,MAAMC,EAAY;AAAA;AAAA,EAMvB,aAAqB,kBAAkBC,GAAgF;AAC/G,UAAAC,IAAc,MAAMD,EAAe;AACzC,QAAI,CAACC;AACG,YAAA,IAAIL,EAAS,QAAQ;AAEtB,WAAA;AAAA,MACL,aAAaK,EAAY;AAAA,MACzB,iBAAiBA,EAAY;AAAA,MAC7B,eAAeA,EAAY;AAAA,IAC7B;AAAA,EAAA;AAAA;AAAA,EAIF,aAAoB,cAAcD,GAA6CE,GAA0C;AACvH,UAAMC,IAAO,KAAK,IAAI,IAAI,KAAK;AAC/B,QAAI,CAACL,EAAU,eAAeK,IAAO,KAAK;AACpC,UAAA;AACI,cAAA,EAAE,aAAAC,GAAa,iBAAAC,GAAiB,eAAeC,MAAa,MAAM,KAAK,kBAAkBN,CAAc;AAC7G,eAAO,OAAOF,GAAW;AAAA,UACvB,aAAAM;AAAA,UACA,iBAAAC;AAAA,UACA,UAAAC;AAAA,UACA,GAAGJ;AAAA,UACH,iBAAiB,YACR,MAAM,KAAK,kBAAkBF,CAAc;AAAA,UAEpD,yBAAyB;AAAA,QAAA,CAC1B,GACI,KAAA,kBAAkB,KAAK,IAAI,GAC3B,KAAA,SAAS,IAAIO,EAAIT,CAAS;AAAA,eAE1BU,GAAO;AACN,cAAA,IAAIZ,EAASY,aAAiB,QAAQA,EAAM,UAAU,OAAOA,CAAK,CAAC;AAAA,MAAA;AAAA,EAE7E;AAAA;AAAA,EAIF,aAAoB,WAAWC,GAAuG;AAC9H,UAAA,EAAE,MAAAC,GAAM,YAAAC,IAAa,MAAM;AAAA,IAAI,GAAA,MAAAC,IAAO,WAAW,gBAAAZ,EAAA,IAAmBS;AAEpE,UAAA,KAAK,cAAcT,CAAc;AAEnC,QAAA;AAMK,aALQ,MAAM,KAAK,OAAO,gBAAgB,GAAGY,CAAI,IAAIF,EAAK,IAAI,IAAIA,GAAM;AAAA,QAC7E,SAASG,GAAW;AAClB,UAAAF,EAAW,EAAE,SAAS,KAAK,MAAME,IAAI,GAAG,GAAG;AAAA,QAAA;AAAA,MAC7C,CACD;AAAA,aAGIL,GAAO;AACN,YAAA,IAAIZ,EAASY,aAAiB,QAAQA,EAAM,UAAU,OAAOA,CAAK,CAAC;AAAA,IAAA;AAAA,EAC3E;AAAA;AAAA,EAIF,aAAoB,kBAClBM,GACAd,GACAE,GACiB;AACX,UAAA,KAAK,cAAcF,GAAgBE,CAAI;AACzC,QAAA;AACK,aAAA,MAAM,KAAK,OAAO,aAAaY,GAAW,EAAE,SAAS,KAAK,IAAI;AAAA,aAEhEN,GAAO;AACN,YAAA,IAAIZ,EAASY,aAAiB,QAAQA,EAAM,UAAU,OAAOA,CAAK,CAAC;AAAA,IAAA;AAAA,EAC3E;AAEJ;AA3EEO,EADWhB,GACI,WACfgB,EAFWhB,GAEI,mBAA0B,IACzCgB,EAHWhB,GAGa,cAAa,KAAK,KAAK;AA4E1C,MAAMiB,IAAajB,EAAY,WAAW,KAAKA,CAAW,GACpDkB,IAAoBlB,EAAY,kBAAkB,KAAKA,CAAW;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function o(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}exports.commonjsRequire=o;
2
+ //# sourceMappingURL=_commonjs-dynamic-modules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_commonjs-dynamic-modules.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function e(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}exports.getDefaultExportFromCjs=e;
2
+ //# sourceMappingURL=_commonjsHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_commonjsHelpers.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}