Commit e6093aa4f48f3b3c16b1640c56512e6e3cf84c4b

Authored by 陈文彬
1 parent 2f268ca8

feat(img-preview): add imgPreview componnt

package.json
@@ -26,11 +26,11 @@ @@ -26,11 +26,11 @@
26 "lodash-es": "^4.17.15", 26 "lodash-es": "^4.17.15",
27 "mockjs": "^1.1.0", 27 "mockjs": "^1.1.0",
28 "nprogress": "^0.2.0", 28 "nprogress": "^0.2.0",
29 - "path-to-regexp": "^6.1.0", 29 + "path-to-regexp": "^6.2.0",
30 "qrcode": "^1.4.4", 30 "qrcode": "^1.4.4",
31 "vue": "^3.0.0", 31 "vue": "^3.0.0",
32 - "vue-i18n": "^9.0.0-beta.3",  
33 - "vue-router": "^4.0.0-beta.12", 32 + "vue-i18n": "^9.0.0-beta.4",
  33 + "vue-router": "^4.0.0-beta.13",
34 "vuex": "^4.0.0-beta.4", 34 "vuex": "^4.0.0-beta.4",
35 "vuex-module-decorators": "^1.0.1", 35 "vuex-module-decorators": "^1.0.1",
36 "zxcvbn": "^4.4.2" 36 "zxcvbn": "^4.4.2"
@@ -51,8 +51,8 @@ @@ -51,8 +51,8 @@
51 "@types/rollup-plugin-visualizer": "^2.6.0", 51 "@types/rollup-plugin-visualizer": "^2.6.0",
52 "@types/shelljs": "^0.8.8", 52 "@types/shelljs": "^0.8.8",
53 "@types/zxcvbn": "^4.4.0", 53 "@types/zxcvbn": "^4.4.0",
54 - "@typescript-eslint/eslint-plugin": "^4.2.0",  
55 - "@typescript-eslint/parser": "^4.2.0", 54 + "@typescript-eslint/eslint-plugin": "^4.4.0",
  55 + "@typescript-eslint/parser": "^4.4.0",
56 "@vue/compiler-sfc": "^3.0.0", 56 "@vue/compiler-sfc": "^3.0.0",
57 "autoprefixer": "^9.8.6", 57 "autoprefixer": "^9.8.6",
58 "babel-plugin-import": "^1.13.0", 58 "babel-plugin-import": "^1.13.0",
@@ -63,7 +63,7 @@ @@ -63,7 +63,7 @@
63 "eslint": "^7.10.0", 63 "eslint": "^7.10.0",
64 "eslint-config-prettier": "^6.12.0", 64 "eslint-config-prettier": "^6.12.0",
65 "eslint-plugin-prettier": "^3.1.4", 65 "eslint-plugin-prettier": "^3.1.4",
66 - "eslint-plugin-vue": "^7.0.0-beta.4", 66 + "eslint-plugin-vue": "^7.0.1",
67 "fs-extra": "^9.0.1", 67 "fs-extra": "^9.0.1",
68 "husky": "^4.3.0", 68 "husky": "^4.3.0",
69 "inquirer": "^7.3.3", 69 "inquirer": "^7.3.3",
src/components/Drawer/src/index.less
1 @import (reference) '../../../design/index.less'; 1 @import (reference) '../../../design/index.less';
2 -@header-height: 50px; 2 +@header-height: 40px;
3 @footer-height: 60px; 3 @footer-height: 60px;
4 4
5 .basic-drawer { 5 .basic-drawer {
src/components/Preview/src/index.tsx
1 -import { defineComponent, ref, unref, computed, reactive, watch } from 'vue';  
2 -  
3 -import { FadeTransition } from '/@/components/Transition/index'; 1 +import { defineComponent, ref, unref, computed, reactive, watchEffect } from 'vue';
4 2
5 import { basicProps } from './props'; 3 import { basicProps } from './props';
6 import { Props } from './types'; 4 import { Props } from './types';
@@ -11,9 +9,9 @@ import { CloseOutlined, LeftOutlined, RightOutlined } from '@ant-design/icons-vu @@ -11,9 +9,9 @@ import { CloseOutlined, LeftOutlined, RightOutlined } from '@ant-design/icons-vu
11 import resumeSvg from '/@/assets/svg/preview/resume.svg'; 9 import resumeSvg from '/@/assets/svg/preview/resume.svg';
12 import rotateSvg from '/@/assets/svg/preview/p-rotate.svg'; 10 import rotateSvg from '/@/assets/svg/preview/p-rotate.svg';
13 import scaleSvg from '/@/assets/svg/preview/scale.svg'; 11 import scaleSvg from '/@/assets/svg/preview/scale.svg';
14 -import unscaleSvg from '/@/assets/svg/preview/unscale.svg'; 12 +import unScaleSvg from '/@/assets/svg/preview/unscale.svg';
15 import loadingSvg from '/@/assets/images/loading.svg'; 13 import loadingSvg from '/@/assets/images/loading.svg';
16 -import unrotateSvg from '/@/assets/svg/preview/unrotate.svg'; 14 +import unRotateSvg from '/@/assets/svg/preview/unrotate.svg';
17 enum StatueEnum { 15 enum StatueEnum {
18 LOADING, 16 LOADING,
19 DONE, 17 DONE,
@@ -29,6 +27,7 @@ interface ImgState { @@ -29,6 +27,7 @@ interface ImgState {
29 status: StatueEnum; 27 status: StatueEnum;
30 moveX: number; 28 moveX: number;
31 moveY: number; 29 moveY: number;
  30 + show: boolean;
32 } 31 }
33 32
34 const prefixCls = 'img-preview'; 33 const prefixCls = 'img-preview';
@@ -46,7 +45,9 @@ export default defineComponent({ @@ -46,7 +45,9 @@ export default defineComponent({
46 currentIndex: 0, 45 currentIndex: 0,
47 moveX: 0, 46 moveX: 0,
48 moveY: 0, 47 moveY: 0,
  48 + show: props.show,
49 }); 49 });
  50 +
50 const wrapElRef = ref<HTMLDivElement | null>(null); 51 const wrapElRef = ref<HTMLDivElement | null>(null);
51 const imgElRef = ref<HTMLImageElement | null>(null); 52 const imgElRef = ref<HTMLImageElement | null>(null);
52 53
@@ -133,16 +134,15 @@ export default defineComponent({ @@ -133,16 +134,15 @@ export default defineComponent({
133 } 134 }
134 135
135 // 关闭 136 // 关闭
136 - function handleClose() {  
137 - const { instance } = props;  
138 - if (instance) {  
139 - instance.show = false;  
140 - } 137 + function handleClose(e: MouseEvent) {
  138 + e && e.stopPropagation();
  139 + imgState.show = false;
141 // 移除火狐浏览器下的鼠标滚动事件 140 // 移除火狐浏览器下的鼠标滚动事件
142 document.body.removeEventListener('DOMMouseScroll', scrollFunc); 141 document.body.removeEventListener('DOMMouseScroll', scrollFunc);
143 // 恢复火狐及Safari浏览器下的图片拖拽 142 // 恢复火狐及Safari浏览器下的图片拖拽
144 document.ondragstart = null; 143 document.ondragstart = null;
145 } 144 }
  145 +
146 // 图片复原 146 // 图片复原
147 function resume() { 147 function resume() {
148 initState(); 148 initState();
@@ -202,26 +202,15 @@ export default defineComponent({ @@ -202,26 +202,15 @@ export default defineComponent({
202 const { imageList } = props; 202 const { imageList } = props;
203 return imageList.length > 1; 203 return imageList.length > 1;
204 }); 204 });
205 - watch(  
206 - () => props.show,  
207 - (show) => {  
208 - if (show) {  
209 - init();  
210 - }  
211 - },  
212 - {  
213 - immediate: true, 205 +
  206 + watchEffect(() => {
  207 + if (props.show) {
  208 + init();
214 } 209 }
215 - );  
216 - watch(  
217 - () => props.imageList,  
218 - () => { 210 + if (props.imageList) {
219 initState(); 211 initState();
220 - },  
221 - {  
222 - immediate: true,  
223 } 212 }
224 - ); 213 + });
225 214
226 const renderClose = () => { 215 const renderClose = () => {
227 return ( 216 return (
@@ -247,7 +236,7 @@ export default defineComponent({ @@ -247,7 +236,7 @@ export default defineComponent({
247 return ( 236 return (
248 <div class={`${prefixCls}__controller`}> 237 <div class={`${prefixCls}__controller`}>
249 <div class={`${prefixCls}__controller-item`} onClick={() => scaleFunc(-0.15)}> 238 <div class={`${prefixCls}__controller-item`} onClick={() => scaleFunc(-0.15)}>
250 - <img src={unscaleSvg} /> 239 + <img src={unScaleSvg} />
251 </div> 240 </div>
252 <div class={`${prefixCls}__controller-item`} onClick={() => scaleFunc(0.15)}> 241 <div class={`${prefixCls}__controller-item`} onClick={() => scaleFunc(0.15)}>
253 <img src={scaleSvg} /> 242 <img src={scaleSvg} />
@@ -256,7 +245,7 @@ export default defineComponent({ @@ -256,7 +245,7 @@ export default defineComponent({
256 <img src={resumeSvg} /> 245 <img src={resumeSvg} />
257 </div> 246 </div>
258 <div class={`${prefixCls}__controller-item`} onClick={() => rotateFunc(-90)}> 247 <div class={`${prefixCls}__controller-item`} onClick={() => rotateFunc(-90)}>
259 - <img src={unrotateSvg} /> 248 + <img src={unRotateSvg} />
260 </div> 249 </div>
261 <div class={`${prefixCls}__controller-item`} onClick={() => rotateFunc(90)}> 250 <div class={`${prefixCls}__controller-item`} onClick={() => rotateFunc(90)}>
262 <img src={rotateSvg} /> 251 <img src={rotateSvg} />
@@ -277,41 +266,32 @@ export default defineComponent({ @@ -277,41 +266,32 @@ export default defineComponent({
277 }; 266 };
278 return () => { 267 return () => {
279 return ( 268 return (
280 - <FadeTransition>  
281 - {() =>  
282 - props.show && (  
283 - <div class={prefixCls} ref={wrapElRef} onMouseup={handleMouseUp}>  
284 - <div class={`${prefixCls}-content`}>  
285 - <img  
286 - width="32"  
287 - src={loadingSvg}  
288 - v-show={imgState.status === StatueEnum.LOADING}  
289 - class={`${prefixCls}-image`}  
290 - />  
291 - <img  
292 - v-show={imgState.status === StatueEnum.DONE}  
293 - style={unref(getImageStyle)}  
294 - class={`${prefixCls}-image`}  
295 - ref={imgElRef}  
296 - src={imgState.currentUrl}  
297 - onMousedown={handleAddMoveListener}  
298 - />  
299 - <img  
300 - width="32"  
301 - src={loadingSvg}  
302 - v-show={imgState.status === StatueEnum.LOADING}  
303 - class={`${prefixCls}-image`}  
304 - />  
305 - {renderClose()}  
306 - {renderIndex()}  
307 - {renderController()}  
308 - {renderArrow('left')}  
309 - {renderArrow('right')}  
310 - </div>  
311 - </div>  
312 - )  
313 - }  
314 - </FadeTransition> 269 + imgState.show && (
  270 + <div class={prefixCls} ref={wrapElRef} onMouseup={handleMouseUp}>
  271 + <div class={`${prefixCls}-content`}>
  272 + <img
  273 + width="32"
  274 + src={loadingSvg}
  275 + class={[
  276 + `${prefixCls}-image`,
  277 + imgState.status === StatueEnum.LOADING ? '' : 'hidden',
  278 + ]}
  279 + />
  280 + <img
  281 + style={unref(getImageStyle)}
  282 + class={[`${prefixCls}-image`, imgState.status === StatueEnum.DONE ? '' : 'hidden']}
  283 + ref={imgElRef}
  284 + src={imgState.currentUrl}
  285 + onMousedown={handleAddMoveListener}
  286 + />
  287 + {renderClose()}
  288 + {renderIndex()}
  289 + {renderController()}
  290 + {renderArrow('left')}
  291 + {renderArrow('right')}
  292 + </div>
  293 + </div>
  294 + )
315 ); 295 );
316 }; 296 };
317 }, 297 },
src/components/Preview/src/props.ts
1 import { PropType } from 'vue'; 1 import { PropType } from 'vue';
2 -import { Props } from './types';  
3 export const basicProps = { 2 export const basicProps = {
4 show: { 3 show: {
5 type: Boolean as PropType<boolean>, 4 type: Boolean as PropType<boolean>,
6 default: false, 5 default: false,
7 }, 6 },
8 - instance: {  
9 - type: Object as PropType<Props>,  
10 - default: null,  
11 - },  
12 imageList: { 7 imageList: {
13 type: [Array] as PropType<string[]>, 8 type: [Array] as PropType<string[]>,
14 default: null, 9 default: null,
src/router/menus/modules/demo/feat.ts
@@ -13,10 +13,10 @@ const menu: MenuModule = { @@ -13,10 +13,10 @@ const menu: MenuModule = {
13 path: '/context-menu', 13 path: '/context-menu',
14 name: '右键菜单', 14 name: '右键菜单',
15 }, 15 },
16 - // {  
17 - // path: '/img-preview',  
18 - // name: '图片预览',  
19 - // }, 16 + {
  17 + path: '/img-preview',
  18 + name: '图片预览',
  19 + },
20 { 20 {
21 path: '/i18n', 21 path: '/i18n',
22 name: '国际化', 22 name: '国际化',
src/views/demo/feat/img-preview/index.vue
@@ -4,6 +4,8 @@ @@ -4,6 +4,8 @@
4 <div class="flex justify-center mt-4"> 4 <div class="flex justify-center mt-4">
5 <img :src="img" v-for="img in imgList" :key="img" class="mr-2" @click="handleClick(img)" /> 5 <img :src="img" v-for="img in imgList" :key="img" class="mr-2" @click="handleClick(img)" />
6 </div> 6 </div>
  7 + <Alert message="无预览图" type="info" />
  8 + <a-button @click="handlePreview" type="primary" class="mt-4">预览图片</a-button>
7 </div> 9 </div>
8 </template> 10 </template>
9 <script lang="ts"> 11 <script lang="ts">
@@ -21,7 +23,11 @@ @@ -21,7 +23,11 @@
21 function handleClick(img: string) { 23 function handleClick(img: string) {
22 createImgPreview({ imageList: [img] }); 24 createImgPreview({ imageList: [img] });
23 } 25 }
24 - return { imgList, handleClick }; 26 +
  27 + function handlePreview() {
  28 + createImgPreview({ imageList: imgList });
  29 + }
  30 + return { imgList, handleClick, handlePreview };
25 }, 31 },
26 }); 32 });
27 </script> 33 </script>
yarn.lock
@@ -803,61 +803,61 @@ @@ -803,61 +803,61 @@
803 resolved "https://registry.npm.taobao.org/@types/zxcvbn/download/@types/zxcvbn-4.4.0.tgz#fbc1d941cc6d9d37d18405c513ba6b294f89b609" 803 resolved "https://registry.npm.taobao.org/@types/zxcvbn/download/@types/zxcvbn-4.4.0.tgz#fbc1d941cc6d9d37d18405c513ba6b294f89b609"
804 integrity sha1-+8HZQcxtnTfRhAXFE7prKU+Jtgk= 804 integrity sha1-+8HZQcxtnTfRhAXFE7prKU+Jtgk=
805 805
806 -"@typescript-eslint/eslint-plugin@^4.2.0":  
807 - version "4.3.0"  
808 - resolved "https://registry.npm.taobao.org/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-4.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Feslint-plugin%2Fdownload%2F%40typescript-eslint%2Feslint-plugin-4.3.0.tgz#1a23d904bf8ea248d09dc3761af530d90f39c8fa"  
809 - integrity sha1-GiPZBL+OokjQncN2GvUw2Q85yPo= 806 +"@typescript-eslint/eslint-plugin@^4.4.0":
  807 + version "4.4.0"
  808 + resolved "https://registry.npm.taobao.org/@typescript-eslint/eslint-plugin/download/@typescript-eslint/eslint-plugin-4.4.0.tgz?cache=0&sync_timestamp=1601919840869&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Feslint-plugin%2Fdownload%2F%40typescript-eslint%2Feslint-plugin-4.4.0.tgz#0321684dd2b902c89128405cf0385e9fe8561934"
  809 + integrity sha1-AyFoTdK5AsiRKEBc8Dhen+hWGTQ=
810 dependencies: 810 dependencies:
811 - "@typescript-eslint/experimental-utils" "4.3.0"  
812 - "@typescript-eslint/scope-manager" "4.3.0" 811 + "@typescript-eslint/experimental-utils" "4.4.0"
  812 + "@typescript-eslint/scope-manager" "4.4.0"
813 debug "^4.1.1" 813 debug "^4.1.1"
814 functional-red-black-tree "^1.0.1" 814 functional-red-black-tree "^1.0.1"
815 regexpp "^3.0.0" 815 regexpp "^3.0.0"
816 semver "^7.3.2" 816 semver "^7.3.2"
817 tsutils "^3.17.1" 817 tsutils "^3.17.1"
818 818
819 -"@typescript-eslint/experimental-utils@4.3.0":  
820 - version "4.3.0"  
821 - resolved "https://registry.npm.taobao.org/@typescript-eslint/experimental-utils/download/@typescript-eslint/experimental-utils-4.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Fexperimental-utils%2Fdownload%2F%40typescript-eslint%2Fexperimental-utils-4.3.0.tgz#3f3c6c508e01b8050d51b016e7f7da0e3aefcb87"  
822 - integrity sha1-PzxsUI4BuAUNUbAW5/faDjrvy4c= 819 +"@typescript-eslint/experimental-utils@4.4.0":
  820 + version "4.4.0"
  821 + resolved "https://registry.npm.taobao.org/@typescript-eslint/experimental-utils/download/@typescript-eslint/experimental-utils-4.4.0.tgz?cache=0&sync_timestamp=1601919839188&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Fexperimental-utils%2Fdownload%2F%40typescript-eslint%2Fexperimental-utils-4.4.0.tgz#62a05d3f543b8fc5dec4982830618ea4d030e1a9"
  822 + integrity sha1-YqBdP1Q7j8XexJgoMGGOpNAw4ak=
823 dependencies: 823 dependencies:
824 "@types/json-schema" "^7.0.3" 824 "@types/json-schema" "^7.0.3"
825 - "@typescript-eslint/scope-manager" "4.3.0"  
826 - "@typescript-eslint/types" "4.3.0"  
827 - "@typescript-eslint/typescript-estree" "4.3.0" 825 + "@typescript-eslint/scope-manager" "4.4.0"
  826 + "@typescript-eslint/types" "4.4.0"
  827 + "@typescript-eslint/typescript-estree" "4.4.0"
828 eslint-scope "^5.0.0" 828 eslint-scope "^5.0.0"
829 eslint-utils "^2.0.0" 829 eslint-utils "^2.0.0"
830 830
831 -"@typescript-eslint/parser@^4.2.0":  
832 - version "4.3.0"  
833 - resolved "https://registry.npm.taobao.org/@typescript-eslint/parser/download/@typescript-eslint/parser-4.3.0.tgz#684fc0be6551a2bfcb253991eec3c786a8c063a3"  
834 - integrity sha1-aE/AvmVRor/LJTmR7sPHhqjAY6M= 831 +"@typescript-eslint/parser@^4.4.0":
  832 + version "4.4.0"
  833 + resolved "https://registry.npm.taobao.org/@typescript-eslint/parser/download/@typescript-eslint/parser-4.4.0.tgz?cache=0&sync_timestamp=1601919839967&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Fparser%2Fdownload%2F%40typescript-eslint%2Fparser-4.4.0.tgz#65974db9a75f23b036f17b37e959b5f99b659ec0"
  834 + integrity sha1-ZZdNuadfI7A28Xs36Vm1+ZtlnsA=
835 dependencies: 835 dependencies:
836 - "@typescript-eslint/scope-manager" "4.3.0"  
837 - "@typescript-eslint/types" "4.3.0"  
838 - "@typescript-eslint/typescript-estree" "4.3.0" 836 + "@typescript-eslint/scope-manager" "4.4.0"
  837 + "@typescript-eslint/types" "4.4.0"
  838 + "@typescript-eslint/typescript-estree" "4.4.0"
839 debug "^4.1.1" 839 debug "^4.1.1"
840 840
841 -"@typescript-eslint/scope-manager@4.3.0":  
842 - version "4.3.0"  
843 - resolved "https://registry.npm.taobao.org/@typescript-eslint/scope-manager/download/@typescript-eslint/scope-manager-4.3.0.tgz?cache=0&sync_timestamp=1601316727982&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Fscope-manager%2Fdownload%2F%40typescript-eslint%2Fscope-manager-4.3.0.tgz#c743227e087545968080d2362cfb1273842cb6a7"  
844 - integrity sha1-x0Mifgh1RZaAgNI2LPsSc4Qstqc= 841 +"@typescript-eslint/scope-manager@4.4.0":
  842 + version "4.4.0"
  843 + resolved "https://registry.npm.taobao.org/@typescript-eslint/scope-manager/download/@typescript-eslint/scope-manager-4.4.0.tgz#2f3dd27692a12cc9a046a90ba6a9d8cb7731190a"
  844 + integrity sha1-Lz3SdpKhLMmgRqkLpqnYy3cxGQo=
845 dependencies: 845 dependencies:
846 - "@typescript-eslint/types" "4.3.0"  
847 - "@typescript-eslint/visitor-keys" "4.3.0" 846 + "@typescript-eslint/types" "4.4.0"
  847 + "@typescript-eslint/visitor-keys" "4.4.0"
848 848
849 -"@typescript-eslint/types@4.3.0":  
850 - version "4.3.0"  
851 - resolved "https://registry.npm.taobao.org/@typescript-eslint/types/download/@typescript-eslint/types-4.3.0.tgz?cache=0&sync_timestamp=1601314224991&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Ftypes%2Fdownload%2F%40typescript-eslint%2Ftypes-4.3.0.tgz#1f0b2d5e140543e2614f06d48fb3ae95193c6ddf"  
852 - integrity sha1-HwstXhQFQ+JhTwbUj7OulRk8bd8= 849 +"@typescript-eslint/types@4.4.0":
  850 + version "4.4.0"
  851 + resolved "https://registry.npm.taobao.org/@typescript-eslint/types/download/@typescript-eslint/types-4.4.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Ftypes%2Fdownload%2F%40typescript-eslint%2Ftypes-4.4.0.tgz#63440ef87a54da7399a13bdd4b82060776e9e621"
  852 + integrity sha1-Y0QO+HpU2nOZoTvdS4IGB3bp5iE=
853 853
854 -"@typescript-eslint/typescript-estree@4.3.0":  
855 - version "4.3.0"  
856 - resolved "https://registry.npm.taobao.org/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-4.3.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Ftypescript-estree%2Fdownload%2F%40typescript-eslint%2Ftypescript-estree-4.3.0.tgz#0edc1068e6b2e4c7fdc54d61e329fce76241cee8"  
857 - integrity sha1-DtwQaOay5Mf9xU1h4yn852JBzug= 854 +"@typescript-eslint/typescript-estree@4.4.0":
  855 + version "4.4.0"
  856 + resolved "https://registry.npm.taobao.org/@typescript-eslint/typescript-estree/download/@typescript-eslint/typescript-estree-4.4.0.tgz?cache=0&sync_timestamp=1601919838540&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Ftypescript-estree%2Fdownload%2F%40typescript-eslint%2Ftypescript-estree-4.4.0.tgz#16a2df7c16710ddd5406b32b86b9c1124b1ca526"
  857 + integrity sha1-FqLffBZxDd1UBrMrhrnBEkscpSY=
858 dependencies: 858 dependencies:
859 - "@typescript-eslint/types" "4.3.0"  
860 - "@typescript-eslint/visitor-keys" "4.3.0" 859 + "@typescript-eslint/types" "4.4.0"
  860 + "@typescript-eslint/visitor-keys" "4.4.0"
861 debug "^4.1.1" 861 debug "^4.1.1"
862 globby "^11.0.1" 862 globby "^11.0.1"
863 is-glob "^4.0.1" 863 is-glob "^4.0.1"
@@ -865,12 +865,12 @@ @@ -865,12 +865,12 @@
865 semver "^7.3.2" 865 semver "^7.3.2"
866 tsutils "^3.17.1" 866 tsutils "^3.17.1"
867 867
868 -"@typescript-eslint/visitor-keys@4.3.0":  
869 - version "4.3.0"  
870 - resolved "https://registry.npm.taobao.org/@typescript-eslint/visitor-keys/download/@typescript-eslint/visitor-keys-4.3.0.tgz?cache=0&sync_timestamp=1601314225045&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Fvisitor-keys%2Fdownload%2F%40typescript-eslint%2Fvisitor-keys-4.3.0.tgz#0e5ab0a09552903edeae205982e8521e17635ae0"  
871 - integrity sha1-DlqwoJVSkD7eriBZguhSHhdjWuA= 868 +"@typescript-eslint/visitor-keys@4.4.0":
  869 + version "4.4.0"
  870 + resolved "https://registry.npm.taobao.org/@typescript-eslint/visitor-keys/download/@typescript-eslint/visitor-keys-4.4.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40typescript-eslint%2Fvisitor-keys%2Fdownload%2F%40typescript-eslint%2Fvisitor-keys-4.4.0.tgz#0a9118344082f14c0f051342a74b42dfdb012640"
  871 + integrity sha1-CpEYNECC8UwPBRNCp0tC39sBJkA=
872 dependencies: 872 dependencies:
873 - "@typescript-eslint/types" "4.3.0" 873 + "@typescript-eslint/types" "4.4.0"
874 eslint-visitor-keys "^2.0.0" 874 eslint-visitor-keys "^2.0.0"
875 875
876 "@vue/compiler-core@3.0.0": 876 "@vue/compiler-core@3.0.0":
@@ -2476,10 +2476,10 @@ eslint-plugin-prettier@^3.1.4: @@ -2476,10 +2476,10 @@ eslint-plugin-prettier@^3.1.4:
2476 dependencies: 2476 dependencies:
2477 prettier-linter-helpers "^1.0.0" 2477 prettier-linter-helpers "^1.0.0"
2478 2478
2479 -eslint-plugin-vue@^7.0.0-beta.4:  
2480 - version "7.0.0-beta.4"  
2481 - resolved "https://registry.npm.taobao.org/eslint-plugin-vue/download/eslint-plugin-vue-7.0.0-beta.4.tgz?cache=0&sync_timestamp=1600834523329&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-vue%2Fdownload%2Feslint-plugin-vue-7.0.0-beta.4.tgz#aa13b946702c4de1b8f7c3467698185775b11fdb"  
2482 - integrity sha1-qhO5RnAsTeG498NGdpgYV3WxH9s= 2479 +eslint-plugin-vue@^7.0.1:
  2480 + version "7.0.1"
  2481 + resolved "https://registry.npm.taobao.org/eslint-plugin-vue/download/eslint-plugin-vue-7.0.1.tgz?cache=0&sync_timestamp=1601862810095&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-plugin-vue%2Fdownload%2Feslint-plugin-vue-7.0.1.tgz#8e69a9041bb9719c018f154fdcacbb17713e0240"
  2482 + integrity sha1-jmmpBBu5cZwBjxVP3Ky7F3E+AkA=
2483 dependencies: 2483 dependencies:
2484 eslint-utils "^2.1.0" 2484 eslint-utils "^2.1.0"
2485 natural-compare "^1.4.0" 2485 natural-compare "^1.4.0"
@@ -5012,10 +5012,10 @@ path-to-regexp@^1.0.0: @@ -5012,10 +5012,10 @@ path-to-regexp@^1.0.0:
5012 dependencies: 5012 dependencies:
5013 isarray "0.0.1" 5013 isarray "0.0.1"
5014 5014
5015 -path-to-regexp@^6.1.0:  
5016 - version "6.1.0"  
5017 - resolved "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-6.1.0.tgz#0b18f88b7a0ce0bfae6a25990c909ab86f512427"  
5018 - integrity sha1-Cxj4i3oM4L+uaiWZDJCauG9RJCc= 5015 +path-to-regexp@^6.2.0:
  5016 + version "6.2.0"
  5017 + resolved "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-6.2.0.tgz?cache=0&sync_timestamp=1601400247487&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-to-regexp%2Fdownload%2Fpath-to-regexp-6.2.0.tgz#f7b3803336104c346889adece614669230645f38"
  5018 + integrity sha1-97OAMzYQTDRoia3s5hRmkjBkXzg=
5019 5019
5020 path-type@^1.0.0: 5020 path-type@^1.0.0:
5021 version "1.1.0" 5021 version "1.1.0"
@@ -7028,15 +7028,15 @@ vue-eslint-parser@^7.1.0: @@ -7028,15 +7028,15 @@ vue-eslint-parser@^7.1.0:
7028 esquery "^1.0.1" 7028 esquery "^1.0.1"
7029 lodash "^4.17.15" 7029 lodash "^4.17.15"
7030 7030
7031 -vue-i18n@^9.0.0-beta.3:  
7032 - version "9.0.0-beta.3"  
7033 - resolved "https://registry.npm.taobao.org/vue-i18n/download/vue-i18n-9.0.0-beta.3.tgz#8abb78f5d57fb240edfd955b098dc267e33499f3"  
7034 - integrity sha1-irt49dV/skDt/ZVbCY3CZ+M0mfM= 7031 +vue-i18n@^9.0.0-beta.4:
  7032 + version "9.0.0-beta.4"
  7033 + resolved "https://registry.npm.taobao.org/vue-i18n/download/vue-i18n-9.0.0-beta.4.tgz#a6550f6be56fd617a8ab96e26aa305329f06da02"
  7034 + integrity sha1-plUPa+Vv1heoq5biaqMFMp8G2gI=
7035 7035
7036 -vue-router@^4.0.0-beta.12:  
7037 - version "4.0.0-beta.12"  
7038 - resolved "https://registry.npm.taobao.org/vue-router/download/vue-router-4.0.0-beta.12.tgz?cache=0&sync_timestamp=1601131068569&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-router%2Fdownload%2Fvue-router-4.0.0-beta.12.tgz#873d1bbd16882ab2ae35973e3e691412104f3914"  
7039 - integrity sha1-hz0bvRaIKrKuNZc+PmkUEhBPORQ= 7036 +vue-router@^4.0.0-beta.13:
  7037 + version "4.0.0-beta.13"
  7038 + resolved "https://registry.npm.taobao.org/vue-router/download/vue-router-4.0.0-beta.13.tgz?cache=0&sync_timestamp=1601637432000&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-router%2Fdownload%2Fvue-router-4.0.0-beta.13.tgz#4611d09a9e44f231cc401ecc294a7f2dcb30e6a6"
  7039 + integrity sha1-RhHQmp5E8jHMQB7MKUp/Lcsw5qY=
7040 7040
7041 vue@^3.0.0, vue@^3.0.0-rc.5: 7041 vue@^3.0.0, vue@^3.0.0-rc.5:
7042 version "3.0.0" 7042 version "3.0.0"