qmwts 1.2.9 → 1.2.11

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/dist/index.d.ts CHANGED
@@ -22,3 +22,4 @@ export { prototype } from './utils/prototype-utils2';
22
22
  export { fileType } from './utils/file-utils2';
23
23
  export { clearValues } from './utils/object-utils2';
24
24
  export { formatDateDiff, formatDateTime, parseDate } from './utils/date-utils';
25
+ export { useKeepAliveInit } from './utils/vue-utils';
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseDate = exports.formatDateTime = exports.formatDateDiff = exports.clearValues = exports.fileType = exports.prototype = exports.findTreeNodes = exports.summation = exports.thousandths = exports.isNumber = exports.sha256Hex = exports.YearMonth = exports.LocalDateTime = exports.LocalDate = exports.StringUtils = exports.FileUtils = exports.ParamBuilder = exports.PrototypeUtils = exports.ObjectUtils = exports.JsonUtils = exports.NumberUtils = exports.Encryptor = exports.Downloader = exports.AxiosInstance = exports.FinanceUtils = exports.ArrayUtils = void 0;
3
+ exports.useKeepAliveInit = exports.parseDate = exports.formatDateTime = exports.formatDateDiff = exports.clearValues = exports.fileType = exports.prototype = exports.findTreeNodes = exports.summation = exports.thousandths = exports.isNumber = exports.sha256Hex = exports.YearMonth = exports.LocalDateTime = exports.LocalDate = exports.StringUtils = exports.FileUtils = exports.ParamBuilder = exports.PrototypeUtils = exports.ObjectUtils = exports.JsonUtils = exports.NumberUtils = exports.Encryptor = exports.Downloader = exports.AxiosInstance = exports.FinanceUtils = exports.ArrayUtils = void 0;
4
4
  var array_utils_1 = require("./utils/array-utils");
5
5
  Object.defineProperty(exports, "ArrayUtils", { enumerable: true, get: function () { return array_utils_1.default; } });
6
6
  var finance_utils_1 = require("./utils/finance-utils");
@@ -49,3 +49,5 @@ var date_utils_1 = require("./utils/date-utils");
49
49
  Object.defineProperty(exports, "formatDateDiff", { enumerable: true, get: function () { return date_utils_1.formatDateDiff; } });
50
50
  Object.defineProperty(exports, "formatDateTime", { enumerable: true, get: function () { return date_utils_1.formatDateTime; } });
51
51
  Object.defineProperty(exports, "parseDate", { enumerable: true, get: function () { return date_utils_1.parseDate; } });
52
+ var vue_utils_1 = require("./utils/vue-utils");
53
+ Object.defineProperty(exports, "useKeepAliveInit", { enumerable: true, get: function () { return vue_utils_1.useKeepAliveInit; } });
@@ -10,13 +10,17 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.sha256Hex = void 0;
13
+ const hash_wasm_1 = require("hash-wasm");
13
14
  const sha256Hex = (file) => __awaiter(void 0, void 0, void 0, function* () {
14
- // 1. 将文件读取为 ArrayBuffer
15
- const arrayBuffer = yield file.arrayBuffer();
16
- // 2. 使用 SubtleCrypto 计算 SHA256 哈希
17
- const hashBuffer = yield window.crypto.subtle.digest('SHA-256', arrayBuffer);
18
- // 3. ArrayBuffer 转换为十六进制字符串(核心转换逻辑)
19
- const hashArray = Array.from(new Uint8Array(hashBuffer));
20
- return hashArray.map(byte => byte.toString(16).padStart(2, '0')).join('');
15
+ const hasher = yield (0, hash_wasm_1.createSHA256)();
16
+ const chunkSize = 2 * 1024 * 1024; // 2MB
17
+ let offset = 0;
18
+ while (offset < file.size) {
19
+ const chunk = file.slice(offset, offset + chunkSize);
20
+ const buffer = yield chunk.arrayBuffer();
21
+ hasher.update(new Uint8Array(buffer));
22
+ offset += chunkSize;
23
+ }
24
+ return hasher.digest('hex');
21
25
  });
22
26
  exports.sha256Hex = sha256Hex;
@@ -0,0 +1,8 @@
1
+ interface Options {
2
+ /** 首次进入页面执行 */
3
+ mounted: () => void | Promise<void>;
4
+ /** 再次进入页面执行(组件被 keep-alive 缓存后) */
5
+ activated: () => void | Promise<void>;
6
+ }
7
+ export declare const useKeepAliveInit: (options: Options) => void;
8
+ export {};
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.useKeepAliveInit = void 0;
13
+ const vue_1 = require("vue");
14
+ const useKeepAliveInit = (options) => {
15
+ const initialized = (0, vue_1.ref)(false);
16
+ (0, vue_1.onMounted)(() => __awaiter(void 0, void 0, void 0, function* () {
17
+ yield options.mounted();
18
+ initialized.value = true;
19
+ }));
20
+ (0, vue_1.onActivated)(() => __awaiter(void 0, void 0, void 0, function* () {
21
+ // 跳过首次激活,因为 onMounted 后会紧跟一次 onActivated
22
+ if (initialized.value)
23
+ yield options.activated();
24
+ }));
25
+ };
26
+ exports.useKeepAliveInit = useKeepAliveInit;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "qmwts",
3
- "version": "1.2.9",
3
+ "version": "1.2.11",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -21,11 +21,13 @@
21
21
  "dist"
22
22
  ],
23
23
  "dependencies": {
24
+ "hash-wasm": "^4.12.0",
24
25
  "jszip": "^3.10.1",
25
26
  "lodash-es": "^4.17.22",
26
27
  "luxon": "^3.7.2"
27
28
  },
28
29
  "peerDependencies": {
29
- "axios": "^1.12.2"
30
+ "axios": "^1.13.6",
31
+ "vue": "^3.5.30"
30
32
  }
31
33
  }