qmwts 1.2.10 → 1.2.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.
package/dist/index.d.ts CHANGED
@@ -23,3 +23,4 @@ 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
25
  export { useKeepAliveInit } from './utils/vue-utils';
26
+ export { debounce } from './utils/common';
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
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;
3
+ exports.debounce = 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");
@@ -51,3 +51,5 @@ Object.defineProperty(exports, "formatDateTime", { enumerable: true, get: functi
51
51
  Object.defineProperty(exports, "parseDate", { enumerable: true, get: function () { return date_utils_1.parseDate; } });
52
52
  var vue_utils_1 = require("./utils/vue-utils");
53
53
  Object.defineProperty(exports, "useKeepAliveInit", { enumerable: true, get: function () { return vue_utils_1.useKeepAliveInit; } });
54
+ var common_1 = require("./utils/common");
55
+ Object.defineProperty(exports, "debounce", { enumerable: true, get: function () { return common_1.debounce; } });
@@ -0,0 +1,2 @@
1
+ declare const instance: import("axios").AxiosInstance;
2
+ export default instance;
@@ -0,0 +1,50 @@
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
+ const axios_1 = require("axios");
13
+ const param_builder_1 = require("./param-builder");
14
+ // post 默认application/json
15
+ // post 使用URLSearchParams自动变为application/x-www-form-urlencoded;charset=UTF-8
16
+ // post 使用FormData自动变为multipart/form-data
17
+ // get 默认无
18
+ // get 使用URLSearchParams默认无
19
+ // get 无法使用FormData
20
+ const instance = axios_1.default.create({});
21
+ instance.interceptors.request.use(request => {
22
+ request.data = param_builder_1.default.buildData(request.data);
23
+ request.params = param_builder_1.default.buildParams(request.params);
24
+ return request;
25
+ }, error => {
26
+ return Promise.reject(error);
27
+ });
28
+ instance.interceptors.response.use((response) => __awaiter(void 0, void 0, void 0, function* () {
29
+ if (response.config.responseType === 'blob') {
30
+ const { data } = response;
31
+ if (data.type === 'application/x-download') { // 不是json说明下载成功
32
+ const file = new File([data], decodeURI(response.headers['content-disposition'].split('filename=')[1]));
33
+ const a = document.createElement('a');
34
+ a.href = URL.createObjectURL(file);
35
+ a.download = file.name;
36
+ a.click();
37
+ // 释放
38
+ URL.revokeObjectURL(a.href);
39
+ a.remove();
40
+ return Promise.resolve(response);
41
+ }
42
+ else if (data.type === 'application/json') { // 是json说明有报错
43
+ response.data = yield new Response(data).json();
44
+ }
45
+ }
46
+ return response;
47
+ }), error => {
48
+ return Promise.reject(error);
49
+ });
50
+ exports.default = instance;
@@ -0,0 +1,6 @@
1
+ export declare const debounce: <T extends (...args: any[]) => any>(fn: T, delay?: number, immediate?: boolean) => {
2
+ (this: ThisParameterType<T>, ...args: Parameters<T>): void;
3
+ cancel(): void;
4
+ } & {
5
+ cancel: () => void;
6
+ };
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.debounce = void 0;
4
+ const debounce = (fn, delay = 300, immediate = false) => {
5
+ let timer = null;
6
+ const debounced = function (...args) {
7
+ const callNow = immediate && !timer;
8
+ if (timer) {
9
+ clearTimeout(timer);
10
+ }
11
+ timer = setTimeout(() => {
12
+ timer = null;
13
+ if (!immediate) {
14
+ fn.apply(this, args);
15
+ }
16
+ }, delay);
17
+ if (callNow) {
18
+ fn.apply(this, args);
19
+ }
20
+ };
21
+ debounced.cancel = () => {
22
+ if (timer) {
23
+ clearTimeout(timer);
24
+ timer = null;
25
+ }
26
+ };
27
+ return debounced;
28
+ };
29
+ exports.debounce = debounce;
@@ -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;
@@ -6,12 +6,9 @@ exports.default = {
6
6
  if (Array.isArray(value))
7
7
  for (const i of value)
8
8
  params.append(key, i);
9
- else if (isValidValue(value))
9
+ else if (value != null)
10
10
  params.append(key, value);
11
11
  }
12
12
  return params;
13
13
  }
14
14
  };
15
- function isValidValue(value) {
16
- return value !== null && value !== void 0;
17
- }
@@ -0,0 +1,4 @@
1
+ declare const _default: {
2
+ uuid(): string;
3
+ };
4
+ export default _default;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = {
4
+ uuid: function () {
5
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
6
+ var r = (Math.random() * 16) | 0;
7
+ var v = c === 'x' ? r : (r & 0x3) | 0x8;
8
+ return v.toString(16);
9
+ });
10
+ }
11
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "qmwts",
3
- "version": "1.2.10",
3
+ "version": "1.2.12",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -21,6 +21,7 @@
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"
@@ -1,2 +0,0 @@
1
- import axios from 'axios';
2
- export default axios;
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var axios_1 = require("axios");
4
- axios_1.default.interceptors.request.use(function (request) {
5
- console.log('request');
6
- return request;
7
- }, function (error) {
8
- console.log('request error');
9
- return Promise.reject(error);
10
- });
11
- axios_1.default.interceptors.response.use(function (response) {
12
- console.log('response');
13
- return response;
14
- }, function (error) {
15
- console.log('response error');
16
- return Promise.reject(error);
17
- });
18
- exports.default = axios_1.default;