hookehuyr

生成瓦片图优化,直接生成压缩包下载

...@@ -42,12 +42,14 @@ ...@@ -42,12 +42,14 @@
42 "dayjs": "^1.11.3", 42 "dayjs": "^1.11.3",
43 "default-passive-events": "^2.0.0", 43 "default-passive-events": "^2.0.0",
44 "element-plus": "^2.9.3", 44 "element-plus": "^2.9.3",
45 + "file-saver": "^2.0.5",
45 "font-awesome": "^4.7.0", 46 "font-awesome": "^4.7.0",
46 "global": "^4.4.0", 47 "global": "^4.4.0",
47 "html-to-json-parser": "^1.1.0", 48 "html-to-json-parser": "^1.1.0",
48 "html2canvas": "^1.4.1", 49 "html2canvas": "^1.4.1",
49 "jquery": "^3.6.0", 50 "jquery": "^3.6.0",
50 "js-cookie": "^3.0.1", 51 "js-cookie": "^3.0.1",
52 + "jszip": "^3.10.1",
51 "lodash": "^4.17.21", 53 "lodash": "^4.17.21",
52 "mockjs": "^1.1.0", 54 "mockjs": "^1.1.0",
53 "moment": "^2.29.3", 55 "moment": "^2.29.3",
......
1 /* 1 /*
2 * @Date: 2025-01-22 11:45:30 2 * @Date: 2025-01-22 11:45:30
3 * @LastEditors: hookehuyr hookehuyr@gmail.com 3 * @LastEditors: hookehuyr hookehuyr@gmail.com
4 - * @LastEditTime: 2025-01-23 16:38:00 4 + * @LastEditTime: 2025-01-24 16:56:06
5 * @FilePath: /map-demo/src/utils/TileCutter.js 5 * @FilePath: /map-demo/src/utils/TileCutter.js
6 * @Description: 文件描述 6 * @Description: 文件描述
7 */ 7 */
8 +import JSZip from "jszip";
9 +import { saveAs } from "file-saver";
10 +
8 const tileSize = 512; 11 const tileSize = 512;
9 12
10 export function TileCutter(imageURL, bounds, zoomLevel) { 13 export function TileCutter(imageURL, bounds, zoomLevel) {
...@@ -58,6 +61,10 @@ function sliceImageToTiles(image, bounds, zoomLevel) { ...@@ -58,6 +61,10 @@ function sliceImageToTiles(image, bounds, zoomLevel) {
58 61
59 ctx.scale(scaleFactor, scaleFactor); 62 ctx.scale(scaleFactor, scaleFactor);
60 63
64 + const zip = new JSZip(); // 创建一个 JSZip 实例,用来打包所有瓦片
65 +
66 + let tileIndex = 0; // 瓦片索引,用来给每个瓦片命名
67 +
61 for (let x = 0; x < cols; x++) { 68 for (let x = 0; x < cols; x++) {
62 for (let y = 0; y < rows; y++) { 69 for (let y = 0; y < rows; y++) {
63 ctx.clearRect(0, 0, tileSize, tileSize); 70 ctx.clearRect(0, 0, tileSize, tileSize);
...@@ -76,7 +83,16 @@ function sliceImageToTiles(image, bounds, zoomLevel) { ...@@ -76,7 +83,16 @@ function sliceImageToTiles(image, bounds, zoomLevel) {
76 const tileX = tileStartX + x; 83 const tileX = tileStartX + x;
77 const tileY = tileStartY + y; 84 const tileY = tileStartY + y;
78 // console.warn(`保存瓦片: ${tileX}_${tileY}_${zoomLevel}.png`); 85 // console.warn(`保存瓦片: ${tileX}_${tileY}_${zoomLevel}.png`);
79 - saveTile(blob, `${tileX}_${tileY}_${zoomLevel}.png`); 86 + // saveTile(blob, `${tileX}_${tileY}_${zoomLevel}.png`);
87 +
88 + // 使用 JSZip 将每个瓦片添加到压缩包中
89 + zip.file(`${tileX}_${tileY}_${zoomLevel}.png`, blob);
90 + tileIndex++;
91 +
92 + // 如果所有瓦片都处理完,生成并下载压缩包
93 + if (tileIndex === cols * rows) {
94 + generateAndDownloadZip(zip, zoomLevel);
95 + }
80 }, "image/png", 1.0); 96 }, "image/png", 1.0);
81 } 97 }
82 } 98 }
...@@ -100,3 +116,11 @@ function saveTile(blob, filename) { ...@@ -100,3 +116,11 @@ function saveTile(blob, filename) {
100 link.click(); 116 link.click();
101 document.body.removeChild(link); 117 document.body.removeChild(link);
102 } 118 }
119 +
120 +// 生成并下载压缩包
121 +function generateAndDownloadZip(zip, zoomLevel) {
122 + zip.generateAsync({ type: "blob" }).then((content) => {
123 + // 使用 FileSaver.js 下载压缩包
124 + saveAs(content, `${zoomLevel}级瓦片切片包.zip`);
125 + });
126 +}
......
1 <!-- 1 <!--
2 * @Date: 2025-01-22 11:40:12 2 * @Date: 2025-01-22 11:40:12
3 * @LastEditors: hookehuyr hookehuyr@gmail.com 3 * @LastEditors: hookehuyr hookehuyr@gmail.com
4 - * @LastEditTime: 2025-01-23 16:32:53 4 + * @LastEditTime: 2025-01-24 16:57:47
5 * @FilePath: /map-demo/src/views/mapCutter.vue 5 * @FilePath: /map-demo/src/views/mapCutter.vue
6 * @Description: 文件描述 6 * @Description: 文件描述
7 --> 7 -->
...@@ -249,12 +249,12 @@ const onZoomChange = (value) => { // 调整地图图层 ...@@ -249,12 +249,12 @@ const onZoomChange = (value) => { // 调整地图图层
249 249
250 const onLBRangeBlur = () => { 250 const onLBRangeBlur = () => {
251 const str = map_left_bottom_range.value; 251 const str = map_left_bottom_range.value;
252 - const formattedArray = str.split(',').map(Number); 252 + const formattedArray = str?.split(',').map(Number);
253 map_left_bottom_range.value = formattedArray; 253 map_left_bottom_range.value = formattedArray;
254 } 254 }
255 const onRTRangeBlur = () => { 255 const onRTRangeBlur = () => {
256 const str = map_right_top_range.value; 256 const str = map_right_top_range.value;
257 - const formattedArray = str.split(',').map(Number); 257 + const formattedArray = str?.split(',').map(Number);
258 map_right_top_range.value = formattedArray; 258 map_right_top_range.value = formattedArray;
259 } 259 }
260 260
......
...@@ -1050,6 +1050,11 @@ core-util-is@1.0.2: ...@@ -1050,6 +1050,11 @@ core-util-is@1.0.2:
1050 resolved "https://mirrors.cloud.tencent.com/npm/core-util-is/-/core-util-is-1.0.2.tgz" 1050 resolved "https://mirrors.cloud.tencent.com/npm/core-util-is/-/core-util-is-1.0.2.tgz"
1051 integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= 1051 integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
1052 1052
1053 +core-util-is@~1.0.0:
1054 + version "1.0.3"
1055 + resolved "https://mirrors.cloud.tencent.com/npm/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
1056 + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
1057 +
1053 cross-spawn@^7.0.0: 1058 cross-spawn@^7.0.0:
1054 version "7.0.3" 1059 version "7.0.3"
1055 resolved "https://mirrors.cloud.tencent.com/npm/cross-spawn/-/cross-spawn-7.0.3.tgz" 1060 resolved "https://mirrors.cloud.tencent.com/npm/cross-spawn/-/cross-spawn-7.0.3.tgz"
...@@ -1575,6 +1580,11 @@ figures@^3.2.0: ...@@ -1575,6 +1580,11 @@ figures@^3.2.0:
1575 dependencies: 1580 dependencies:
1576 escape-string-regexp "^1.0.5" 1581 escape-string-regexp "^1.0.5"
1577 1582
1583 +file-saver@^2.0.5:
1584 + version "2.0.5"
1585 + resolved "https://mirrors.cloud.tencent.com/npm/file-saver/-/file-saver-2.0.5.tgz#d61cfe2ce059f414d899e9dd6d4107ee25670c38"
1586 + integrity sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==
1587 +
1578 fill-range@^7.0.1: 1588 fill-range@^7.0.1:
1579 version "7.0.1" 1589 version "7.0.1"
1580 resolved "https://mirrors.cloud.tencent.com/npm/fill-range/-/fill-range-7.0.1.tgz" 1590 resolved "https://mirrors.cloud.tencent.com/npm/fill-range/-/fill-range-7.0.1.tgz"
...@@ -1850,6 +1860,11 @@ image-size@~0.5.0: ...@@ -1850,6 +1860,11 @@ image-size@~0.5.0:
1850 resolved "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz" 1860 resolved "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz"
1851 integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w= 1861 integrity sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=
1852 1862
1863 +immediate@~3.0.5:
1864 + version "3.0.6"
1865 + resolved "https://mirrors.cloud.tencent.com/npm/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b"
1866 + integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==
1867 +
1853 indent-string@^4.0.0: 1868 indent-string@^4.0.0:
1854 version "4.0.0" 1869 version "4.0.0"
1855 resolved "https://mirrors.cloud.tencent.com/npm/indent-string/-/indent-string-4.0.0.tgz" 1870 resolved "https://mirrors.cloud.tencent.com/npm/indent-string/-/indent-string-4.0.0.tgz"
...@@ -1868,7 +1883,7 @@ inflight@^1.0.4: ...@@ -1868,7 +1883,7 @@ inflight@^1.0.4:
1868 once "^1.3.0" 1883 once "^1.3.0"
1869 wrappy "1" 1884 wrappy "1"
1870 1885
1871 -inherits@2: 1886 +inherits@2, inherits@~2.0.3:
1872 version "2.0.4" 1887 version "2.0.4"
1873 resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" 1888 resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
1874 integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1889 integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
...@@ -1969,6 +1984,11 @@ is-what@^3.14.1: ...@@ -1969,6 +1984,11 @@ is-what@^3.14.1:
1969 resolved "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz" 1984 resolved "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz"
1970 integrity sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA== 1985 integrity sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==
1971 1986
1987 +isarray@~1.0.0:
1988 + version "1.0.0"
1989 + resolved "https://mirrors.cloud.tencent.com/npm/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
1990 + integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==
1991 +
1972 isexe@^2.0.0: 1992 isexe@^2.0.0:
1973 version "2.0.0" 1993 version "2.0.0"
1974 resolved "https://mirrors.cloud.tencent.com/npm/isexe/-/isexe-2.0.0.tgz" 1994 resolved "https://mirrors.cloud.tencent.com/npm/isexe/-/isexe-2.0.0.tgz"
...@@ -2048,6 +2068,16 @@ jsprim@^2.0.2: ...@@ -2048,6 +2068,16 @@ jsprim@^2.0.2:
2048 json-schema "0.4.0" 2068 json-schema "0.4.0"
2049 verror "1.10.0" 2069 verror "1.10.0"
2050 2070
2071 +jszip@^3.10.1:
2072 + version "3.10.1"
2073 + resolved "https://mirrors.cloud.tencent.com/npm/jszip/-/jszip-3.10.1.tgz#34aee70eb18ea1faec2f589208a157d1feb091c2"
2074 + integrity sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==
2075 + dependencies:
2076 + lie "~3.3.0"
2077 + pako "~1.0.2"
2078 + readable-stream "~2.3.6"
2079 + setimmediate "^1.0.5"
2080 +
2051 keycode@2.2.0: 2081 keycode@2.2.0:
2052 version "2.2.0" 2082 version "2.2.0"
2053 resolved "https://mirrors.cloud.tencent.com/npm/keycode/-/keycode-2.2.0.tgz" 2083 resolved "https://mirrors.cloud.tencent.com/npm/keycode/-/keycode-2.2.0.tgz"
...@@ -2082,6 +2112,13 @@ less@^4.1.2: ...@@ -2082,6 +2112,13 @@ less@^4.1.2:
2082 needle "^2.5.2" 2112 needle "^2.5.2"
2083 source-map "~0.6.0" 2113 source-map "~0.6.0"
2084 2114
2115 +lie@~3.3.0:
2116 + version "3.3.0"
2117 + resolved "https://mirrors.cloud.tencent.com/npm/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a"
2118 + integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==
2119 + dependencies:
2120 + immediate "~3.0.5"
2121 +
2085 listr2@^3.8.3: 2122 listr2@^3.8.3:
2086 version "3.14.0" 2123 version "3.14.0"
2087 resolved "https://mirrors.cloud.tencent.com/npm/listr2/-/listr2-3.14.0.tgz" 2124 resolved "https://mirrors.cloud.tencent.com/npm/listr2/-/listr2-3.14.0.tgz"
...@@ -2500,6 +2537,11 @@ p-map@^4.0.0: ...@@ -2500,6 +2537,11 @@ p-map@^4.0.0:
2500 dependencies: 2537 dependencies:
2501 aggregate-error "^3.0.0" 2538 aggregate-error "^3.0.0"
2502 2539
2540 +pako@~1.0.2:
2541 + version "1.0.11"
2542 + resolved "https://mirrors.cloud.tencent.com/npm/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf"
2543 + integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==
2544 +
2503 param-case@^3.0.4: 2545 param-case@^3.0.4:
2504 version "3.0.4" 2546 version "3.0.4"
2505 resolved "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz" 2547 resolved "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz"
...@@ -2661,6 +2703,11 @@ pretty-bytes@^5.6.0: ...@@ -2661,6 +2703,11 @@ pretty-bytes@^5.6.0:
2661 resolved "https://mirrors.cloud.tencent.com/npm/pretty-bytes/-/pretty-bytes-5.6.0.tgz" 2703 resolved "https://mirrors.cloud.tencent.com/npm/pretty-bytes/-/pretty-bytes-5.6.0.tgz"
2662 integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== 2704 integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==
2663 2705
2706 +process-nextick-args@~2.0.0:
2707 + version "2.0.1"
2708 + resolved "https://mirrors.cloud.tencent.com/npm/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
2709 + integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
2710 +
2664 process@^0.11.10: 2711 process@^0.11.10:
2665 version "0.11.10" 2712 version "0.11.10"
2666 resolved "https://mirrors.cloud.tencent.com/npm/process/-/process-0.11.10.tgz" 2713 resolved "https://mirrors.cloud.tencent.com/npm/process/-/process-0.11.10.tgz"
...@@ -2713,6 +2760,19 @@ randombytes@^2.1.0: ...@@ -2713,6 +2760,19 @@ randombytes@^2.1.0:
2713 dependencies: 2760 dependencies:
2714 safe-buffer "^5.1.0" 2761 safe-buffer "^5.1.0"
2715 2762
2763 +readable-stream@~2.3.6:
2764 + version "2.3.8"
2765 + resolved "https://mirrors.cloud.tencent.com/npm/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b"
2766 + integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==
2767 + dependencies:
2768 + core-util-is "~1.0.0"
2769 + inherits "~2.0.3"
2770 + isarray "~1.0.0"
2771 + process-nextick-args "~2.0.0"
2772 + safe-buffer "~5.1.1"
2773 + string_decoder "~1.1.1"
2774 + util-deprecate "~1.0.1"
2775 +
2716 readdirp@~3.6.0: 2776 readdirp@~3.6.0:
2717 version "3.6.0" 2777 version "3.6.0"
2718 resolved "https://mirrors.cloud.tencent.com/npm/readdirp/-/readdirp-3.6.0.tgz" 2778 resolved "https://mirrors.cloud.tencent.com/npm/readdirp/-/readdirp-3.6.0.tgz"
...@@ -2809,6 +2869,11 @@ safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2: ...@@ -2809,6 +2869,11 @@ safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2:
2809 resolved "https://mirrors.cloud.tencent.com/npm/safe-buffer/-/safe-buffer-5.2.1.tgz" 2869 resolved "https://mirrors.cloud.tencent.com/npm/safe-buffer/-/safe-buffer-5.2.1.tgz"
2810 integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 2870 integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
2811 2871
2872 +safe-buffer@~5.1.0, safe-buffer@~5.1.1:
2873 + version "5.1.2"
2874 + resolved "https://mirrors.cloud.tencent.com/npm/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
2875 + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
2876 +
2812 safe-json-parse@4.0.0: 2877 safe-json-parse@4.0.0:
2813 version "4.0.0" 2878 version "4.0.0"
2814 resolved "https://mirrors.cloud.tencent.com/npm/safe-json-parse/-/safe-json-parse-4.0.0.tgz" 2879 resolved "https://mirrors.cloud.tencent.com/npm/safe-json-parse/-/safe-json-parse-4.0.0.tgz"
...@@ -2859,6 +2924,11 @@ serialize-javascript@6.0.0: ...@@ -2859,6 +2924,11 @@ serialize-javascript@6.0.0:
2859 dependencies: 2924 dependencies:
2860 randombytes "^2.1.0" 2925 randombytes "^2.1.0"
2861 2926
2927 +setimmediate@^1.0.5:
2928 + version "1.0.5"
2929 + resolved "https://mirrors.cloud.tencent.com/npm/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
2930 + integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==
2931 +
2862 shebang-command@^2.0.0: 2932 shebang-command@^2.0.0:
2863 version "2.0.0" 2933 version "2.0.0"
2864 resolved "https://mirrors.cloud.tencent.com/npm/shebang-command/-/shebang-command-2.0.0.tgz" 2934 resolved "https://mirrors.cloud.tencent.com/npm/shebang-command/-/shebang-command-2.0.0.tgz"
...@@ -2960,6 +3030,13 @@ string-width@^4.1.0, string-width@^4.2.0: ...@@ -2960,6 +3030,13 @@ string-width@^4.1.0, string-width@^4.2.0:
2960 is-fullwidth-code-point "^3.0.0" 3030 is-fullwidth-code-point "^3.0.0"
2961 strip-ansi "^6.0.1" 3031 strip-ansi "^6.0.1"
2962 3032
3033 +string_decoder@~1.1.1:
3034 + version "1.1.1"
3035 + resolved "https://mirrors.cloud.tencent.com/npm/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
3036 + integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
3037 + dependencies:
3038 + safe-buffer "~5.1.0"
3039 +
2963 strip-ansi@^6.0.0, strip-ansi@^6.0.1: 3040 strip-ansi@^6.0.0, strip-ansi@^6.0.1:
2964 version "6.0.1" 3041 version "6.0.1"
2965 resolved "https://mirrors.cloud.tencent.com/npm/strip-ansi/-/strip-ansi-6.0.1.tgz" 3042 resolved "https://mirrors.cloud.tencent.com/npm/strip-ansi/-/strip-ansi-6.0.1.tgz"
...@@ -3259,7 +3336,7 @@ url-toolkit@^2.2.1: ...@@ -3259,7 +3336,7 @@ url-toolkit@^2.2.1:
3259 resolved "https://mirrors.cloud.tencent.com/npm/url-toolkit/-/url-toolkit-2.2.5.tgz" 3336 resolved "https://mirrors.cloud.tencent.com/npm/url-toolkit/-/url-toolkit-2.2.5.tgz"
3260 integrity sha512-mtN6xk+Nac+oyJ/PrI7tzfmomRVNFIWKUbG8jdYFt52hxbiReFAXIjYskvu64/dvuW71IcB7lV8l0HvZMac6Jg== 3337 integrity sha512-mtN6xk+Nac+oyJ/PrI7tzfmomRVNFIWKUbG8jdYFt52hxbiReFAXIjYskvu64/dvuW71IcB7lV8l0HvZMac6Jg==
3261 3338
3262 -util-deprecate@^1.0.2: 3339 +util-deprecate@^1.0.2, util-deprecate@~1.0.1:
3263 version "1.0.2" 3340 version "1.0.2"
3264 resolved "https://mirrors.cloud.tencent.com/npm/util-deprecate/-/util-deprecate-1.0.2.tgz" 3341 resolved "https://mirrors.cloud.tencent.com/npm/util-deprecate/-/util-deprecate-1.0.2.tgz"
3265 integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 3342 integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
......