From 8d90abd22efb816753349399ad11457ce574d929 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A9=99=E5=AD=90?= <454313500@qq.com> Date: Mon, 21 Feb 2022 15:00:15 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=9E=84=E4=BC=98=E5=8C=96=E6=A1=86?= =?UTF-8?q?=E6=9E=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 这是一个大版本的更新 现在,框架更加稳定 --- .../Controllers/JobController.cs | 2 +- .../Controllers/UserController.cs | 2 +- .../Yi.Framework.ApiMicroservice/Program.cs | 2 +- .../cd1bdcc1-6045-4fbd-911c-ad4db9e6e10b.jpg | Bin 0 -> 88522 bytes .../e7ed9725-3fc8-46eb-9937-2f01a1e9d8ba.jpg | Bin 0 -> 88522 bytes .../Yi.Framework.Common/Helper/TreeHelper.cs | 58 + .../Yi.Framework.Common/Models/ITreeModel.cs | 17 + .../Yi.Framework.Core/Quartz/QuartzInvoker.cs | 4 +- .../Yi.Framework.Core/TreeMenuBuild.cs | 169 +- .../Yi.Framework.Interface/IUserService.cs | 2 +- .../BaseModels/loopModel.cs | 7 +- .../Migrations/20211106080544_ec1.Designer.cs | 219 - .../Migrations/20211106080544_ec1.cs | 17 - .../Migrations/20211106080646_ec2.Designer.cs | 732 -- .../Migrations/20211106080646_ec2.cs | 436 - .../Migrations/20211106084427_ec3.Designer.cs | 770 -- .../Migrations/20211106084427_ec3.cs | 1265 -- .../Migrations/20211106110713_ec4.Designer.cs | 799 -- .../Migrations/20211106110713_ec4.cs | 161 - ...ner.cs => 20220221034128_yi-1.Designer.cs} | 93 +- ...6082100_yi-1.cs => 20220221034128_yi-1.cs} | 20 +- .../Migrations/DataContextModelSnapshot.cs | 604 +- .../Yi.Framework.Model/Models/menu.cs | 10 +- .../Yi.Framework.Service/MenuService.cs | 28 +- .../Yi.Framework.Service/RoleService.cs | 26 +- .../Yi.Framework.Service/UserService.cs | 26 +- .../Yi.Framework.WebCore/Init/DataSeed.cs | 266 +- Yi.Vue/package-lock.json | 10192 ---------------- Yi.Vue/package.json | 27 - {Yi.Vue => Yi.Vue2.x}/.browserslistrc | 0 {Yi.Vue => Yi.Vue2.x}/.env.development | 0 {Yi.Vue => Yi.Vue2.x}/.env.production | 0 {Yi.Vue => Yi.Vue2.x}/.gitignore | 0 {Yi.Vue => Yi.Vue2.x}/README.md | 0 {Yi.Vue => Yi.Vue2.x}/public/favicon.ico | Bin {Yi.Vue => Yi.Vue2.x}/public/index.html | 0 {Yi.Vue => Yi.Vue2.x}/src/App.vue | 0 {Yi.Vue => Yi.Vue2.x}/src/api/accountApi.js | 0 {Yi.Vue => Yi.Vue2.x}/src/api/fileApi.js | 0 {Yi.Vue => Yi.Vue2.x}/src/api/menuApi.js | 0 {Yi.Vue => Yi.Vue2.x}/src/api/mouldApi.js | 0 {Yi.Vue => Yi.Vue2.x}/src/api/roleApi.js | 0 {Yi.Vue => Yi.Vue2.x}/src/api/userApi.js | 0 .../src/assets/clint-mckoy.jpg | Bin {Yi.Vue => Yi.Vue2.x}/src/assets/lock.jpg | Bin {Yi.Vue => Yi.Vue2.x}/src/assets/login.jpg | Bin {Yi.Vue => Yi.Vue2.x}/src/assets/login.svg | 0 {Yi.Vue => Yi.Vue2.x}/src/assets/logo.png | Bin {Yi.Vue => Yi.Vue2.x}/src/assets/logo.svg | 0 .../src/assets/mask-dark.png | Bin .../src/assets/mask-light.png | Bin {Yi.Vue => Yi.Vue2.x}/src/assets/pricing.jpg | Bin {Yi.Vue => Yi.Vue2.x}/src/assets/register.jpg | Bin {Yi.Vue => Yi.Vue2.x}/src/assets/tree-3.png | Bin {Yi.Vue => Yi.Vue2.x}/src/assets/tree-4.png | Bin {Yi.Vue => Yi.Vue2.x}/src/assets/tree.png | Bin {Yi.Vue => Yi.Vue2.x}/src/assets/vmd.svg | 0 {Yi.Vue => Yi.Vue2.x}/src/assets/vuetify.svg | 0 .../src/components/Links.vue | 0 .../src/components/MaterialAlert.vue | 0 .../src/components/MaterialCard.vue | 0 .../src/components/MaterialChartCard.vue | 0 .../src/components/MaterialSnackbar.vue | 0 .../src/components/MaterialStatsCard.vue | 0 .../src/components/TableApi.js | 0 .../src/components/ViewIntro.vue | 0 .../src/components/app/BarItem.vue | 0 .../src/components/app/Btn.vue | 0 .../src/components/app/Card.vue | 0 .../src/components/app/Tabs.vue | 0 .../src/components/ccAvatar.vue | 0 .../src/components/ccCombobox.vue | 0 .../src/components/ccTable.vue | 0 .../src/components/ccTreeview.vue | 18 +- .../src/layouts/default/AppBar.vue | 0 .../src/layouts/default/Drawer.vue | 0 .../src/layouts/default/Footer.vue | 0 .../src/layouts/default/Index.vue | 0 .../src/layouts/default/List.vue | 0 .../src/layouts/default/ListGroup.vue | 0 .../src/layouts/default/ListItem.vue | 0 .../src/layouts/default/Settings.vue | 0 .../src/layouts/default/View.vue | 0 .../src/layouts/default/widgets/Account.vue | 0 .../default/widgets/AccountSettings.vue | 0 .../layouts/default/widgets/DrawerHeader.vue | 0 .../layouts/default/widgets/DrawerToggle.vue | 0 .../src/layouts/default/widgets/GoHome.vue | 0 .../layouts/default/widgets/Notifications.vue | 0 .../src/layouts/default/widgets/Search.vue | 0 .../src/layouts/login/Index.vue | 0 {Yi.Vue => Yi.Vue2.x}/src/main.js | 0 {Yi.Vue => Yi.Vue2.x}/src/permission.js | 0 {Yi.Vue => Yi.Vue2.x}/src/plugins/app.js | 0 {Yi.Vue => Yi.Vue2.x}/src/plugins/chartist.js | 0 {Yi.Vue => Yi.Vue2.x}/src/plugins/index.js | 0 {Yi.Vue => Yi.Vue2.x}/src/plugins/vuetify.js | 0 {Yi.Vue => Yi.Vue2.x}/src/router/index.js | 0 {Yi.Vue => Yi.Vue2.x}/src/store/index.js | 0 .../src/store/modules/home.js | 0 .../src/store/modules/loader.js | 0 .../src/store/modules/theme.js | 0 .../src/store/modules/user.js | 0 {Yi.Vue => Yi.Vue2.x}/src/styles/auth.scss | 0 .../src/styles/overrides.sass | 0 .../src/styles/variables.scss | 0 {Yi.Vue => Yi.Vue2.x}/src/util/dialog.js | 0 {Yi.Vue => Yi.Vue2.x}/src/util/getMould.js | 0 {Yi.Vue => Yi.Vue2.x}/src/util/globals.js | 0 {Yi.Vue => Yi.Vue2.x}/src/util/helpers.js | 0 {Yi.Vue => Yi.Vue2.x}/src/util/myaction.js | 0 {Yi.Vue => Yi.Vue2.x}/src/util/myaxios.js | 0 {Yi.Vue => Yi.Vue2.x}/src/util/myqq.js | 0 {Yi.Vue => Yi.Vue2.x}/src/util/routes.js | 0 {Yi.Vue => Yi.Vue2.x}/src/util/signalR.js | 0 {Yi.Vue => Yi.Vue2.x}/src/util/usertoken.js | 0 {Yi.Vue => Yi.Vue2.x}/src/views/AdmMenu.vue | 0 {Yi.Vue => Yi.Vue2.x}/src/views/AdmMould.vue | 0 {Yi.Vue => Yi.Vue2.x}/src/views/AdmRole.vue | 0 .../src/views/AdmRoleMenu.vue | 9 +- {Yi.Vue => Yi.Vue2.x}/src/views/AdmUser.vue | 0 {Yi.Vue => Yi.Vue2.x}/src/views/Index.vue | 0 {Yi.Vue => Yi.Vue2.x}/src/views/login.vue | 0 {Yi.Vue => Yi.Vue2.x}/src/views/register.vue | 0 {Yi.Vue => Yi.Vue2.x}/src/views/userInfo.vue | 0 {Yi.Vue => Yi.Vue2.x}/vue.config.js | 0 Yi.Vue3.x/.browserslistrc | 3 + Yi.Vue3.x/.eslintrc.js | 18 + Yi.Vue3.x/.gitignore | 23 + Yi.Vue3.x/README.md | 24 + Yi.Vue3.x/babel.config.js | 5 + Yi.Vue3.x/public/favicon.ico | Bin 0 -> 4286 bytes Yi.Vue3.x/public/index.html | 17 + Yi.Vue3.x/src/App.vue | 16 + Yi.Vue3.x/src/assets/logo.png | Bin 0 -> 6849 bytes Yi.Vue3.x/src/components/AppFoot.vue | 36 + Yi.Vue3.x/src/components/AppHeader.vue | 35 + Yi.Vue3.x/src/components/AppMain.vue | 3 + Yi.Vue3.x/src/components/Layout.vue | 48 + Yi.Vue3.x/src/main.ts | 12 + Yi.Vue3.x/src/router/index.ts | 30 + Yi.Vue3.x/src/shims-vue.d.ts | 6 + Yi.Vue3.x/src/store/index.ts | 12 + Yi.Vue3.x/src/views/About.vue | 59 + Yi.Vue3.x/src/views/Index.vue | 105 + Yi.Vue3.x/vue.config.js | 3 + 146 files changed, 801 insertions(+), 15635 deletions(-) create mode 100644 Yi.Framework.Net6/Yi.Framework.ApiMicroservice/wwwroot/image/cd1bdcc1-6045-4fbd-911c-ad4db9e6e10b.jpg create mode 100644 Yi.Framework.Net6/Yi.Framework.ApiMicroservice/wwwroot/image/e7ed9725-3fc8-46eb-9937-2f01a1e9d8ba.jpg create mode 100644 Yi.Framework.Net6/Yi.Framework.Common/Helper/TreeHelper.cs create mode 100644 Yi.Framework.Net6/Yi.Framework.Common/Models/ITreeModel.cs delete mode 100644 Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106080544_ec1.Designer.cs delete mode 100644 Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106080544_ec1.cs delete mode 100644 Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106080646_ec2.Designer.cs delete mode 100644 Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106080646_ec2.cs delete mode 100644 Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106084427_ec3.Designer.cs delete mode 100644 Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106084427_ec3.cs delete mode 100644 Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106110713_ec4.Designer.cs delete mode 100644 Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106110713_ec4.cs rename Yi.Framework.Net6/Yi.Framework.Model/Migrations/{20211106082100_yi-1.Designer.cs => 20220221034128_yi-1.Designer.cs} (93%) rename Yi.Framework.Net6/Yi.Framework.Model/Migrations/{20211106082100_yi-1.cs => 20220221034128_yi-1.cs} (93%) delete mode 100644 Yi.Vue/package-lock.json delete mode 100644 Yi.Vue/package.json rename {Yi.Vue => Yi.Vue2.x}/.browserslistrc (100%) rename {Yi.Vue => Yi.Vue2.x}/.env.development (100%) rename {Yi.Vue => Yi.Vue2.x}/.env.production (100%) rename {Yi.Vue => Yi.Vue2.x}/.gitignore (100%) rename {Yi.Vue => Yi.Vue2.x}/README.md (100%) rename {Yi.Vue => Yi.Vue2.x}/public/favicon.ico (100%) rename {Yi.Vue => Yi.Vue2.x}/public/index.html (100%) rename {Yi.Vue => Yi.Vue2.x}/src/App.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/api/accountApi.js (100%) rename {Yi.Vue => Yi.Vue2.x}/src/api/fileApi.js (100%) rename {Yi.Vue => Yi.Vue2.x}/src/api/menuApi.js (100%) rename {Yi.Vue => Yi.Vue2.x}/src/api/mouldApi.js (100%) rename {Yi.Vue => Yi.Vue2.x}/src/api/roleApi.js (100%) rename {Yi.Vue => Yi.Vue2.x}/src/api/userApi.js (100%) rename {Yi.Vue => Yi.Vue2.x}/src/assets/clint-mckoy.jpg (100%) rename {Yi.Vue => Yi.Vue2.x}/src/assets/lock.jpg (100%) rename {Yi.Vue => Yi.Vue2.x}/src/assets/login.jpg (100%) rename {Yi.Vue => Yi.Vue2.x}/src/assets/login.svg (100%) rename {Yi.Vue => Yi.Vue2.x}/src/assets/logo.png (100%) rename {Yi.Vue => Yi.Vue2.x}/src/assets/logo.svg (100%) rename {Yi.Vue => Yi.Vue2.x}/src/assets/mask-dark.png (100%) rename {Yi.Vue => Yi.Vue2.x}/src/assets/mask-light.png (100%) rename {Yi.Vue => Yi.Vue2.x}/src/assets/pricing.jpg (100%) rename {Yi.Vue => Yi.Vue2.x}/src/assets/register.jpg (100%) rename {Yi.Vue => Yi.Vue2.x}/src/assets/tree-3.png (100%) rename {Yi.Vue => Yi.Vue2.x}/src/assets/tree-4.png (100%) rename {Yi.Vue => Yi.Vue2.x}/src/assets/tree.png (100%) rename {Yi.Vue => Yi.Vue2.x}/src/assets/vmd.svg (100%) rename {Yi.Vue => Yi.Vue2.x}/src/assets/vuetify.svg (100%) rename {Yi.Vue => Yi.Vue2.x}/src/components/Links.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/components/MaterialAlert.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/components/MaterialCard.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/components/MaterialChartCard.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/components/MaterialSnackbar.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/components/MaterialStatsCard.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/components/TableApi.js (100%) rename {Yi.Vue => Yi.Vue2.x}/src/components/ViewIntro.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/components/app/BarItem.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/components/app/Btn.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/components/app/Card.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/components/app/Tabs.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/components/ccAvatar.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/components/ccCombobox.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/components/ccTable.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/components/ccTreeview.vue (95%) rename {Yi.Vue => Yi.Vue2.x}/src/layouts/default/AppBar.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/layouts/default/Drawer.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/layouts/default/Footer.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/layouts/default/Index.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/layouts/default/List.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/layouts/default/ListGroup.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/layouts/default/ListItem.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/layouts/default/Settings.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/layouts/default/View.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/layouts/default/widgets/Account.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/layouts/default/widgets/AccountSettings.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/layouts/default/widgets/DrawerHeader.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/layouts/default/widgets/DrawerToggle.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/layouts/default/widgets/GoHome.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/layouts/default/widgets/Notifications.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/layouts/default/widgets/Search.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/layouts/login/Index.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/main.js (100%) rename {Yi.Vue => Yi.Vue2.x}/src/permission.js (100%) rename {Yi.Vue => Yi.Vue2.x}/src/plugins/app.js (100%) rename {Yi.Vue => Yi.Vue2.x}/src/plugins/chartist.js (100%) rename {Yi.Vue => Yi.Vue2.x}/src/plugins/index.js (100%) rename {Yi.Vue => Yi.Vue2.x}/src/plugins/vuetify.js (100%) rename {Yi.Vue => Yi.Vue2.x}/src/router/index.js (100%) rename {Yi.Vue => Yi.Vue2.x}/src/store/index.js (100%) rename {Yi.Vue => Yi.Vue2.x}/src/store/modules/home.js (100%) rename {Yi.Vue => Yi.Vue2.x}/src/store/modules/loader.js (100%) rename {Yi.Vue => Yi.Vue2.x}/src/store/modules/theme.js (100%) rename {Yi.Vue => Yi.Vue2.x}/src/store/modules/user.js (100%) rename {Yi.Vue => Yi.Vue2.x}/src/styles/auth.scss (100%) rename {Yi.Vue => Yi.Vue2.x}/src/styles/overrides.sass (100%) rename {Yi.Vue => Yi.Vue2.x}/src/styles/variables.scss (100%) rename {Yi.Vue => Yi.Vue2.x}/src/util/dialog.js (100%) rename {Yi.Vue => Yi.Vue2.x}/src/util/getMould.js (100%) rename {Yi.Vue => Yi.Vue2.x}/src/util/globals.js (100%) rename {Yi.Vue => Yi.Vue2.x}/src/util/helpers.js (100%) rename {Yi.Vue => Yi.Vue2.x}/src/util/myaction.js (100%) rename {Yi.Vue => Yi.Vue2.x}/src/util/myaxios.js (100%) rename {Yi.Vue => Yi.Vue2.x}/src/util/myqq.js (100%) rename {Yi.Vue => Yi.Vue2.x}/src/util/routes.js (100%) rename {Yi.Vue => Yi.Vue2.x}/src/util/signalR.js (100%) rename {Yi.Vue => Yi.Vue2.x}/src/util/usertoken.js (100%) rename {Yi.Vue => Yi.Vue2.x}/src/views/AdmMenu.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/views/AdmMould.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/views/AdmRole.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/views/AdmRoleMenu.vue (91%) rename {Yi.Vue => Yi.Vue2.x}/src/views/AdmUser.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/views/Index.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/views/login.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/views/register.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/src/views/userInfo.vue (100%) rename {Yi.Vue => Yi.Vue2.x}/vue.config.js (100%) create mode 100644 Yi.Vue3.x/.browserslistrc create mode 100644 Yi.Vue3.x/.eslintrc.js create mode 100644 Yi.Vue3.x/.gitignore create mode 100644 Yi.Vue3.x/README.md create mode 100644 Yi.Vue3.x/babel.config.js create mode 100644 Yi.Vue3.x/public/favicon.ico create mode 100644 Yi.Vue3.x/public/index.html create mode 100644 Yi.Vue3.x/src/App.vue create mode 100644 Yi.Vue3.x/src/assets/logo.png create mode 100644 Yi.Vue3.x/src/components/AppFoot.vue create mode 100644 Yi.Vue3.x/src/components/AppHeader.vue create mode 100644 Yi.Vue3.x/src/components/AppMain.vue create mode 100644 Yi.Vue3.x/src/components/Layout.vue create mode 100644 Yi.Vue3.x/src/main.ts create mode 100644 Yi.Vue3.x/src/router/index.ts create mode 100644 Yi.Vue3.x/src/shims-vue.d.ts create mode 100644 Yi.Vue3.x/src/store/index.ts create mode 100644 Yi.Vue3.x/src/views/About.vue create mode 100644 Yi.Vue3.x/src/views/Index.vue create mode 100644 Yi.Vue3.x/vue.config.js diff --git a/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Controllers/JobController.cs b/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Controllers/JobController.cs index 84566713..a7d0f35d 100644 --- a/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Controllers/JobController.cs +++ b/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Controllers/JobController.cs @@ -44,7 +44,7 @@ namespace Yi.Framework.ApiMicroservice.Controllers {JobConst.method,"get" }, {JobConst.url,"https://www.baidu.com" } }; - await _quartzInvoker.start("*/1 * * * * ? ", new Quartz.JobKey("test", "my"), "HttpJob",data: data); + await _quartzInvoker.start("*/5 * * * * ?", new Quartz.JobKey("test", "my"), "Yi.Framework.Job", "HttpJob",data: data); return Result.Success(); } diff --git a/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Controllers/UserController.cs b/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Controllers/UserController.cs index bb580786..24a3dc96 100644 --- a/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Controllers/UserController.cs +++ b/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Controllers/UserController.cs @@ -133,7 +133,7 @@ namespace Yi.Framework.ApiMicroservice.Controllers { return Result.Error(); } - var menuList= await _userService.GetAxiosByRouter(router, _user.id, menuIds); + var menuList= await _userService.GetAxiosByRouter(router, menuIds); AxiosUrlsModel urlsModel = new(); menuList.ForEach(u => { diff --git a/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Program.cs b/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Program.cs index 3d8684a6..a3407a57 100644 --- a/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Program.cs +++ b/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Program.cs @@ -43,7 +43,6 @@ builder.Host.ConfigureLogging(loggingBuilder => //Ioc #endregion builder.Services.AddIocService(builder.Configuration); - #region //Quartz #endregion @@ -111,6 +110,7 @@ var app = builder.Build(); //ץȡע #endregion app.UseErrorHandlingService(); + #region //̬ļע #endregion diff --git a/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/wwwroot/image/cd1bdcc1-6045-4fbd-911c-ad4db9e6e10b.jpg b/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/wwwroot/image/cd1bdcc1-6045-4fbd-911c-ad4db9e6e10b.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5c832cf38a406caf81aeb816fb747379a1748668 GIT binary patch literal 88522 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%0Dt*7`5FCd(1P$350rmO^X`wvxA8Zq z^~O7`>;mc5=fNYEBC>utNvR!wp>4El*Rs00yP6f5N%=|i#^OBVaieIN>k=R>jmlhi z9&3j9r>|;SErc-WI#idsrNXkL>llB-soysvQO z!A&`-9-!1`*KOrVCXwYno053}eW|F7^bdtrD{0X-w((lt zTa#woet-`c33e?QWjqOR>3e^UDgk`;nR?Y+IVcCuJaJGR^r<>r;v# z244jGQFD>aNf#%#>S=8#h!_|g4%F+N!|zP(8otuxpJl16pWFabNg)l{+wW8D$*3>p z$)Ym^QpbP>X{IA1RMc;+^-C*zTN6FB#EGQ``yr0>O)E&T($ZD2w^)R(WPB2G$ImrS zMYU$sudn0PP35%Y1dUiSMUMj&u+pLroZ_>bmD$k#KNL{v3k#h`PxLJA+Rjkw!bKT4 z2P9FnyDuDKszsw+JHDaldZ*<1Sb4#%_}yILPb0;2#z~k?4lauC z2L!DIRp~(pc8+R~ZuKmbIi{yH)PRz5z#n?E=qd6=RzOP(cdM+ye=)^WL;M3a>)@Ji z!;JFB6zwkKi2necG;-wa-IL~|@W zT+rcFwKD$z6QA&|cRlkp+qMRf;Bm!M)m_rfnF|A-2Cf1KiSA^Os;S^-iq(zP)Dg;&#(dMmE)erY zTRM-#!!tLbA~+n7q#RHhHeyPU1rJTPfh|^8BUEPLurbY973@ajt)6cY;R?lGImUS$ z@%mLwYUbA3!fWZBVz)uMPCqa5tt(&ce?wf4QC(^l`kYFT!7i5Zu$3HSvG%KzN*tAf z4<<@SJALbFb5A9vvp3+bQ3}SZ!VdTx`KlV$wk)h+w6iKqWT7XLG2XU+04<50*@3c@ zWe07C`?bJp+I!hwF(-0LO9u1bJlD=@v*d$xeNKxOER7~po@SAnNBNlh*G;8pFlss} znUukBPZGI2kbS(0$mzQieXB;Sq{A2QB>N8)-pX1+cX8}Jg>zxVnsS=#>(^&+lE;sV zJo8x7XVT?Z=PJtMDClw+RUG6B>^joO&usIgE}yH*sP1nFz{=p(mK}m&(nueQF5n^%fkWwbmeJb!ua90uPRtdEXsP63gi%hzVFuFuORn7>jiKx*}n(&EtGb1aobr=UV z>E8i0lHW8jP8L;N9Fm=&p+0={;SmPA=b2;OB=g* z1d@=^$hm10cMDrL(!4rZNM;b+++|{B{u6_PRP>!XL1$>%!G`w!5&r<3dSf~IdsdZ7 zipKW6@->OwYxZi4D9w?M^ise;*cj(L)pIT%1mTD9iqXD|f$DcZgM(~f2@eB~38-2^ zB860exsK=OJf8Gg7nAo4~7=5aVEk`ge1d6Pu+;*-z;=fE@^-ZRU7Ls5MX{aT{rQ2`F z6@kaO$raO-d~o9*QJQ#~L}0|OLHkw5BNK^kQ?P*Q2=T>n9}zlo_oy|FlDn`FtXgKG zmp2>RY1kPF$G>jX*vT}pErdTF7Ku~LllAVNdx<;xXm8p9@KLG01&!DZF)T_=clhy!&}lEJ*zM!2;=2!c;ndlu5(<_ zej)XpqGgW`f#+2{r31Hk(xKU3h;BiZ>{UPY!=p?HKEO@YIllMPr!l$?>6#ymeBABO?WdGxrswlML{plyX=&o>OOc ztaNu>bzRK8GpuTMx}57Q64=5d01Ws3e_FrN_nMB8qV=y;YnHR=>vbz!!EJDUbVW=q zM}m0%Rq0Yn+Yk3g(zNp$ zTuM}_nBjOiIUs+PbSjJ&_p%QB1gD8`%#6F0xl-JpwF+&DsI6&i@M#uMF$Lj?V`2{k zfr_yVOh*HcdOR30mD(^lH5QXRD8Q+4w`^!bYI{3>K~OAMVD_a-rLlmK3qD0WTh+1L z8YbG3EhK=N4>^vMGl0;}tG*RyH%@1|WxX)?OBvbyJT`4!WKPRAE%!TCCD zgFw1P*_?AjvAT-p6_OcNL_L{KL8}Z^fd`RY{hV!6qKz3KEHZmk)lmmx)Hw@hCph+{ zT#kdnBLwXkBh5nRYhVMG9@H1Pj^AjMgaWdcCna^hht#!FmYWy%1Igh>J(nttUXfN;n+9|>J;(@(~sv~MtI6Ecaze> z)A*6rPU&Hla8^a{Pic1YK^2|2+Wnc&fmjpj5ZSk(EQ~nb7imAOHMYHNZ8AJ=OP`P- zL&+nG;#pFW)9lH_?cjwViBde^4?b%bUY~T!5E&>ln%A_FSuNG(O|E{q&0y;itK1Rj zg>~-0=RVcdoA5?Bm&lV?+(5C(v(=A=D5RgSYSFdSH$SI!7og;2bHFr96L8R>osh0R zPzDd{M7p<*;vll9BybzZq7Z2&iInZNBJb@-(`@8rfvyHd5l=sQ*|NEg?%gJYf~+(3 zu5R60Ct#M^>m%^wXjsVBs>s|PB$}K0+%aa^x(b`&nYx*DX zt|zJOT{TGVrqqH$$+0aMfEm5V*1KzO?GM=3E!LK8b!h~)wlH4Z!5}EIHZ}v@tG_bc z24$s|+_q*|Tr7Epa2no2^Dnp5R$o(Sb6!X2L=?*j-m*6fx7?bt-z$`01`Y@ZiqX_% zc`U5UF(U;|4+kD=#&L|`)Vv%$#^6?`6WAr{NQfU$xnn@TcD9I+UZMFFBbySHL zZMzHyZZg#}lz$l-XtcuHZaVK#|B_)Lh`8&PTR5 zsoX%3+xn``aBz1n-0_|(Khj6Ebgxs$zAWTz`c@HxJnr8`;8~X^e za*c)qjpOTDmM&(9B+5~nou|6BSw~qA6**JLs9m85w=qT}bU0)`#6Q-%p^o0=(c?L~ z+Q>uuFoERgD@=LrIHSk)xGm4R5uG-2U8n`_|_8bCDrc z`u47WtFIlc#MU};>Q@%*8a2TATR6_|arCV#6nSA1$~Mci77Tb?_!Xj-=fQG^!8%xLuT)qh}C~6B}cmc&ZmuWXlWv`#eE1&qO#nksEC*w_`wDSy>L~TLs~=AJez z$CKF7EF$>=hHUapH>i2}P-oavYyq>hV7if!?@@%bv7tYhj(+s)o6xQa3^Bzvl?=A_ zU%yfvSb>wCJXG^#DlFteFaRy)l$R`#yQFH;0i0(Up`V$JGcN**VyiRZx%EM0!36X4 zK1EoG$zfEYifC_VKqQjf{Nau;oc0xDa7Q(glQiJblk$(Ss?tbMiYS+X@~aPWIi%4f z!-7=So$zLb7tTN&{c3FAHr3#LJk(=fMGA(?9_PTPRXG^#PJlpTikV%@jFI&n#UL;# z#ZZV^z9icC4cLL(?@5N&VeD!*0fr=uWtX_}N3|7MCc(}aj{fw74yCcZsbGh}@l&Bh zVD_IpQAcmJFBFAU0OPejaw&&uMwuo@Q0UR?5WqN-&B=Lg7=j@nWqwjS=K`~wc;M;8+`cc9 zS*_A=8^Q7@X=0*X*~$+dYTs-Rpr@=}D3Q6Dw-9vf2x{jB1 zscIcddjvXZV6du~>ItkhYxU{7*sfUI$Lji#5+lruxvkSTVG$k zp(G!&V^D3@H9M07oYW@js2@U)Qq!%jFQRD#VPirYz6r%^9GrZNrHS7hoh)MjgYQy7 zw;*|}TTY?3xYcIU%u>fRQLK#4xLhBtYg^nyaTt;b7D&%#Q;=%Zk(8q-_KaB-t;eE2 zJN(Z1@$4z>E(}|v*c*)Y?^BUX)`;u~c+S#jCDJAjAtN3DuRcx2R&++1DeD*MExbe0 zaNEFT#{=tFvF*KF+TE3fv$SKMt!`Y#PtS}a@&T+X-7p;7S(lD+fQzOI2_V*Jo|0a65f#C9UEI9+G4p`$u~0Ev@I4-V2+XVv;c26nxu%@vK|u zVwU1h-zb-|s2Cq(^{z~qHm%7Wc(be)^LYONI-)9e^0X5NUlpb~ZIWhlTa_A}UwI~-qnqn8Rz>BoyRtltR~#;3 zo<`Meq@85Dh;K$DZ6Ef0S4FH}Tur8bxm&dJ=O!QSEHrCg}JwMUGyV`GE z>X&zeWb)-as2B(DRD%&HVZq!F+JkSq(2vw`&OjuN*`~T;wz8EwNK$j{SW|PR3k+lN zN{>j>bvs=^I$KVX$rc2Gd>Xz1JPuD`UP17=?vGMGpf^NgCT!=okJmNqwqOYh_Ytn_ zA3oLUZKp?p>KGQABZ_tr7+cG-AJ6qdF`J~iR3S5 z@)ICAKdp9H{{VAuy?Kq5#pRy0X(g|sEm^T~xN=9*y*4KgXbO-)Ij?(1mwYJjy+;*G1V@&WYkZ@R z>&;8blBUYo?}TVaF!|6O&5z0sPH0iVCBp$R<3Evm0rfO%C}6imbt{I$3=UiBX!AKh za6-gK2emrft%cV^YL>z6_Qf!WvK3YXvG*0sY4K{BbnqM9PARNXEdcO955KasfGacS zgPQ4NKkkr^X2k5kh_$s^jFr%c-ee~a>TYDuBx}!7ryc-OkgGur%uf$uyp^V56L$Z>3%EWY;6gf=Rtb{u7h-tlOCc*DtjE z+0Jp|k3H7%VvOND4>6u$;UaBs?e(f}jpTt&5TwmDjTh$sOxP-0!noXL7L= z@xK8-vLt4w9}R=p@l8l@MQVv?F>D==^8x(D3Cv!kLo7EOROK0Mz>FFbrc)=4r#Yg? zqQtR+T<*>}Bk5VQNMvK+Rpw%{mS4R>YhP3Mkq!@a9w?G+a0$^)6f!>0IPy(j$I22s z;D1_*Ac;1D7@p>eoP2}x5#E#)a6ZK=r>Ng9PHG}W2ZR(azkf9J>_L5F-~c_bN=uT_ z?I=!9aY6$m3U+fGPSG!@dt#m19U?2m5OYF_gQAh=+NMZBmmx>jik|>WBz|5EIrNzP z@qzUmR%WNI>Dq0)6JA`ZMLdEy*?wTmd~rhkt1;Il)5V0|n#JlZ(I2}f`@ecT7O}Q# zx~Kr5%Krd`L)VEVSYBAxSNy100)E1|)YG+%S3|h7)o&Kg>PI_fv^|g>JJyVvEvxD_ zx3?(LURt3@SM?T#y`Mh_ag zpOk=eR~aUZXBy|g^r=#+AWhiSR*W}d%6-)0thZxT>LloC1xX13BpD;K3UMYMV*;<= zp2zJ&QJPmO|B@n|B?{{Eu z1!hL~nx>%@)xFd*=o3Iek8dnbpS2s&amM?74li$YTg^K2N4d9s9IF|@&R>o(M-8hD zecyB^O7w84kDJub_*RXjyf&~bHqoqcFJ)1HDAk*jZp}BP(%|L>r_@Pk8T80rb91w5 z$-s|4nzXd-77Hy}^HPnaGu?#}D>*7L>^xScK5BXs2RrFd&B)@0&OyLGFTd8BM+pAn zpi2%2IPpocI|{CMfZXP>I+sebzOj;9=vq{Shg4qq9jjem3=D+icH@ej#kjdh!I6*- z;CZN;v{Yu`?HrsPOB8)RbvCoPK%D!wtzKDXmhJe9n9iJDo}00_!ZMa!N&DH z{8mw;Ln)2(a$T}nE=7ZpRIJ@UhEuZ zjB?gFClkwV?5DJlr17%g<2c~`X-RDM?-{wkiTsXnUB0oWnUR(-Ol}U~Il=d=V`+;a z1faeT2NmY!(zs2X*!4T2tis5^3!$^C3GVUO>hHKTow~wosP_w;AxxhBsG0%0V9DorqLsCm0##uwk>*t<maYEaLpYJR1x5g}l>e;6Nn)lI%A&Es9!*z~%3_Q`g~Z>bqOPk~(4w8r14Ue@C3 z>g3-h>v)3ZIEwe@>sM?wPuRArWvR&=GE9XnaB^Ge`f*v^IxYp=CsMp=-B_LEVEwDn z-xZE9^31T~ag?(7M<1zl&c%7Gos7G)vHksp3#t)p^j#lMl|SBNi_||c%5FKqAMx6~ zOzF0tv>I2Dh987D0H39KN5maJS%&)l?l()gy;HU#zdUQ~50P9MG>#B;N(mQ00;4$AEir6 zmNnD=020S@H!`=LD<`Ngh0fTcD$$HKM}t^m!u{LujWOc>rLxz<=ehp?X>FsmmE#is z0Bg6(4o!Qy4^GT({L&l@c>w zyQb7rk@KFlC6`mSJ^`K;i98DA^=)}t<`ZVjtq~`2;2&^BYV|Gu0O0JlASLC>f;?9U zaxzb0UVdDa!VMmoO>U9tRu?~tvxapT5-4rH)nwN_(brzJi`$d?$j(%K2{q9bAZIxv zy4JDfCUItl$+(fpsSeZ$?%;t7ODZaltyWE5$)IUO<7%8X2V#3uvUWxiOgxNuIC1Y?(Np%XS}+MNYT3z zpbYl*u9hgbHq;fQEurS`ci13@l5x*^v3GJIvq+eeESv%7^`IMtw%@%&I5-&dRNc&y znPkCp{VBOoi;eO!C|%#)Cnk!x#ShI%NUTi~CswQp-07dpzt*ZAD3HnNO0SII)kV_@ zE(>|59G*F;$eX2IoU8IGayg8ZOaM5~n&_h&8*3~$JRIZ-6sqPHQluTEcBb4|<+(KX z5;|J5E=lb`kue(*Gk~MX^G5lUl#Fcyu^wna3HjZ=Q`?$zDc~<*@7{|SWWhptAz#ir zP)i6V%bf9%P1~AcNgQ$ZqQ;QS+fX}vsC=4-tsdaJ*Ks%lJSA# zAylQpMrNU_jUnuzxQ02d)dF(yKN=yv)&!`*6cdwVs_o$BmcW*8AJ2sr!Zv+s26 zMJ+C_Zgm56eQ_)sR~r!j01b4{bq%$$J=CclK;?~byt`!7x;oWHDMzxVpQBjm`fa_1 zyaVvil2Kph!OnA&_pJ@0gK2whdAsn^teZ{_JXMogMrumYn{N3VA6l4`APEL>+Z75` zR!c)&MQ?EftHiF|)JQTj;dj60HbmnMpj1R95N7fNOV=csblC zxjbYH=OgJ=@lRtbG_I_2twfK&mHwi+oPJh~a%62+gi9a- zLG4wyF=LFLYa;iltn}`%(|Tg$O4^0|Z8TDGw`%V^{cwhxsd}eQ>Ah!1({Eyxr`2RJ z!pON$K~c~B>f76NVy2Cv@+S-hPAN+q5zS6S1Q5rNa4RP3UD0&Q$G6mVYfF2C0JL&A z3^Fn*6dQC__?nIYPTbQ*S(lTwt0eV@OXO!>)BV8pMMM3r>84^vyJ64&09q>jwodeH zHuinF1P=UE_OUrFim$0^8g`GRwx_9HMFoJtGr9SGV}bnZpFa}1BzNjNA^NxaQSCbx z^mQ$76pkIE1&1VojMYs}6^Nk<26!Y4X0ZpvzKJSA^&OT^ep~%3Lr3ae2dVvNw0%+w z=70xr5jj9}gUI?+WWi{0pCeVfTVXP8E(Q;3wDzek00a@h#WWgxu}UN^s-wrfbF31J z`z~1(1_J{Ws#1`QfRUEqQxHXTt_Zsjq)1VcKpy6*>KA{5xAjUhfJvyq?LLy6D90fE^I1)WtAx(+?au1ZC_A(UOB5Icj6 ze@fi3xobOk8hL}t1`B_BxUp(foinp08di(I3z!YOorfyl-8GRVyz$J@GU11ua7Aof z?U4kq;Ku&|HwTKGc$Oqt&eAwXCk4Kh(L73TlNimzqdp5XW!)xm@BTusM}&1TIYXby z{Nz+7E;E%YgMg>7sl=08xj2I5p9=WL%kBfzMx9EKvu9G3Nz))?kPk0~96ucITSxS_T;_$Q|?Ig|r+T z3ggM9SHaPbQNhbNF}X(tNbqRd9ksl7vb1s$Ex-$~k38gxv#m)H#9#)PcO%6^r_p58 z12U88g4y=2c)>>^M)SztHrdVfG!1do2Hotg7AqV`w+He*c)LnLtNKaS!!C{xSLA5Fvz15#GEtx5Z~omdeD*YF2gYlNddjRjd{V;^$2ei z{w`50Er4@@k@OYIpHs4KGU)U)I$2ICaP1tXuhO@+*9|TF$_s+UiO%C(!+fkqa5%4D z)_Qrm#t+(12_U{e1dy}-?osZZ#<;7k1}L{A(U`q5%)z^_9go`;JJeEb-Je;Y*T*W` zk^Gl~m`U9uWLF^{xE^bz(E3(gLeVY)$mrbRa6d}sr-;V*AoIx2kzTLR4RW@Y!f7@@ zQzdriAL&L%RkZ5$9Yev7elVQ{WqGCQGa|IBXoL?zh`@a3y+c~muI%-zsM6{}sQ&;c zJ%At_WA(10;`VjCm^#>q0UnR3Ax6g?@Ch}^>iS-xb*RsE=n1`6+#28JTEjN&oF6lX zD$SYY%Bsj}x{=f@AoU3Km5%Ir81GqFBW`iWYS~Q+Pr`(n<_K;HBu3fo^&=ov3+o$; z7EyB z2E!A{{XMIvNZ)dXMgX5`>A@LoJk4fEyp0^oXmHwoBI8kiQVf$HCxt)flZwd`Ms(RD zuvQN5hFoqepQmcV z32)`%I3fxNQ~nwEHAWYbITumZ0!Qd&!bW!pfbY-oH`n=A*kc?Wc5~;;lT}Vim;OV1 zPP@|@b+>5G<6}{hqXz_VGg-e0ujI4Uq_PS>4C}d@J&%eHS4$4L2km=hDaiwW1(Y0S zx&0PYw$!1TdzmekHVu*3{S8ab)~9!avksL{MDf1=0QP+iZ8`M_-T8(A_MlpsE)0=e z9I`eBNA#!D*(I`u>02nk9FH{%x!x$tpxpWGUqIgpv*TqClRzFOj#dPgBZOjm{XYKH za>a)aDcYc8{?%53?kkPUA~HXfCjkDnD9lNB5V?~LpO#PIKlM-6rDTeHFp_mlzj<_h zD1=S52<}B!X&skqIX}|1BTeu$bL?z(z~HTANg0Lq5>Jp%wQDr%agH{+F|}E)t+j1A z?CcicO2#?n$Oa_$`uVM!+mB65F)$eBMhB36zLcX?X;iS`PD%P#A9ZT>Q);)mJZ&}Y z!*3}hhiPo~9@UQj0BwJhvMFY2JyFu894nrDgH1E6F}#nRs-=h=k_XbU?mC9v$^bP7 z#pk2yv@!h5eeqQmN58+c)Zn|hirJvSwPAsi5xRct^&qIH%+i5qgAcF4y0C_g+jf=OA59yld>}GjwAZfy^?HFklPC#sO z2kTjE3Ncm~VZjxddj-9%{{Zd3Mrp2Xp(?2v?me;Z-lraRolK{WIXXw6>5~H<#^sll zr7->HxIZv8k<-`daSgrP$nbiJkdOJ4p9Z!VhDAL0#}(=0p6H%lNH|TV3lu^#vJuID znB%||9~trWrw*k9CI;cb$2h7)GE<>Oz+5knV^9Pze`%|ew{7iTFrE0$L?YoW~v&tsc{r=Hk)WK z!_Fdbjt0Tx)y+Rhw$m=}ucCRkT^~|F@3;&P6@#CXp<_##4R>p(Y8Mt4*4J%mXsCUA zW{)i7js|>Ct$Je4JFEA&FLIYovNUrY%A|V=(bA=w;y+Q?`egp?0N@I*uIg}GT28Ut zs@#LL3}lAyQ9Q~K-oi4Idm>lr4NBfEK5IzZGspreuim+JH#(H*9mAGH8%}?OR5bga zPf!;R3Onw|T$~@b*1KQ8daTpPRT=O|1GnGnUP6@hvfX?ms+JBK<(2g7Kf>CXZIRWS zrjlE`Ti;F4 z78(yxO{f!baSG~e+nrpzWE}C^aI9Nb((F2a_Un8)OPx2=^u^uAqbmYKV+DJ69@VX@ zTxu`Wy)S78L@t|iYVUPtXKip5WzN!Aji2=edIvv8rgRpm)%t%?f3sa(VI*VKClKOMJvY~J{DESCL2Y+h2@qgh)h0+}y+NPU#sLOJ*q+4f|8E|u+ z0uO4iJI{;b9|9lS(Y7D_OI)6`18+d z>wYkQ{0KhYm9PH*I#y=6@ebP4r1YMe(X2+Xt=wtwLe|AM#~x!*^ZWg%6EVIZ9*sJF zonz427Lj|cYK46bkSlsgp6omyzt+8Hq&jNDr*!!L01aVfZGS9iw=&yABN8wk!|R&x z`wo@rKZJKSJykWewxMkz;`#{CZngyf015v9F~^Usd$ymfLDV`$rS^{|`+KptF&HX5 zgP%St9MW-*1w*MXff!eX=*CxQllMH}Vy8)V<`lCxe+k610zkF3!Z%~rtu|MACxu+>l@n(uO z*}EZTjAL&jDm+yix#mR?GpIez&}cT-@6dhN!!qfy z^d*Mg)okJ*sO2{t;M3eLWGwmT`c)GY@XDqH+Ob@3i~ZMk|zd zzXmyKGQY4Yp1d*o?X~{^hun%05F-#?T#n-v88;al)IYq=K=3L+ekpk%Ogx_>{cB4h zFC>~vby1&GgWH;G%~fq-jKsNS90oKEza~4CKgC%+K(~)=16hd3Rw1%8jP|UuWt3xR z(ir0@B+cC~S^QfVE)`Lje57_Jj#FcN!?*RW4pr4sAgYKaAYhS<{j0UoC6emZQt2Hf zUIUT&xTUAmJl`2EO3j61<~zLH&IPdG+xsdSs0 z0Gtkcn$IqmB<7mv@6+oeiw!Q$E3U5<^^lNWuqhCY#Ch-a{&mPqtLnF zLama1l?kmP(sX@F{_v&5b_!(l<8PZD*&?qN430_(aC1*niYes2PFC-stt}_Fc?YV4 z_lY*|mB(?B^sRUl%Krd|vjK9yGoA)K{e@WNWPOEFF35zVF!FFn&2M!E zrPKN}*3Z;eg4o?cB}Md^_#7X~K9!FBQP3cj{j$TKHu4|xtv_$gK37IC^-VrF?U#cR zEk;8)NmW8_$Jp0PXQxA{=~F{;@+gjFk#+!2Ad1G5SNMMNmR)hc&T;r@5BXP9()!m- zYIEJ$=sKL2S5FXqg5A`Br@lx7%@Fkb(04V!v-+l=B1;qG#l7jdq4a-Z>QmW}xR9J3 z-qpLIt@VzZ9lZCF-AJJ3Rz3NmJkJ~KT{}>nh|WYSf&AE1FSQBn;3U|*Cmb1Ojeq-Y zKT6FfAMg{(@-45ENJ(%MJeLJj{{VZx`qmz`tK`XNqeRztfMP~P%EV8(@_v<-b*;uD zZ^q0dW0C1vIUtVQ$Vb=3W6!VM2o~DNC7r5_2;dukneJ%Go)J}Mm^4`?(@Xt}nqH5p z+ux<#&4ly5Nn%(QWA9zogK7ItbxWH$5&@m@%9sYctX^CP-|Nes`QB?nKDF0$(+k6O z>LTTKN-_?7lisn@=Ec9}c4~AwoRRp^)peIo>WO;rSt5SUW4%s7gwJq(ndkMcVr@Fc z#KyOC3)u^(Fu;3$wO;=KT-7x$FRvw)NhfGHQS`+_N4ApdQ@4&2hTI!C&M`_^F}$|~ zUJX8Mcxx=WK7`TCF=;l@+NRio3}&!(UX+hgyP9)(bqmVMdzVblCkX2vf?a zt3Y7a(Wv{7NuLnp;WpxOtI@W*+0E6-a;1J|BnVgl5`C3G6ZLRdqYq^sPDWni(Yv zjI3iUa%+cPq1I*7p!9AnnsRbv11d+6MZDKFsU?N&e-8HN0z_eh^{*aU*j+ct?JrB5 zUnct4M>ethRJ)TTN~;@>$yy`52Euf^jyDc4#|HXy3lJ zhFF?ReAv$AtUeFr9sE_@E^?2uM^O`hc+~#@XEA9SIT4pXD9`!T%Caj$gW1C|%nhW^ zbFFF@vx_89rU1DLeZ_5Bbv1?KT*GW+l1pU{$`pg!BOdjkVGeC(f_WBxGqjGvn8yXK zWmu3({jf2dd)IVc$f`1)Sk3&`CM4SR?cYz^-f7xgtu*cw!Ekmmu5e8qpH=<09E$J_ zG)6;3kDGUnX!k{&Gmq^?3iHNA8`X+dKAWpP0dxnIsd<|Sw7NwNKKECG?^KrdDCL1N z_K6qfAOperp41DzzUkc|;!Jf7q2Tj{00hGm`7w2sxjDfB@N{{WWZAN#HTl~U{CZ%H(;2sOK7 z5jc=CHcoxGuNUb1jbBl)>TNSh=}0vRu4Z<5QIwl(lk$e_ar8B#t#sE|>OB#s^!jv9 zp)ISU8`O05A828Q=g#c@mDjNxif%81+U~9NUWL*wbqUO|SgV;FB9}RCGyWBFF0JX- z>9*IS)FPKlPy;%Q?I*z=4KIj2QEAfpV%+K)ebxP(kLk=Ji+aYGIcCoouN3RMThI0j zP`>FG(&OlxsTM;JMp^ggk%GPt)}lD#RI<)bmU~{i)mj%#SXy3cS3Zrk&?XWTklX|Q zb<1@Ap`mqtt#kV#`|(n!GfKM%z$YGlwdXx+CsWzk^j*hPM`x%(9qdnQYi2U?BJ3py z+A>cA&2>KqZ0W!MXwmB3Z}AP|(X6#=_!u>` zH;a|eoPBFkq%Zy*U+I^FsCsiu(luQ@NxHV005gu|Gs*jRrH@653ZjaZqH}j9bqm(r z8q5(omdvvp1^Kx@%C{v=jgKDn=HCnSEkCGRRoCzOZ%l_nc}nTf{uNdJQ;pg0fsf~( zYV@h3^&dFE>;-Y^;RtYz@XAu*(7kkN(7+ce&ZiXDE6f+j!xLrX%9-8mPfrwT^UygOtb1u zI_B}^TiHQ^1zhcH^T_>0b%bLik&k-jwP~*4NF>wjMfECU*sqR7l0FL#cuijr< zSuC1$s@%+7Rgs$jDeh~x43du`%NISR87?1F)Zw2_)Ku8QS~;Rokj?k4LI)V}Rje%` zw^kO=#}@Owf(!yrn$Fky*QUC2QaX0Ee9&EmS1KWP;P&JX_|0dwSzpAAxfFgYqo&gx zmSgjLq;kIXTdghii;kPRkEN2?ujc*REyH0#5JPkCRQf-tv~H;rPt(^%<~w!^Au+N5 zPj2I$)n8WlnbP__<;9fO(o1m<%Q1o$ks?3!m<(5b7)mOnab%Kx9$ftc@fJ>oPL+Fo zC-!>EWehF`{l&|7`CcJx9ZRL_Qd;Pu?@x%s5EBihNWsYWuT~n~oHP@yNvK<< zmJmt!g5NIF?dLyA#?ihc^uD#I+u2)QOY7Vnw&rLaHJJYZ)nYmAT@NI_jHw*Y!#SciMxr!}S*=kPw3~1s;P|Rlh|Y4m$?3i zNb$R`gWXA}Y8KbGU1RIr+ML59t8R?_Kb2PM{{V#@ZF{7&P1LQc{OV1tj8uQx$@Z@5 zKZ@NV*Re$wrpS)|n$Gs_B4+jsMRoUAl3CeJeCsUgtGp$$`mXEaXdTTZl2=Sra(@wY zE8Sn=py}I2glcURI7uIBos6Zq{VR;qG@psuYsEFKk4uY~t>d;6oxY)sMids$wRX2X zabYutew^x(!yvcpi48&?tJ7{KNSCJip;~58S@g*jMh^s&zygz&OW_WpbN5T}g67@r zt{~~zB9ThEHV9yR9&3By?YCUo-~Jz|;L;${Bex_Flx4ryHmezG; z$Qu}T6`Rw2Pae5{ty{$dBwA$u0Ec1MSE2q^9NC9VN${{Xz)-hx&rz~zAKPu{YeJ;h0lNhfRs zQTi#caZ(k9@b_B3>Q0mWqpHUrtg}2xG-y$0MLakj#0;CaJF8~Ek4;=#=f~1+=dm5jrZFo!DxH^scD{6HUTU$@&oyC!TmsSHNIx+5r2b3dQdQU$k#ZJLr1uWM5~ti|k&;-Y2391G8Q|0#X#+UV zjMURIs96ER_F?1cP?=2@r&YU%I-QO?pL(oYBhWy2;2!xkBPohSSoi?diHI^e%?!%o$DzROX&A^!jg64}TUu0d{cK=EETtlWG(YYT|< zy$h(LzjPu2GcM5HGxHKh+PzEuQD;3Np@ZX7PyR=&Z-}vV6uRD#s%d>SFt^d;Sw+$? z*)(B6U`O+={B^M$(zMS$>8p-~wb5XMskCi+eN>j*_UsiHXN&^C_QiL<4dUnxN2%2` zO(R>i)GbiXrs`3&ZTA6>HJui#)V*cZx>r_Nber8+St&?hjlf25PDwrcn&@=Sf8`a_ zCDcX@l9Hfy{ls~qeK3Q2k*V<;sAte6>Gsp$w_$y7E#xyMNL-HCJa?^5zJ>@oBdUaG zM4yFbW0Qh%E06fdR1S~YOAp!u{8qb9i3oq#zNuhH{{V9*82eW&VOwQKW1ljO@L+r@ zhTeaMIt+8f&%Q}Qh5rEBAFUfl*QcA}7Q554+ghDJO-=D^Qm#%1bDn$Az6}E34D?8q ze|XI}5_uoIJbty$^zkF(S6BkPh;jWEl<~#NQfMQRRT$p@{v#wBkHpS{j^^4If<{Gn znRg=(SnxsMio1ENXgxjF^J!gK(Hb3wku&YHypF;)1$zR=Z=a`b)mN>#_?z(j0gOo* z{{a4`wf-{oCWi)zb<_6{rmw5q$V^bDCI&nLNbE76Rd(@W`{ z13{l#)ERvii%*62DLfuj=QV3kI)6^-cCpK+X|U?e4$F!3`&glE#Bv4)Z>4$9OxtQ7 z4LXX$Q|jF*j2BUDj%@C0eEA;4dsj);HpT8np>I0RXL3DAq*IVVt{+p$k{Ip>spyz7 z=FL-PbUjIXrO7==mSzI@j|X{^m{ zY!X<@K0Z?1WKrSOFYXw!MH-@voc8{8*&S?>Jo#zq@{y#sJw%!^!Y|-`Kt4>(AIrBr zv5L1QrLCPp*u>V~gb00LRPHU~70#xyJF)l0dQ4pfh*rnT~ZNS>W8;)}ML zma_BTM|vQR9oV*b^Sc=CdHYsfuAIgR?KNAE#~Bwa@{ak<6fJ?h4@ zqAsZ^k!5&qAs@PtP5>tyk>5Ux{FYqMns#39mi_s^^GQ3H1-yAk3YNvvHMi|V&~Rl zr%gC}xDXd7&TFd-rH)&AIkUzYq3(I|b{2R3q6Lw1;CCDYRWD=Q?I;03{t;1ugmMJh zyO%#Pt8U6rwtOCI(B^UE@+)k(GTWN5Yi%UT%@YB)xXH~|#Twq`NDs((@+&CPe45Ly z3mRO_7NHhNIXg(rZQm#Fm2j*=924WdII6l#kX_BV#-c>z&?dZDE*Z{22evD=EkYce za*Le8JbxyBQG@SX_N@=#?<2qbLqv$!kyijPKIXatRoxX>e(-KVo=@pRT`=BFJa;Iq z7S+nPAl7om@<-xaB%#XyrLPeBTq7^bC30P5qIJf*IncDbh%EF22s2%*pT3*jIqlo9 z;|G)CyUWQxX4)BAJi!z&Z{?cM_(#(XsrBP)dQHx) z4@~Lu6AYJA6D7+5fH(u?@<+E7*4X?dO-ENvSFd%0tKN`5bsFqXu|C!5*0#}G+9kf9 z6bo+`%N$5H?E~0XW=yoH9P|rSyNb@n=JNSLwuUBYH<5y%6OXnl!0vCQ_>Ze;8Y~wx zbl!(^YVY_|0iin^f)^?|uTuD@r)rw_O1_V#%?wu;QYevSZKb0J<_dq6a{9-^eIHTQ zG=Xz{>FIVhV%4IBib%{qh&SIgoN_`DxibB>`bV2uY8u_?&}<;PeN$7h*JKu-ijymd z)*_(u!sH)5_31wfCe|hRz16MMQCq>O{uVD)lb**7nv%QjRE+7-aP@R4D%d?P}g=HEENw zUq&ZN^#+~OU4Pg5hOIb?1(9*&vCm=ktQ}9Mb)Sryt=_k5V+M_+D z_v}8ksj2k8RY2EFL;8G8YzmAgr zC^~2Hk|(CqZ5#H3z|DFfo@nB?GZg$;iG6LKmwpE9eKVT#^@&N^XGRG%@heiNIcCq3 zO!;2m*PG{qu`(~qC*L&gNEsc)3>GsCkCYDeDO(t%T@hwuO@`Z&2p?J|)kWOLfHG?$ z>r0IwO_;GAdmt2TO7y|$?}?$`W8=n_M_<-qn8t_CYxr9nK3G1(GuFYg6# zcb5H2r+i-4b-gF1<<%|bv5pwo=Mbg>uI;Qr$@zPCuKo}022LviUbnx}H4Er9Zkp6g zD97-#+7DG_PZ`H!UD_kf&30CU;uIS9L3K6#t+ciprk8IZp4MN@6Kx=K#(4yI?Ob=m zj;WKUJ|D$3ze!%-X}}l1y~>YKiTQ|A%cverZuA#RUtdSo8lO;Ge$RfPE|J>43r2@L zxAPy?v$U;WUg`dax#;_@pS`-&k~g)snk3x}sM!ID@!q`@(>a}>e;76GH&)a787$+L zZ4&b1@hxove9|i51Pj|du=-}Y%TBk5Yr0;Q)V(n-iuXqve3FE94U7T6`3?vicFl8o zr$g%6Z$k8x`ckdVv(xkbA+5pu`-m=p`N0G9&0E$kbsvb`OVg2B==Zi3T6Ms>yPEAb z5W^oT`}zKqDq?nOe0s69li~KIbtRk)bsoi8%xYamdj{`{>iTvoY5E^aw!Muff@?HJ zg@7T!QNaeduZ?C8FBtR#vyy zu|SDB-A-cJg&l|oJn{NhlIa?rv3b^VbstuA&aZboB#RqJq8^>N&j+67y<+#RtTdjN zhgsGw?rfUlB0EVJGPC$l2b!h_J89QlU3Jx$y*(FCX{P$lC6-cePRuX_VD0bCPo=u! ztNNbG=I2f6{WH_HxqDaNdcf~YXZU+_R(=v__u}VR>V0w(2BECV9bs07>aLz$U4$ zO&Z)HuG8s*xw!iZ^bKr-(>k`FZyOdiGQ$e5c0QQ^R60O#c3&2C8}6NxT++Hm=6yQY z6LT}%gb9Pr&Ix<~GI*?Rz3Wx#?vodd)B3~o#B4tia~0UPVtkFbJHS6`=sF)m)NOtQ z-04>~lSQbty}}E2{Mjtn{&X8%7gCS@Pg3a5X)x5<)s$Ni^ONdl7^;j?Ky=+FWo4&y zy{GJ}-9qxl=~j4+?B-TQDln_;ymtH6g=X}PtoB_C)7E!Uv{x`$#*!lrRexX-Yu{_g7v#3ZA!@MurHoQE5UKk} z$M{tQyEDvD0TFm3{OaJ9)k~SN4|uFDJzhmli1_wn$YSCjY7`a+xC6BOsyyHw?5sg?_4Ana%$SM z7@>|SCt_Htft+)ae46LYmEw|7?C;WPqcrD{@KgBtbp`iHX%7sMG=ou$N+US|y*JHW z*M1w?UFg@knrqt9x8WLN5=x>lM0wlWwO`+(TZOc^(rxc8#Ga&$a}vH^pPT|XJf3P7 zS654RA4C^7*6rCX^R+&WlZxnC^-3$V8G3tizLVOUHFi>(sn@9a}gNYdeuhJCQcnIM33kbGB5qIFgNwGOeP z>Y5B!0@$uC+B9`O+m((9$fh^9_SUkkhJ^ZVc_{=*7Vbal*7-GYQRtX@W<`^0Xrb|M zN7r?0O$uEjOP2CmD~6So7Z}C}&uXL8dj9~#oo_+B(&p&M;)?PwP2`R@-Urj?sGg|m zD^+dQ7vNwJJyO}vj@7U=zM+ydFvEDm&etF7T&rJ6Ev)Ow=<~bYxjFuf)jlKiuTENM z_MIBHG21gTNjf&~nTa{W0p6kT()Uo*ekt`W#<^y;T8yw0HM)a{+m0}Ddt$q-D_z#* zg<%%g5?sXF)l7;Dso;W1s#mjWa@}1k>5*C7$Uk`~2xfIY?7!-3XRVCm(aRrBlF3d> zgOK>Qs@mz@Yti@f2A0;-8-vX>Tv0LrN!iq%#U%gy&!xp zTkG8OUYNS|_K|025w|8ckB~UQ1dc0W9bZ$t(?quG>6dM)NY6O&^rsDM5~>Wk8Q$wu z&pg*YE%bi5qulBGj+v=XZ!+f$6DWPh&BapbexvDKM^3WoeHznHj!Ziww;M<#DPxik z9gTN4+LuwrcE*lLIL7If(}IU$lWjM3+p zu`E|oN8AI7qilgphyW#9+ON!#$#Jx+daQpb9Ok=To9OskO`B7{g_>|es*@|puYjgIkT`JQ_1vKb2t2wn1mGo9XSf3*v^>))l zOQ_~qBLpvX^1GM}jk3c9skjh+`c5+4@%a-buvc%CW_nceawf$uXzO-rg$cW{%C; zL?M-bE_>F5c9R(jGBCoH#xt60hHF?JK?zkwEX9X7AJVB{l2*~1&ZOxXIzO!|IsnY8 z+@8SIq3W)vkorfMi)Z!4XFpOwCE1B>?^}>_>0k_w^{H($-brmFVo1xzMkL|5G}Ipo zhmuV@2(dVtP*L;pgZzbGv_@NLgDLk4!@2uX{5;ZZL%finVLbioQr}H@#FEb--L!u1 z^AY;{@m-j(O8zM0%bqpMC|V$9mNGUYE_V~=xXn-T8g<9xG~Y@~qaady78U6FPvPO8 z(n#iT*~`h#=~;IdzKn7;zMQI6xF_cQYO>(?sW;HDYMPTtU5Bx{j##7oQ$-Z)GGlfD zzm;j*Lkp?ea-ELTn)5kr{Y_47LPe2oWnHYrj&VSS8_PQ;hR0C2j#Ar%g|bJ|v&XNB zds^VydKEbCQl@%*wkYy3Nk`b65Na!?k^QTvUwn$^zZ0!UEGK|NC9=j%!EPOh_Qhev z*4mBIOz>!~@qw76a##`d9xJ9T!vm=T;{0a&`iTv$x0 zZEGag5(3CiUSXcDjA3*1C%IVOwmtk(-1Eu;Y{T6fG04x?@+rTRThX65{Df!Rx}& ztiNJ-u218w;=`zPeTB?3+*#aRHN?74x_AIdNy)MBUw>d_b~*H22WsX&OR@7CA^wB=_^eY>}}pf ziEnOV5!*xo{K!Z6*004LpVY4U52ZBi654HC+FZdSdS@ZRsR4=hIqyr^i*`S8ni^MK zbgxl$J*Bmds@E5cq(d89xaaOgSL&@}r?eeN+v-=%_|_hyL2naE$UV+G3ewVkAl;`_ z+UOlupf-zjcmDvI$d>|G-1r-S9QgBG$4hG(XG#1`>l4*8rM1oEizF8l3*x-lM9 z`5#*5J`rEVbJTr%28R~w7GZU11euL@o%qig0N@P!3g|kMu6nL+l94= zM|{jnkWW7^ZYw-`2xFC_Oq!WZBwGIfYwWyq_f~)UCQ91VW&NpX9n==rcFN$NPVN&F zg9jX`?N|@i{b3(gMbpPY(#`y^8-@P>eQmo(es9=H2JVP|N=9-rZ-GVb@! z0~NIN@oR%9=9iNjRn?-=_1zanXrAKtQ!lq+z>O3F%zePfs}e39hH^oyKAZzz__x$L zs}R=OLwAu#)+E#Kf?9qe;!7yV7LsJ)3wiP1 z-m6%AM7-6W_eayZPVfDrg`OF$M{VAz7zf*q;;Q@|wb7-v)UUMTtyt<7lbG*p zZZAxcw2TPc!vk^7c_TR$P}8h%dx@4^@>F(i2xGUsGJ@oQaz}Ggljmk6bL~+BclKkS zYVsdvqP$r|+T300cJo{63HV5NEYK(oy#4D!(#jin+BjiI)Uj`nU}x=FeJ%Ss8=X$m zPmV-%n{?ZO!!vmV*F#i_%_kSNbVXMOlbRqLRC7wGlTF2$N=Z6qY?8YWSmu}GWI=-X{{R}Q7FHO1 zFW6CIw;k0<`_w5>GiK zxg=9t+uM&>Woog&2daxftd0PK9xp_)6$!rVn0yk{UXgU`6E<*B5N6NX+0tK^C{ zH+TBb-V1jnn%)w}$v{mET|y!cB#4>gljfYzT7#-fZ(OGUJ}>RTOR=*rhN zaWrtpk+5#_jCZR|AOkkQmWliI;&1Vub+*R&U<&#v)&|d6atO*`5L%F&2Wy%w@ z4p?5b~+|oJ^7~Crlaa1{x9iIykjepKE{;-A8L;jvIk*N^*`!9 zJ@HIj_(nf$Qlt*hEi+J#Oh>c!GYE^O6|;C#wF z{{W%;)r|*Hit0Vmgj>`Ay}s~DeaDLPG31i?OzWIipqT8UE@BW$*RD`WgCrSs8}e_$j)tCa8b@kfeKO2auDhvZ|5V4zCK3`+B*4Wg0B2R;c&~+=mqWE#7>ROhhAi8NAaa<^q2lC>m^#$&~r1bpP z-7_75j@}2B=4qezhz4`DeDPH}3Pc|abTc#&Tw9|^#alVfdylPO)qe#qNOddOiMFnr zI=1|A@}34iOEViG)|bF z_oWj~TL>cGad6HHsm?xC?N#*sHq!6mA50n5nVJS(=dh8gI)|1b**ky_L?@+(D>N|@V zBk0Xe*4AbYCHz!)b{OC(!NKp%Y_g}5YDP~R_BS@{&gd(RcV4~Lw9D(5qtOQXOYuzV6)MK%-(?54}edz{iWbzk1sNVtQx3PV9L%y`0->Plo z_3xfZJwrZwFh1Wf*=Ly5$N_~QI({TBHc8SZaf}%0=m7p_(vqO z%1K4Oj`v3C-EJsuqv~BnH9L6Se+w*efhitC556kasnYtz{GweasPA-}MMYG$jul`& zyo}`5XF+Q^)LQ1f(|tuKzrNFzC5qt&)|DH!f2Z@T9<%6!pmc7ft1nb_7ve3V+>uFg zrCGZGaK24up&i`>vPr=!I$!o9sq@cWYA62y@#FshO1ELsdfkP|p8o);uJuR)6*ls~ zin%?GK=EF0)V(RFX#W5VV(LTGn&G}^W01ttk54W7XSde3uKGgLOiNiV`m3p)cSW1h zNtJ=l5BGiQvO+srWn!G1(vN3Frs$UU`krqfQjv|tiu-+Qn$fih=7Xp;xXT!>Z%w_V zC63V?d~iPe@mqaI)H7IgzPEoBypa75SoHE7JRor9Lh;}s5y zwCb+3lUcU^0BB{h(`@e@H=)eV-V-_DK*bBBBkKKMTh=;8U3>7+X>&KNs0GaIxx#_Z z0QdSMv)thV?)(C=Si`)(_c>0H0zDaG**Xw%%tN4fx_hXHP-85 zZ6{cka09G>;P^cDtlo>b)--Oh*1A(sy*j6*0JycC)EC8c_VyAztFF4~3?IT7vnT!) zUZszEQIBUAr{z#?a_9Iw{{U4nKT=s;Lxvrl^ zeKHqIJ1bz|WrM#tII7d@CEsJ&!MHX#uQ&A2+q!R)(4MYydtj*}lIz>+4xZ^-m~C}M z({))8O==iqxCfQaJoc$c*Kq2+7j1K*YWjVauWb@ds0kuz6;~Th2mPY8xz>F_py+x4 z)OwD_&g$WTOFLqKw1?@Qz8ffFY5Ml9Eg^mJ;}$Jmt?=3IdW)yc{+v1tQLUaIMn2czh7rp>!BBb%M5ZN zg3MSCok8qHbU4MTqn%1g+GiWmonzM>OQ${dhtv9O_Nys~vE$|d5;^;dhMCsgajW$O z?wezvX^(%Wj7*1(x%$>O!H&AsdUK?vveWuIRn}rRZz;I74p1>v1$aZq$G@5nMfJX^ zr+h%_ZBpN)^*hP$Kr-3J8`QVw_^^ck06|Y=7lNKiKPPLX^|x0+*Sbee^&XjHW_1j< zV&v?@bNtkbyYVYt>J1O6v<)k!KL*!YkZ^w#nFN9W=f`^E&r)9XFUKB}xzsc}-4;lr zF^F!rZefWI;gw!F$8QzX{6qQvFZ2j*L1zd4@TqZ&eFR*p+XJUu{8za%8&~Oxy(TFB zn=5T^WA&`vS6ld#r|Nckef0e^4c+M?2#xCj^2A&-CWIxCYX=LU=X9>z}ex=TB?IxwvC+ z1VIx!U)=pGy|?r|Siq6;bH}$8-KB|+vUeDxh4`JMY8r%kCbgr*>*`uH$echAGA2gg zKai}QTH{gpht(Z5=xEoveTJJi;%;WUO@uf1SKhrAc7R(rhDmqrIQe^;u+u^oI3$)| zQB-g%(~f#a{m)$gsfZkoP(WpZt2vL2|FJZIR~JMi~T*Yx%44y1!g zSZ*~beOo;?R@;%1a(%o10F8QbTt^(CRixT-4spdmvqLYa&ynK;if>UuSdTF4KB?3? zpQG+HC^}D48m-!h%1amS;yD>$-K(OvzSjC9rh0n8ba{1KYkOf8LP>MZ1W94H7|%?5PEv*EhhI*(X?p{&ppz5Z7XCQ zpm*_I2UK-b7TU!2+K)(F>I)7(3pzlv2@mV}d9KbOITADSs;37%>oUdKNf}EYs0Ng^ z8*72b6`WtgTMLaIJ#$;?D8;4btueTGNB*KE&H?^rt6R?h01*23NxHF)LDM=Ldcxts zQFAfvv>xDMyX{QH6QSM&vJo0bkT;X#A8Ng3zlF03LMvk-RB*peDkGnlWlI+dndhBL zs#@ru8?@a+RFvD;oia%MWs>FBO)|AukxgG7NSA z*O^{UDpWkN^vtyup6c^F{*`5xG=h+vLhS;*(L(T-p+Z6!A6v8%RsHp>}~cR=WOV754` zH!<#rh8P3MtUHYk8>_)H%H{SH+Js{mBcJC=QJxu86@uG8$kdj5HT;s=W8v%8!(L4oR)C;Zfv<*eOsXjG=)5 z_o%ZfjIqF|jm*Pu$`5aP&(-xyO(Rd1`s}m88465mxa6EyLZFOgC&8hXDY*de{8e81 z=HABHr@ougg+DWsfmNF4QIl4;TX-S;mho}*_tZIlA zMidMHI{}K8dE<&(SUi~5NW`C0nmBa%BhqDdxnQyp&ilra1d*A+1d6}5^6QaLmkr&BPDZCMl+ z^!IW{+M+J)u2>^6Ni&W)p}uO$+S0lT<8~h)L^~YR?B)Dgk#I1oaU16wzLf@ypl?+- zMc6NV)>gNyTj}>Ukw_hd$=aI}AwGtPy}YuPH<8p!8s4#Oq{fnJL?m0pKmnW+pKrH% z<$AMQ>H!t*o1thUR>9n>Ecg4N11RF2=#LF1T6vV&!+V*ocuk!Vb9~t z;Ox&ommlX>I=lA8hMTE$?@#pN-`d?;m`&o{1uD+CCutm!pL)~Pb%%bAy8V?K!qJc) z4VK&F=e=+`ef|Fc;sjzx+J0u__NmXWhB>KiyEoGMZd}-<7b;7^*!(%X*L2MjPtbM# zms@))Se-@N&Kq&bVe;e7eds?BXV&kueOExxdQ~K}yNEC2W4H^BLHxUZnD1A$8^oJW z(_UMtBPJYRF6`jrHC^t}A7Wol2~aSp^sAP+dx}(H9Ru06#nIP#%sK^*h16Xvw$_$5 zYKe09IrSZI0Nai-2|3S-2gH3c<6h})9@j{+MaHC(%!um$cV9!$g)??)q-aT}|iEy0npF;Pwo-IQH@S)n$JfPpUU{{S-nnXIGg4idJFpQrDQCST|aElS6%bv~r(mWB;mRoe<$LfeFC^7lXc ztNnfIwsp>p>V01GrmSPtbgfEXR!c!9$sv=;9CrOFYgf}IqU@yuCe{ZYc7s_RRn!p8 zJ+zv2;+ZE=BO(*uv8_LKX*XRFkI|gmQu1_N8DpvqOIqq4pm^ccbyiqX-X`7XMx%gF zzA^l(6IQvo>zjx)eL4%fUYWL-Nqu{A84T=)@+d!F6!urw38YxaShF;eK7U+QtG!z4 z1@{5{pIY-4FQ1oYxTk`+&2KGl`gU2|!!^ulSK zH3q0UhHt~c41(F?F_m>BhQ}Sb`cz@mrm$~TBZlqwts5S>zx9Hdqh<1r4h=kBtqQDy z&*-@m-GtTnju%ntu9WGdW@~dRY8OBO`6C<#`<(v(DzQIUBppZSO7axW2^b10v{%-z zt~d6`DL;CxRdURVuUff|G_cf}THZpy?!o7Q+x4t_4J^lY z^9MHxji{lwqI;Z*+*wcI))fFE{{RT)p?Z!_qg>hyTqv+HS>4C+YWt{23#UDZgi084 zQmhWJVElB7uVc0B?H3 zCZc)TlUyPphB$69@(N8tdv|9`OL!#Oc8q+-?rWdv&42OJ%?;!>>8L`-)l>%^{AAYr zDD%bWNSPpJHa`B<$?CdY*ZV_jcceqU;m*mF8~{A$>s+#O?Crp@wBq~wFZJ(DXxhe) ztZUbCG@6C3nJPsYKOiAa8y@4w`r^25rqe88_)E~*v@u&nsXfSruB0Ep45SA48OMtB zOM$cTHg~Zz+g%}sRL(df1XaoOZ65ysMX=H3)4feL!Tm@f$-=ii{r>Q@F zc>1jya@_;SKWJV*#3Yrq?veHX018*}VF%#A{^=WkH|buL{{SY2KeGCWyphOF`C{?@ zLUxW<>0KGndTc~mPM@$+4?nuiOQ)dH`f4kPv`ZI>E+qA2P<~wF71*_S-$y6ur}TMu z!EcFLCr5OY`gW?fM&a)sVd+P>Z76_q{{Xsbw?zCy(lmdF9aF7cEzz^ow)#6FCA;U5 z;=N-`)3i+!Oo}@lBGNddc9DZd9PZ$EY@Y(N_03k=%6kD0nP;|Xy*B>l^i|Z?Fxp0fL+j1? z6Xsq|(>SicXxePr<%Xzqc#{4MtWw4TZ5;RFqD5CPvq^c&~jHVG~HlDyP3= z_NtDeGWjDZVU&10)2D5^cKfJ~yYUCCbbV6tH$H{B&OIam@Nu8lAI~&SsfVUx>kBTT z=)SMfw9B`X7pP}nPDK7Auy@Wm9(X(+Yq3v<{UX;2kJC0vr2hbUzt(_y6Qqo+qo*|D zLw4TXznxU|5KECq46N6%{gSWsN$;BT3-l?d*(|rxLHpn`8}lD(^eup#^N@Y( zqd}8$Y|mYelzAm~zM6&(ga-ib7(K^|k%r&#CQQn$lg@G}u9ja?QdcRvaAD`oMoAF- z=s{94KDFEB+Bg?0mRV&8&c_Eol>5`$xPRQs`5UqJH3p50ap6u1{{SkKFvuiAaG)HV z)klZOrO}VCX%k&)a7hj1u*Cw9Rb7B~_aGcrMw_AD+UgL`Hl}A(eZ(t zE3t3~ay->2pc3VyB&wX2J*ym=WhvRNJk3XGb_>ZPu)?_BPs_W$D?ayjp{Gug94R>l zJ_rJ%cEBhoMnJ&DR1ENKgaeW}IqqrCBYzP?8cxc>(k79nY@foRm=b(}z|ZNLg^l!= zx|8YOk25+$>qteu8G#*x_WqQ*isI8ru!;2nKjEawkVXkCco;bG$^KQh(i&}!o29~Z z^D9AeJ!NT5TMf_o_NS%7y`;8tA3-MWF~DJu71YM@ z;4|R2*P4??9q?&n%%d=~H`bs@A8eM!Mj!ic5vR5c=udMS=V$$3N-xuBREQ_x5n# zTgwdK?U4*@LBYZHH4?!ZsEuV(e}J0yvG9+=d|Moc*fQT2%7uP~W}WsTqf7;eq)x??i==55dQ1{UWf@eG zLn{Via>lfhGGq$hE@|Y9#z<~GzO`F^#Vqn_mjpcL%|0*%H+qcVR%fj}X&We3Gr5}}WSSE}Y+(+v;Cq?|Ql(O2r-TQOC(Sh=F4iAb+xps3 za57^%t8mb6qxG%ijP_+BxHH4tgNfIUTV$E%y*;R;I=r^9OcL}(zhNIKUfllxO4hQ{ zH9bR3RJ+upw$%i?-b-c1_3)>)VQG?2Z`AR^Ekj1pvb@>BQ{aC}>=cz{VckweW$F0h z;m?D+R`y9a`7@%^lHXO6Q6Z(&0vNYQ#0-05wN~lfKVvTY<_0+Zpg{oYBm-zOALi(p*Uy1sZ0_LVM>PYfjP`taOWL=VJFM8b<6J zI|xzd{OdVN{?(VZ_K0r!*O{9%l&I{(jYcjp{{Z@3)URgK<5=K3-I%L8cOUj>JsBOW z+C}^qJCNp2T2gRZF2^V9$*FY=1@{n{AgLMW6_e9ZOCE)*`hew{Q{VpptZ(u)lyW%b ze@3euWrKHAdKqlwm0+GijEs0A z?OJYvnv;otrPTXUeI0JEq+h-L%&lZ!bCM43jL&t|TMcOtJ#_laLNMwl;Qy^fh zSCNlu8L+#OD3mR}MtEWM`U*jKloIxqmA_2EYIJ6%v9v_{{W2~ zK2jxaR-blQ)U>%SZp^C4o0UNf8-f4_xb4Mcbr(#^#6{}sorKwLlf}&RWMtcsxe=4l9j3aG!Yo^~Rd|%>@qUTPy zhRVt`P~MzDTWRjy&NJM7t2hP(f(RpwW179GT+eRTV%kE55fw*qz{hIJPNCeTH7j*; zy`4LX=bWRutlt93w(81y-NVCgBS#C$P<}=4lU&p~h1Jc(F@6$dEWtMu*m3l(>e>rU zLfwU>%CjC_9O1vpgt~It+$)%wBwog%m3}sNV${M3rnxgLZza-XD=M((AdXFRsU41^ z63s2dwo|anuEOYkze>ozw){Yh0s|{#6YW+({_q5kYH*W-rgP?ua-}G`X6HuFW2M|( z+gm-$h?qYKgp)o-bDGzmsbsaeEG(_sHs>6M70p3?DUt>CAU1HJR|A(1onEZ$62&mk=9W9~WYnp(PPuc1Z zrmf4dAO#$D$seT-8%P%)CQsDnwXd{S>duhV^fzsWR34PC*;zsbZz z361^JVmN^rA1FB__pTeSCF`3%hF2PPw_~Q-+1o;}%XlXa*C1h3Di6v}AJ4^lCWs=_ zdLKxiRG2{(t(0veNss{Bo_YS2^fJW-RTIIENj@y*bZui$ldjK7^@XLA-bo3#wY#^|FdRIsxn2xCBVRHw2#8 zHFM(zyK!>5cTYtP=&`%R+J)2*v!6?G`35_l4o8kFAEb578q?z3!%nrjioxvSw1zQm z!IX|NMmQdGP_+2v7b@((esO6YrFo%i_X`7QI<2Oh6dzDMpRJbn$zh5g`#sjGa=llk zgPi{W_#}V#b%F5@L$I^y&Y;%Lqpd-5kx3+bFXULnjlvDN$L1rCy>Y!sqFm`;3_5>T zZChDgQtn6u%x~lXhdKPD@xc|WAr%yiXE!Hjt?3#zy=!pKt!kFKknWz1po3}u0K9Wt z=fr!PtqZ0u8%}jyPWt9MOCX1lBe%c40sfV@#^o_QIsZC)u^~=J}r-RDlBhPbL9aCr2eJ|E} zCYh#nW~VaiDq@lEWc5U6JhCa^eKA-)3^G0D(bY~1X;0#0-97%<+u2*0?C*uzPk*ZI zmHiOBdU1sW^Yr65uUFRX(e4{_Myr#8NdEv@;k4J*Iz!_YnbYsC>N>8Ss@c4yZ)Eif zI9E9t?aY0Ly?1($l2Vbq%tmK`4`~}Ij^kkKsGbjV) z`)B#rROFzooDqwBBW^@@h@u?Gr5bGA62>x0SUe6@~T+%3JcOjxb8BeA!h+V&T`idB1g z0r7+S=e1{D>X6&o%Pg~`Hc8!q$o_swu7CD@?^W2{X{sAeTW1RG=$*3>~ETd@`7-NI^NE{dP`b|9cmsZiRC0basfIf?o zIQJQ?3o&OrLDpENEHYVNIR5}js~(xH!=>LubqJ-sc^R$bWB?#Nfxzb+)F;t38D!I1 zG`B8zy^&d?XBhBQjPvhP`dM9~-p=fOQMF5rTFyHgXr{7`RZE4DutJf`W6lBKS78h& zs-Z^!40!&Phoxg3u*G*^#NfH?jPKsZau?N|gc@YBIQqH#q~2Dp)m(eIb%}40530Vx_U99_IEL zk)mXMjtaLpB0>P<_^iAh zIHL=Bf|m5iBe&L?6CUa*eP?G=-?{dsZ#zW5j#tR7HV-|i47*s25PMcskrjP__m(ivJ7pUew_aRTG+U~wzeoIo+!(lCieqz_8B$j;hy*=&e`K}lStt@ zj@j+HzRFd)5JJumr;t5Dd{;(mmiU9K=+f$zQRVJ$ZKPHS5)-#4Am_DpOO2{jBpZxkfUkSVy+E+Pbihj{m{YhAVt4V+P5egyjJKm=xA`n>zsNvBM)T!P<` zhSDpY)-4V1P<|HkPR*U5_2RrPFdriT5BTj}SzRLyFX#LdW({V~o#ICX9OnQIKgO~p zfHnI%xknL<5Hsera*t~oMU>gcrblz{n$I~pgP>Et(;R-a^SRy3^>J|)Th${E>MWm} zsL5ZpYZInqNp!7El`y}&4fYPhkL6o>!-e%o{K}u#6_3*LBG~G#h_WKAfP>hOMmLNaQ707Va_6_|~SMc^=!QHgG9ei8#+W@!o)D zhDb&%A_Or60^jTOtejWbtY;-AsLO+=v{R;CTrQmuRB?_uVoRnmL^~+%e@e4sr%aMOmlpCUL6uUxvHDX<71PYK%V#`{ zP7*zb3J0FwTI5*T<@R+;GOe+E2Z`<1Pne5R(Fage_b1+^Jod5a_N?|-;C!RBoOlrP_LuNXfavwmI>d=-sw7b5fM9{E_MnLekSiwU6+G z!+W`%6yV`cy1w4_*k=;`{uunE0#o9StF2&%Vdyknred|{1 zRlT%D+G3SRJV-p(MIN7Pd_HSyiy86xwv!+J6`6aY7b_TeZbNoten;uzrQn8Kz{% z@TouGDxsPf+Ho<>06dM?Wjw8IAv{zDsZ^iKDqkP^+_kQx%8vjsf?)uf-BO=uG% zsm}fx*-~T~Sp;Wq-2+ z{eQ}?S!woB>DIE{!z}ZK0m__$z;b@stAhFncKUWPmGAQ$n#pF#Zc>+FJXq-{u8Wp8 z@>%H-vX&rAx0Bprvn?zlhpw*rl-v^~%nNPlWAfw9YfNe`bglmYhKUNu6fWKcWl5_| z=_@iu2$U$=wX@axQA=@})BBCKiXBg)>OEJiMQ^QKTif*15{VYx1}00hQ%^L4kM#ps-JXWyv9nBd_ zMA4kOPg84MVWVoDK$>-(rj%M;ma{XLVlmD~99CaI-6h?}RrM{|5x%2zVuZ**#4&KV z&(x9nS6r936Wp6U*p0^1wRy%p>k@4)(&SvhC}xHwU;$%}{g3NfX4c$3Bx2H~E0Y7M zX!e~^spxl~joBuRaq5&n8zkW1`*x#sg_V{5xuf+3<`JXkj`M$)klM&>!mc5)tqgPza*_}w}TPg zF6bvl%x{s9IpiFB){Iy2J@}4EVrZBT;vdq3sdS`QHUpY2OjxB#l{NyVIqn8eih6P0fC7-Jrep(gIXS9~F`6aO-6tL> zK59aVq80?G&O6f@OX@0}gy8qZF;)O%5l8~tMzTmZw$&V(()?rrbGswk&15Y*Q|LyE z>M9rHT$9`y94hxHJyl|)@WA$}G`BFu2^3gSX6`jvy*RrLHvMU?E#45Nxd+Ih!yywR zG0qqsYf|9FA{8ef@(AXNv=nARgE|A-G+jbJN^InO-0@Z6f>~wDgB(EjJQGp4kowG| zk^#Uc+N5-H_L?NAE~)st`J{^UuvL%bF)8p5`PG-vtfaECw77`eM`_GWGZt`1l6=;e ziiwafdWDKH=^f8Bwp$8h^t{{RpT-|NL^^nx^T zYQ{$m0-1M$r^}O$^Y%|T1mTXzsfkO0`uGoJp{3&~Plw)XpdH9W8w z+wGL90l@(EhT&3A-Rl0Z<)+rHZA{BW9aseaQ_Wo4~ zuHwGa?cjJ-6lIrh%2)hB{*)`Qx}C${S`v5w#D6yf9D9n4amggOQUUo>vB)IzTB*x- z@M5DMZEo!cHr9&@TijloH_r7B-GTb{{{ZNswWX?~?bXZdLZt(9{yy|QUR#FNT0PM; zD}k_pZ~*6nS&}&rv&(Lw-S+JZf%T$!BNtRCLQ-3-*|gEEV6wPNeNG@7Y24T(A33L= zO_ECplG{^(of(gOXFa=CS%xpeP8Gyu*hWk82^`fm)2|+7RrD2$4pqYtD!0dviBZPe zw=!Q5G}+>o&QmN*sS?G@fW^OB=3>%sBh_tf-Uds8%HeUifu8l<>2?o&`$6@nW1BZc zW696TqX3WPTd-Tf4a!`kC}&03vM|d4d{<}famxM1=%{+5(&P4*Cj#wo@@i7WbXg(K zsNR+_&VBpVB)ZllQ3dKq50G(#{QlMJo}58$5iQ|J=Ov^82h2~sXUCxFDypMSx61Mk z!NK!M`buw!1|L<#m(C}d+TLDYTnl)aoruX)9PRh5{UL-p7O{A@07V)Eb}{e{af6S& zcGh}*ot4YYX>Alzu)$?f$o8!zmf!GF+lwo3vVLF?VUM{LQ1pbI%2sEn^=QlE2yl6B z_D{k`JWU&1{{UiecFFZ0&aB&McbdJm^bjjR(Vd&-1yrBEwR!`pIgGj?^#1@S$Ua}U zwL20<4=OthRY%gH7j4-u)uf~GjWdX})W(Yk>`2f1)G5rPo_+c6SW??f)YF(OmPacm z?v)W(M5PjJy2_;;KwFO+IVqOJZzo@IjUT05bc7^sd;@t{{%$2Zm%16OF8= zu^!d7Z4Nw&mj^aKP|1JPA#WnvK>#XM7X*(3KT5!c%T|Ks_TJn*#kIE}%0EB-lU_`;dGzk%$~_0{Y9sM< z&d%b(NEA9U%L(l1&-1FnVQrZjK^hKOyaDyBO&3+Zwunq1ngnBm6wAS`vN2<;S(O1I znqW68epB?QQBr>%AJK+YEMJ!^?4xI^Y5Lp9ET{g-wq;2IjVjF;Rc3A2{`Y=pNu`ZA z$b#NDi=D)x;2+klTavq);Wt8yk~{7`0H+wcykLXD~~$M7vyIX9exkX*v|Gy&9jmq`VF?6seD34LcM6Ro#L=-(2wVUTDu$D7F7t14 zRtHa*E1Z13O>M;#VMn9tJZj&(lNjUaOAIA0(OR8EB`=Dic2UU#%W`B*&GJTDj~*(e z^sN*nWr-F^8Cn<7gHZ@+gvbP|ZY!KYIJ&PU}KjZpWXDyAT`HCy}+F0X}WJOjW?j5U~=v_K{ zcyBdLMGSX(gqzAYbV0(Y{VRR}d3|whHjOp2+s7#v8;(c=zCN|KjuNzyuC7a@_(w(4 z+NsoRT3IZowA$qab9XrMD@|lMCB_%VXc2CFU}qj^<}Z|)7!!*67`Avas|!!!g98$F zpA=zD8NLXSK)MVf%w&dBpO?*9rXUp{_B>FKSqNEVP~)-fN9?EE)muo?6=gtn?mlYJ zY>XOx3Gzmoq0z1}apkPy(e&l>h~;!#+tk_Ncw8lkyU^VwEN^P{ZlxoSLsQ8708%D(IoQ zq)WUnG@1gVDN&Q(+L&`hTuND;)lYtXs6>EH4oAHp6L_X10zo36WY1~?er%jICd#7F zIpfE@8_|3QvL(l#6-`cCa5+8&ZCj9S;*u_KFhw}>6+|JqMq%rcB=$XpXWx};i3C|A zJ;hkn;w%zga(KY1N!(8N_&4!IfqMP%x_wWY1?y{yIkYk)*}2O0XG6{w6xGxHI~ z2a3qnWV?pu+}hhDkTE{9lYMn>DoHjSqQGKGaln8^^W2)bHJ$F zURtfljUbxfDapqGk9-c|p{rf2schQ=Bc={}WMo!T%`t2j{oj=X0={!Dqia2Ec%_kB zW{*?JiT5bX0SBZ93(Zot5nL+6a>}!QSmr#r1@ije_V2O!3E&S(fUA z7ztx4a85XC=9_!BcxIU5ly-SWoKrT7Ce&4XvIncXkgNUQ{Aw3*MqzvVCd6O*$cWC; zex5}^o+h^me)}Cq$mhWJZ>P0Z(`~LJ)gZZ*5=;&8L`eV-@3+_6+P9A?ycxB(<>&tZ zAY-(>vKhC zZbM5L{{VOnHu1qx?Np?*xk7ha$e(qrkyUr=u6*we+4 z#iYlR8kAXYT+}5^TIF3MkpmDFm&e?5P!~*>NRXdR6$2DJfyQuZ8jaJou|6d`Ot{8= zv_Hi$yqFnI-bm+_O|IgSvJC$+mZ(y@l_J-@w*Z{@&-FAXESZtf ziANqc_IJHIZnoMDlyT1Y3d&^lT;#Z7SRd7_ly3MtQpEUmfh`6~jYLcvRfOjl!;E!%iXXrQY6Ul9QzdUW} z&ZGEGV8h!r+sqio+cx@`J9l=@IL&a^npN}{mN!?1Gj(tbbBOo{`==k`YsK|FKO5oN zJ)IVK<%@r&V6pH9(kZX#hN$X&7LjIlTz){n!! zmzPV^=d;ydw4MVZ%&)g`l1}XHpE<@WZ8RQfe0WBVvBQ2&UxPbM>2$rh)dco82I4XP z?>)@9j#5ViDB~Z_wIb=8*MmvlC9D%d*}F(#+_MfoQJ&qut#_I}&@EJ_<2Y z!nY$7R3S0);SFmHQHtRl`7+9VvC>5mjiUycgF3SloOl%=0GH+LMNCEm?#UIZF>HWc z!CE{i9l@iDSfxP%rAfYhn!sQ{@`r9cXo+~SoZ*yptaE5$kN=Of;ua8Id^6&XP% z>7az1KH@~}U`-M;lDA}#_R-yx{y z92^DkG2XN-{U$3M>yyY0Mm8$Yy00=R`Arl%Gi~8{WL5c<7~>+hAs(76VR!=o)q5z` zGGmw1^+y>T)vK$4ZWLp2J}RTYniOCDFNuN9(YO6F6=L#4Oa{T`Q zO8Gp?n?2l8YT`AdlEpGf2ql!~ihig_>=*We96-usIOiYUUMj5D!IKf0B|Z`r1bw}! z{{RiD>Ka|lSC*cYxI*zlA1@=0cAVgHIKa=|o-Sh1Q(I=TK8${zS^AFgbxX{{rrI~| zR1=B)w|$8J02=A9rIIUF6F6C>JD8KguYf-E8-K&v+C}NE%_1-g05Dm;gWKuj{4#oq zSGj}KY;G(ukLW4o$fF)R9Ao;7zfmp1>mmn?@%|NZElTz!+a1h+duKJ9r^e9P#*g{C znz3B)%O%mg@j>v_ly5ZKYs+XRApZc4^c&eG0)F6c8+h+c!YR>E%{`{p zhi`4CTi7IH3j8s^B$6^RYBvySce={Nk8H6)I+?&sG>S0FKSM&in8l^qO_8}78=8@A zB5t75bs28uhW_I|lpBuLAYkW@YW6Twl8@2lPVLOvmCGLFfyGB0ROZ2z$j>Zkhidju zIg#5-6)IE+hACpFQRTc+0kKh$_6`AKp2C^joUD6GgMv>Wf8$e)Hm~L+_ayf;0T7wP zJ`4WAUA{H(KAtGS6n#A`p^h^W?-WvfIZDcmDNCu zt_Qd#kWApq^B=Ya0-=jDkKG(8@<)oy)HFzMu3??!lurO*8}99&HLv2Gd(_S{t&h>7W*8|CRnuFZPgX9C{YK zG`%iq@c1wF+G#806ymaNUVE)R{=t6^%!UG6JG-3m+Py9mRf!dN098#k!q&+ZE#uni zp+g=?0Aj8#3ygmduUk)rVud5h)Mxi!9Rv%J_n;Iga6e4c(n1*H3r}g358`NFCg!XVa!$b(kIL;`bvc}QuDQzCYq$FcWoZ#dG zMbHr{G05VepSwRXCO-$-m|cUzCJ)kzjIt>s-vk;ezH2^gB*Fu*`IFT_)!q# z4a9TX>r4pX(iEM-A!j&I+?tG6Fv|N8)tec>_M`;GB6z^0{i(4+0qIjy_|J+M1D;P! zGu+f6Ly+&>_@#0NP_}RnY*fRm0krY;qp%e2QAP%H#Zxt6iDXfy`a9+t}V>Z0Ff|cjNzB+4P}vB zT03w{ZbWigMZ?@Ih8X_*82)01Z>QTpfa;S^dvrfI&JkP41KT6oipB+w zHnF<(&uTt^H_qG-1q02rOi`Zqsj6j%a@0E~u-lsfsx+v!zqthDV;D_O2A z)#Q>^jkklr+ra%w@mHZhvNq5Hpa`IN#a33OOwJo)9kK8pqG{=3p#_6)s3+}LW(MBX zp+XFVZkyj7z#l|wOy z?f#Xchs8_DG0DqMq2`s2pKT(NrFTY1{$u=UO1s2_lk-Nh_s=*PsM~(>(r8#5{{U#5 zcO!%S5A>_Hwyh<)%QFa335m1ZsqAUTbooR%sIEe41OEWo%W`{?zvo0*C0##8NVL&# z8ef{=ftW_&^z+(@EGu(h&`Byol{F7Fg^Ka_U;J33>W^G*j8j&n{sSG12VU5(n1G|VZOg&8Lv-&zDn@G^S}7$#I9 z2?$OL4(IJjH%XG?3VSL406HS)pK1m+)kO+}0C9>!k>|BN04i#hDJU%4KqUJLXe@{v z)6|(6e=?Ex6xgDLV`To6slex&9I^yB0;a&3q`l}Kt7AAAsidQ^?@TDv(`S}B3P%`l z$DbIjl6h7KBzgW8Csby;+R@^rC=9GtF9D7)gxG2*E!n?L<%P{!T}Vi{t=G zDFfTRG=88=D&QV@r$kv7U7HR@b5n%_WqBApRDx~*$N@h}u@D0!iUj4w5mL(_UJabP>2Bk`xl>qdqsZ#;?pv^E|7X;95Lx~B=$I^p> zDNxd~Sj%zT)z}K`*bi>!-mAkIJdeyr@)UTY5sVDc*mN5?<3IS&i1e~oB{RtHkF`v9 zr^xe6L|!$TGNk1gcLs+Qq%cSxH6eh2)z6^|x`yLBx$R8}mO`D%j!`5h8w-qsPBs$2O%Y`TkQ{N2^_YvMuT)&gCB#p3 z^2QQ9r*beD@7k;A*71G=Q=8LYS2qKGIma~UMzps!@LP$dcJ$AbLf_#*eOFIQHMuW2 zMw8M}=@3g}J*XOG?X8xJW^Qg$FH#TyV0q$)Jod9`mJ?5?+mQvxEg(~dAa?uWfDijp zIVFi9v%JKI^Ri(;_p8;D`%cC67r2vDiNOIPi2(o)^{rvZ;*%LH1w$l^sTl6ea40tS zmXpj93zT>E85#RkOVb_BqjmVMY_#+Qr-yPg&-AG+Eq8GP9m^EQ8Rvqz$Mvk6d)w=+KTByOgqw?k8}~yS zM{YkuQq{7o&@Azh&U45#M4b{AmUr5rf@kV@6`6N^c5JUCc_TiZ+QgWT7+lrM^LBK` z{4qttpv$PnGs)-lp&+|0-ECOWM%>77zj4h)S}`}_eL!Ya3{)OQY8Q#9Exn*bib;KC z48}ebW0u7NC@ymkOY^Pc;;`EERx!9%{a&WFoRK zte4KyNDG)-aa?%%3If^NtWvwSu8A5JCEpwm){UaGRadw;TzAREDIO?QjI+d;=a&>4 zYgAi6w(Mo~fN%GLTY@UPShVvQj8+nG7dtcC>zZi+dP0cXT0{-)xMrg%jwr*;Dn_K> z7i?y;F5r?o^k<62u5JlsB^Wo$k2PylS9om##cLx82_kdAE;Rhb)?gMts# zW19KDP{iSrk0;Pz$o46&*C&}B2Fh6mA${kz7}L+wmgu3TieNltjdhk<6wc+EMYll5 zVPpA*d{*$&r7avx716lf21nk!h{r2^p4`1jMOB>4@{6Cr#;4_EX(Wtf3<1GEt}99@ z!p#-5p_XS~k;wUEJ;=|7`gyH+H&UZ%O`iqau2XR$E{b@XMLRl040I+yB zA{Rw1BXEFs`{J!bAMaD~1Jt>1m_)|`2ltqNl}2}h)@TGw#(1GP1bICF06LYbExq^P z?=ItO%cS*EAfymH^OK%_)!C=hx$ur@>8YX*eAds$33gD5> zJ7%=>jYit~2(B3};f^mA!ups8C0lN8?7!CK;7atp}hKxdD42G|#0)DB13*F~p@ z{aK}U25CmewgfiU_aJun8TU2L>OYOOn%dIM+8gV<7~5{(qd9E&&H(@#*3ooiy0O!z zyt8`?n`sQ5nm^`Y<XIz1%YdzBNZlw%a_8QNx(cdkXKe%5QtTa~yWToM;& zfS~<6*K5ezf?nYaR$gqsz~#c_X!OhmtmmMvhO; zrw9FNHGWa}+hHn<&mR(h)*cOJyqxVpljQqW$1Gi;JF1Ym%bv@gYAG9Jw2hYR0PHGp z#1kii$Gdr{QXP>46ylzh05GSeN`Mt^=~ljkUZbe>ANmT#w~Wm?#yp;Wg1U7ZMg>|% zQ+@`PG?W#QLn*2<=`grHlQeDac@?8hFbK^(rdyfI+{Nfj@#i}{_NoAhBqY|3qIca+ zN0v2~RHJjnX4fZFUmS+dI{@d~-mJl7uxb;x%|& zG-t5_l%LtT&N%Ntuuv_N2P478GeFT~_op9PYE-~Sy*TYnN|=R8l_~&KsZyW?fI$bf zQ`^WnIf5ZTzDJ`Y6L1&sZbV4I5i@w=jKpP)Kmw0 za%d4BO+mzLRQq_Q48&lJFz-?r2O^Y*_mStwGysA3p-UF`$RiY5YE%VTA}9gzL#xmE z4N|018x-P|DnKel;es}v>6KxKZY8Nu=7uTLY|*TXoZ*H=FeunxJc(_4HK)xy=Ot8R zAtz}+)AXS=)un`2wpQtRb8#m2+K``@c=Owe*8`8GI;LBIHySKOEg}Lm%UI?>9b*88 z9k{BR%=V8aoojD263Q;aIz+*?fDUtt*$Uf-2fao}A^bKmg=>a4HWTrluKQD<4)ossb2beGmQ=Yl~>EQ*6i> z4o89yxIQRwX_o0axDvaM%4CtBZ}T)*nP*J4{3I-(ku07?NFH!;H{mDFPP z%P)2%AHQDNAJ&bo+8do8`&W46nh>BK2;Gi9onBoU%OiD_u>S!2Oa7H&Z9WN184Rfj z1!Gp)oOa{21G6gb${}^8>G8AVNM?{Lk+nkO^zl|S>sa4bznP4i9p&6R3yjJkrC#P|6^4t;v&9RBWJ?JvP zQ%}8PV|Nek8|ISaI6Ql9HM2dsO(ZV)-4kzIA2`Jd`o=rZqGy;W;HpSeAGjUqh#r>0 zJvJ$2J5?c8EPb(A{{V(j6s9XxoRkuyi&4&V$8ZVyaBE^~cv{pz=nOyswEGIBb7K_p z2Q4&g7j9#blaJ8S8CC7l8;e{LZC`_f)ZcGjU_vWfw zT-mL_{0he!Ttp^ai;g=Gf8)(UZ8FJ$Re-AfBy4{y(W8bq!flO4!L@k&qu5k72?r-} z$;mX-g+2~5;-qv{rAn0s-I#q_6^hwMeW=AGiDcqc5%=AmIP+QhdWi30G7nA}0oqRl zDF+|Wit8OisSE)g#<_^a?c^8ld|<>gu!qto@_QezYV&pYcO^C8^)$0`hSMKhyb)YQ z2#!}%`?!o?_v|x{*)*&n*X`aElH4-M88W)Rq`Z$BNL_ zR`SN~O+a3=T8MUj8ysi8?B~A~=i-Jr;d5y8TiZ}ZOl_4@w5VVX(mPiTs%e_N?yED~ z-<3`O04igJ9@W?B*9~_YyMPL|IIC)l*;EfEymcm>qtL^X*=7$$=$hu8tHr3xb`7*; zk>DTt(m?@7>x24NMKk{Zyt2o!CLnLxauD|8^#-)Bq!yM?TE+;GmvcD!_s9Hrt~L#B z`gx_YG1~qvCIMv%KxNJwJm)68B@b~ZFC3hoJxtzOH9Chv2TGQBR%@+55$J_H#C^d3 z09xy`>m^7nWVs71ax6RVi#JU$&%G*D>Cxg_?1_y@-L-cP#~g}fQlk|*REN3w z8kHvD8N4k+VRj7d^7v8P_4lSAmh(#;!n}A0r;>k*=~k|xNh9^`Knwh6JE^Li=811J zK`!+3+BjVwNfCQA4q@NCHRzWS-RHk_WwX7M2mf z6_3p)xuS&SK(xCSw)QHBpVsKXM&62_U@ybRHle(jIFM-+f+RP@zADsjz4 z+(x^I$f~a^G2q~P3IMi910;%wbv=lxSTw_fQkcygQpHgcxa`J?E)G90KYC&N`Mt6=0X1eRe#6-0HT#FVTtl_ z{uBVIQl&rxoyxBRgH^~ia{%`gwy&_H##7p9yw%r@Sa#-v=yUU8kib-x3mgix5pmd5 zl|uFaP!?76+c?D%Br5shtacPI!#oNE5FQ0WL<~N(*Af_Q%K!@=*{Iu1>%b%ldH1IDPrXRgx;mSSAskiIBIv)t1^ij7FpBu;5l4&SaQ=>a4XMkpPMI9Zpz bD6E?;$ZQfh%~$|qij1qd2tI14R)7E5jPhBj literal 0 HcmV?d00001 diff --git a/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/wwwroot/image/e7ed9725-3fc8-46eb-9937-2f01a1e9d8ba.jpg b/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/wwwroot/image/e7ed9725-3fc8-46eb-9937-2f01a1e9d8ba.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5c832cf38a406caf81aeb816fb747379a1748668 GIT binary patch literal 88522 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%0Dt*7`5FCd(1P$350rmO^X`wvxA8Zq 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 bD6E?;$ZQfh%~$|qij1qd2tI14R)7E5jPhBj literal 0 HcmV?d00001 diff --git a/Yi.Framework.Net6/Yi.Framework.Common/Helper/TreeHelper.cs b/Yi.Framework.Net6/Yi.Framework.Common/Helper/TreeHelper.cs new file mode 100644 index 00000000..85f49f26 --- /dev/null +++ b/Yi.Framework.Net6/Yi.Framework.Common/Helper/TreeHelper.cs @@ -0,0 +1,58 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Common.Models; + +namespace Yi.Framework.Common.Helper +{ + public static class TreeHelper + { + public static IList SetTree(IList list, Action action = null) + { + if (list != null && list.Count > 0) + { + IList result = new List(); + long pid = list.Min(m => (m as ITreeModel).parentId); + IList t = list.Where(m => (m as ITreeModel).parentId == pid).ToList(); + foreach (T model in t) + { + if (action != null) + { + action(model); + } + result.Add(model); + var item = (model as ITreeModel); + IList children = list.Where(m => (m as ITreeModel).parentId == item.id).ToList(); + if (children.Count > 0) + { + SetTreeChildren(list, children, model, action); + } + } + return result.OrderBy(m => (m as ITreeModel).sort).ToList(); + } + return null; + } + private static void SetTreeChildren(IList list, IList children, T model, Action action = null) + { + var mm = (model as ITreeModel); + mm.children = new List(); + foreach (T item in children) + { + if (action != null) + { + action(item); + } + mm.children.Add(item); + var _item = (item as ITreeModel); + IList _children = list.Where(m => (m as ITreeModel).parentId == _item.id).ToList(); + if (_children.Count > 0) + { + SetTreeChildren(list, _children, item, action); + } + } + mm.children = mm.children.OrderBy(m => (m as ITreeModel).sort).ToList(); + } + } +} diff --git a/Yi.Framework.Net6/Yi.Framework.Common/Models/ITreeModel.cs b/Yi.Framework.Net6/Yi.Framework.Common/Models/ITreeModel.cs new file mode 100644 index 00000000..8bc92a00 --- /dev/null +++ b/Yi.Framework.Net6/Yi.Framework.Common/Models/ITreeModel.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Yi.Framework.Common.Models +{ + public interface ITreeModel + { + public int id { get; set; } + public int parentId { get; set; } + public int sort { get; set; } + + public IList children { get; set; } + } +} diff --git a/Yi.Framework.Net6/Yi.Framework.Core/Quartz/QuartzInvoker.cs b/Yi.Framework.Net6/Yi.Framework.Core/Quartz/QuartzInvoker.cs index 7943078b..bdfaabb9 100644 --- a/Yi.Framework.Net6/Yi.Framework.Core/Quartz/QuartzInvoker.cs +++ b/Yi.Framework.Net6/Yi.Framework.Core/Quartz/QuartzInvoker.cs @@ -34,14 +34,14 @@ namespace Yi.Framework.Core /// /// /// - public async Task start(string cron, JobKey jobKey, string jobClass, long second = 0, IDictionary data = null) + public async Task start(string cron, JobKey jobKey, string dllName,string jobClass, long second = 0, IDictionary data = null) { if (data == null) { data = new Dictionary(); } - var myClass = AssemblyHelper.GetClass("Yi.Framework.Job", jobClass).FirstOrDefault(); + var myClass = AssemblyHelper.GetClass(dllName, jobClass).FirstOrDefault(); _scheduler = await _schedulerFactory.GetScheduler(); _scheduler.JobFactory = _jobFactory; diff --git a/Yi.Framework.Net6/Yi.Framework.Core/TreeMenuBuild.cs b/Yi.Framework.Net6/Yi.Framework.Core/TreeMenuBuild.cs index 14b0e6f8..f91d1a16 100644 --- a/Yi.Framework.Net6/Yi.Framework.Core/TreeMenuBuild.cs +++ b/Yi.Framework.Net6/Yi.Framework.Core/TreeMenuBuild.cs @@ -9,100 +9,101 @@ namespace Yi.Framework.Core { public static class TreeMenuBuild { - /// - /// 过滤所有已经删除的菜单 - /// - /// - /// - public static menu Normal(menu menu_data) - { - for (int i = menu_data.children.Count() - 1; i >= 0; i--) - { - if (menu_data.children[i].is_delete == (short)Common.Enum.DelFlagEnum.Deleted) - { - menu_data.children.Remove(menu_data.children[i]); - } - else if (menu_data.children[i] != null) - { - Normal(menu_data.children[i]); - } - } - return menu_data; - } + // /// + // /// 过滤所有已经删除的菜单 + // /// + // /// + // /// + // public static menu Normal(menu menu_data) + // { + // for (int i = menu_data.children.Count() - 1; i >= 0; i--) + // { + // if (menu_data.children[i].is_delete == (short)Common.Enum.DelFlagEnum.Deleted) + // { + // menu_data.children.Remove(menu_data.children[i]); + // } + // else if (menu_data.children[i] != null) + // { + // Normal(menu_data.children[i]); + // } + // } + // return menu_data; + // } - public static menu ShowFormat(menu menu_data, List allMenuIds) - { - return Format(Show(menu_data, allMenuIds)); - } + // public static menu ShowFormat(menu menu_data, List allMenuIds) + // { + // return Format(Show(menu_data, allMenuIds)); + // } - /// - /// 过滤用户不展示及已删除及未拥有的菜单 - /// - /// - /// - /// - private static menu Show(menu menu_data, List allMenuIds) - { - for (int i = menu_data.children.Count() - 1; i >= 0; i--) - { - if (!allMenuIds.Contains(menu_data.children[i].id) || menu_data.children[i].is_delete == (short)Common.Enum.DelFlagEnum.Deleted || menu_data.children[i].is_show == (short)Common.Enum.ShowFlagEnum.NoShow) - { - menu_data.children.Remove(menu_data.children[i]); - } - else - { - Show(menu_data.children[i], allMenuIds); - } - } - return menu_data; - } + // /// + // /// 过滤用户不展示及已删除及未拥有的菜单 + // /// + // /// + // /// + // /// + // private static menu Show(menu menu_data, List allMenuIds) + // { + // for (int i = menu_data.children.Count() - 1; i >= 0; i--) + // { + // if (!allMenuIds.Contains(menu_data.children[i].id) || menu_data.children[i].is_delete == (short)Common.Enum.DelFlagEnum.Deleted || menu_data.children[i].is_show == (short)Common.Enum.ShowFlagEnum.NoShow) + // { + // menu_data.children.Remove(menu_data.children[i]); + // } + // else + // { + // Show(menu_data.children[i], allMenuIds); + // } + // } + // return menu_data; + // } - /// - /// 为了匹配前端格式,通常和show方法一起 - /// - /// - /// - private static menu Format(menu menu_data) - { - for (int i = menu_data.children.Count() - 1; i >= 0; i--) - { - if (menu_data.children[i].icon == null) - { - menu_data.children[i].icon = "mdi-view-dashboard"; - } - if (menu_data.children != null || menu_data.children.Count() != 0) - { - Format(menu_data.children[i]); - } - } - if (menu_data.children.Count() == 0) - { - menu_data.children = null; - } + // /// + // /// 为了匹配前端格式,通常和show方法一起 + // /// + // /// + // /// + // private static menu Format(menu menu_data) + // { + // for (int i = menu_data.children.Count() - 1; i >= 0; i--) + // { + // if (menu_data.children[i].icon == null) + // { + // menu_data.children[i].icon = "mdi-view-dashboard"; + // } + // if (menu_data.children != null || menu_data.children.Count() != 0) + // { + // Format(menu_data.children[i]); + // } + // } + // if (menu_data.children.Count() == 0) + // { + // menu_data.children = null; + // } - return menu_data; - } + // return menu_data; + // } - public static menu Sort(menu menu_data) - { - if (menu_data.children != null) - { - for (int i = menu_data.children.Count() - 1; i >= 0; i--) - { - menu_data.children = menu_data.children.AsEnumerable().OrderByDescending(u => u.sort).ToList(); + // public static menu Sort(menu menu_data) + // { + // if (menu_data.children != null) + // { + // for (int i = menu_data.children.Count() - 1; i >= 0; i--) + // { + // menu_data.children = menu_data.children.AsEnumerable().OrderByDescending(u => u.sort).ToList(); - if (menu_data.children != null || menu_data.children.Count() != 0) - { - Sort(menu_data.children[i]); - } - } - } - return menu_data; - } + // if (menu_data.children != null || menu_data.children.Count() != 0) + // { + // Sort(menu_data.children[i]); + // } + // } + // } + // return menu_data; + // } } } + diff --git a/Yi.Framework.Net6/Yi.Framework.Interface/IUserService.cs b/Yi.Framework.Net6/Yi.Framework.Interface/IUserService.cs index 76a268d1..d9e8b91f 100644 --- a/Yi.Framework.Net6/Yi.Framework.Interface/IUserService.cs +++ b/Yi.Framework.Net6/Yi.Framework.Interface/IUserService.cs @@ -66,7 +66,7 @@ namespace Yi.Framework.Interface /// /// /// - Task> GetAxiosByRouter(string router,int userId, List menuIds); + Task> GetAxiosByRouter(string router, List menuIds); /// diff --git a/Yi.Framework.Net6/Yi.Framework.Model/BaseModels/loopModel.cs b/Yi.Framework.Net6/Yi.Framework.Model/BaseModels/loopModel.cs index dd2f16fd..cece5646 100644 --- a/Yi.Framework.Net6/Yi.Framework.Model/BaseModels/loopModel.cs +++ b/Yi.Framework.Net6/Yi.Framework.Model/BaseModels/loopModel.cs @@ -1,15 +1,20 @@ using System; using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Yi.Framework.Model.Models { - public class loopModel:baseModel + public class loopModel:baseModel { public int is_top { get; set; } public int sort { get; set; } public int is_show { get; set; } + public int parentId { get; set; } + + [NotMapped] + public IList children { get; set; } } } diff --git a/Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106080544_ec1.Designer.cs b/Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106080544_ec1.Designer.cs deleted file mode 100644 index 98620124..00000000 --- a/Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106080544_ec1.Designer.cs +++ /dev/null @@ -1,219 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Yi.Framework.Model; - -namespace Yi.Framework.Model.Migrations -{ - [DbContext(typeof(DataContext))] - [Migration("20211106080544_ec1")] - partial class ec1 - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("Relational:MaxIdentifierLength", 64) - .HasAnnotation("ProductVersion", "5.0.11"); - - modelBuilder.Entity("Yi.Framework.Model.Models.menu", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("icon") - .HasColumnType("longtext"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("is_show") - .HasColumnType("int"); - - b.Property("is_top") - .HasColumnType("int"); - - b.Property("menu_name") - .HasColumnType("longtext"); - - b.Property("menuid") - .HasColumnType("int"); - - b.Property("mouldid") - .HasColumnType("int"); - - b.Property("roleid") - .HasColumnType("int"); - - b.Property("router") - .HasColumnType("longtext"); - - b.Property("sort") - .HasColumnType("int"); - - b.HasKey("id"); - - b.HasIndex("menuid"); - - b.HasIndex("mouldid"); - - b.HasIndex("roleid"); - - b.ToTable("menu"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.mould", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("mould_name") - .HasColumnType("longtext"); - - b.Property("url") - .HasColumnType("longtext"); - - b.HasKey("id"); - - b.ToTable("mould"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.role", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("introduce") - .HasColumnType("longtext"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("role_name") - .HasColumnType("longtext"); - - b.Property("userid") - .HasColumnType("int"); - - b.HasKey("id"); - - b.HasIndex("userid"); - - b.ToTable("role"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.user", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("address") - .HasColumnType("longtext"); - - b.Property("age") - .HasColumnType("int"); - - b.Property("email") - .HasColumnType("longtext"); - - b.Property("icon") - .HasColumnType("longtext"); - - b.Property("introduction") - .HasColumnType("longtext"); - - b.Property("ip") - .HasColumnType("longtext"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("nick") - .HasColumnType("longtext"); - - b.Property("password") - .HasColumnType("longtext"); - - b.Property("phone") - .HasColumnType("int"); - - b.Property("username") - .HasColumnType("longtext"); - - b.HasKey("id"); - - b.ToTable("user"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.visit", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("num") - .HasColumnType("int"); - - b.Property("time") - .HasColumnType("datetime(6)"); - - b.HasKey("id"); - - b.ToTable("visit"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.menu", b => - { - b.HasOne("Yi.Framework.Model.Models.menu", null) - .WithMany("children") - .HasForeignKey("menuid"); - - b.HasOne("Yi.Framework.Model.Models.mould", "mould") - .WithMany() - .HasForeignKey("mouldid"); - - b.HasOne("Yi.Framework.Model.Models.role", null) - .WithMany("menus") - .HasForeignKey("roleid"); - - b.Navigation("mould"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.role", b => - { - b.HasOne("Yi.Framework.Model.Models.user", null) - .WithMany("roles") - .HasForeignKey("userid"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.menu", b => - { - b.Navigation("children"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.role", b => - { - b.Navigation("menus"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.user", b => - { - b.Navigation("roles"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106080544_ec1.cs b/Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106080544_ec1.cs deleted file mode 100644 index baaf79d9..00000000 --- a/Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106080544_ec1.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -namespace Yi.Framework.Model.Migrations -{ - public partial class ec1 : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - - } - } -} diff --git a/Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106080646_ec2.Designer.cs b/Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106080646_ec2.Designer.cs deleted file mode 100644 index 6d9fb503..00000000 --- a/Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106080646_ec2.Designer.cs +++ /dev/null @@ -1,732 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Yi.Framework.Model; - -namespace Yi.Framework.Model.Migrations -{ - [DbContext(typeof(DataContext))] - [Migration("20211106080646_ec2")] - partial class ec2 - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("Relational:MaxIdentifierLength", 64) - .HasAnnotation("ProductVersion", "5.0.11"); - - modelBuilder.Entity("Yi.Framework.Model.Models.brand", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("image") - .HasColumnType("longtext"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("letter") - .HasColumnType("longtext"); - - b.Property("name") - .HasColumnType("longtext"); - - b.HasKey("id"); - - b.ToTable("brand"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.brand_category", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("brandId") - .HasColumnType("int"); - - b.Property("categoryId") - .HasColumnType("int"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.HasKey("id"); - - b.HasIndex("brandId"); - - b.HasIndex("categoryId"); - - b.ToTable("brand_category"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.category", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("categoryid") - .HasColumnType("int"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("is_parent") - .HasColumnType("int"); - - b.Property("name") - .HasColumnType("longtext"); - - b.Property("sort") - .HasColumnType("int"); - - b.HasKey("id"); - - b.HasIndex("categoryid"); - - b.ToTable("category"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.menu", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("icon") - .HasColumnType("longtext"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("is_show") - .HasColumnType("int"); - - b.Property("is_top") - .HasColumnType("int"); - - b.Property("menu_name") - .HasColumnType("longtext"); - - b.Property("menuid") - .HasColumnType("int"); - - b.Property("mouldid") - .HasColumnType("int"); - - b.Property("roleid") - .HasColumnType("int"); - - b.Property("router") - .HasColumnType("longtext"); - - b.Property("sort") - .HasColumnType("int"); - - b.HasKey("id"); - - b.HasIndex("menuid"); - - b.HasIndex("mouldid"); - - b.HasIndex("roleid"); - - b.ToTable("menu"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.mould", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("mould_name") - .HasColumnType("longtext"); - - b.Property("url") - .HasColumnType("longtext"); - - b.HasKey("id"); - - b.ToTable("mould"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.order", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("actual_pay") - .HasColumnType("int"); - - b.Property("buyer_message") - .HasColumnType("longtext"); - - b.Property("buyer_nick") - .HasColumnType("longtext"); - - b.Property("buyer_rate") - .HasColumnType("int"); - - b.Property("creat_time") - .HasColumnType("datetime(6)"); - - b.Property("invoice_type") - .HasColumnType("int"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("payment_type") - .HasColumnType("int"); - - b.Property("post_fee") - .HasColumnType("int"); - - b.Property("promotion_ids") - .HasColumnType("longtext"); - - b.Property("receiver") - .HasColumnType("longtext"); - - b.Property("receiver_address") - .HasColumnType("longtext"); - - b.Property("receiver_city") - .HasColumnType("longtext"); - - b.Property("receiver_district") - .HasColumnType("longtext"); - - b.Property("receiver_mobile") - .HasColumnType("longtext"); - - b.Property("receiver_state") - .HasColumnType("longtext"); - - b.Property("receiver_zip") - .HasColumnType("longtext"); - - b.Property("shipping_code") - .HasColumnType("longtext"); - - b.Property("shipping_name") - .HasColumnType("longtext"); - - b.Property("skuid") - .HasColumnType("int"); - - b.Property("source_type") - .HasColumnType("int"); - - b.Property("total_pay") - .HasColumnType("int"); - - b.HasKey("id"); - - b.HasIndex("skuid"); - - b.ToTable("order"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.role", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("introduce") - .HasColumnType("longtext"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("role_name") - .HasColumnType("longtext"); - - b.Property("userid") - .HasColumnType("int"); - - b.HasKey("id"); - - b.HasIndex("userid"); - - b.ToTable("role"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.sku", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("crate_time") - .HasColumnType("datetime(6)"); - - b.Property("enable") - .HasColumnType("int"); - - b.Property("images") - .HasColumnType("longtext"); - - b.Property("indexes") - .HasColumnType("longtext"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("last_update_time") - .HasColumnType("datetime(6)"); - - b.Property("own_spec") - .HasColumnType("longtext"); - - b.Property("price") - .HasColumnType("int"); - - b.Property("spuid") - .HasColumnType("int"); - - b.Property("title") - .HasColumnType("longtext"); - - b.HasKey("id"); - - b.HasIndex("spuid"); - - b.ToTable("sku"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.spec_group", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("categoryid") - .HasColumnType("int"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("name") - .HasColumnType("longtext"); - - b.HasKey("id"); - - b.HasIndex("categoryid"); - - b.ToTable("spec_group"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.spec_param", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("categoryid") - .HasColumnType("int"); - - b.Property("generic") - .HasColumnType("int"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("name") - .HasColumnType("longtext"); - - b.Property("numeric") - .HasColumnType("int"); - - b.Property("searching") - .HasColumnType("int"); - - b.Property("segments") - .HasColumnType("longtext"); - - b.Property("spec_Groupid") - .HasColumnType("int"); - - b.Property("unit") - .HasColumnType("longtext"); - - b.HasKey("id"); - - b.HasIndex("categoryid"); - - b.HasIndex("spec_Groupid"); - - b.ToTable("spec_param"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.spu", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("brandid") - .HasColumnType("int"); - - b.Property("crate_time") - .HasColumnType("datetime(6)"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("last_update_time") - .HasColumnType("datetime(6)"); - - b.Property("saleable") - .HasColumnType("int"); - - b.Property("spu_Detailid") - .HasColumnType("int"); - - b.Property("sub_title") - .HasColumnType("longtext"); - - b.Property("title") - .HasColumnType("longtext"); - - b.Property("valid") - .HasColumnType("int"); - - b.HasKey("id"); - - b.HasIndex("brandid"); - - b.HasIndex("spu_Detailid"); - - b.ToTable("spu"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.spu_detail", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("after_service") - .HasColumnType("longtext"); - - b.Property("description") - .HasColumnType("longtext"); - - b.Property("generic_spec") - .HasColumnType("longtext"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("packing_list") - .HasColumnType("longtext"); - - b.Property("special_spec") - .HasColumnType("longtext"); - - b.HasKey("id"); - - b.ToTable("spu_detail"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.stock", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("seckill_stock") - .HasColumnType("int"); - - b.Property("seckill_total") - .HasColumnType("int"); - - b.Property("skuid") - .HasColumnType("int"); - - b.Property("stock_count") - .HasColumnType("int"); - - b.HasKey("id"); - - b.HasIndex("skuid"); - - b.ToTable("stock"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.user", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("address") - .HasColumnType("longtext"); - - b.Property("age") - .HasColumnType("int"); - - b.Property("email") - .HasColumnType("longtext"); - - b.Property("icon") - .HasColumnType("longtext"); - - b.Property("introduction") - .HasColumnType("longtext"); - - b.Property("ip") - .HasColumnType("longtext"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("nick") - .HasColumnType("longtext"); - - b.Property("password") - .HasColumnType("longtext"); - - b.Property("phone") - .HasColumnType("int"); - - b.Property("username") - .HasColumnType("longtext"); - - b.HasKey("id"); - - b.ToTable("user"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.visit", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("num") - .HasColumnType("int"); - - b.Property("time") - .HasColumnType("datetime(6)"); - - b.HasKey("id"); - - b.ToTable("visit"); - }); - - modelBuilder.Entity("categoryspu", b => - { - b.Property("categoriesid") - .HasColumnType("int"); - - b.Property("spusid") - .HasColumnType("int"); - - b.HasKey("categoriesid", "spusid"); - - b.HasIndex("spusid"); - - b.ToTable("categoryspu"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.brand_category", b => - { - b.HasOne("Yi.Framework.Model.Models.brand", "brand") - .WithMany("categories") - .HasForeignKey("brandId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Yi.Framework.Model.Models.category", "category") - .WithMany("brands") - .HasForeignKey("categoryId") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.Navigation("brand"); - - b.Navigation("category"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.category", b => - { - b.HasOne("Yi.Framework.Model.Models.category", null) - .WithMany("chidrens") - .HasForeignKey("categoryid"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.menu", b => - { - b.HasOne("Yi.Framework.Model.Models.menu", null) - .WithMany("children") - .HasForeignKey("menuid"); - - b.HasOne("Yi.Framework.Model.Models.mould", "mould") - .WithMany() - .HasForeignKey("mouldid"); - - b.HasOne("Yi.Framework.Model.Models.role", null) - .WithMany("menus") - .HasForeignKey("roleid"); - - b.Navigation("mould"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.order", b => - { - b.HasOne("Yi.Framework.Model.Models.sku", null) - .WithMany("orders") - .HasForeignKey("skuid"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.role", b => - { - b.HasOne("Yi.Framework.Model.Models.user", null) - .WithMany("roles") - .HasForeignKey("userid"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.sku", b => - { - b.HasOne("Yi.Framework.Model.Models.spu", "spu") - .WithMany("skus") - .HasForeignKey("spuid"); - - b.Navigation("spu"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.spec_group", b => - { - b.HasOne("Yi.Framework.Model.Models.category", "category") - .WithMany("spec_Groups") - .HasForeignKey("categoryid"); - - b.Navigation("category"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.spec_param", b => - { - b.HasOne("Yi.Framework.Model.Models.category", "category") - .WithMany("spec_Params") - .HasForeignKey("categoryid"); - - b.HasOne("Yi.Framework.Model.Models.spec_group", "spec_Group") - .WithMany("spec_Params") - .HasForeignKey("spec_Groupid"); - - b.Navigation("category"); - - b.Navigation("spec_Group"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.spu", b => - { - b.HasOne("Yi.Framework.Model.Models.brand", "brand") - .WithMany("spus") - .HasForeignKey("brandid"); - - b.HasOne("Yi.Framework.Model.Models.spu_detail", "spu_Detail") - .WithMany() - .HasForeignKey("spu_Detailid"); - - b.Navigation("brand"); - - b.Navigation("spu_Detail"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.stock", b => - { - b.HasOne("Yi.Framework.Model.Models.sku", "sku") - .WithMany() - .HasForeignKey("skuid"); - - b.Navigation("sku"); - }); - - modelBuilder.Entity("categoryspu", b => - { - b.HasOne("Yi.Framework.Model.Models.category", null) - .WithMany() - .HasForeignKey("categoriesid") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Yi.Framework.Model.Models.spu", null) - .WithMany() - .HasForeignKey("spusid") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.brand", b => - { - b.Navigation("categories"); - - b.Navigation("spus"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.category", b => - { - b.Navigation("brands"); - - b.Navigation("chidrens"); - - b.Navigation("spec_Groups"); - - b.Navigation("spec_Params"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.menu", b => - { - b.Navigation("children"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.role", b => - { - b.Navigation("menus"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.sku", b => - { - b.Navigation("orders"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.spec_group", b => - { - b.Navigation("spec_Params"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.spu", b => - { - b.Navigation("skus"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.user", b => - { - b.Navigation("roles"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106080646_ec2.cs b/Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106080646_ec2.cs deleted file mode 100644 index 6ffc7373..00000000 --- a/Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106080646_ec2.cs +++ /dev/null @@ -1,436 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; - -namespace Yi.Framework.Model.Migrations -{ - public partial class ec2 : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.CreateTable( - name: "brand", - columns: table => new - { - id = table.Column(type: "int", nullable: false) - .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), - name = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - image = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - letter = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - is_delete = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_brand", x => x.id); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "category", - columns: table => new - { - id = table.Column(type: "int", nullable: false) - .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), - name = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - sort = table.Column(type: "int", nullable: false), - is_parent = table.Column(type: "int", nullable: false), - categoryid = table.Column(type: "int", nullable: true), - is_delete = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_category", x => x.id); - table.ForeignKey( - name: "FK_category_category_categoryid", - column: x => x.categoryid, - principalTable: "category", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "spu_detail", - columns: table => new - { - id = table.Column(type: "int", nullable: false) - .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), - description = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - generic_spec = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - special_spec = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - packing_list = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - after_service = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - is_delete = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_spu_detail", x => x.id); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "brand_category", - columns: table => new - { - id = table.Column(type: "int", nullable: false) - .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), - brandId = table.Column(type: "int", nullable: false), - categoryId = table.Column(type: "int", nullable: false), - is_delete = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_brand_category", x => x.id); - table.ForeignKey( - name: "FK_brand_category_brand_brandId", - column: x => x.brandId, - principalTable: "brand", - principalColumn: "id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_brand_category_category_categoryId", - column: x => x.categoryId, - principalTable: "category", - principalColumn: "id", - onDelete: ReferentialAction.Cascade); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "spec_group", - columns: table => new - { - id = table.Column(type: "int", nullable: false) - .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), - name = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - categoryid = table.Column(type: "int", nullable: true), - is_delete = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_spec_group", x => x.id); - table.ForeignKey( - name: "FK_spec_group_category_categoryid", - column: x => x.categoryid, - principalTable: "category", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "spu", - columns: table => new - { - id = table.Column(type: "int", nullable: false) - .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), - title = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - sub_title = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - saleable = table.Column(type: "int", nullable: false), - valid = table.Column(type: "int", nullable: false), - crate_time = table.Column(type: "datetime(6)", nullable: false), - last_update_time = table.Column(type: "datetime(6)", nullable: false), - brandid = table.Column(type: "int", nullable: true), - spu_Detailid = table.Column(type: "int", nullable: true), - is_delete = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_spu", x => x.id); - table.ForeignKey( - name: "FK_spu_brand_brandid", - column: x => x.brandid, - principalTable: "brand", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - table.ForeignKey( - name: "FK_spu_spu_detail_spu_Detailid", - column: x => x.spu_Detailid, - principalTable: "spu_detail", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "spec_param", - columns: table => new - { - id = table.Column(type: "int", nullable: false) - .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), - name = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - numeric = table.Column(type: "int", nullable: false), - unit = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - generic = table.Column(type: "int", nullable: false), - searching = table.Column(type: "int", nullable: false), - segments = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - spec_Groupid = table.Column(type: "int", nullable: true), - categoryid = table.Column(type: "int", nullable: true), - is_delete = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_spec_param", x => x.id); - table.ForeignKey( - name: "FK_spec_param_category_categoryid", - column: x => x.categoryid, - principalTable: "category", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - table.ForeignKey( - name: "FK_spec_param_spec_group_spec_Groupid", - column: x => x.spec_Groupid, - principalTable: "spec_group", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "categoryspu", - columns: table => new - { - categoriesid = table.Column(type: "int", nullable: false), - spusid = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_categoryspu", x => new { x.categoriesid, x.spusid }); - table.ForeignKey( - name: "FK_categoryspu_category_categoriesid", - column: x => x.categoriesid, - principalTable: "category", - principalColumn: "id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_categoryspu_spu_spusid", - column: x => x.spusid, - principalTable: "spu", - principalColumn: "id", - onDelete: ReferentialAction.Cascade); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "sku", - columns: table => new - { - id = table.Column(type: "int", nullable: false) - .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), - title = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - images = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - price = table.Column(type: "int", nullable: false), - indexes = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - enable = table.Column(type: "int", nullable: false), - own_spec = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - crate_time = table.Column(type: "datetime(6)", nullable: false), - last_update_time = table.Column(type: "datetime(6)", nullable: false), - spuid = table.Column(type: "int", nullable: true), - is_delete = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_sku", x => x.id); - table.ForeignKey( - name: "FK_sku_spu_spuid", - column: x => x.spuid, - principalTable: "spu", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "order", - columns: table => new - { - id = table.Column(type: "int", nullable: false) - .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), - total_pay = table.Column(type: "int", nullable: false), - actual_pay = table.Column(type: "int", nullable: false), - payment_type = table.Column(type: "int", nullable: false), - post_fee = table.Column(type: "int", nullable: false), - promotion_ids = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - creat_time = table.Column(type: "datetime(6)", nullable: false), - shipping_name = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - shipping_code = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - buyer_message = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - buyer_nick = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - buyer_rate = table.Column(type: "int", nullable: false), - receiver_state = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - receiver_city = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - receiver_district = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - receiver_address = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - receiver_mobile = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - receiver_zip = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - receiver = table.Column(type: "longtext", nullable: true) - .Annotation("MySql:CharSet", "utf8mb4"), - invoice_type = table.Column(type: "int", nullable: false), - source_type = table.Column(type: "int", nullable: false), - skuid = table.Column(type: "int", nullable: true), - is_delete = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_order", x => x.id); - table.ForeignKey( - name: "FK_order_sku_skuid", - column: x => x.skuid, - principalTable: "sku", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "stock", - columns: table => new - { - id = table.Column(type: "int", nullable: false) - .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), - seckill_stock = table.Column(type: "int", nullable: false), - seckill_total = table.Column(type: "int", nullable: false), - stock_count = table.Column(type: "int", nullable: false), - skuid = table.Column(type: "int", nullable: true), - is_delete = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_stock", x => x.id); - table.ForeignKey( - name: "FK_stock_sku_skuid", - column: x => x.skuid, - principalTable: "sku", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateIndex( - name: "IX_brand_category_brandId", - table: "brand_category", - column: "brandId"); - - migrationBuilder.CreateIndex( - name: "IX_brand_category_categoryId", - table: "brand_category", - column: "categoryId"); - - migrationBuilder.CreateIndex( - name: "IX_category_categoryid", - table: "category", - column: "categoryid"); - - migrationBuilder.CreateIndex( - name: "IX_categoryspu_spusid", - table: "categoryspu", - column: "spusid"); - - migrationBuilder.CreateIndex( - name: "IX_order_skuid", - table: "order", - column: "skuid"); - - migrationBuilder.CreateIndex( - name: "IX_sku_spuid", - table: "sku", - column: "spuid"); - - migrationBuilder.CreateIndex( - name: "IX_spec_group_categoryid", - table: "spec_group", - column: "categoryid"); - - migrationBuilder.CreateIndex( - name: "IX_spec_param_categoryid", - table: "spec_param", - column: "categoryid"); - - migrationBuilder.CreateIndex( - name: "IX_spec_param_spec_Groupid", - table: "spec_param", - column: "spec_Groupid"); - - migrationBuilder.CreateIndex( - name: "IX_spu_brandid", - table: "spu", - column: "brandid"); - - migrationBuilder.CreateIndex( - name: "IX_spu_spu_Detailid", - table: "spu", - column: "spu_Detailid"); - - migrationBuilder.CreateIndex( - name: "IX_stock_skuid", - table: "stock", - column: "skuid"); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable( - name: "brand_category"); - - migrationBuilder.DropTable( - name: "categoryspu"); - - migrationBuilder.DropTable( - name: "order"); - - migrationBuilder.DropTable( - name: "spec_param"); - - migrationBuilder.DropTable( - name: "stock"); - - migrationBuilder.DropTable( - name: "spec_group"); - - migrationBuilder.DropTable( - name: "sku"); - - migrationBuilder.DropTable( - name: "category"); - - migrationBuilder.DropTable( - name: "spu"); - - migrationBuilder.DropTable( - name: "brand"); - - migrationBuilder.DropTable( - name: "spu_detail"); - } - } -} diff --git a/Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106084427_ec3.Designer.cs b/Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106084427_ec3.Designer.cs deleted file mode 100644 index 8c0467c2..00000000 --- a/Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106084427_ec3.Designer.cs +++ /dev/null @@ -1,770 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Yi.Framework.Model; - -namespace Yi.Framework.Model.Migrations -{ - [DbContext(typeof(DataContext))] - [Migration("20211106084427_ec3")] - partial class ec3 - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("Relational:MaxIdentifierLength", 64) - .HasAnnotation("ProductVersion", "5.0.11"); - - modelBuilder.Entity("Yi.Framework.Model.Models.brand", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("image") - .HasColumnType("longtext") - .HasComment("品牌图片"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("letter") - .HasColumnType("longtext") - .HasComment("品牌首字母"); - - b.Property("name") - .HasColumnType("longtext") - .HasComment("品牌名称"); - - b.HasKey("id"); - - b.ToTable("brand"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.category", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("categoryid") - .HasColumnType("int"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("is_parent") - .HasColumnType("int") - .HasComment("是否父类别"); - - b.Property("name") - .HasColumnType("longtext") - .HasComment("类别名称"); - - b.Property("sort") - .HasColumnType("int") - .HasComment("排序"); - - b.HasKey("id"); - - b.HasIndex("categoryid"); - - b.ToTable("category"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.menu", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("icon") - .HasColumnType("longtext"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("is_show") - .HasColumnType("int"); - - b.Property("is_top") - .HasColumnType("int"); - - b.Property("menu_name") - .HasColumnType("longtext"); - - b.Property("menuid") - .HasColumnType("int"); - - b.Property("mouldid") - .HasColumnType("int"); - - b.Property("roleid") - .HasColumnType("int"); - - b.Property("router") - .HasColumnType("longtext"); - - b.Property("sort") - .HasColumnType("int"); - - b.HasKey("id"); - - b.HasIndex("menuid"); - - b.HasIndex("mouldid"); - - b.HasIndex("roleid"); - - b.ToTable("menu"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.mould", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("mould_name") - .HasColumnType("longtext"); - - b.Property("url") - .HasColumnType("longtext"); - - b.HasKey("id"); - - b.ToTable("mould"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.order", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("actual_pay") - .HasColumnType("int") - .HasComment("实付金额。单位:分。如:20007,表示:200元7分"); - - b.Property("buyer_message") - .HasColumnType("longtext") - .HasComment("买家留言"); - - b.Property("buyer_nick") - .HasColumnType("longtext") - .HasComment("买家昵称"); - - b.Property("buyer_rate") - .HasColumnType("int") - .HasComment("买家是否已经评价,0未评价,1已评价"); - - b.Property("creat_time") - .HasColumnType("datetime(6)") - .HasComment("订单创建时间"); - - b.Property("invoice_type") - .HasColumnType("int") - .HasComment("发票类型:0无发票1普通发票,2电子发票,3增值税发票"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("payment_type") - .HasColumnType("int") - .HasComment("支付类型,1、在线支付,2、货到付款"); - - b.Property("post_fee") - .HasColumnType("int") - .HasComment("邮费。单位:分。如:20007,表示:200元7分"); - - b.Property("promotion_ids") - .HasColumnType("longtext") - .HasComment("promotion_ids"); - - b.Property("receiver") - .HasColumnType("longtext") - .HasComment("收货人"); - - b.Property("receiver_address") - .HasColumnType("longtext") - .HasComment("收获地址(街道、住址等详细地址)"); - - b.Property("receiver_city") - .HasColumnType("longtext") - .HasComment("收获地址(市)"); - - b.Property("receiver_district") - .HasColumnType("longtext") - .HasComment("收获地址(区/县)"); - - b.Property("receiver_mobile") - .HasColumnType("longtext") - .HasComment("收货人手机"); - - b.Property("receiver_state") - .HasColumnType("longtext") - .HasComment("收获地址(省)"); - - b.Property("receiver_zip") - .HasColumnType("longtext") - .HasComment("收货人邮编"); - - b.Property("shipping_code") - .HasColumnType("longtext") - .HasComment("物流单号"); - - b.Property("shipping_name") - .HasColumnType("longtext") - .HasComment("物流名称"); - - b.Property("skuid") - .HasColumnType("int"); - - b.Property("source_type") - .HasColumnType("int") - .HasComment("订单来源:1:app端,2:pc端,3:M端,4:微信端,5:手机qq端"); - - b.Property("total_pay") - .HasColumnType("int") - .HasComment("总金额,单位为分"); - - b.HasKey("id"); - - b.HasIndex("skuid"); - - b.ToTable("order"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.role", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("introduce") - .HasColumnType("longtext"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("role_name") - .HasColumnType("longtext"); - - b.Property("userid") - .HasColumnType("int"); - - b.HasKey("id"); - - b.HasIndex("userid"); - - b.ToTable("role"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.sku", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("crate_time") - .HasColumnType("datetime(6)") - .HasComment("创建时间"); - - b.Property("enable") - .HasColumnType("int") - .HasComment("是否有效,0无效,1有效"); - - b.Property("images") - .HasColumnType("longtext") - .HasComment("商品的图片,多个图片以‘,’分割"); - - b.Property("indexes") - .HasColumnType("longtext") - .HasComment("特有规格属性在spu属性模板中的对应下标组合"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("last_update_time") - .HasColumnType("datetime(6)") - .HasComment("最后更新时间"); - - b.Property("own_spec") - .HasColumnType("longtext") - .HasComment("sku的特有规格参数键值对,json格式,反序列化时请使用linkedHashMap,保证有序"); - - b.Property("price") - .HasColumnType("int") - .HasComment("销售价格,单位为分"); - - b.Property("spuid") - .HasColumnType("int"); - - b.Property("title") - .HasColumnType("longtext") - .HasComment("商品标题"); - - b.HasKey("id"); - - b.HasIndex("spuid"); - - b.ToTable("sku"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.spec_group", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("categoryid") - .HasColumnType("int"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("name") - .HasColumnType("longtext") - .HasComment("规格组名称"); - - b.HasKey("id"); - - b.HasIndex("categoryid"); - - b.ToTable("spec_group"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.spec_param", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("categoryid") - .HasColumnType("int"); - - b.Property("generic") - .HasColumnType("int") - .HasComment("是否是sku通用属性,true或false"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("name") - .HasColumnType("longtext") - .HasComment("参数名"); - - b.Property("numeric") - .HasColumnType("int") - .HasComment("是否是数字类型参数,true或false"); - - b.Property("searching") - .HasColumnType("int") - .HasComment("是否用于搜索过滤,true或false"); - - b.Property("segments") - .HasColumnType("longtext") - .HasComment("数值类型参数,如果需要搜索,则添加分段间隔值,如CPU频率间隔:0.5-1.0"); - - b.Property("spec_Groupid") - .HasColumnType("int"); - - b.Property("unit") - .HasColumnType("longtext") - .HasComment("数字类型参数的单位,非数字类型可以为空"); - - b.HasKey("id"); - - b.HasIndex("categoryid"); - - b.HasIndex("spec_Groupid"); - - b.ToTable("spec_param"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.spu", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("brandid") - .HasColumnType("int"); - - b.Property("crate_time") - .HasColumnType("datetime(6)") - .HasComment("创建时间"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("last_update_time") - .HasColumnType("datetime(6)") - .HasComment("最后更新时间"); - - b.Property("saleable") - .HasColumnType("int") - .HasComment("是否上架"); - - b.Property("spu_Detailid") - .HasColumnType("int"); - - b.Property("sub_title") - .HasColumnType("longtext") - .HasComment("子标题"); - - b.Property("title") - .HasColumnType("longtext") - .HasComment("标题"); - - b.Property("valid") - .HasColumnType("int") - .HasComment("是否有效"); - - b.HasKey("id"); - - b.HasIndex("brandid"); - - b.HasIndex("spu_Detailid"); - - b.ToTable("spu"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.spu_detail", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("after_service") - .HasColumnType("longtext") - .HasComment("售后服务"); - - b.Property("description") - .HasColumnType("longtext") - .HasComment("描述"); - - b.Property("generic_spec") - .HasColumnType("longtext") - .HasComment("通用规格参数数据"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("packing_list") - .HasColumnType("longtext") - .HasComment("包装清单"); - - b.Property("special_spec") - .HasColumnType("longtext") - .HasComment("特有规格参数及可选值信息,json格式"); - - b.HasKey("id"); - - b.ToTable("spu_detail"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.stock", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("seckill_stock") - .HasColumnType("int") - .HasComment("可秒杀库存"); - - b.Property("seckill_total") - .HasColumnType("int") - .HasComment("秒杀总数量"); - - b.Property("skuid") - .HasColumnType("int"); - - b.Property("stock_count") - .HasColumnType("int") - .HasComment("库存数量"); - - b.HasKey("id"); - - b.HasIndex("skuid"); - - b.ToTable("stock"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.user", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("address") - .HasColumnType("longtext"); - - b.Property("age") - .HasColumnType("int"); - - b.Property("email") - .HasColumnType("longtext"); - - b.Property("icon") - .HasColumnType("longtext"); - - b.Property("introduction") - .HasColumnType("longtext"); - - b.Property("ip") - .HasColumnType("longtext"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("nick") - .HasColumnType("longtext"); - - b.Property("password") - .HasColumnType("longtext"); - - b.Property("phone") - .HasColumnType("int"); - - b.Property("username") - .HasColumnType("longtext"); - - b.HasKey("id"); - - b.ToTable("user"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.visit", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("num") - .HasColumnType("int"); - - b.Property("time") - .HasColumnType("datetime(6)"); - - b.HasKey("id"); - - b.ToTable("visit"); - }); - - modelBuilder.Entity("brandcategory", b => - { - b.Property("brandsid") - .HasColumnType("int"); - - b.Property("categoriesid") - .HasColumnType("int"); - - b.HasKey("brandsid", "categoriesid"); - - b.HasIndex("categoriesid"); - - b.ToTable("brandcategory"); - }); - - modelBuilder.Entity("categoryspu", b => - { - b.Property("categoriesid") - .HasColumnType("int"); - - b.Property("spusid") - .HasColumnType("int"); - - b.HasKey("categoriesid", "spusid"); - - b.HasIndex("spusid"); - - b.ToTable("categoryspu"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.category", b => - { - b.HasOne("Yi.Framework.Model.Models.category", null) - .WithMany("chidrens") - .HasForeignKey("categoryid"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.menu", b => - { - b.HasOne("Yi.Framework.Model.Models.menu", null) - .WithMany("children") - .HasForeignKey("menuid"); - - b.HasOne("Yi.Framework.Model.Models.mould", "mould") - .WithMany() - .HasForeignKey("mouldid"); - - b.HasOne("Yi.Framework.Model.Models.role", null) - .WithMany("menus") - .HasForeignKey("roleid"); - - b.Navigation("mould"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.order", b => - { - b.HasOne("Yi.Framework.Model.Models.sku", null) - .WithMany("orders") - .HasForeignKey("skuid"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.role", b => - { - b.HasOne("Yi.Framework.Model.Models.user", null) - .WithMany("roles") - .HasForeignKey("userid"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.sku", b => - { - b.HasOne("Yi.Framework.Model.Models.spu", "spu") - .WithMany("skus") - .HasForeignKey("spuid"); - - b.Navigation("spu"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.spec_group", b => - { - b.HasOne("Yi.Framework.Model.Models.category", "category") - .WithMany("spec_Groups") - .HasForeignKey("categoryid"); - - b.Navigation("category"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.spec_param", b => - { - b.HasOne("Yi.Framework.Model.Models.category", "category") - .WithMany("spec_Params") - .HasForeignKey("categoryid"); - - b.HasOne("Yi.Framework.Model.Models.spec_group", "spec_Group") - .WithMany("spec_Params") - .HasForeignKey("spec_Groupid"); - - b.Navigation("category"); - - b.Navigation("spec_Group"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.spu", b => - { - b.HasOne("Yi.Framework.Model.Models.brand", "brand") - .WithMany("spus") - .HasForeignKey("brandid"); - - b.HasOne("Yi.Framework.Model.Models.spu_detail", "spu_Detail") - .WithMany() - .HasForeignKey("spu_Detailid"); - - b.Navigation("brand"); - - b.Navigation("spu_Detail"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.stock", b => - { - b.HasOne("Yi.Framework.Model.Models.sku", "sku") - .WithMany() - .HasForeignKey("skuid"); - - b.Navigation("sku"); - }); - - modelBuilder.Entity("brandcategory", b => - { - b.HasOne("Yi.Framework.Model.Models.brand", null) - .WithMany() - .HasForeignKey("brandsid") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Yi.Framework.Model.Models.category", null) - .WithMany() - .HasForeignKey("categoriesid") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("categoryspu", b => - { - b.HasOne("Yi.Framework.Model.Models.category", null) - .WithMany() - .HasForeignKey("categoriesid") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Yi.Framework.Model.Models.spu", null) - .WithMany() - .HasForeignKey("spusid") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.brand", b => - { - b.Navigation("spus"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.category", b => - { - b.Navigation("chidrens"); - - b.Navigation("spec_Groups"); - - b.Navigation("spec_Params"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.menu", b => - { - b.Navigation("children"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.role", b => - { - b.Navigation("menus"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.sku", b => - { - b.Navigation("orders"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.spec_group", b => - { - b.Navigation("spec_Params"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.spu", b => - { - b.Navigation("skus"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.user", b => - { - b.Navigation("roles"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106084427_ec3.cs b/Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106084427_ec3.cs deleted file mode 100644 index c88a2028..00000000 --- a/Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106084427_ec3.cs +++ /dev/null @@ -1,1265 +0,0 @@ -using System; -using Microsoft.EntityFrameworkCore.Metadata; -using Microsoft.EntityFrameworkCore.Migrations; - -namespace Yi.Framework.Model.Migrations -{ - public partial class ec3 : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable( - name: "brand_category"); - - migrationBuilder.AlterColumn( - name: "stock_count", - table: "stock", - type: "int", - nullable: false, - comment: "库存数量", - oldClrType: typeof(int), - oldType: "int"); - - migrationBuilder.AlterColumn( - name: "seckill_total", - table: "stock", - type: "int", - nullable: false, - comment: "秒杀总数量", - oldClrType: typeof(int), - oldType: "int"); - - migrationBuilder.AlterColumn( - name: "seckill_stock", - table: "stock", - type: "int", - nullable: false, - comment: "可秒杀库存", - oldClrType: typeof(int), - oldType: "int"); - - migrationBuilder.AlterColumn( - name: "special_spec", - table: "spu_detail", - type: "longtext", - nullable: true, - comment: "特有规格参数及可选值信息,json格式", - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true) - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "packing_list", - table: "spu_detail", - type: "longtext", - nullable: true, - comment: "包装清单", - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true) - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "generic_spec", - table: "spu_detail", - type: "longtext", - nullable: true, - comment: "通用规格参数数据", - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true) - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "description", - table: "spu_detail", - type: "longtext", - nullable: true, - comment: "描述", - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true) - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "after_service", - table: "spu_detail", - type: "longtext", - nullable: true, - comment: "售后服务", - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true) - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "valid", - table: "spu", - type: "int", - nullable: false, - comment: "是否有效", - oldClrType: typeof(int), - oldType: "int"); - - migrationBuilder.AlterColumn( - name: "title", - table: "spu", - type: "longtext", - nullable: true, - comment: "标题", - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true) - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "sub_title", - table: "spu", - type: "longtext", - nullable: true, - comment: "子标题", - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true) - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "saleable", - table: "spu", - type: "int", - nullable: false, - comment: "是否上架", - oldClrType: typeof(int), - oldType: "int"); - - migrationBuilder.AlterColumn( - name: "last_update_time", - table: "spu", - type: "datetime(6)", - nullable: false, - comment: "最后更新时间", - oldClrType: typeof(DateTime), - oldType: "datetime(6)"); - - migrationBuilder.AlterColumn( - name: "crate_time", - table: "spu", - type: "datetime(6)", - nullable: false, - comment: "创建时间", - oldClrType: typeof(DateTime), - oldType: "datetime(6)"); - - migrationBuilder.AlterColumn( - name: "unit", - table: "spec_param", - type: "longtext", - nullable: true, - comment: "数字类型参数的单位,非数字类型可以为空", - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true) - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "segments", - table: "spec_param", - type: "longtext", - nullable: true, - comment: "数值类型参数,如果需要搜索,则添加分段间隔值,如CPU频率间隔:0.5-1.0", - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true) - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "searching", - table: "spec_param", - type: "int", - nullable: false, - comment: "是否用于搜索过滤,true或false", - oldClrType: typeof(int), - oldType: "int"); - - migrationBuilder.AlterColumn( - name: "numeric", - table: "spec_param", - type: "int", - nullable: false, - comment: "是否是数字类型参数,true或false", - oldClrType: typeof(int), - oldType: "int"); - - migrationBuilder.AlterColumn( - name: "name", - table: "spec_param", - type: "longtext", - nullable: true, - comment: "参数名", - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true) - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "generic", - table: "spec_param", - type: "int", - nullable: false, - comment: "是否是sku通用属性,true或false", - oldClrType: typeof(int), - oldType: "int"); - - migrationBuilder.AlterColumn( - name: "name", - table: "spec_group", - type: "longtext", - nullable: true, - comment: "规格组名称", - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true) - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "title", - table: "sku", - type: "longtext", - nullable: true, - comment: "商品标题", - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true) - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "price", - table: "sku", - type: "int", - nullable: false, - comment: "销售价格,单位为分", - oldClrType: typeof(int), - oldType: "int"); - - migrationBuilder.AlterColumn( - name: "own_spec", - table: "sku", - type: "longtext", - nullable: true, - comment: "sku的特有规格参数键值对,json格式,反序列化时请使用linkedHashMap,保证有序", - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true) - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "last_update_time", - table: "sku", - type: "datetime(6)", - nullable: false, - comment: "最后更新时间", - oldClrType: typeof(DateTime), - oldType: "datetime(6)"); - - migrationBuilder.AlterColumn( - name: "indexes", - table: "sku", - type: "longtext", - nullable: true, - comment: "特有规格属性在spu属性模板中的对应下标组合", - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true) - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "images", - table: "sku", - type: "longtext", - nullable: true, - comment: "商品的图片,多个图片以‘,’分割", - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true) - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "enable", - table: "sku", - type: "int", - nullable: false, - comment: "是否有效,0无效,1有效", - oldClrType: typeof(int), - oldType: "int"); - - migrationBuilder.AlterColumn( - name: "crate_time", - table: "sku", - type: "datetime(6)", - nullable: false, - comment: "创建时间", - oldClrType: typeof(DateTime), - oldType: "datetime(6)"); - - migrationBuilder.AlterColumn( - name: "total_pay", - table: "order", - type: "int", - nullable: false, - comment: "总金额,单位为分", - oldClrType: typeof(int), - oldType: "int"); - - migrationBuilder.AlterColumn( - name: "source_type", - table: "order", - type: "int", - nullable: false, - comment: "订单来源:1:app端,2:pc端,3:M端,4:微信端,5:手机qq端", - oldClrType: typeof(int), - oldType: "int"); - - migrationBuilder.AlterColumn( - name: "shipping_name", - table: "order", - type: "longtext", - nullable: true, - comment: "物流名称", - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true) - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "shipping_code", - table: "order", - type: "longtext", - nullable: true, - comment: "物流单号", - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true) - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "receiver_zip", - table: "order", - type: "longtext", - nullable: true, - comment: "收货人邮编", - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true) - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "receiver_state", - table: "order", - type: "longtext", - nullable: true, - comment: "收获地址(省)", - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true) - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "receiver_mobile", - table: "order", - type: "longtext", - nullable: true, - comment: "收货人手机", - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true) - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "receiver_district", - table: "order", - type: "longtext", - nullable: true, - comment: "收获地址(区/县)", - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true) - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "receiver_city", - table: "order", - type: "longtext", - nullable: true, - comment: "收获地址(市)", - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true) - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "receiver_address", - table: "order", - type: "longtext", - nullable: true, - comment: "收获地址(街道、住址等详细地址)", - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true) - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "receiver", - table: "order", - type: "longtext", - nullable: true, - comment: "收货人", - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true) - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "promotion_ids", - table: "order", - type: "longtext", - nullable: true, - comment: "promotion_ids", - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true) - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "post_fee", - table: "order", - type: "int", - nullable: false, - comment: "邮费。单位:分。如:20007,表示:200元7分", - oldClrType: typeof(int), - oldType: "int"); - - migrationBuilder.AlterColumn( - name: "payment_type", - table: "order", - type: "int", - nullable: false, - comment: "支付类型,1、在线支付,2、货到付款", - oldClrType: typeof(int), - oldType: "int"); - - migrationBuilder.AlterColumn( - name: "invoice_type", - table: "order", - type: "int", - nullable: false, - comment: "发票类型:0无发票1普通发票,2电子发票,3增值税发票", - oldClrType: typeof(int), - oldType: "int"); - - migrationBuilder.AlterColumn( - name: "creat_time", - table: "order", - type: "datetime(6)", - nullable: false, - comment: "订单创建时间", - oldClrType: typeof(DateTime), - oldType: "datetime(6)"); - - migrationBuilder.AlterColumn( - name: "buyer_rate", - table: "order", - type: "int", - nullable: false, - comment: "买家是否已经评价,0未评价,1已评价", - oldClrType: typeof(int), - oldType: "int"); - - migrationBuilder.AlterColumn( - name: "buyer_nick", - table: "order", - type: "longtext", - nullable: true, - comment: "买家昵称", - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true) - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "buyer_message", - table: "order", - type: "longtext", - nullable: true, - comment: "买家留言", - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true) - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "actual_pay", - table: "order", - type: "int", - nullable: false, - comment: "实付金额。单位:分。如:20007,表示:200元7分", - oldClrType: typeof(int), - oldType: "int"); - - migrationBuilder.AlterColumn( - name: "sort", - table: "category", - type: "int", - nullable: false, - comment: "排序", - oldClrType: typeof(int), - oldType: "int"); - - migrationBuilder.AlterColumn( - name: "name", - table: "category", - type: "longtext", - nullable: true, - comment: "类别名称", - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true) - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "is_parent", - table: "category", - type: "int", - nullable: false, - comment: "是否父类别", - oldClrType: typeof(int), - oldType: "int"); - - migrationBuilder.AlterColumn( - name: "name", - table: "brand", - type: "longtext", - nullable: true, - comment: "品牌名称", - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true) - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "letter", - table: "brand", - type: "longtext", - nullable: true, - comment: "品牌首字母", - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true) - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "image", - table: "brand", - type: "longtext", - nullable: true, - comment: "品牌图片", - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true) - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "brandcategory", - columns: table => new - { - brandsid = table.Column(type: "int", nullable: false), - categoriesid = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_brandcategory", x => new { x.brandsid, x.categoriesid }); - table.ForeignKey( - name: "FK_brandcategory_brand_brandsid", - column: x => x.brandsid, - principalTable: "brand", - principalColumn: "id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_brandcategory_category_categoriesid", - column: x => x.categoriesid, - principalTable: "category", - principalColumn: "id", - onDelete: ReferentialAction.Cascade); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateIndex( - name: "IX_brandcategory_categoriesid", - table: "brandcategory", - column: "categoriesid"); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable( - name: "brandcategory"); - - migrationBuilder.AlterColumn( - name: "stock_count", - table: "stock", - type: "int", - nullable: false, - oldClrType: typeof(int), - oldType: "int", - oldComment: "库存数量"); - - migrationBuilder.AlterColumn( - name: "seckill_total", - table: "stock", - type: "int", - nullable: false, - oldClrType: typeof(int), - oldType: "int", - oldComment: "秒杀总数量"); - - migrationBuilder.AlterColumn( - name: "seckill_stock", - table: "stock", - type: "int", - nullable: false, - oldClrType: typeof(int), - oldType: "int", - oldComment: "可秒杀库存"); - - migrationBuilder.AlterColumn( - name: "special_spec", - table: "spu_detail", - type: "longtext", - nullable: true, - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true, - oldComment: "特有规格参数及可选值信息,json格式") - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "packing_list", - table: "spu_detail", - type: "longtext", - nullable: true, - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true, - oldComment: "包装清单") - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "generic_spec", - table: "spu_detail", - type: "longtext", - nullable: true, - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true, - oldComment: "通用规格参数数据") - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "description", - table: "spu_detail", - type: "longtext", - nullable: true, - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true, - oldComment: "描述") - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "after_service", - table: "spu_detail", - type: "longtext", - nullable: true, - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true, - oldComment: "售后服务") - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "valid", - table: "spu", - type: "int", - nullable: false, - oldClrType: typeof(int), - oldType: "int", - oldComment: "是否有效"); - - migrationBuilder.AlterColumn( - name: "title", - table: "spu", - type: "longtext", - nullable: true, - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true, - oldComment: "标题") - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "sub_title", - table: "spu", - type: "longtext", - nullable: true, - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true, - oldComment: "子标题") - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "saleable", - table: "spu", - type: "int", - nullable: false, - oldClrType: typeof(int), - oldType: "int", - oldComment: "是否上架"); - - migrationBuilder.AlterColumn( - name: "last_update_time", - table: "spu", - type: "datetime(6)", - nullable: false, - oldClrType: typeof(DateTime), - oldType: "datetime(6)", - oldComment: "最后更新时间"); - - migrationBuilder.AlterColumn( - name: "crate_time", - table: "spu", - type: "datetime(6)", - nullable: false, - oldClrType: typeof(DateTime), - oldType: "datetime(6)", - oldComment: "创建时间"); - - migrationBuilder.AlterColumn( - name: "unit", - table: "spec_param", - type: "longtext", - nullable: true, - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true, - oldComment: "数字类型参数的单位,非数字类型可以为空") - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "segments", - table: "spec_param", - type: "longtext", - nullable: true, - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true, - oldComment: "数值类型参数,如果需要搜索,则添加分段间隔值,如CPU频率间隔:0.5-1.0") - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "searching", - table: "spec_param", - type: "int", - nullable: false, - oldClrType: typeof(int), - oldType: "int", - oldComment: "是否用于搜索过滤,true或false"); - - migrationBuilder.AlterColumn( - name: "numeric", - table: "spec_param", - type: "int", - nullable: false, - oldClrType: typeof(int), - oldType: "int", - oldComment: "是否是数字类型参数,true或false"); - - migrationBuilder.AlterColumn( - name: "name", - table: "spec_param", - type: "longtext", - nullable: true, - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true, - oldComment: "参数名") - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "generic", - table: "spec_param", - type: "int", - nullable: false, - oldClrType: typeof(int), - oldType: "int", - oldComment: "是否是sku通用属性,true或false"); - - migrationBuilder.AlterColumn( - name: "name", - table: "spec_group", - type: "longtext", - nullable: true, - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true, - oldComment: "规格组名称") - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "title", - table: "sku", - type: "longtext", - nullable: true, - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true, - oldComment: "商品标题") - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "price", - table: "sku", - type: "int", - nullable: false, - oldClrType: typeof(int), - oldType: "int", - oldComment: "销售价格,单位为分"); - - migrationBuilder.AlterColumn( - name: "own_spec", - table: "sku", - type: "longtext", - nullable: true, - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true, - oldComment: "sku的特有规格参数键值对,json格式,反序列化时请使用linkedHashMap,保证有序") - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "last_update_time", - table: "sku", - type: "datetime(6)", - nullable: false, - oldClrType: typeof(DateTime), - oldType: "datetime(6)", - oldComment: "最后更新时间"); - - migrationBuilder.AlterColumn( - name: "indexes", - table: "sku", - type: "longtext", - nullable: true, - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true, - oldComment: "特有规格属性在spu属性模板中的对应下标组合") - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "images", - table: "sku", - type: "longtext", - nullable: true, - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true, - oldComment: "商品的图片,多个图片以‘,’分割") - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "enable", - table: "sku", - type: "int", - nullable: false, - oldClrType: typeof(int), - oldType: "int", - oldComment: "是否有效,0无效,1有效"); - - migrationBuilder.AlterColumn( - name: "crate_time", - table: "sku", - type: "datetime(6)", - nullable: false, - oldClrType: typeof(DateTime), - oldType: "datetime(6)", - oldComment: "创建时间"); - - migrationBuilder.AlterColumn( - name: "total_pay", - table: "order", - type: "int", - nullable: false, - oldClrType: typeof(int), - oldType: "int", - oldComment: "总金额,单位为分"); - - migrationBuilder.AlterColumn( - name: "source_type", - table: "order", - type: "int", - nullable: false, - oldClrType: typeof(int), - oldType: "int", - oldComment: "订单来源:1:app端,2:pc端,3:M端,4:微信端,5:手机qq端"); - - migrationBuilder.AlterColumn( - name: "shipping_name", - table: "order", - type: "longtext", - nullable: true, - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true, - oldComment: "物流名称") - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "shipping_code", - table: "order", - type: "longtext", - nullable: true, - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true, - oldComment: "物流单号") - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "receiver_zip", - table: "order", - type: "longtext", - nullable: true, - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true, - oldComment: "收货人邮编") - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "receiver_state", - table: "order", - type: "longtext", - nullable: true, - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true, - oldComment: "收获地址(省)") - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "receiver_mobile", - table: "order", - type: "longtext", - nullable: true, - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true, - oldComment: "收货人手机") - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "receiver_district", - table: "order", - type: "longtext", - nullable: true, - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true, - oldComment: "收获地址(区/县)") - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "receiver_city", - table: "order", - type: "longtext", - nullable: true, - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true, - oldComment: "收获地址(市)") - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "receiver_address", - table: "order", - type: "longtext", - nullable: true, - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true, - oldComment: "收获地址(街道、住址等详细地址)") - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "receiver", - table: "order", - type: "longtext", - nullable: true, - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true, - oldComment: "收货人") - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "promotion_ids", - table: "order", - type: "longtext", - nullable: true, - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true, - oldComment: "promotion_ids") - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "post_fee", - table: "order", - type: "int", - nullable: false, - oldClrType: typeof(int), - oldType: "int", - oldComment: "邮费。单位:分。如:20007,表示:200元7分"); - - migrationBuilder.AlterColumn( - name: "payment_type", - table: "order", - type: "int", - nullable: false, - oldClrType: typeof(int), - oldType: "int", - oldComment: "支付类型,1、在线支付,2、货到付款"); - - migrationBuilder.AlterColumn( - name: "invoice_type", - table: "order", - type: "int", - nullable: false, - oldClrType: typeof(int), - oldType: "int", - oldComment: "发票类型:0无发票1普通发票,2电子发票,3增值税发票"); - - migrationBuilder.AlterColumn( - name: "creat_time", - table: "order", - type: "datetime(6)", - nullable: false, - oldClrType: typeof(DateTime), - oldType: "datetime(6)", - oldComment: "订单创建时间"); - - migrationBuilder.AlterColumn( - name: "buyer_rate", - table: "order", - type: "int", - nullable: false, - oldClrType: typeof(int), - oldType: "int", - oldComment: "买家是否已经评价,0未评价,1已评价"); - - migrationBuilder.AlterColumn( - name: "buyer_nick", - table: "order", - type: "longtext", - nullable: true, - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true, - oldComment: "买家昵称") - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "buyer_message", - table: "order", - type: "longtext", - nullable: true, - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true, - oldComment: "买家留言") - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "actual_pay", - table: "order", - type: "int", - nullable: false, - oldClrType: typeof(int), - oldType: "int", - oldComment: "实付金额。单位:分。如:20007,表示:200元7分"); - - migrationBuilder.AlterColumn( - name: "sort", - table: "category", - type: "int", - nullable: false, - oldClrType: typeof(int), - oldType: "int", - oldComment: "排序"); - - migrationBuilder.AlterColumn( - name: "name", - table: "category", - type: "longtext", - nullable: true, - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true, - oldComment: "类别名称") - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "is_parent", - table: "category", - type: "int", - nullable: false, - oldClrType: typeof(int), - oldType: "int", - oldComment: "是否父类别"); - - migrationBuilder.AlterColumn( - name: "name", - table: "brand", - type: "longtext", - nullable: true, - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true, - oldComment: "品牌名称") - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "letter", - table: "brand", - type: "longtext", - nullable: true, - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true, - oldComment: "品牌首字母") - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AlterColumn( - name: "image", - table: "brand", - type: "longtext", - nullable: true, - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true, - oldComment: "品牌图片") - .Annotation("MySql:CharSet", "utf8mb4") - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "brand_category", - columns: table => new - { - id = table.Column(type: "int", nullable: false) - .Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn), - brandId = table.Column(type: "int", nullable: false), - categoryId = table.Column(type: "int", nullable: false), - is_delete = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_brand_category", x => x.id); - table.ForeignKey( - name: "FK_brand_category_brand_brandId", - column: x => x.brandId, - principalTable: "brand", - principalColumn: "id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_brand_category_category_categoryId", - column: x => x.categoryId, - principalTable: "category", - principalColumn: "id", - onDelete: ReferentialAction.Cascade); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateIndex( - name: "IX_brand_category_brandId", - table: "brand_category", - column: "brandId"); - - migrationBuilder.CreateIndex( - name: "IX_brand_category_categoryId", - table: "brand_category", - column: "categoryId"); - } - } -} diff --git a/Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106110713_ec4.Designer.cs b/Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106110713_ec4.Designer.cs deleted file mode 100644 index 9c033a51..00000000 --- a/Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106110713_ec4.Designer.cs +++ /dev/null @@ -1,799 +0,0 @@ -// -using System; -using Microsoft.EntityFrameworkCore; -using Microsoft.EntityFrameworkCore.Infrastructure; -using Microsoft.EntityFrameworkCore.Migrations; -using Microsoft.EntityFrameworkCore.Storage.ValueConversion; -using Yi.Framework.Model; - -namespace Yi.Framework.Model.Migrations -{ - [DbContext(typeof(DataContext))] - [Migration("20211106110713_ec4")] - partial class ec4 - { - protected override void BuildTargetModel(ModelBuilder modelBuilder) - { -#pragma warning disable 612, 618 - modelBuilder - .HasAnnotation("Relational:MaxIdentifierLength", 64) - .HasAnnotation("ProductVersion", "5.0.11"); - - modelBuilder.Entity("Yi.Framework.Model.Models.brand", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("image") - .HasColumnType("longtext") - .HasComment("品牌图片"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("letter") - .HasColumnType("longtext") - .HasComment("品牌首字母"); - - b.Property("name") - .HasColumnType("longtext") - .HasComment("品牌名称"); - - b.HasKey("id"); - - b.ToTable("brand"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.category", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("categoryid") - .HasColumnType("int"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("is_parent") - .HasColumnType("int") - .HasComment("是否父类别"); - - b.Property("name") - .HasColumnType("longtext") - .HasComment("类别名称"); - - b.Property("sort") - .HasColumnType("int") - .HasComment("排序"); - - b.HasKey("id"); - - b.HasIndex("categoryid"); - - b.ToTable("category"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.menu", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("icon") - .HasColumnType("longtext"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("is_show") - .HasColumnType("int"); - - b.Property("is_top") - .HasColumnType("int"); - - b.Property("menu_name") - .HasColumnType("longtext"); - - b.Property("menuid") - .HasColumnType("int"); - - b.Property("mouldid") - .HasColumnType("int"); - - b.Property("router") - .HasColumnType("longtext"); - - b.Property("sort") - .HasColumnType("int"); - - b.HasKey("id"); - - b.HasIndex("menuid"); - - b.HasIndex("mouldid"); - - b.ToTable("menu"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.mould", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("mould_name") - .HasColumnType("longtext"); - - b.Property("url") - .HasColumnType("longtext"); - - b.HasKey("id"); - - b.ToTable("mould"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.order", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("actual_pay") - .HasColumnType("int") - .HasComment("实付金额。单位:分。如:20007,表示:200元7分"); - - b.Property("buyer_message") - .HasColumnType("longtext") - .HasComment("买家留言"); - - b.Property("buyer_nick") - .HasColumnType("longtext") - .HasComment("买家昵称"); - - b.Property("buyer_rate") - .HasColumnType("int") - .HasComment("买家是否已经评价,0未评价,1已评价"); - - b.Property("creat_time") - .HasColumnType("datetime(6)") - .HasComment("订单创建时间"); - - b.Property("invoice_type") - .HasColumnType("int") - .HasComment("发票类型:0无发票1普通发票,2电子发票,3增值税发票"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("payment_type") - .HasColumnType("int") - .HasComment("支付类型,1、在线支付,2、货到付款"); - - b.Property("post_fee") - .HasColumnType("int") - .HasComment("邮费。单位:分。如:20007,表示:200元7分"); - - b.Property("promotion_ids") - .HasColumnType("longtext") - .HasComment("promotion_ids"); - - b.Property("receiver") - .HasColumnType("longtext") - .HasComment("收货人"); - - b.Property("receiver_address") - .HasColumnType("longtext") - .HasComment("收获地址(街道、住址等详细地址)"); - - b.Property("receiver_city") - .HasColumnType("longtext") - .HasComment("收获地址(市)"); - - b.Property("receiver_district") - .HasColumnType("longtext") - .HasComment("收获地址(区/县)"); - - b.Property("receiver_mobile") - .HasColumnType("longtext") - .HasComment("收货人手机"); - - b.Property("receiver_state") - .HasColumnType("longtext") - .HasComment("收获地址(省)"); - - b.Property("receiver_zip") - .HasColumnType("longtext") - .HasComment("收货人邮编"); - - b.Property("shipping_code") - .HasColumnType("longtext") - .HasComment("物流单号"); - - b.Property("shipping_name") - .HasColumnType("longtext") - .HasComment("物流名称"); - - b.Property("skuid") - .HasColumnType("int"); - - b.Property("source_type") - .HasColumnType("int") - .HasComment("订单来源:1:app端,2:pc端,3:M端,4:微信端,5:手机qq端"); - - b.Property("total_pay") - .HasColumnType("int") - .HasComment("总金额,单位为分"); - - b.HasKey("id"); - - b.HasIndex("skuid"); - - b.ToTable("order"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.role", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("introduce") - .HasColumnType("longtext"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("role_name") - .HasColumnType("longtext"); - - b.HasKey("id"); - - b.ToTable("role"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.sku", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("crate_time") - .HasColumnType("datetime(6)") - .HasComment("创建时间"); - - b.Property("enable") - .HasColumnType("int") - .HasComment("是否有效,0无效,1有效"); - - b.Property("images") - .HasColumnType("longtext") - .HasComment("商品的图片,多个图片以‘,’分割"); - - b.Property("indexes") - .HasColumnType("longtext") - .HasComment("特有规格属性在spu属性模板中的对应下标组合"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("last_update_time") - .HasColumnType("datetime(6)") - .HasComment("最后更新时间"); - - b.Property("own_spec") - .HasColumnType("longtext") - .HasComment("sku的特有规格参数键值对,json格式,反序列化时请使用linkedHashMap,保证有序"); - - b.Property("price") - .HasColumnType("int") - .HasComment("销售价格,单位为分"); - - b.Property("spuid") - .HasColumnType("int"); - - b.Property("title") - .HasColumnType("longtext") - .HasComment("商品标题"); - - b.HasKey("id"); - - b.HasIndex("spuid"); - - b.ToTable("sku"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.spec_group", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("categoryid") - .HasColumnType("int"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("name") - .HasColumnType("longtext") - .HasComment("规格组名称"); - - b.HasKey("id"); - - b.HasIndex("categoryid"); - - b.ToTable("spec_group"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.spec_param", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("categoryid") - .HasColumnType("int"); - - b.Property("generic") - .HasColumnType("int") - .HasComment("是否是sku通用属性,true或false"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("name") - .HasColumnType("longtext") - .HasComment("参数名"); - - b.Property("numeric") - .HasColumnType("int") - .HasComment("是否是数字类型参数,true或false"); - - b.Property("searching") - .HasColumnType("int") - .HasComment("是否用于搜索过滤,true或false"); - - b.Property("segments") - .HasColumnType("longtext") - .HasComment("数值类型参数,如果需要搜索,则添加分段间隔值,如CPU频率间隔:0.5-1.0"); - - b.Property("spec_Groupid") - .HasColumnType("int"); - - b.Property("unit") - .HasColumnType("longtext") - .HasComment("数字类型参数的单位,非数字类型可以为空"); - - b.HasKey("id"); - - b.HasIndex("categoryid"); - - b.HasIndex("spec_Groupid"); - - b.ToTable("spec_param"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.spu", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("brandid") - .HasColumnType("int"); - - b.Property("crate_time") - .HasColumnType("datetime(6)") - .HasComment("创建时间"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("last_update_time") - .HasColumnType("datetime(6)") - .HasComment("最后更新时间"); - - b.Property("saleable") - .HasColumnType("int") - .HasComment("是否上架"); - - b.Property("spu_Detailid") - .HasColumnType("int"); - - b.Property("sub_title") - .HasColumnType("longtext") - .HasComment("子标题"); - - b.Property("title") - .HasColumnType("longtext") - .HasComment("标题"); - - b.Property("valid") - .HasColumnType("int") - .HasComment("是否有效"); - - b.HasKey("id"); - - b.HasIndex("brandid"); - - b.HasIndex("spu_Detailid"); - - b.ToTable("spu"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.spu_detail", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("after_service") - .HasColumnType("longtext") - .HasComment("售后服务"); - - b.Property("description") - .HasColumnType("longtext") - .HasComment("描述"); - - b.Property("generic_spec") - .HasColumnType("longtext") - .HasComment("通用规格参数数据"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("packing_list") - .HasColumnType("longtext") - .HasComment("包装清单"); - - b.Property("special_spec") - .HasColumnType("longtext") - .HasComment("特有规格参数及可选值信息,json格式"); - - b.HasKey("id"); - - b.ToTable("spu_detail"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.stock", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("seckill_stock") - .HasColumnType("int") - .HasComment("可秒杀库存"); - - b.Property("seckill_total") - .HasColumnType("int") - .HasComment("秒杀总数量"); - - b.Property("skuid") - .HasColumnType("int"); - - b.Property("stock_count") - .HasColumnType("int") - .HasComment("库存数量"); - - b.HasKey("id"); - - b.HasIndex("skuid"); - - b.ToTable("stock"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.user", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("address") - .HasColumnType("longtext"); - - b.Property("age") - .HasColumnType("int"); - - b.Property("email") - .HasColumnType("longtext"); - - b.Property("icon") - .HasColumnType("longtext"); - - b.Property("introduction") - .HasColumnType("longtext"); - - b.Property("ip") - .HasColumnType("longtext"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("nick") - .HasColumnType("longtext"); - - b.Property("password") - .HasColumnType("longtext"); - - b.Property("phone") - .HasColumnType("longtext"); - - b.Property("username") - .HasColumnType("longtext"); - - b.HasKey("id"); - - b.ToTable("user"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.visit", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("num") - .HasColumnType("int"); - - b.Property("time") - .HasColumnType("datetime(6)"); - - b.HasKey("id"); - - b.ToTable("visit"); - }); - - modelBuilder.Entity("brandcategory", b => - { - b.Property("brandsid") - .HasColumnType("int"); - - b.Property("categoriesid") - .HasColumnType("int"); - - b.HasKey("brandsid", "categoriesid"); - - b.HasIndex("categoriesid"); - - b.ToTable("brandcategory"); - }); - - modelBuilder.Entity("categoryspu", b => - { - b.Property("categoriesid") - .HasColumnType("int"); - - b.Property("spusid") - .HasColumnType("int"); - - b.HasKey("categoriesid", "spusid"); - - b.HasIndex("spusid"); - - b.ToTable("categoryspu"); - }); - - modelBuilder.Entity("menurole", b => - { - b.Property("menusid") - .HasColumnType("int"); - - b.Property("rolesid") - .HasColumnType("int"); - - b.HasKey("menusid", "rolesid"); - - b.HasIndex("rolesid"); - - b.ToTable("menurole"); - }); - - modelBuilder.Entity("roleuser", b => - { - b.Property("rolesid") - .HasColumnType("int"); - - b.Property("usersid") - .HasColumnType("int"); - - b.HasKey("rolesid", "usersid"); - - b.HasIndex("usersid"); - - b.ToTable("roleuser"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.category", b => - { - b.HasOne("Yi.Framework.Model.Models.category", null) - .WithMany("chidrens") - .HasForeignKey("categoryid"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.menu", b => - { - b.HasOne("Yi.Framework.Model.Models.menu", null) - .WithMany("children") - .HasForeignKey("menuid"); - - b.HasOne("Yi.Framework.Model.Models.mould", "mould") - .WithMany() - .HasForeignKey("mouldid"); - - b.Navigation("mould"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.order", b => - { - b.HasOne("Yi.Framework.Model.Models.sku", null) - .WithMany("orders") - .HasForeignKey("skuid"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.sku", b => - { - b.HasOne("Yi.Framework.Model.Models.spu", "spu") - .WithMany("skus") - .HasForeignKey("spuid"); - - b.Navigation("spu"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.spec_group", b => - { - b.HasOne("Yi.Framework.Model.Models.category", "category") - .WithMany("spec_Groups") - .HasForeignKey("categoryid"); - - b.Navigation("category"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.spec_param", b => - { - b.HasOne("Yi.Framework.Model.Models.category", "category") - .WithMany("spec_Params") - .HasForeignKey("categoryid"); - - b.HasOne("Yi.Framework.Model.Models.spec_group", "spec_Group") - .WithMany("spec_Params") - .HasForeignKey("spec_Groupid"); - - b.Navigation("category"); - - b.Navigation("spec_Group"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.spu", b => - { - b.HasOne("Yi.Framework.Model.Models.brand", "brand") - .WithMany("spus") - .HasForeignKey("brandid"); - - b.HasOne("Yi.Framework.Model.Models.spu_detail", "spu_Detail") - .WithMany() - .HasForeignKey("spu_Detailid"); - - b.Navigation("brand"); - - b.Navigation("spu_Detail"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.stock", b => - { - b.HasOne("Yi.Framework.Model.Models.sku", "sku") - .WithMany() - .HasForeignKey("skuid"); - - b.Navigation("sku"); - }); - - modelBuilder.Entity("brandcategory", b => - { - b.HasOne("Yi.Framework.Model.Models.brand", null) - .WithMany() - .HasForeignKey("brandsid") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Yi.Framework.Model.Models.category", null) - .WithMany() - .HasForeignKey("categoriesid") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("categoryspu", b => - { - b.HasOne("Yi.Framework.Model.Models.category", null) - .WithMany() - .HasForeignKey("categoriesid") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Yi.Framework.Model.Models.spu", null) - .WithMany() - .HasForeignKey("spusid") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("menurole", b => - { - b.HasOne("Yi.Framework.Model.Models.menu", null) - .WithMany() - .HasForeignKey("menusid") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Yi.Framework.Model.Models.role", null) - .WithMany() - .HasForeignKey("rolesid") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("roleuser", b => - { - b.HasOne("Yi.Framework.Model.Models.role", null) - .WithMany() - .HasForeignKey("rolesid") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Yi.Framework.Model.Models.user", null) - .WithMany() - .HasForeignKey("usersid") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.brand", b => - { - b.Navigation("spus"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.category", b => - { - b.Navigation("chidrens"); - - b.Navigation("spec_Groups"); - - b.Navigation("spec_Params"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.menu", b => - { - b.Navigation("children"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.sku", b => - { - b.Navigation("orders"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.spec_group", b => - { - b.Navigation("spec_Params"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.spu", b => - { - b.Navigation("skus"); - }); -#pragma warning restore 612, 618 - } - } -} diff --git a/Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106110713_ec4.cs b/Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106110713_ec4.cs deleted file mode 100644 index dc279917..00000000 --- a/Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106110713_ec4.cs +++ /dev/null @@ -1,161 +0,0 @@ -using Microsoft.EntityFrameworkCore.Migrations; - -namespace Yi.Framework.Model.Migrations -{ - public partial class ec4 : Migration - { - protected override void Up(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropForeignKey( - name: "FK_menu_role_roleid", - table: "menu"); - - migrationBuilder.DropForeignKey( - name: "FK_role_user_userid", - table: "role"); - - migrationBuilder.DropIndex( - name: "IX_role_userid", - table: "role"); - - migrationBuilder.DropIndex( - name: "IX_menu_roleid", - table: "menu"); - - migrationBuilder.DropColumn( - name: "userid", - table: "role"); - - migrationBuilder.DropColumn( - name: "roleid", - table: "menu"); - - migrationBuilder.AlterColumn( - name: "phone", - table: "user", - type: "longtext", - nullable: true, - oldClrType: typeof(int), - oldType: "int", - oldNullable: true) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "menurole", - columns: table => new - { - menusid = table.Column(type: "int", nullable: false), - rolesid = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_menurole", x => new { x.menusid, x.rolesid }); - table.ForeignKey( - name: "FK_menurole_menu_menusid", - column: x => x.menusid, - principalTable: "menu", - principalColumn: "id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_menurole_role_rolesid", - column: x => x.rolesid, - principalTable: "role", - principalColumn: "id", - onDelete: ReferentialAction.Cascade); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateTable( - name: "roleuser", - columns: table => new - { - rolesid = table.Column(type: "int", nullable: false), - usersid = table.Column(type: "int", nullable: false) - }, - constraints: table => - { - table.PrimaryKey("PK_roleuser", x => new { x.rolesid, x.usersid }); - table.ForeignKey( - name: "FK_roleuser_role_rolesid", - column: x => x.rolesid, - principalTable: "role", - principalColumn: "id", - onDelete: ReferentialAction.Cascade); - table.ForeignKey( - name: "FK_roleuser_user_usersid", - column: x => x.usersid, - principalTable: "user", - principalColumn: "id", - onDelete: ReferentialAction.Cascade); - }) - .Annotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.CreateIndex( - name: "IX_menurole_rolesid", - table: "menurole", - column: "rolesid"); - - migrationBuilder.CreateIndex( - name: "IX_roleuser_usersid", - table: "roleuser", - column: "usersid"); - } - - protected override void Down(MigrationBuilder migrationBuilder) - { - migrationBuilder.DropTable( - name: "menurole"); - - migrationBuilder.DropTable( - name: "roleuser"); - - migrationBuilder.AlterColumn( - name: "phone", - table: "user", - type: "int", - nullable: true, - oldClrType: typeof(string), - oldType: "longtext", - oldNullable: true) - .OldAnnotation("MySql:CharSet", "utf8mb4"); - - migrationBuilder.AddColumn( - name: "userid", - table: "role", - type: "int", - nullable: true); - - migrationBuilder.AddColumn( - name: "roleid", - table: "menu", - type: "int", - nullable: true); - - migrationBuilder.CreateIndex( - name: "IX_role_userid", - table: "role", - column: "userid"); - - migrationBuilder.CreateIndex( - name: "IX_menu_roleid", - table: "menu", - column: "roleid"); - - migrationBuilder.AddForeignKey( - name: "FK_menu_role_roleid", - table: "menu", - column: "roleid", - principalTable: "role", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - - migrationBuilder.AddForeignKey( - name: "FK_role_user_userid", - table: "role", - column: "userid", - principalTable: "user", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); - } - } -} diff --git a/Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106082100_yi-1.Designer.cs b/Yi.Framework.Net6/Yi.Framework.Model/Migrations/20220221034128_yi-1.Designer.cs similarity index 93% rename from Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106082100_yi-1.Designer.cs rename to Yi.Framework.Net6/Yi.Framework.Model/Migrations/20220221034128_yi-1.Designer.cs index 2e948098..0048a127 100644 --- a/Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106082100_yi-1.Designer.cs +++ b/Yi.Framework.Net6/Yi.Framework.Model/Migrations/20220221034128_yi-1.Designer.cs @@ -6,18 +6,50 @@ using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Yi.Framework.Model; +#nullable disable + namespace Yi.Framework.Model.Migrations { [DbContext(typeof(DataContext))] - [Migration("20211106082100_yi-1")] + [Migration("20220221034128_yi-1")] partial class yi1 { protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder - .HasAnnotation("Relational:MaxIdentifierLength", 64) - .HasAnnotation("ProductVersion", "5.0.11"); + .HasAnnotation("ProductVersion", "6.0.1") + .HasAnnotation("Relational:MaxIdentifierLength", 64); + + modelBuilder.Entity("menurole", b => + { + b.Property("menusid") + .HasColumnType("int"); + + b.Property("rolesid") + .HasColumnType("int"); + + b.HasKey("menusid", "rolesid"); + + b.HasIndex("rolesid"); + + b.ToTable("menurole"); + }); + + modelBuilder.Entity("roleuser", b => + { + b.Property("rolesid") + .HasColumnType("int"); + + b.Property("usersid") + .HasColumnType("int"); + + b.HasKey("rolesid", "usersid"); + + b.HasIndex("usersid"); + + b.ToTable("roleuser"); + }); modelBuilder.Entity("Yi.Framework.Model.Models.menu", b => { @@ -40,10 +72,10 @@ namespace Yi.Framework.Model.Migrations b.Property("menu_name") .HasColumnType("longtext"); - b.Property("menuid") + b.Property("mouldid") .HasColumnType("int"); - b.Property("mouldid") + b.Property("parentId") .HasColumnType("int"); b.Property("router") @@ -54,8 +86,6 @@ namespace Yi.Framework.Model.Migrations b.HasKey("id"); - b.HasIndex("menuid"); - b.HasIndex("mouldid"); b.ToTable("menu"); @@ -165,49 +195,6 @@ namespace Yi.Framework.Model.Migrations b.ToTable("visit"); }); - modelBuilder.Entity("menurole", b => - { - b.Property("menusid") - .HasColumnType("int"); - - b.Property("rolesid") - .HasColumnType("int"); - - b.HasKey("menusid", "rolesid"); - - b.HasIndex("rolesid"); - - b.ToTable("menurole"); - }); - - modelBuilder.Entity("roleuser", b => - { - b.Property("rolesid") - .HasColumnType("int"); - - b.Property("usersid") - .HasColumnType("int"); - - b.HasKey("rolesid", "usersid"); - - b.HasIndex("usersid"); - - b.ToTable("roleuser"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.menu", b => - { - b.HasOne("Yi.Framework.Model.Models.menu", null) - .WithMany("children") - .HasForeignKey("menuid"); - - b.HasOne("Yi.Framework.Model.Models.mould", "mould") - .WithMany() - .HasForeignKey("mouldid"); - - b.Navigation("mould"); - }); - modelBuilder.Entity("menurole", b => { b.HasOne("Yi.Framework.Model.Models.menu", null) @@ -240,7 +227,11 @@ namespace Yi.Framework.Model.Migrations modelBuilder.Entity("Yi.Framework.Model.Models.menu", b => { - b.Navigation("children"); + b.HasOne("Yi.Framework.Model.Models.mould", "mould") + .WithMany() + .HasForeignKey("mouldid"); + + b.Navigation("mould"); }); #pragma warning restore 612, 618 } diff --git a/Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106082100_yi-1.cs b/Yi.Framework.Net6/Yi.Framework.Model/Migrations/20220221034128_yi-1.cs similarity index 93% rename from Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106082100_yi-1.cs rename to Yi.Framework.Net6/Yi.Framework.Model/Migrations/20220221034128_yi-1.cs index 0fc278db..f28c03c1 100644 --- a/Yi.Framework.Net6/Yi.Framework.Model/Migrations/20211106082100_yi-1.cs +++ b/Yi.Framework.Net6/Yi.Framework.Model/Migrations/20220221034128_yi-1.cs @@ -2,6 +2,8 @@ using Microsoft.EntityFrameworkCore.Metadata; using Microsoft.EntityFrameworkCore.Migrations; +#nullable disable + namespace Yi.Framework.Model.Migrations { public partial class yi1 : Migration @@ -109,27 +111,20 @@ namespace Yi.Framework.Model.Migrations menu_name = table.Column(type: "longtext", nullable: true) .Annotation("MySql:CharSet", "utf8mb4"), mouldid = table.Column(type: "int", nullable: true), - menuid = table.Column(type: "int", nullable: true), is_delete = table.Column(type: "int", nullable: false), is_top = table.Column(type: "int", nullable: false), sort = table.Column(type: "int", nullable: false), - is_show = table.Column(type: "int", nullable: false) + is_show = table.Column(type: "int", nullable: false), + parentId = table.Column(type: "int", nullable: false) }, constraints: table => { table.PrimaryKey("PK_menu", x => x.id); - table.ForeignKey( - name: "FK_menu_menu_menuid", - column: x => x.menuid, - principalTable: "menu", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); table.ForeignKey( name: "FK_menu_mould_mouldid", column: x => x.mouldid, principalTable: "mould", - principalColumn: "id", - onDelete: ReferentialAction.Restrict); + principalColumn: "id"); }) .Annotation("MySql:CharSet", "utf8mb4"); @@ -183,11 +178,6 @@ namespace Yi.Framework.Model.Migrations }) .Annotation("MySql:CharSet", "utf8mb4"); - migrationBuilder.CreateIndex( - name: "IX_menu_menuid", - table: "menu", - column: "menuid"); - migrationBuilder.CreateIndex( name: "IX_menu_mouldid", table: "menu", diff --git a/Yi.Framework.Net6/Yi.Framework.Model/Migrations/DataContextModelSnapshot.cs b/Yi.Framework.Net6/Yi.Framework.Model/Migrations/DataContextModelSnapshot.cs index 7fcf5023..e22dc20e 100644 --- a/Yi.Framework.Net6/Yi.Framework.Model/Migrations/DataContextModelSnapshot.cs +++ b/Yi.Framework.Net6/Yi.Framework.Model/Migrations/DataContextModelSnapshot.cs @@ -5,6 +5,8 @@ using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Yi.Framework.Model; +#nullable disable + namespace Yi.Framework.Model.Migrations { [DbContext(typeof(DataContext))] @@ -14,64 +16,37 @@ namespace Yi.Framework.Model.Migrations { #pragma warning disable 612, 618 modelBuilder - .HasAnnotation("Relational:MaxIdentifierLength", 64) - .HasAnnotation("ProductVersion", "5.0.11"); + .HasAnnotation("ProductVersion", "6.0.1") + .HasAnnotation("Relational:MaxIdentifierLength", 64); - modelBuilder.Entity("Yi.Framework.Model.Models.brand", b => + modelBuilder.Entity("menurole", b => { - b.Property("id") - .ValueGeneratedOnAdd() + b.Property("menusid") .HasColumnType("int"); - b.Property("image") - .HasColumnType("longtext") - .HasComment("品牌图片"); - - b.Property("is_delete") + b.Property("rolesid") .HasColumnType("int"); - b.Property("letter") - .HasColumnType("longtext") - .HasComment("品牌首字母"); + b.HasKey("menusid", "rolesid"); - b.Property("name") - .HasColumnType("longtext") - .HasComment("品牌名称"); + b.HasIndex("rolesid"); - b.HasKey("id"); - - b.ToTable("brand"); + b.ToTable("menurole"); }); - modelBuilder.Entity("Yi.Framework.Model.Models.category", b => + modelBuilder.Entity("roleuser", b => { - b.Property("id") - .ValueGeneratedOnAdd() + b.Property("rolesid") .HasColumnType("int"); - b.Property("categoryid") + b.Property("usersid") .HasColumnType("int"); - b.Property("is_delete") - .HasColumnType("int"); + b.HasKey("rolesid", "usersid"); - b.Property("is_parent") - .HasColumnType("int") - .HasComment("是否父类别"); + b.HasIndex("usersid"); - b.Property("name") - .HasColumnType("longtext") - .HasComment("类别名称"); - - b.Property("sort") - .HasColumnType("int") - .HasComment("排序"); - - b.HasKey("id"); - - b.HasIndex("categoryid"); - - b.ToTable("category"); + b.ToTable("roleuser"); }); modelBuilder.Entity("Yi.Framework.Model.Models.menu", b => @@ -95,10 +70,10 @@ namespace Yi.Framework.Model.Migrations b.Property("menu_name") .HasColumnType("longtext"); - b.Property("menuid") + b.Property("mouldid") .HasColumnType("int"); - b.Property("mouldid") + b.Property("parentId") .HasColumnType("int"); b.Property("router") @@ -109,8 +84,6 @@ namespace Yi.Framework.Model.Migrations b.HasKey("id"); - b.HasIndex("menuid"); - b.HasIndex("mouldid"); b.ToTable("menu"); @@ -136,105 +109,6 @@ namespace Yi.Framework.Model.Migrations b.ToTable("mould"); }); - modelBuilder.Entity("Yi.Framework.Model.Models.order", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("actual_pay") - .HasColumnType("int") - .HasComment("实付金额。单位:分。如:20007,表示:200元7分"); - - b.Property("buyer_message") - .HasColumnType("longtext") - .HasComment("买家留言"); - - b.Property("buyer_nick") - .HasColumnType("longtext") - .HasComment("买家昵称"); - - b.Property("buyer_rate") - .HasColumnType("int") - .HasComment("买家是否已经评价,0未评价,1已评价"); - - b.Property("creat_time") - .HasColumnType("datetime(6)") - .HasComment("订单创建时间"); - - b.Property("invoice_type") - .HasColumnType("int") - .HasComment("发票类型:0无发票1普通发票,2电子发票,3增值税发票"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("payment_type") - .HasColumnType("int") - .HasComment("支付类型,1、在线支付,2、货到付款"); - - b.Property("post_fee") - .HasColumnType("int") - .HasComment("邮费。单位:分。如:20007,表示:200元7分"); - - b.Property("promotion_ids") - .HasColumnType("longtext") - .HasComment("promotion_ids"); - - b.Property("receiver") - .HasColumnType("longtext") - .HasComment("收货人"); - - b.Property("receiver_address") - .HasColumnType("longtext") - .HasComment("收获地址(街道、住址等详细地址)"); - - b.Property("receiver_city") - .HasColumnType("longtext") - .HasComment("收获地址(市)"); - - b.Property("receiver_district") - .HasColumnType("longtext") - .HasComment("收获地址(区/县)"); - - b.Property("receiver_mobile") - .HasColumnType("longtext") - .HasComment("收货人手机"); - - b.Property("receiver_state") - .HasColumnType("longtext") - .HasComment("收获地址(省)"); - - b.Property("receiver_zip") - .HasColumnType("longtext") - .HasComment("收货人邮编"); - - b.Property("shipping_code") - .HasColumnType("longtext") - .HasComment("物流单号"); - - b.Property("shipping_name") - .HasColumnType("longtext") - .HasComment("物流名称"); - - b.Property("skuid") - .HasColumnType("int"); - - b.Property("source_type") - .HasColumnType("int") - .HasComment("订单来源:1:app端,2:pc端,3:M端,4:微信端,5:手机qq端"); - - b.Property("total_pay") - .HasColumnType("int") - .HasComment("总金额,单位为分"); - - b.HasKey("id"); - - b.HasIndex("skuid"); - - b.ToTable("order"); - }); - modelBuilder.Entity("Yi.Framework.Model.Models.role", b => { b.Property("id") @@ -255,241 +129,6 @@ namespace Yi.Framework.Model.Migrations b.ToTable("role"); }); - modelBuilder.Entity("Yi.Framework.Model.Models.sku", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("crate_time") - .HasColumnType("datetime(6)") - .HasComment("创建时间"); - - b.Property("enable") - .HasColumnType("int") - .HasComment("是否有效,0无效,1有效"); - - b.Property("images") - .HasColumnType("longtext") - .HasComment("商品的图片,多个图片以‘,’分割"); - - b.Property("indexes") - .HasColumnType("longtext") - .HasComment("特有规格属性在spu属性模板中的对应下标组合"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("last_update_time") - .HasColumnType("datetime(6)") - .HasComment("最后更新时间"); - - b.Property("own_spec") - .HasColumnType("longtext") - .HasComment("sku的特有规格参数键值对,json格式,反序列化时请使用linkedHashMap,保证有序"); - - b.Property("price") - .HasColumnType("int") - .HasComment("销售价格,单位为分"); - - b.Property("spuid") - .HasColumnType("int"); - - b.Property("title") - .HasColumnType("longtext") - .HasComment("商品标题"); - - b.HasKey("id"); - - b.HasIndex("spuid"); - - b.ToTable("sku"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.spec_group", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("categoryid") - .HasColumnType("int"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("name") - .HasColumnType("longtext") - .HasComment("规格组名称"); - - b.HasKey("id"); - - b.HasIndex("categoryid"); - - b.ToTable("spec_group"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.spec_param", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("categoryid") - .HasColumnType("int"); - - b.Property("generic") - .HasColumnType("int") - .HasComment("是否是sku通用属性,true或false"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("name") - .HasColumnType("longtext") - .HasComment("参数名"); - - b.Property("numeric") - .HasColumnType("int") - .HasComment("是否是数字类型参数,true或false"); - - b.Property("searching") - .HasColumnType("int") - .HasComment("是否用于搜索过滤,true或false"); - - b.Property("segments") - .HasColumnType("longtext") - .HasComment("数值类型参数,如果需要搜索,则添加分段间隔值,如CPU频率间隔:0.5-1.0"); - - b.Property("spec_Groupid") - .HasColumnType("int"); - - b.Property("unit") - .HasColumnType("longtext") - .HasComment("数字类型参数的单位,非数字类型可以为空"); - - b.HasKey("id"); - - b.HasIndex("categoryid"); - - b.HasIndex("spec_Groupid"); - - b.ToTable("spec_param"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.spu", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("brandid") - .HasColumnType("int"); - - b.Property("crate_time") - .HasColumnType("datetime(6)") - .HasComment("创建时间"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("last_update_time") - .HasColumnType("datetime(6)") - .HasComment("最后更新时间"); - - b.Property("saleable") - .HasColumnType("int") - .HasComment("是否上架"); - - b.Property("spu_Detailid") - .HasColumnType("int"); - - b.Property("sub_title") - .HasColumnType("longtext") - .HasComment("子标题"); - - b.Property("title") - .HasColumnType("longtext") - .HasComment("标题"); - - b.Property("valid") - .HasColumnType("int") - .HasComment("是否有效"); - - b.HasKey("id"); - - b.HasIndex("brandid"); - - b.HasIndex("spu_Detailid"); - - b.ToTable("spu"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.spu_detail", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("after_service") - .HasColumnType("longtext") - .HasComment("售后服务"); - - b.Property("description") - .HasColumnType("longtext") - .HasComment("描述"); - - b.Property("generic_spec") - .HasColumnType("longtext") - .HasComment("通用规格参数数据"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("packing_list") - .HasColumnType("longtext") - .HasComment("包装清单"); - - b.Property("special_spec") - .HasColumnType("longtext") - .HasComment("特有规格参数及可选值信息,json格式"); - - b.HasKey("id"); - - b.ToTable("spu_detail"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.stock", b => - { - b.Property("id") - .ValueGeneratedOnAdd() - .HasColumnType("int"); - - b.Property("is_delete") - .HasColumnType("int"); - - b.Property("seckill_stock") - .HasColumnType("int") - .HasComment("可秒杀库存"); - - b.Property("seckill_total") - .HasColumnType("int") - .HasComment("秒杀总数量"); - - b.Property("skuid") - .HasColumnType("int"); - - b.Property("stock_count") - .HasColumnType("int") - .HasComment("库存数量"); - - b.HasKey("id"); - - b.HasIndex("skuid"); - - b.ToTable("stock"); - }); - modelBuilder.Entity("Yi.Framework.Model.Models.user", b => { b.Property("id") @@ -554,180 +193,6 @@ namespace Yi.Framework.Model.Migrations b.ToTable("visit"); }); - modelBuilder.Entity("brandcategory", b => - { - b.Property("brandsid") - .HasColumnType("int"); - - b.Property("categoriesid") - .HasColumnType("int"); - - b.HasKey("brandsid", "categoriesid"); - - b.HasIndex("categoriesid"); - - b.ToTable("brandcategory"); - }); - - modelBuilder.Entity("categoryspu", b => - { - b.Property("categoriesid") - .HasColumnType("int"); - - b.Property("spusid") - .HasColumnType("int"); - - b.HasKey("categoriesid", "spusid"); - - b.HasIndex("spusid"); - - b.ToTable("categoryspu"); - }); - - modelBuilder.Entity("menurole", b => - { - b.Property("menusid") - .HasColumnType("int"); - - b.Property("rolesid") - .HasColumnType("int"); - - b.HasKey("menusid", "rolesid"); - - b.HasIndex("rolesid"); - - b.ToTable("menurole"); - }); - - modelBuilder.Entity("roleuser", b => - { - b.Property("rolesid") - .HasColumnType("int"); - - b.Property("usersid") - .HasColumnType("int"); - - b.HasKey("rolesid", "usersid"); - - b.HasIndex("usersid"); - - b.ToTable("roleuser"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.category", b => - { - b.HasOne("Yi.Framework.Model.Models.category", null) - .WithMany("chidrens") - .HasForeignKey("categoryid"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.menu", b => - { - b.HasOne("Yi.Framework.Model.Models.menu", null) - .WithMany("children") - .HasForeignKey("menuid"); - - b.HasOne("Yi.Framework.Model.Models.mould", "mould") - .WithMany() - .HasForeignKey("mouldid"); - - b.Navigation("mould"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.order", b => - { - b.HasOne("Yi.Framework.Model.Models.sku", null) - .WithMany("orders") - .HasForeignKey("skuid"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.sku", b => - { - b.HasOne("Yi.Framework.Model.Models.spu", "spu") - .WithMany("skus") - .HasForeignKey("spuid"); - - b.Navigation("spu"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.spec_group", b => - { - b.HasOne("Yi.Framework.Model.Models.category", "category") - .WithMany("spec_Groups") - .HasForeignKey("categoryid"); - - b.Navigation("category"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.spec_param", b => - { - b.HasOne("Yi.Framework.Model.Models.category", "category") - .WithMany("spec_Params") - .HasForeignKey("categoryid"); - - b.HasOne("Yi.Framework.Model.Models.spec_group", "spec_Group") - .WithMany("spec_Params") - .HasForeignKey("spec_Groupid"); - - b.Navigation("category"); - - b.Navigation("spec_Group"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.spu", b => - { - b.HasOne("Yi.Framework.Model.Models.brand", "brand") - .WithMany("spus") - .HasForeignKey("brandid"); - - b.HasOne("Yi.Framework.Model.Models.spu_detail", "spu_Detail") - .WithMany() - .HasForeignKey("spu_Detailid"); - - b.Navigation("brand"); - - b.Navigation("spu_Detail"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.stock", b => - { - b.HasOne("Yi.Framework.Model.Models.sku", "sku") - .WithMany() - .HasForeignKey("skuid"); - - b.Navigation("sku"); - }); - - modelBuilder.Entity("brandcategory", b => - { - b.HasOne("Yi.Framework.Model.Models.brand", null) - .WithMany() - .HasForeignKey("brandsid") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Yi.Framework.Model.Models.category", null) - .WithMany() - .HasForeignKey("categoriesid") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - - modelBuilder.Entity("categoryspu", b => - { - b.HasOne("Yi.Framework.Model.Models.category", null) - .WithMany() - .HasForeignKey("categoriesid") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - - b.HasOne("Yi.Framework.Model.Models.spu", null) - .WithMany() - .HasForeignKey("spusid") - .OnDelete(DeleteBehavior.Cascade) - .IsRequired(); - }); - modelBuilder.Entity("menurole", b => { b.HasOne("Yi.Framework.Model.Models.menu", null) @@ -758,38 +223,13 @@ namespace Yi.Framework.Model.Migrations .IsRequired(); }); - modelBuilder.Entity("Yi.Framework.Model.Models.brand", b => - { - b.Navigation("spus"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.category", b => - { - b.Navigation("chidrens"); - - b.Navigation("spec_Groups"); - - b.Navigation("spec_Params"); - }); - modelBuilder.Entity("Yi.Framework.Model.Models.menu", b => { - b.Navigation("children"); - }); + b.HasOne("Yi.Framework.Model.Models.mould", "mould") + .WithMany() + .HasForeignKey("mouldid"); - modelBuilder.Entity("Yi.Framework.Model.Models.sku", b => - { - b.Navigation("orders"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.spec_group", b => - { - b.Navigation("spec_Params"); - }); - - modelBuilder.Entity("Yi.Framework.Model.Models.spu", b => - { - b.Navigation("skus"); + b.Navigation("mould"); }); #pragma warning restore 612, 618 } diff --git a/Yi.Framework.Net6/Yi.Framework.Model/Models/menu.cs b/Yi.Framework.Net6/Yi.Framework.Model/Models/menu.cs index 0a562163..954999ab 100644 --- a/Yi.Framework.Net6/Yi.Framework.Model/Models/menu.cs +++ b/Yi.Framework.Net6/Yi.Framework.Model/Models/menu.cs @@ -3,21 +3,19 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using Yi.Framework.Common.Models; namespace Yi.Framework.Model.Models { - public class menu :loopModel + public class menu :loopModel,ITreeModel { public string icon { get; set; } public string router { get; set; } public string menu_name { get; set; } - - - - public List children { get; set; } public List roles { get; set; } - public mould mould { get; set; } + + } } diff --git a/Yi.Framework.Net6/Yi.Framework.Service/MenuService.cs b/Yi.Framework.Net6/Yi.Framework.Service/MenuService.cs index 5eb878a7..5e05dc93 100644 --- a/Yi.Framework.Net6/Yi.Framework.Service/MenuService.cs +++ b/Yi.Framework.Net6/Yi.Framework.Service/MenuService.cs @@ -4,6 +4,8 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using Yi.Framework.Common.Enum; +using Yi.Framework.Common.Helper; using Yi.Framework.Core; using Yi.Framework.Interface; using Yi.Framework.Model.Models; @@ -12,33 +14,27 @@ namespace Yi.Framework.Service { public partial class MenuService:BaseService, IMenuService { - short Normal = (short)Common.Enum.DelFlagEnum.Normal; + short Normal = (short)DelFlagEnum.Normal; public async Task AddChildrenMenu(int menu_id, menu _children) { - var menu_data = await _DbRead.Set().Include(u => u.children).Where(u => u.id == menu_id).FirstOrDefaultAsync(); - _children.is_top = (short)Common.Enum.TopFlagEnum.Children; - menu_data.children.Add(_children); - await UpdateAsync(menu_data); - return menu_data; + _children.parentId = menu_id; + _children.is_top = (short)TopFlagEnum.Children; + _children.is_delete = (short)DelFlagEnum.Normal; + await AddAsync(_children); + return _children; } public async Task AddTopMenu(menu _menu) { - _menu.is_top = (short)Common.Enum.TopFlagEnum.Children; + _menu.is_top = (short)TopFlagEnum.Children; return await AddAsync(_menu); } public async Task GetMenuInMould() { - var menu_data= await _DbRead.Set().Include(u=>u.mould) - .Include(u => u.children).ThenInclude(u => u.mould).OrderByDescending(u => u.sort) - .Include(u=>u.children).ThenInclude(u => u.children).ThenInclude(u => u.mould) - .Include(u => u.children).ThenInclude(u => u.children).ThenInclude(u => u.children).ThenInclude(u => u.mould) - .Include(u => u.children).ThenInclude(u => u.children).ThenInclude(u => u.children).ThenInclude(u => u.children).ThenInclude(u => u.mould) - .Where(u =>u.is_delete == Normal && u.is_show == (short)Common.Enum.ShowFlagEnum.Show && u.is_top == (short)Common.Enum.TopFlagEnum.Top) - .FirstOrDefaultAsync(); - return TreeMenuBuild.Sort(TreeMenuBuild.Normal(menu_data)); + var menu_data = await _DbRead.Set().Include(u => u.mould).Where(u=>u.is_delete==(short)DelFlagEnum.Normal).ToListAsync(); + return TreeHelper.SetTree(menu_data, null)[0]; ; } @@ -52,7 +48,7 @@ namespace Yi.Framework.Service var menu_data = await _DbRead.Set().Include(u => u.mould).Where(u => u.id == id1).FirstOrDefaultAsync(); var mould_data = await _DbRead.Set().Where(u => u.id == id1).FirstOrDefaultAsync(); menu_data.mould = mould_data; - _Db.Update(menu_data); + _Db.Update(menu_data); return menu_data; } diff --git a/Yi.Framework.Net6/Yi.Framework.Service/RoleService.cs b/Yi.Framework.Net6/Yi.Framework.Service/RoleService.cs index 1461c1af..d604ea26 100644 --- a/Yi.Framework.Net6/Yi.Framework.Service/RoleService.cs +++ b/Yi.Framework.Net6/Yi.Framework.Service/RoleService.cs @@ -9,31 +9,31 @@ using Yi.Framework.Model.Models; namespace Yi.Framework.Service { - public partial class RoleService:BaseService, IRoleService + public partial class RoleService : BaseService, IRoleService { short Normal = (short)Common.Enum.DelFlagEnum.Normal; - + public async Task> GetRolesByUserId(int userId) { - var user_data =await _Db.Set().Include(u => u.roles).Where(u => u.id==userId).FirstOrDefaultAsync(); - var roleList = user_data.roles.Where(u=>u.is_delete==Normal).ToList(); + var user_data = await _Db.Set().Include(u => u.roles).Where(u => u.id == userId).FirstOrDefaultAsync(); + var roleList = user_data.roles.Where(u => u.is_delete == Normal).ToList(); roleList.ForEach(u => u.users = null); return roleList; } - public async Task SetMenusByRolesId(List menuIds,List roleIds) + public async Task SetMenusByRolesId(List menuIds, List roleIds) { - var role_data = await _Db.Set().Include(u => u.menus).ThenInclude(u => u.children).Where(u =>roleIds.Contains(u.id) && u.is_delete == Normal).ToListAsync(); - var menuList = await _Db.Set().Where(u => menuIds.Contains(u.id)&&u.is_delete ==Normal).ToListAsync(); - foreach(var role in role_data) + var role_data = await _Db.Set().Include(u => u.menus).Where(u => roleIds.Contains(u.id) && u.is_delete == Normal).ToListAsync(); + var menuList = await _Db.Set().Where(u => menuIds.Contains(u.id) && u.is_delete == Normal).ToListAsync(); + foreach (var role in role_data) { - role.menus =menuList; - } + role.menus = menuList; + } return await UpdateListAsync(role_data); } - - public async Task> GetMenusByRoleId(List< int> roleIds) + + public async Task> GetMenusByRoleId(List roleIds) { var role_data = await _Db.Set().Include(u => u.menus).Where(u => roleIds.Contains(u.id) && u.is_delete == Normal).ToListAsync(); List menuList = new(); @@ -46,7 +46,7 @@ namespace Yi.Framework.Service } public async Task> GetTopMenusByRoleId(int roleId) { - var role_data = await _Db.Set().Include(u=>u.menus).Where(u => u.id == roleId).FirstOrDefaultAsync(); + var role_data = await _Db.Set().Include(u => u.menus).Where(u => u.id == roleId).FirstOrDefaultAsync(); var menuList = role_data.menus.Where(u => u.is_delete == Normal).ToList(); menuList.ForEach(u => u.roles = null); diff --git a/Yi.Framework.Net6/Yi.Framework.Service/UserService.cs b/Yi.Framework.Net6/Yi.Framework.Service/UserService.cs index b679451d..efb8dc39 100644 --- a/Yi.Framework.Net6/Yi.Framework.Service/UserService.cs +++ b/Yi.Framework.Net6/Yi.Framework.Service/UserService.cs @@ -6,6 +6,7 @@ using System.Linq.Expressions; using System.Text; using System.Threading.Tasks; using Yi.Framework.Common.Const; +using Yi.Framework.Common.Helper; using Yi.Framework.Core; using Yi.Framework.DTOModel; using Yi.Framework.Interface; @@ -49,28 +50,21 @@ namespace Yi.Framework.Service /// public async Task GetUserById(int userId) { - return await _DbRead.Set().Include(u => u.roles).ThenInclude(u => u.menus).ThenInclude(u => u.children).ThenInclude(u => u.mould).Where(u => u.id == userId).FirstOrDefaultAsync(); + var user_data = await _DbRead.Set().Include(u => u.roles).ThenInclude(u => u.menus).ThenInclude(u => u.mould).Where(u => u.id == userId).FirstOrDefaultAsync(); + return user_data; } - public async Task> GetAxiosByRouter(string router, int userId, List menuIds) + public async Task> GetAxiosByRouter(string router, List menuIds) { - var user_data = await GetUserById(userId); - List menuList = new(); - foreach (var item in user_data.roles) - { - var m = item.menus.Where(u => u?.router?.ToUpper() == router.ToUpper()).FirstOrDefault(); - if (m == null) { break; } - menuList = m.children?.Where(u => menuIds.Contains(u.id) && u.is_delete == Normal).ToList(); - - } - return menuList; + var menu_data= await _DbRead.Set().Where(u => u.router.Trim().ToUpper() == router.Trim().ToUpper() && u.is_delete == (short)Common.Enum.DelFlagEnum.Normal).FirstOrDefaultAsync(); + return await _DbRead.Set().Include(u=>u.mould).Where(u => u.parentId == menu_data.id && u.is_delete == (short)Common.Enum.DelFlagEnum.Normal).ToListAsync(); } public async Task GetMenuByHttpUser(List allMenuIds) { - var topMenu = await _DbRead.Set().Include(u => u.children).ThenInclude(u => u.children).ThenInclude(u => u.children).ThenInclude(u => u.children).ThenInclude(u => u.children).Where(u => u.is_top == (short)Common.Enum.ShowFlagEnum.Show).FirstOrDefaultAsync(); + var topMenu = await _DbRead.Set().Where(u => allMenuIds.Contains(u.id)&& u.is_show == (short)Common.Enum.ShowFlagEnum.Show && u.is_delete == (short)Common.Enum.DelFlagEnum.Normal).ToListAsync(); //现在要开始关联菜单了 - return TreeMenuBuild.Sort(TreeMenuBuild.ShowFormat(topMenu, allMenuIds)); ; + return TreeHelper.SetTree(topMenu)[0]; } public async Task GetUserInRolesByHttpUser(int userId) { @@ -109,11 +103,11 @@ namespace Yi.Framework.Service public bool SaveUserApi(int userId, List menus) { - return _cacheClientDB.Set(RedisConst.userMenusApi+":"+userId.ToString(),menus,new TimeSpan(0,30,0)); + return _cacheClientDB.Set(RedisConst.userMenusApi + ":" + userId.ToString(), menus, new TimeSpan(0, 30, 0)); } public List GetCurrentMenuInfo(int userId) { - return _cacheClientDB.Get>(RedisConst.userMenusApi+":"+userId).Select(u=>u.id).ToList(); + return _cacheClientDB.Get>(RedisConst.userMenusApi + ":" + userId).Select(u => u.id).ToList(); } } } diff --git a/Yi.Framework.Net6/Yi.Framework.WebCore/Init/DataSeed.cs b/Yi.Framework.Net6/Yi.Framework.WebCore/Init/DataSeed.cs index 0129b67e..337236ce 100644 --- a/Yi.Framework.Net6/Yi.Framework.WebCore/Init/DataSeed.cs +++ b/Yi.Framework.Net6/Yi.Framework.WebCore/Init/DataSeed.cs @@ -16,243 +16,63 @@ namespace Yi.Framework.WebCore.Init var _Db = _DbFactory.ConnWriteOrRead(Common.Enum.WriteAndReadEnum.Write); if (!_Db.Set().Any()) { - await _Db.Set().AddAsync(new user - { - username = "admin", - password = "123", - roles = new List() - { - new role(){ role_name="普通用户"}, + List menus = new List{ - new role() - { - role_name="管理员", - menus = new List() - { - new menu() - { - menu_name="根",is_show=1,is_top=1, children=new List(){ - new menu() - { - menu_name="首页",is_show=1,router="/" - }, + new menu{ id=1, menu_name="根",is_show=1,is_top=1}, + new menu{ id=2,icon="mdi-view-dashboard", menu_name="首页",is_show=1,is_top=0,router="/",parentId=1}, + new menu{id=3,icon="mdi-account-box-multiple", menu_name="用户角色管理",is_show=1,is_top=0,parentId=1}, - new menu() - { - menu_name="用户角色管理",is_show=1, children=new List() - { - new menu() - { - menu_name="用户管理",router="/AdmUser/", is_show=1,children=new List() - { - new menu() - { - menu_name="get",is_show=0, - mould=new mould() - { - mould_name="get",url="/user/getuser" - } - }, - new menu() - { - menu_name="update",is_show=0, - mould=new mould() - { - mould_name="update",url="/user/updateuser" - } - }, - new menu() - { - menu_name="del",is_show=0, - mould=new mould() - { - mould_name="del",url="/user/dellistUser" - } - }, - new menu() - { - menu_name="add",is_show=0, - mould=new mould() - { - mould_name="add",url="/user/adduser" - } - } - } - }, - new menu() - { - menu_name="角色管理",router="/admrole/", is_show=1,children=new List() - { - new menu() - { - menu_name="get",is_show=0, - mould=new mould() - { - mould_name="get",url="/role/getrole" - } - }, - new menu() - { - menu_name="update",is_show=0, - mould=new mould() - { - mould_name="update",url="/role/updaterole" - } - }, - new menu() - { - menu_name="del",is_show=0, - mould=new mould() - { - mould_name="del",url="/role/dellistrole" - } - }, - new menu() - { - menu_name="add",is_show=0, - mould=new mould() - { - mould_name="add",url="/role/addrole" - } - } - } - } - } + new menu{id=4,icon="mdi-account-box", menu_name="用户管理",router="/AdmUser/",is_show=1,is_top=0,parentId=3}, + new menu{id=5, menu_name="get",is_show=0,is_top=0,parentId=4,mould=new mould{mould_name="get",url="/user/getuser" } }, + new menu{id=6, menu_name="update",is_show=0,is_top=0,parentId=4,mould=new mould{mould_name="update",url="/user/updateuser" } }, + new menu{id=7, menu_name="del",is_show=0,is_top=0,parentId=4,mould=new mould{mould_name="del",url="/user/dellistUser" } }, + new menu{id=8, menu_name="add",is_show=0,is_top=0,parentId=4,mould=new mould{mould_name="add",url="/role/adduser" } }, - }, - new menu() - { - menu_name="角色接口管理",is_show=1, children=new List() - { - new menu() - { - menu_name="菜单管理",router="/AdmMenu/", is_show=1,children=new List() - { - new menu() - { - menu_name="get",is_show=0, - mould=new mould() - { - mould_name="get",url="/Menu/getMenu" - } - }, - new menu() - { - menu_name="update",is_show=0, - mould=new mould() - { - mould_name="update",url="/Menu/updateMenu" - } - }, - new menu() - { - menu_name="del",is_show=0, - mould=new mould() - { - mould_name="del",url="/Menu/dellistMenu" - } - }, - new menu() - { - menu_name="add",is_show=0, - mould=new mould() - { - mould_name="add",url="/Menu/addMenu" - } - } - } - }, - new menu() - { - menu_name="接口管理",router="/admMould/", is_show=1,children=new List() - { - new menu() - { - menu_name="get",is_show=0, - mould=new mould() - { - mould_name="get",url="/Mould/getMould" - } - }, - new menu() - { - menu_name="update",is_show=0, - mould=new mould() - { - mould_name="update",url="/Mould/updateMould" - } - }, - new menu() - { - menu_name="del",is_show=0, - mould=new mould() - { - mould_name="del",url="/Mould/dellistMould" - } - }, - new menu() - { - menu_name="add",is_show=0, - mould=new mould() - { - mould_name="add",url="/Mould/addMould" - } - } - } - }, - new menu() - { - menu_name="角色菜单分配管理",router="/admRoleMenu/", is_show=1, children=null - } - } + new menu{ id=9,icon="mdi-account-circle", menu_name="角色管理",router="/admrole/",is_show=1,is_top=0,parentId=3}, + new menu{id=10, menu_name="get",is_show=0,is_top=0,parentId=9,mould=new mould{mould_name="get",url="/role/getrole" } }, + new menu{id=11, menu_name="update",is_show=0,is_top=0,parentId=9,mould=new mould{mould_name="update",url="/role/updaterole" } }, + new menu{id=12, menu_name="del",is_show=0,is_top=0,parentId=9,mould=new mould{mould_name="del",url="/role/dellistrole" } }, + new menu{id=13, menu_name="add",is_show=0,is_top=0,parentId=9,mould=new mould{mould_name="add",url="/role/addrole" } }, - }, - new menu() - { - menu_name="路由管理",is_show=1,children=new List() - { - new menu() - { - menu_name="用户信息",router="/userinfo/", is_show=1,children=null - } - } + new menu{ id=14,icon="mdi-account-cash", menu_name="角色接口管理",is_show=1,is_top=0,parentId=1}, - } + + new menu{ id=15,icon="mdi-clipboard-check-multiple", menu_name="菜单管理",router="/AdmMenu/",is_show=1,is_top=0,parentId=14}, + new menu{id=16, menu_name="get",is_show=0,is_top=0,parentId=15,mould=new mould{mould_name="get",url="/menu/getmenu" } }, + new menu{id=17, menu_name="update",is_show=0,is_top=0,parentId=15,mould=new mould{mould_name="update",url="/menu/updatemenu" } }, + new menu{id=18, menu_name="del",is_show=0,is_top=0,parentId=15,mould=new mould{mould_name="del",url="/menu/dellistmenu" } }, + new menu{id=19, menu_name="add",is_show=0,is_top=0,parentId=15,mould=new mould{mould_name="add",url="/menu/addmenu" } }, + new menu{ id=20,icon="mdi-circle-slice-8", menu_name="接口管理",router="/admMould/",is_show=1,is_top=0,parentId=14}, + new menu{id=21, menu_name="get",is_show=0,is_top=0,parentId=20,mould=new mould{mould_name="get",url="/Mould/getMould" } }, + new menu{id=22, menu_name="update",is_show=0,is_top=0,parentId=20,mould=new mould{mould_name="update",url="/Mould/updateMould" } }, + new menu{id=23, menu_name="del",is_show=0,is_top=0,parentId=20,mould=new mould{mould_name="del",url="/Mould/dellistMould" } }, + new menu{id=24, menu_name="add",is_show=0,is_top=0,parentId=20,mould=new mould{mould_name="add",url="/Mould/addMould" } }, + + new menu{ id=25,icon="mdi-clipboard-account", menu_name="角色菜单分配管理",router="/admRoleMenu/",is_show=1,is_top=0,parentId=14}, + + new menu{ id=26,icon="mdi-clipboard-flow-outline", menu_name="路由管理",is_show=1,is_top=0,parentId=1}, + new menu{ id=27,icon="mdi-account-eye", menu_name="用户信息",router="/userinfo/",is_show=1,is_top=0,parentId=26}, + + }; + List roles = new List() { + new role(){role_name="普通用户" }, + new role(){role_name="管理员",menus= menus} + }; + List users = new List() { + new user(){ username="admin",password="123",roles=roles} + }; - - - - - - - - - - - - - - - - - } - } - - } - } - } - }); + await _Db.Set().AddRangeAsync(users); + await _Db.SaveChangesAsync(); + Console.WriteLine(nameof(DbContext) + ":数据库初始成功!"); } - await _Db.SaveChangesAsync(); - - Console.WriteLine(nameof(DbContext) + ":数据库初始成功!"); } } } diff --git a/Yi.Vue/package-lock.json b/Yi.Vue/package-lock.json deleted file mode 100644 index 16c09e1a..00000000 --- a/Yi.Vue/package-lock.json +++ /dev/null @@ -1,10192 +0,0 @@ -{ - "name": "vuetify-test", - "version": "0.1.0", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@babel/code-frame": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/code-frame/download/@babel/code-frame-7.14.5.tgz", - "integrity": "sha1-I7CNdA6D9JxeWZRfvxtD6Au/Tts=", - "dev": true, - "requires": { - "@babel/highlight": "^7.14.5" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.nlark.com/@babel/helper-validator-identifier/download/@babel/helper-validator-identifier-7.15.7.tgz?cache=0&sync_timestamp=1631920857390&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhelper-validator-identifier%2Fdownload%2F%40babel%2Fhelper-validator-identifier-7.15.7.tgz", - "integrity": "sha1-Ig35k7/pBKSmsCq08zhaXr9uI4k=", - "dev": true - }, - "@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.nlark.com/@babel/highlight/download/@babel/highlight-7.14.5.tgz?cache=0&sync_timestamp=1623280306084&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40babel%2Fhighlight%2Fdownload%2F%40babel%2Fhighlight-7.14.5.tgz", - "integrity": "sha1-aGGlLwOWZAUAH2qlNKAaJNmejNk=", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.14.5", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@hapi/address": { - "version": "2.1.4", - "resolved": "https://registry.npm.taobao.org/@hapi/address/download/@hapi/address-2.1.4.tgz?cache=0&sync_timestamp=1603524710662&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40hapi%2Faddress%2Fdownload%2F%40hapi%2Faddress-2.1.4.tgz", - "integrity": "sha1-XWftQ/P9QaadS5/3tW58DR0KgeU=", - "dev": true - }, - "@hapi/bourne": { - "version": "1.3.2", - "resolved": "https://registry.npm.taobao.org/@hapi/bourne/download/@hapi/bourne-1.3.2.tgz", - "integrity": "sha1-CnCVreoGckPOMoPhtWuKj0U7JCo=", - "dev": true - }, - "@hapi/hoek": { - "version": "8.5.1", - "resolved": "https://registry.npmmirror.com/@hapi/hoek/download/@hapi/hoek-8.5.1.tgz?cache=0&sync_timestamp=1632777883600&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40hapi%2Fhoek%2Fdownload%2F%40hapi%2Fhoek-8.5.1.tgz", - "integrity": "sha1-/elgZMpEbeyMVajC8TCVewcMbgY=", - "dev": true - }, - "@hapi/joi": { - "version": "15.1.1", - "resolved": "https://registry.npm.taobao.org/@hapi/joi/download/@hapi/joi-15.1.1.tgz", - "integrity": "sha1-xnW4pxKW8Cgz+NbSQ7NMV7jOGdc=", - "dev": true, - "requires": { - "@hapi/address": "2.x.x", - "@hapi/bourne": "1.x.x", - "@hapi/hoek": "8.x.x", - "@hapi/topo": "3.x.x" - } - }, - "@hapi/topo": { - "version": "3.1.6", - "resolved": "https://registry.nlark.com/@hapi/topo/download/@hapi/topo-3.1.6.tgz", - "integrity": "sha1-aNk1+j6uf91asNf5U/MgXYsr/Ck=", - "dev": true, - "requires": { - "@hapi/hoek": "^8.3.0" - } - }, - "@intervolga/optimize-cssnano-plugin": { - "version": "1.0.6", - "resolved": "https://registry.npm.taobao.org/@intervolga/optimize-cssnano-plugin/download/@intervolga/optimize-cssnano-plugin-1.0.6.tgz", - "integrity": "sha1-vnx4RhKLiPapsdEmGgrQbrXA/fg=", - "dev": true, - "requires": { - "cssnano": "^4.0.0", - "cssnano-preset-default": "^4.0.0", - "postcss": "^7.0.0" - } - }, - "@mrmlnc/readdir-enhanced": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/@mrmlnc/readdir-enhanced/download/@mrmlnc/readdir-enhanced-2.2.1.tgz", - "integrity": "sha1-UkryQNGjYFJ7cwR17PoTRKpUDd4=", - "dev": true, - "requires": { - "call-me-maybe": "^1.0.1", - "glob-to-regexp": "^0.3.0" - } - }, - "@nodelib/fs.stat": { - "version": "1.1.3", - "resolved": "https://registry.nlark.com/@nodelib/fs.stat/download/@nodelib/fs.stat-1.1.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40nodelib%2Ffs.stat%2Fdownload%2F%40nodelib%2Ffs.stat-1.1.3.tgz", - "integrity": "sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs=", - "dev": true - }, - "@soda/friendly-errors-webpack-plugin": { - "version": "1.8.0", - "resolved": "https://registry.npm.taobao.org/@soda/friendly-errors-webpack-plugin/download/@soda/friendly-errors-webpack-plugin-1.8.0.tgz?cache=0&sync_timestamp=1607927398894&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40soda%2Ffriendly-errors-webpack-plugin%2Fdownload%2F%40soda%2Ffriendly-errors-webpack-plugin-1.8.0.tgz", - "integrity": "sha1-hHUdgqkwGdXJLAzw5FrFkIfNIkA=", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "error-stack-parser": "^2.0.2", - "string-width": "^2.0.0", - "strip-ansi": "^5" - }, - "dependencies": { - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-5.2.0.tgz", - "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "@soda/get-current-script": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/@soda/get-current-script/download/@soda/get-current-script-1.0.2.tgz", - "integrity": "sha1-pTUV2yXYA4N0OBtzryC7Ty5QjYc=", - "dev": true - }, - "@types/body-parser": { - "version": "1.19.1", - "resolved": "https://registry.nlark.com/@types/body-parser/download/@types/body-parser-1.19.1.tgz", - "integrity": "sha1-DAF0xCp9AXuBgwPUtdlpywt1kpw=", - "dev": true, - "requires": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.nlark.com/@types/connect/download/@types/connect-3.4.35.tgz", - "integrity": "sha1-X89q5EXkAh0fwiGaSHPMc6O7KtE=", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/connect-history-api-fallback": { - "version": "1.3.5", - "resolved": "https://registry.nlark.com/@types/connect-history-api-fallback/download/@types/connect-history-api-fallback-1.3.5.tgz?cache=0&sync_timestamp=1629707001404&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fconnect-history-api-fallback%2Fdownload%2F%40types%2Fconnect-history-api-fallback-1.3.5.tgz", - "integrity": "sha1-0feooJ0O1aV67lrpwYq5uAMgXa4=", - "dev": true, - "requires": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "@types/express": { - "version": "4.17.13", - "resolved": "https://registry.nlark.com/@types/express/download/@types/express-4.17.13.tgz?cache=0&sync_timestamp=1629707737380&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fexpress%2Fdownload%2F%40types%2Fexpress-4.17.13.tgz", - "integrity": "sha1-p24plXKJmbq1GjP6vOHXBaNwkDQ=", - "dev": true, - "requires": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.18", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "@types/express-serve-static-core": { - "version": "4.17.24", - "resolved": "https://registry.nlark.com/@types/express-serve-static-core/download/@types/express-serve-static-core-4.17.24.tgz?cache=0&sync_timestamp=1629707772598&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fexpress-serve-static-core%2Fdownload%2F%40types%2Fexpress-serve-static-core-4.17.24.tgz", - "integrity": "sha1-6kH5O/fg1ZzVp2ZlBo7WqraBXAc=", - "dev": true, - "requires": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, - "@types/glob": { - "version": "7.1.4", - "resolved": "https://registry.nlark.com/@types/glob/download/@types/glob-7.1.4.tgz?cache=0&sync_timestamp=1629707996938&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fglob%2Fdownload%2F%40types%2Fglob-7.1.4.tgz", - "integrity": "sha1-6lniHS7lxReRTLS8jkFTuZ5WZnI=", - "dev": true, - "requires": { - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "@types/http-proxy": { - "version": "1.17.7", - "resolved": "https://registry.nlark.com/@types/http-proxy/download/@types/http-proxy-1.17.7.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fhttp-proxy%2Fdownload%2F%40types%2Fhttp-proxy-1.17.7.tgz", - "integrity": "sha1-MOqFzCyGg2g1Kjfw0NNYHiSDTG8=", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.nlark.com/@types/json-schema/download/@types/json-schema-7.0.9.tgz?cache=0&sync_timestamp=1629708189890&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fjson-schema%2Fdownload%2F%40types%2Fjson-schema-7.0.9.tgz", - "integrity": "sha1-l+3JA36gw4WFMgsolk3eOznkZg0=", - "dev": true - }, - "@types/mime": { - "version": "1.3.2", - "resolved": "https://registry.nlark.com/@types/mime/download/@types/mime-1.3.2.tgz?cache=0&sync_timestamp=1629708336928&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fmime%2Fdownload%2F%40types%2Fmime-1.3.2.tgz", - "integrity": "sha1-k+Jb+e51/g/YC1lLxP6w6GIRG1o=", - "dev": true - }, - "@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.nlark.com/@types/minimatch/download/@types/minimatch-3.0.5.tgz?cache=0&sync_timestamp=1629708337307&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fminimatch%2Fdownload%2F%40types%2Fminimatch-3.0.5.tgz", - "integrity": "sha1-EAHMXmo3BLg8I2An538vWOoBD0A=", - "dev": true - }, - "@types/minimist": { - "version": "1.2.2", - "resolved": "https://registry.nlark.com/@types/minimist/download/@types/minimist-1.2.2.tgz?cache=0&sync_timestamp=1629708337116&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fminimist%2Fdownload%2F%40types%2Fminimist-1.2.2.tgz", - "integrity": "sha1-7nceK6Sz3Fs3KTXVSf2WF780W4w=", - "dev": true - }, - "@types/node": { - "version": "16.10.2", - "resolved": "https://registry.npmmirror.com/@types/node/download/@types/node-16.10.2.tgz", - "integrity": "sha1-V2TKmqlEcK204Rhf4unxlFiZKy4=", - "dev": true - }, - "@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.nlark.com/@types/normalize-package-data/download/@types/normalize-package-data-2.4.1.tgz?cache=0&sync_timestamp=1629708548426&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fnormalize-package-data%2Fdownload%2F%40types%2Fnormalize-package-data-2.4.1.tgz", - "integrity": "sha1-0zV0eaD9/dWQf+Z+F+CoXJBuEwE=", - "dev": true - }, - "@types/q": { - "version": "1.5.5", - "resolved": "https://registry.nlark.com/@types/q/download/@types/q-1.5.5.tgz?cache=0&sync_timestamp=1629708830339&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fq%2Fdownload%2F%40types%2Fq-1.5.5.tgz", - "integrity": "sha1-daKo59irSyMEFFBdkjNdHctTpt8=", - "dev": true - }, - "@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.nlark.com/@types/qs/download/@types/qs-6.9.7.tgz?cache=0&sync_timestamp=1629708791613&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fqs%2Fdownload%2F%40types%2Fqs-6.9.7.tgz", - "integrity": "sha1-Y7t9Bn2xB8weRXwwO8JdUR/r9ss=", - "dev": true - }, - "@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.nlark.com/@types/range-parser/download/@types/range-parser-1.2.4.tgz?cache=0&sync_timestamp=1629708789398&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Frange-parser%2Fdownload%2F%40types%2Frange-parser-1.2.4.tgz", - "integrity": "sha1-zWZ7z90CUhOq+3ylkVqTJZCs3Nw=", - "dev": true - }, - "@types/serve-static": { - "version": "1.13.10", - "resolved": "https://registry.nlark.com/@types/serve-static/download/@types/serve-static-1.13.10.tgz?cache=0&sync_timestamp=1629709187133&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fserve-static%2Fdownload%2F%40types%2Fserve-static-1.13.10.tgz", - "integrity": "sha1-9eDOh5fS18xevtpIpSyWxPpHqNk=", - "dev": true, - "requires": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "@types/source-list-map": { - "version": "0.1.2", - "resolved": "https://registry.nlark.com/@types/source-list-map/download/@types/source-list-map-0.1.2.tgz", - "integrity": "sha1-AHiDYGP/rxdBI0m7o2QIfgrALsk=", - "dev": true - }, - "@types/tapable": { - "version": "1.0.8", - "resolved": "https://registry.nlark.com/@types/tapable/download/@types/tapable-1.0.8.tgz?cache=0&sync_timestamp=1629709376833&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Ftapable%2Fdownload%2F%40types%2Ftapable-1.0.8.tgz", - "integrity": "sha1-uUpDkchWZse3Mpn9OtedT6pDUxA=", - "dev": true - }, - "@types/uglify-js": { - "version": "3.13.1", - "resolved": "https://registry.nlark.com/@types/uglify-js/download/@types/uglify-js-3.13.1.tgz?cache=0&sync_timestamp=1629709561839&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40types%2Fuglify-js%2Fdownload%2F%40types%2Fuglify-js-3.13.1.tgz", - "integrity": "sha1-XoienoHpQkXHW2RQYA4cXqKHiuo=", - "dev": true, - "requires": { - "source-map": "^0.6.1" - } - }, - "@types/webpack": { - "version": "4.41.31", - "resolved": "https://registry.nlark.com/@types/webpack/download/@types/webpack-4.41.31.tgz", - "integrity": "sha1-w18lKjVZ3fnIXA2LC0IBkCXlgao=", - "dev": true, - "requires": { - "@types/node": "*", - "@types/tapable": "^1", - "@types/uglify-js": "*", - "@types/webpack-sources": "*", - "anymatch": "^3.0.0", - "source-map": "^0.6.0" - } - }, - "@types/webpack-dev-server": { - "version": "3.11.6", - "resolved": "https://registry.nlark.com/@types/webpack-dev-server/download/@types/webpack-dev-server-3.11.6.tgz", - "integrity": "sha1-2IiM/S8GMCA+E9PteDOk0RuKNNw=", - "dev": true, - "requires": { - "@types/connect-history-api-fallback": "*", - "@types/express": "*", - "@types/serve-static": "*", - "@types/webpack": "^4", - "http-proxy-middleware": "^1.0.0" - } - }, - "@types/webpack-sources": { - "version": "3.2.0", - "resolved": "https://registry.nlark.com/@types/webpack-sources/download/@types/webpack-sources-3.2.0.tgz", - "integrity": "sha1-FtdZuglsKJA0smVT0t8b9FJI04s=", - "dev": true, - "requires": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.7.3" - }, - "dependencies": { - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.7.3.tgz", - "integrity": "sha1-UwL4FpAxc1ImVECS5kmB91F1A4M=", - "dev": true - } - } - }, - "@vue/cli-overlay": { - "version": "4.5.13", - "resolved": "https://registry.nlark.com/@vue/cli-overlay/download/@vue/cli-overlay-4.5.13.tgz?cache=0&sync_timestamp=1631753513123&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40vue%2Fcli-overlay%2Fdownload%2F%40vue%2Fcli-overlay-4.5.13.tgz", - "integrity": "sha1-Tx/SFhvo9p1suoB58/DX3E3uR6c=", - "dev": true - }, - "@vue/cli-plugin-router": { - "version": "4.5.13", - "resolved": "https://registry.nlark.com/@vue/cli-plugin-router/download/@vue/cli-plugin-router-4.5.13.tgz?cache=0&sync_timestamp=1631753459080&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40vue%2Fcli-plugin-router%2Fdownload%2F%40vue%2Fcli-plugin-router-4.5.13.tgz", - "integrity": "sha1-C2fIiYor8TKUGRmiouXzqsvZ/74=", - "dev": true, - "requires": { - "@vue/cli-shared-utils": "^4.5.13" - } - }, - "@vue/cli-plugin-vuex": { - "version": "4.5.13", - "resolved": "https://registry.nlark.com/@vue/cli-plugin-vuex/download/@vue/cli-plugin-vuex-4.5.13.tgz?cache=0&sync_timestamp=1631753513624&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40vue%2Fcli-plugin-vuex%2Fdownload%2F%40vue%2Fcli-plugin-vuex-4.5.13.tgz", - "integrity": "sha1-mGRti8HmnPbGpsui/tPqzgNWw2A=", - "dev": true - }, - "@vue/cli-service": { - "version": "4.5.13", - "resolved": "https://registry.nlark.com/@vue/cli-service/download/@vue/cli-service-4.5.13.tgz?cache=0&sync_timestamp=1631753502640&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40vue%2Fcli-service%2Fdownload%2F%40vue%2Fcli-service-4.5.13.tgz", - "integrity": "sha1-oJ5oSoAWhLbiTlQUrTBlCXDuye0=", - "dev": true, - "requires": { - "@intervolga/optimize-cssnano-plugin": "^1.0.5", - "@soda/friendly-errors-webpack-plugin": "^1.7.1", - "@soda/get-current-script": "^1.0.0", - "@types/minimist": "^1.2.0", - "@types/webpack": "^4.0.0", - "@types/webpack-dev-server": "^3.11.0", - "@vue/cli-overlay": "^4.5.13", - "@vue/cli-plugin-router": "^4.5.13", - "@vue/cli-plugin-vuex": "^4.5.13", - "@vue/cli-shared-utils": "^4.5.13", - "@vue/component-compiler-utils": "^3.1.2", - "@vue/preload-webpack-plugin": "^1.1.0", - "@vue/web-component-wrapper": "^1.2.0", - "acorn": "^7.4.0", - "acorn-walk": "^7.1.1", - "address": "^1.1.2", - "autoprefixer": "^9.8.6", - "browserslist": "^4.12.0", - "cache-loader": "^4.1.0", - "case-sensitive-paths-webpack-plugin": "^2.3.0", - "cli-highlight": "^2.1.4", - "clipboardy": "^2.3.0", - "cliui": "^6.0.0", - "copy-webpack-plugin": "^5.1.1", - "css-loader": "^3.5.3", - "cssnano": "^4.1.10", - "debug": "^4.1.1", - "default-gateway": "^5.0.5", - "dotenv": "^8.2.0", - "dotenv-expand": "^5.1.0", - "file-loader": "^4.2.0", - "fs-extra": "^7.0.1", - "globby": "^9.2.0", - "hash-sum": "^2.0.0", - "html-webpack-plugin": "^3.2.0", - "launch-editor-middleware": "^2.2.1", - "lodash.defaultsdeep": "^4.6.1", - "lodash.mapvalues": "^4.6.0", - "lodash.transform": "^4.6.0", - "mini-css-extract-plugin": "^0.9.0", - "minimist": "^1.2.5", - "pnp-webpack-plugin": "^1.6.4", - "portfinder": "^1.0.26", - "postcss-loader": "^3.0.0", - "ssri": "^8.0.1", - "terser-webpack-plugin": "^1.4.4", - "thread-loader": "^2.1.3", - "url-loader": "^2.2.0", - "vue-loader": "^15.9.2", - "vue-loader-v16": "npm:vue-loader@^16.1.0", - "vue-style-loader": "^4.1.2", - "webpack": "^4.0.0", - "webpack-bundle-analyzer": "^3.8.0", - "webpack-chain": "^6.4.0", - "webpack-dev-server": "^3.11.0", - "webpack-merge": "^4.2.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "optional": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "optional": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "optional": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "optional": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "optional": true - }, - "json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "optional": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "optional": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "optional": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "vue-loader-v16": { - "version": "npm:vue-loader@16.8.1", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.8.1.tgz", - "integrity": "sha512-V53TJbHmzjBhCG5OYI2JWy/aYDspz4oVHKxS43Iy212GjGIG1T3EsB3+GWXFm/1z5VwjdjLmdZUFYM70y77vtQ==", - "dev": true, - "optional": true, - "requires": { - "chalk": "^4.1.0", - "hash-sum": "^2.0.0", - "loader-utils": "^2.0.0" - } - } - } - }, - "@vue/cli-shared-utils": { - "version": "4.5.13", - "resolved": "https://registry.nlark.com/@vue/cli-shared-utils/download/@vue/cli-shared-utils-4.5.13.tgz?cache=0&sync_timestamp=1631753504483&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40vue%2Fcli-shared-utils%2Fdownload%2F%40vue%2Fcli-shared-utils-4.5.13.tgz", - "integrity": "sha1-rNQPMbR5DxY0KSvapfypXcHg/1A=", - "dev": true, - "requires": { - "@hapi/joi": "^15.0.1", - "chalk": "^2.4.2", - "execa": "^1.0.0", - "launch-editor": "^2.2.1", - "lru-cache": "^5.1.1", - "node-ipc": "^9.1.1", - "open": "^6.3.0", - "ora": "^3.4.0", - "read-pkg": "^5.1.1", - "request": "^2.88.2", - "semver": "^6.1.0", - "strip-ansi": "^6.0.0" - } - }, - "@vue/component-compiler-utils": { - "version": "3.2.2", - "resolved": "https://registry.nlark.com/@vue/component-compiler-utils/download/@vue/component-compiler-utils-3.2.2.tgz?cache=0&sync_timestamp=1623744148967&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40vue%2Fcomponent-compiler-utils%2Fdownload%2F%40vue%2Fcomponent-compiler-utils-3.2.2.tgz", - "integrity": "sha1-L37V/u2C/38ChKzBHVJe5+/yJGA=", - "dev": true, - "requires": { - "consolidate": "^0.15.1", - "hash-sum": "^1.0.2", - "lru-cache": "^4.1.2", - "merge-source-map": "^1.1.0", - "postcss": "^7.0.36", - "postcss-selector-parser": "^6.0.2", - "prettier": "^1.18.2", - "source-map": "~0.6.1", - "vue-template-es2015-compiler": "^1.9.0" - }, - "dependencies": { - "hash-sum": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/hash-sum/download/hash-sum-1.0.2.tgz", - "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", - "dev": true - }, - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-4.1.5.tgz", - "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } - }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true - } - } - }, - "@vue/preload-webpack-plugin": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/@vue/preload-webpack-plugin/download/@vue/preload-webpack-plugin-1.1.2.tgz?cache=0&sync_timestamp=1613215046917&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fpreload-webpack-plugin%2Fdownload%2F%40vue%2Fpreload-webpack-plugin-1.1.2.tgz", - "integrity": "sha1-zrkktOyzucQ4ccekKaAvhCPmIas=", - "dev": true - }, - "@vue/web-component-wrapper": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/@vue/web-component-wrapper/download/@vue/web-component-wrapper-1.3.0.tgz?cache=0&sync_timestamp=1613216636926&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fweb-component-wrapper%2Fdownload%2F%40vue%2Fweb-component-wrapper-1.3.0.tgz", - "integrity": "sha1-trQKdiVCnSvXwigd26YB7QXcfxo=", - "dev": true - }, - "@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.nlark.com/@webassemblyjs/ast/download/@webassemblyjs/ast-1.9.0.tgz?cache=0&sync_timestamp=1625473459015&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fast%2Fdownload%2F%40webassemblyjs%2Fast-1.9.0.tgz", - "integrity": "sha1-vYUGBLQEJFmlpBzX0zjL7Wle2WQ=", - "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.nlark.com/@webassemblyjs/floating-point-hex-parser/download/@webassemblyjs/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha1-PD07Jxvd/ITesA9xNEQ4MR1S/7Q=", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.nlark.com/@webassemblyjs/helper-api-error/download/@webassemblyjs/helper-api-error-1.9.0.tgz?cache=0&sync_timestamp=1625473346773&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fhelper-api-error%2Fdownload%2F%40webassemblyjs%2Fhelper-api-error-1.9.0.tgz", - "integrity": "sha1-ID9nbjM7lsnaLuqzzO8zxFkotqI=", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.nlark.com/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.9.0.tgz?cache=0&sync_timestamp=1625473344792&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fhelper-buffer%2Fdownload%2F%40webassemblyjs%2Fhelper-buffer-1.9.0.tgz", - "integrity": "sha1-oUQtJpxf6yP8vJ73WdrDVH8p3gA=", - "dev": true - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.nlark.com/@webassemblyjs/helper-code-frame/download/@webassemblyjs/helper-code-frame-1.9.0.tgz", - "integrity": "sha1-ZH+Iks0gQ6gqwMjF51w28dkVnyc=", - "dev": true, - "requires": { - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.nlark.com/@webassemblyjs/helper-fsm/download/@webassemblyjs/helper-fsm-1.9.0.tgz", - "integrity": "sha1-wFJWtxJEIUZx9LCOwQitY7cO3bg=", - "dev": true - }, - "@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npm.taobao.org/@webassemblyjs/helper-module-context/download/@webassemblyjs/helper-module-context-1.9.0.tgz", - "integrity": "sha1-JdiIS3aDmHGgimxvgGw5ee9xLwc=", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.nlark.com/@webassemblyjs/helper-wasm-bytecode/download/@webassemblyjs/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha1-T+2L6sm4wU+MWLcNEk1UndH+V5A=", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.nlark.com/@webassemblyjs/helper-wasm-section/download/@webassemblyjs/helper-wasm-section-1.9.0.tgz?cache=0&sync_timestamp=1625473466570&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fhelper-wasm-section%2Fdownload%2F%40webassemblyjs%2Fhelper-wasm-section-1.9.0.tgz", - "integrity": "sha1-WkE41aYpK6GLBMWuSXF+QWeWU0Y=", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.nlark.com/@webassemblyjs/ieee754/download/@webassemblyjs/ieee754-1.9.0.tgz", - "integrity": "sha1-Fceg+6roP7JhQ7us9tbfFwKtOeQ=", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.nlark.com/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.9.0.tgz?cache=0&sync_timestamp=1625473342433&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fleb128%2Fdownload%2F%40webassemblyjs%2Fleb128-1.9.0.tgz", - "integrity": "sha1-8Zygt2ptxVYjoJz/p2noOPoeHJU=", - "dev": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.nlark.com/@webassemblyjs/utf8/download/@webassemblyjs/utf8-1.9.0.tgz", - "integrity": "sha1-BNM7Y2945qaBMifoJAL3Y3tiKas=", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.nlark.com/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.9.0.tgz?cache=0&sync_timestamp=1625473463093&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fwasm-edit%2Fdownload%2F%40webassemblyjs%2Fwasm-edit-1.9.0.tgz", - "integrity": "sha1-P+bXnT8PkiGDqoYALELdJWz+6c8=", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.nlark.com/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.9.0.tgz?cache=0&sync_timestamp=1625473361759&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fwasm-gen%2Fdownload%2F%40webassemblyjs%2Fwasm-gen-1.9.0.tgz", - "integrity": "sha1-ULxw7Gje2OJ2OwGhQYv0NJGnpJw=", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.nlark.com/@webassemblyjs/wasm-opt/download/@webassemblyjs/wasm-opt-1.9.0.tgz?cache=0&sync_timestamp=1625473467198&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fwasm-opt%2Fdownload%2F%40webassemblyjs%2Fwasm-opt-1.9.0.tgz", - "integrity": "sha1-IhEYHlsxMmRDzIES658LkChyGmE=", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.nlark.com/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.9.0.tgz?cache=0&sync_timestamp=1625473464593&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fwasm-parser%2Fdownload%2F%40webassemblyjs%2Fwasm-parser-1.9.0.tgz", - "integrity": "sha1-nUjkSCbfSmWYKUqmyHRp1kL/9l4=", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.nlark.com/@webassemblyjs/wast-parser/download/@webassemblyjs/wast-parser-1.9.0.tgz?cache=0&sync_timestamp=1625473373987&other_urls=https%3A%2F%2Fregistry.nlark.com%2F%40webassemblyjs%2Fwast-parser%2Fdownload%2F%40webassemblyjs%2Fwast-parser-1.9.0.tgz", - "integrity": "sha1-MDERXXmsW9JhVWzsw/qQo+9FGRQ=", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.nlark.com/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.9.0.tgz", - "integrity": "sha1-STXVTIX+9jewDOn1I3dFHQDUeJk=", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", - "@xtuc/long": "4.2.2" - } - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/@xtuc/ieee754/download/@xtuc/ieee754-1.2.0.tgz", - "integrity": "sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A=", - "dev": true - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npm.taobao.org/@xtuc/long/download/@xtuc/long-4.2.2.tgz", - "integrity": "sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0=", - "dev": true - }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npm.taobao.org/accepts/download/accepts-1.3.7.tgz?cache=0&sync_timestamp=1600349136981&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faccepts%2Fdownload%2Faccepts-1.3.7.tgz", - "integrity": "sha1-UxvHJlF6OytB+FACHGzBXqq1B80=", - "dev": true, - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - } - }, - "acorn": { - "version": "7.4.1", - "resolved": "https://registry.nlark.com/acorn/download/acorn-7.4.1.tgz", - "integrity": "sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=", - "dev": true - }, - "acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.nlark.com/acorn-walk/download/acorn-walk-7.2.0.tgz?cache=0&sync_timestamp=1630916608758&other_urls=https%3A%2F%2Fregistry.nlark.com%2Facorn-walk%2Fdownload%2Facorn-walk-7.2.0.tgz", - "integrity": "sha1-DeiJpgEgOQmw++B7iTjcIdLpZ7w=", - "dev": true - }, - "address": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/address/download/address-1.1.2.tgz?cache=0&sync_timestamp=1593529661616&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faddress%2Fdownload%2Faddress-1.1.2.tgz", - "integrity": "sha1-vxEWycdYxRt6kz0pa3LCIe2UKLY=", - "dev": true - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.nlark.com/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1631470912358&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fajv%2Fdownload%2Fajv-6.12.6.tgz", - "integrity": "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ=", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/ajv-errors/download/ajv-errors-1.0.1.tgz", - "integrity": "sha1-81mGrOuRr63sQQL72FAUlQzvpk0=", - "dev": true - }, - "ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npm.taobao.org/ajv-keywords/download/ajv-keywords-3.5.2.tgz", - "integrity": "sha1-MfKdpatuANHC0yms97WSlhTVAU0=", - "dev": true - }, - "alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/alphanum-sort/download/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", - "dev": true - }, - "ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npm.taobao.org/ansi-colors/download/ansi-colors-3.2.4.tgz?cache=0&sync_timestamp=1593529711167&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fansi-colors%2Fdownload%2Fansi-colors-3.2.4.tgz", - "integrity": "sha1-46PaS/uubIapwoViXeEkojQCb78=", - "dev": true - }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npm.taobao.org/ansi-html/download/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", - "dev": true - }, - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-4.1.0.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-4.1.0.tgz", - "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-3.2.1.tgz?cache=0&sync_timestamp=1618995625950&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-3.2.1.tgz", - "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/any-promise/download/any-promise-1.3.0.tgz", - "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", - "dev": true - }, - "anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-3.1.2.tgz", - "integrity": "sha1-wFV8CWrzLxBhmPT04qODU343hxY=", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/aproba/download/aproba-1.2.0.tgz", - "integrity": "sha1-aALmJk79GMeQobDVF/DyYnvyyUo=", - "dev": true - }, - "arch": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/arch/download/arch-2.2.0.tgz", - "integrity": "sha1-G8R4GPMFdk8jqzMGsL/AhsWinRE=", - "dev": true - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npm.taobao.org/argparse/download/argparse-1.0.10.tgz", - "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", - "dev": true, - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/arr-diff/download/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/arr-flatten/download/arr-flatten-1.1.0.tgz", - "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/arr-union/download/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/array-union/download/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "requires": { - "array-uniq": "^1.0.1" - } - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.nlark.com/array-uniq/download/array-uniq-1.0.3.tgz?cache=0&sync_timestamp=1620042121153&other_urls=https%3A%2F%2Fregistry.nlark.com%2Farray-uniq%2Fdownload%2Farray-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npm.taobao.org/array-unique/download/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npm.taobao.org/asn1/download/asn1-0.2.4.tgz", - "integrity": "sha1-jSR136tVO7M+d7VOWeiAu4ziMTY=", - "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } - }, - "asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npm.taobao.org/asn1.js/download/asn1.js-5.4.1.tgz", - "integrity": "sha1-EamAuE67kXgc41sP3C7ilON4Pwc=", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - } - } - }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npm.taobao.org/assert/download/assert-1.5.0.tgz", - "integrity": "sha1-VcEJqvbgrv2z3EtxJAxwv1dLGOs=", - "dev": true, - "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.1.tgz?cache=0&sync_timestamp=1606706255906&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finherits%2Fdownload%2Finherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.nlark.com/util/download/util-0.10.3.tgz?cache=0&sync_timestamp=1622212984161&other_urls=https%3A%2F%2Fregistry.nlark.com%2Futil%2Fdownload%2Futil-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - } - } - } - }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/assign-symbols/download/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true - }, - "async": { - "version": "2.6.3", - "resolved": "https://registry.nlark.com/async/download/async-2.6.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fasync%2Fdownload%2Fasync-2.6.3.tgz", - "integrity": "sha1-1yYl4jRKNlbjo61Pp0n6gymdgv8=", - "dev": true, - "requires": { - "lodash": "^4.17.14" - } - }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/async-each/download/async-each-1.0.3.tgz", - "integrity": "sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8=", - "dev": true - }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/async-limiter/download/async-limiter-1.0.1.tgz", - "integrity": "sha1-3TeelPDbgxCwgpH51kwyCXZmF/0=", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/atob/download/atob-2.1.2.tgz", - "integrity": "sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k=", - "dev": true - }, - "autoprefixer": { - "version": "9.8.7", - "resolved": "https://registry.npmmirror.com/autoprefixer/download/autoprefixer-9.8.7.tgz?cache=0&sync_timestamp=1632643102590&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fautoprefixer%2Fdownload%2Fautoprefixer-9.8.7.tgz", - "integrity": "sha1-48Et4YqACvGhqBVfvAHcfeKeoYQ=", - "dev": true, - "requires": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001109", - "nanocolors": "^0.2.8", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^7.0.32", - "postcss-value-parser": "^4.1.0" - } - }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.11.0", - "resolved": "https://registry.npm.taobao.org/aws4/download/aws4-1.11.0.tgz?cache=0&sync_timestamp=1604101311814&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faws4%2Fdownload%2Faws4-1.11.0.tgz", - "integrity": "sha1-1h9G2DslGSUOJ4Ta9bCUeai0HFk=", - "dev": true - }, - "axios": { - "version": "0.22.0", - "resolved": "https://registry.npmmirror.com/axios/download/axios-0.22.0.tgz?cache=0&sync_timestamp=1633067756491&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Faxios%2Fdownload%2Faxios-0.22.0.tgz", - "integrity": "sha1-v3AsQftQ+8pFOVidg5oHcRe3myU=", - "requires": { - "follow-redirects": "^1.14.4" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.nlark.com/balanced-match/download/balanced-match-1.0.2.tgz", - "integrity": "sha1-6D46fj8wCzTLnYf2FfoMvzV2kO4=", - "dev": true - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npm.taobao.org/base/download/base-0.11.2.tgz", - "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", - "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", - "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npm.taobao.org/base64-js/download/base64-js-1.5.1.tgz", - "integrity": "sha1-GxtEAWClv3rUC2UPCVljSBkDkwo=", - "dev": true - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/batch/download/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - } - }, - "bfj": { - "version": "6.1.2", - "resolved": "https://registry.npm.taobao.org/bfj/download/bfj-6.1.2.tgz", - "integrity": "sha1-MlyGGoIryzWKQceKM7jm4ght3n8=", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "check-types": "^8.0.3", - "hoopy": "^0.1.4", - "tryer": "^1.0.1" - } - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.nlark.com/big.js/download/big.js-5.2.2.tgz", - "integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=", - "dev": true - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-2.2.0.tgz?cache=0&sync_timestamp=1610299293319&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-2.2.0.tgz", - "integrity": "sha1-dfUC7q+f/eQvyYgpZFvk6na9ni0=", - "dev": true - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npm.taobao.org/bindings/download/bindings-1.5.0.tgz", - "integrity": "sha1-EDU8npRTNLwFEabZCzj7x8nFBN8=", - "dev": true, - "optional": true, - "requires": { - "file-uri-to-path": "1.0.0" - } - }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npm.taobao.org/bluebird/download/bluebird-3.7.2.tgz", - "integrity": "sha1-nyKcFb4nJFT/qXOs4NvueaGww28=", - "dev": true - }, - "bn.js": { - "version": "5.2.0", - "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-5.2.0.tgz", - "integrity": "sha1-NYhgZ0OWxpl3canQUfzBtX1K4AI=", - "dev": true - }, - "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npm.taobao.org/body-parser/download/body-parser-1.19.0.tgz", - "integrity": "sha1-lrJwnlfJxOCab9Zqj9l5hE9p8Io=", - "dev": true, - "requires": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.nlark.com/debug/download/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz?cache=0&sync_timestamp=1616385328325&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fqs%2Fdownload%2Fqs-6.7.0.tgz", - "integrity": "sha1-QdwaAV49WB8WIXdr4xr7KHapsbw=", - "dev": true - } - } - }, - "bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npm.taobao.org/bonjour/download/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", - "dev": true, - "requires": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" - }, - "dependencies": { - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/array-flatten/download/array-flatten-2.1.2.tgz", - "integrity": "sha1-JO+AoowaiTYX4hSbDG0NeIKTsJk=", - "dev": true - } - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/boolbase/download/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.11.tgz", - "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/braces/download/braces-3.0.2.tgz", - "integrity": "sha1-NFThpGLujVmeI23zNs2epPiv4Qc=", - "dev": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/brorand/download/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/browserify-aes/download/browserify-aes-1.2.0.tgz", - "integrity": "sha1-Mmc0ZC9APavDADIJhTu3CtQo70g=", - "dev": true, - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/browserify-cipher/download/browserify-cipher-1.0.1.tgz", - "integrity": "sha1-jWR0wbhwv9q807z8wZNKEOlPFfA=", - "dev": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/browserify-des/download/browserify-des-1.0.2.tgz", - "integrity": "sha1-OvTx9Zg5QDVy8cZiBDdfen9wPpw=", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/browserify-rsa/download/browserify-rsa-4.1.0.tgz", - "integrity": "sha1-sv0Gtbda4pf3zi3GUfkY9b4VjI0=", - "dev": true, - "requires": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - } - }, - "browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npm.taobao.org/browserify-sign/download/browserify-sign-4.2.1.tgz?cache=0&sync_timestamp=1596557838450&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbrowserify-sign%2Fdownload%2Fbrowserify-sign-4.2.1.tgz", - "integrity": "sha1-6vSt1G3VS+O7OzbAzxWrvrp5VsM=", - "dev": true, - "requires": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", - "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npm.taobao.org/browserify-zlib/download/browserify-zlib-0.2.0.tgz", - "integrity": "sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=", - "dev": true, - "requires": { - "pako": "~1.0.5" - } - }, - "browserslist": { - "version": "4.17.2", - "resolved": "https://registry.npmmirror.com/browserslist/download/browserslist-4.17.2.tgz", - "integrity": "sha1-qhXb0vqzmaOZ/k32AbsJNjxUWKY=", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001261", - "electron-to-chromium": "^1.3.854", - "escalade": "^3.1.1", - "nanocolors": "^0.2.12", - "node-releases": "^1.1.76" - } - }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npm.taobao.org/buffer/download/buffer-4.9.2.tgz", - "integrity": "sha1-Iw6tNEACmIZEhBqwJEr4xEu+Pvg=", - "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.nlark.com/buffer-from/download/buffer-from-1.1.2.tgz", - "integrity": "sha1-KxRqb9cugLT1XSVfNe1Zo6mkG9U=", - "dev": true - }, - "buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/buffer-indexof/download/buffer-indexof-1.1.1.tgz", - "integrity": "sha1-Uvq8xqYG0aADAoAmSO9o9jnaJow=", - "dev": true - }, - "buffer-json": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/buffer-json/download/buffer-json-2.0.0.tgz", - "integrity": "sha1-9z4TseQvGW/i/WfQAcfXEH7dfCM=", - "dev": true - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/buffer-xor/download/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/builtin-status-codes/download/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.1.0.tgz", - "integrity": "sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY=", - "dev": true - }, - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.nlark.com/cacache/download/cacache-12.0.4.tgz?cache=0&sync_timestamp=1629999544020&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcacache%2Fdownload%2Fcacache-12.0.4.tgz", - "integrity": "sha1-ZovL0QWutfHZL+JVcOyVJcj6pAw=", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - }, - "dependencies": { - "ssri": { - "version": "6.0.2", - "resolved": "https://registry.nlark.com/ssri/download/ssri-6.0.2.tgz?cache=0&sync_timestamp=1621364647836&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fssri%2Fdownload%2Fssri-6.0.2.tgz", - "integrity": "sha1-FXk5E08gRk5zAd26PpD/qPdyisU=", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-4.0.3.tgz?cache=0&sync_timestamp=1617822642544&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-4.0.3.tgz", - "integrity": "sha1-tfJZyCzW4zaSHv17/Yv1YN6e7t8=", - "dev": true - } - } - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/cache-base/download/cache-base-1.0.1.tgz", - "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=", - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "cache-loader": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/cache-loader/download/cache-loader-4.1.0.tgz?cache=0&sync_timestamp=1601432152909&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcache-loader%2Fdownload%2Fcache-loader-4.1.0.tgz", - "integrity": "sha1-mUjK41OuwKH8ser9ojAIFuyFOH4=", - "dev": true, - "requires": { - "buffer-json": "^2.0.0", - "find-cache-dir": "^3.0.0", - "loader-utils": "^1.2.3", - "mkdirp": "^0.5.1", - "neo-async": "^2.6.1", - "schema-utils": "^2.0.0" - } - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/call-bind/download/call-bind-1.0.2.tgz?cache=0&sync_timestamp=1610405478355&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcall-bind%2Fdownload%2Fcall-bind-1.0.2.tgz", - "integrity": "sha1-sdTonmiBGcPJqQOtMKuy9qkZvjw=", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "call-me-maybe": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/call-me-maybe/download/call-me-maybe-1.0.1.tgz", - "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", - "dev": true - }, - "caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/caller-callsite/download/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", - "dev": true, - "requires": { - "callsites": "^2.0.0" - } - }, - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/caller-path/download/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "dev": true, - "requires": { - "caller-callsite": "^2.0.0" - } - }, - "callsite": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/callsite/download/callsite-1.0.0.tgz", - "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", - "dev": true - }, - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/callsites/download/callsites-2.0.0.tgz?cache=0&sync_timestamp=1628464722297&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcallsites%2Fdownload%2Fcallsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "dev": true - }, - "camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/camel-case/download/camel-case-3.0.0.tgz?cache=0&sync_timestamp=1606867359182&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamel-case%2Fdownload%2Fcamel-case-3.0.0.tgz", - "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", - "dev": true, - "requires": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npm.taobao.org/camelcase/download/camelcase-5.3.1.tgz?cache=0&sync_timestamp=1603921787305&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcamelcase%2Fdownload%2Fcamelcase-5.3.1.tgz", - "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=", - "dev": true - }, - "caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/caniuse-api/download/caniuse-api-3.0.0.tgz", - "integrity": "sha1-Xk2Q4idJYdRikZl99Znj7QCO5MA=", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "caniuse-lite": { - "version": "1.0.30001263", - "resolved": "https://registry.npmmirror.com/caniuse-lite/download/caniuse-lite-1.0.30001263.tgz?cache=0&sync_timestamp=1633064150866&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fcaniuse-lite%2Fdownload%2Fcaniuse-lite-1.0.30001263.tgz", - "integrity": "sha1-fOem+0gqE3WFy8kIqvOOkMU6FqQ=", - "dev": true - }, - "case-sensitive-paths-webpack-plugin": { - "version": "2.4.0", - "resolved": "https://registry.npm.taobao.org/case-sensitive-paths-webpack-plugin/download/case-sensitive-paths-webpack-plugin-2.4.0.tgz?cache=0&sync_timestamp=1614019098201&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcase-sensitive-paths-webpack-plugin%2Fdownload%2Fcase-sensitive-paths-webpack-plugin-2.4.0.tgz", - "integrity": "sha1-22QGbGQi7tLgjMFLmGykN5bbxtQ=", - "dev": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.nlark.com/chalk/download/chalk-2.4.2.tgz?cache=0&sync_timestamp=1627646697260&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-2.4.2.tgz", - "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", - "dev": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "chartist": { - "version": "0.11.4", - "resolved": "https://registry.npm.taobao.org/chartist/download/chartist-0.11.4.tgz", - "integrity": "sha1-6W4cVz2LZ0eJIKOmrlI1nZ/I2Lc=" - }, - "check-types": { - "version": "8.0.3", - "resolved": "https://registry.npm.taobao.org/check-types/download/check-types-8.0.3.tgz", - "integrity": "sha1-M1bMoZyIlUTy16le1JzlCKDs9VI=", - "dev": true - }, - "chokidar": { - "version": "3.5.2", - "resolved": "https://registry.nlark.com/chokidar/download/chokidar-3.5.2.tgz?cache=0&sync_timestamp=1623763535523&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchokidar%2Fdownload%2Fchokidar-3.5.2.tgz", - "integrity": "sha1-26OXb8rbAW9m/TZQIdkWANAcHnU=", - "dev": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmmirror.com/glob-parent/download/glob-parent-5.1.2.tgz", - "integrity": "sha1-hpgyxYA0/mikCTwX3BXoNA2EAcQ=", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/chownr/download/chownr-1.1.4.tgz", - "integrity": "sha1-b8nXtC0ypYNZYzdmbn0ICE2izGs=", - "dev": true - }, - "chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/chrome-trace-event/download/chrome-trace-event-1.0.3.tgz?cache=0&sync_timestamp=1617905865899&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fchrome-trace-event%2Fdownload%2Fchrome-trace-event-1.0.3.tgz", - "integrity": "sha1-EBXs7UdB4V0GZkqVfbv1DQQeJqw=", - "dev": true - }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/cipher-base/download/cipher-base-1.0.4.tgz", - "integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npm.taobao.org/class-utils/download/class-utils-0.3.6.tgz", - "integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "clean-css": { - "version": "4.2.3", - "resolved": "https://registry.npmmirror.com/clean-css/download/clean-css-4.2.3.tgz", - "integrity": "sha1-UHtd59l7SO5T2ErbAWD/YhY4D3g=", - "dev": true, - "requires": { - "source-map": "~0.6.0" - } - }, - "cli-cursor": { - "version": "2.1.0", - "resolved": "https://registry.nlark.com/cli-cursor/download/cli-cursor-2.1.0.tgz?cache=0&sync_timestamp=1629747481175&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcli-cursor%2Fdownload%2Fcli-cursor-2.1.0.tgz", - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "dev": true, - "requires": { - "restore-cursor": "^2.0.0" - } - }, - "cli-highlight": { - "version": "2.1.11", - "resolved": "https://registry.npm.taobao.org/cli-highlight/download/cli-highlight-2.1.11.tgz?cache=0&sync_timestamp=1616955767588&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcli-highlight%2Fdownload%2Fcli-highlight-2.1.11.tgz", - "integrity": "sha1-SXNvpFLwqvT65YDjCssmgo0twb8=", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "highlight.js": "^10.7.1", - "mz": "^2.4.0", - "parse5": "^5.1.1", - "parse5-htmlparser2-tree-adapter": "^6.0.0", - "yargs": "^16.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1618995625950&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.nlark.com/chalk/download/chalk-4.1.2.tgz?cache=0&sync_timestamp=1627646697260&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchalk%2Fdownload%2Fchalk-4.1.2.tgz", - "integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.nlark.com/has-flag/download/has-flag-4.0.0.tgz", - "integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.nlark.com/supports-color/download/supports-color-7.2.0.tgz?cache=0&sync_timestamp=1626703414084&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-7.2.0.tgz", - "integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "cli-spinners": { - "version": "2.6.0", - "resolved": "https://registry.npm.taobao.org/cli-spinners/download/cli-spinners-2.6.0.tgz?cache=0&sync_timestamp=1616091539101&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcli-spinners%2Fdownload%2Fcli-spinners-2.6.0.tgz", - "integrity": "sha1-NsfcmPtqmna9YjjsP3fiQlYn6Tk=", - "dev": true - }, - "clipboardy": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/clipboardy/download/clipboardy-2.3.0.tgz", - "integrity": "sha1-PCkDZQxo5GqRs4iYW8J3QofbopA=", - "dev": true, - "requires": { - "arch": "^2.1.1", - "execa": "^1.0.0", - "is-wsl": "^2.1.1" - }, - "dependencies": { - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/is-wsl/download/is-wsl-2.2.0.tgz", - "integrity": "sha1-dKTHbnfKn9P5MvKQwX6jJs0VcnE=", - "dev": true, - "requires": { - "is-docker": "^2.0.0" - } - } - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-6.0.0.tgz?cache=0&sync_timestamp=1604880267387&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-6.0.0.tgz", - "integrity": "sha1-UR1wLAxOQcoVbX0OlgIfI+EyJbE=", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1618995625950&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz?cache=0&sync_timestamp=1618552489864&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-fullwidth-code-point%2Fdownload%2Fis-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmmirror.com/string-width/download/string-width-4.2.3.tgz", - "integrity": "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-6.2.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-6.2.0.tgz", - "integrity": "sha1-6Tk7oHEC5skaOyIUePAlfNKFblM=", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/clone/download/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "dev": true - }, - "coa": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/coa/download/coa-2.0.2.tgz", - "integrity": "sha1-Q/bCEVG07yv1cYfbDXPeIp4+fsM=", - "dev": true, - "requires": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - } - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/collection-visit/download/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, - "color": { - "version": "3.2.1", - "resolved": "https://registry.nlark.com/color/download/color-3.2.1.tgz?cache=0&sync_timestamp=1628104117021&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcolor%2Fdownload%2Fcolor-3.2.1.tgz", - "integrity": "sha1-NUTcGYyvRJDD7MmnkLVP6f9F4WQ=", - "dev": true, - "requires": { - "color-convert": "^1.9.3", - "color-string": "^1.6.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-1.9.3.tgz", - "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "color-string": { - "version": "1.6.0", - "resolved": "https://registry.nlark.com/color-string/download/color-string-1.6.0.tgz", - "integrity": "sha1-w5FfYf4mdnLLfh4GTJ1pIhn2wxI=", - "dev": true, - "requires": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.8.tgz", - "integrity": "sha1-w9RaizT9cwYxoRCoolIGgrMdWn8=", - "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "2.17.1", - "resolved": "https://registry.nlark.com/commander/download/commander-2.17.1.tgz", - "integrity": "sha1-vXerfebelCBc6sxy8XFtKfIKd78=", - "dev": true - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/commondir/download/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/component-emitter/download/component-emitter-1.3.0.tgz", - "integrity": "sha1-FuQHD7qK4ptnnyIVhT7hgasuq8A=", - "dev": true - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npm.taobao.org/compressible/download/compressible-2.0.18.tgz", - "integrity": "sha1-r1PMprBw1MPAdQ+9dyhqbXzEb7o=", - "dev": true, - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npm.taobao.org/compression/download/compression-1.7.4.tgz", - "integrity": "sha1-lVI+/xcMpXwpoMpB5v4TH0Hlu48=", - "dev": true, - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "dependencies": { - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/bytes/download/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.nlark.com/debug/download/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", - "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", - "dev": true - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npm.taobao.org/concat-stream/download/concat-stream-1.6.2.tgz", - "integrity": "sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ=", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npm.taobao.org/connect-history-api-fallback/download/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha1-izIIk1kwjRERFdgcrT/Oq4iPl7w=", - "dev": true - }, - "console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/console-browserify/download/console-browserify-1.2.0.tgz", - "integrity": "sha1-ZwY871fOts9Jk6KrOlWECujEkzY=", - "dev": true - }, - "consolidate": { - "version": "0.15.1", - "resolved": "https://registry.npm.taobao.org/consolidate/download/consolidate-0.15.1.tgz", - "integrity": "sha1-IasEMjXHGgfUXZqtmFk7DbpWurc=", - "dev": true, - "requires": { - "bluebird": "^3.1.1" - } - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/constants-browserify/download/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true - }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.3.tgz", - "integrity": "sha1-4TDK9+cnkIfFYWwgB9BIVpiYT70=", - "dev": true, - "requires": { - "safe-buffer": "5.1.2" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", - "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", - "dev": true - } - } - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/content-type/download/content-type-1.0.4.tgz", - "integrity": "sha1-4TjMdeBAxyexlm/l5fjJruJW/js=", - "dev": true - }, - "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npm.taobao.org/cookie/download/cookie-0.4.0.tgz", - "integrity": "sha1-vrQ35wIrO21JAZ0IhmUwPr6cFLo=", - "dev": true - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npm.taobao.org/cookie-signature/download/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true - }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/copy-concurrently/download/copy-concurrently-1.0.5.tgz", - "integrity": "sha1-kilzmMrjSTf8r9bsgTnBgFHwteA=", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/copy-descriptor/download/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true - }, - "copy-webpack-plugin": { - "version": "5.1.2", - "resolved": "https://registry.nlark.com/copy-webpack-plugin/download/copy-webpack-plugin-5.1.2.tgz?cache=0&sync_timestamp=1624628458516&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcopy-webpack-plugin%2Fdownload%2Fcopy-webpack-plugin-5.1.2.tgz", - "integrity": "sha1-ioieHcr6bJHGzUvhrRWPHTgjuuI=", - "dev": true, - "requires": { - "cacache": "^12.0.3", - "find-cache-dir": "^2.1.0", - "glob-parent": "^3.1.0", - "globby": "^7.1.1", - "is-glob": "^4.0.1", - "loader-utils": "^1.2.3", - "minimatch": "^3.0.4", - "normalize-path": "^3.0.0", - "p-limit": "^2.2.1", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "webpack-log": "^2.0.0" - }, - "dependencies": { - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.nlark.com/find-cache-dir/download/find-cache-dir-2.1.0.tgz?cache=0&sync_timestamp=1630260009898&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffind-cache-dir%2Fdownload%2Ffind-cache-dir-2.1.0.tgz", - "integrity": "sha1-jQ+UzRP+Q8bHwmGg2GEVypGMBfc=", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/find-up/download/find-up-3.0.0.tgz?cache=0&sync_timestamp=1632654133435&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ffind-up%2Fdownload%2Ffind-up-3.0.0.tgz", - "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "globby": { - "version": "7.1.1", - "resolved": "https://registry.nlark.com/globby/download/globby-7.1.1.tgz", - "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "dir-glob": "^2.0.0", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/locate-path/download/locate-path-3.0.0.tgz?cache=0&sync_timestamp=1629895618224&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flocate-path%2Fdownload%2Flocate-path-3.0.0.tgz", - "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz", - "integrity": "sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/p-locate/download/p-locate-3.0.0.tgz?cache=0&sync_timestamp=1629892721671&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-locate%2Fdownload%2Fp-locate-3.0.0.tgz", - "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/path-exists/download/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-3.0.0.tgz?cache=0&sync_timestamp=1602859010405&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpkg-dir%2Fdownload%2Fpkg-dir-3.0.0.tgz", - "integrity": "sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM=", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.nlark.com/schema-utils/download/schema-utils-1.0.0.tgz?cache=0&sync_timestamp=1626694740261&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fschema-utils%2Fdownload%2Fschema-utils-1.0.0.tgz", - "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1616463641178&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", - "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", - "dev": true - } - } - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.nlark.com/core-util-is/download/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.nlark.com/cosmiconfig/download/cosmiconfig-5.2.1.tgz?cache=0&sync_timestamp=1629585969900&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcosmiconfig%2Fdownload%2Fcosmiconfig-5.2.1.tgz", - "integrity": "sha1-BA9yaAnFked6F8CjYmykW08Wixo=", - "dev": true, - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - }, - "dependencies": { - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-4.0.0.tgz?cache=0&sync_timestamp=1610966642419&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - } - } - }, - "create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npm.taobao.org/create-ecdh/download/create-ecdh-4.0.4.tgz", - "integrity": "sha1-1uf0v/pmc2CFoHYv06YyaE2rzE4=", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - } - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/create-hash/download/create-hash-1.2.0.tgz", - "integrity": "sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY=", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npm.taobao.org/create-hmac/download/create-hmac-1.1.7.tgz", - "integrity": "sha1-aRcMeLOrlXFHsriwRXLkfq0iQ/8=", - "dev": true, - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-6.0.5.tgz", - "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1616463641178&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", - "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", - "dev": true - } - } - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npm.taobao.org/crypto-browserify/download/crypto-browserify-3.12.0.tgz", - "integrity": "sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=", - "dev": true, - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } - }, - "css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npm.taobao.org/css-color-names/download/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", - "dev": true - }, - "css-declaration-sorter": { - "version": "4.0.1", - "resolved": "https://registry.nlark.com/css-declaration-sorter/download/css-declaration-sorter-4.0.1.tgz?cache=0&sync_timestamp=1630965563343&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcss-declaration-sorter%2Fdownload%2Fcss-declaration-sorter-4.0.1.tgz", - "integrity": "sha1-wZiUD2OnbX42wecQGLABchBUyyI=", - "dev": true, - "requires": { - "postcss": "^7.0.1", - "timsort": "^0.3.0" - } - }, - "css-loader": { - "version": "3.6.0", - "resolved": "https://registry.nlark.com/css-loader/download/css-loader-3.6.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcss-loader%2Fdownload%2Fcss-loader-3.6.0.tgz", - "integrity": "sha1-Lkssfm4tJ/jI8o9hv/zS5ske9kU=", - "dev": true, - "requires": { - "camelcase": "^5.3.1", - "cssesc": "^3.0.0", - "icss-utils": "^4.1.1", - "loader-utils": "^1.2.3", - "normalize-path": "^3.0.0", - "postcss": "^7.0.32", - "postcss-modules-extract-imports": "^2.0.0", - "postcss-modules-local-by-default": "^3.0.2", - "postcss-modules-scope": "^2.2.0", - "postcss-modules-values": "^3.0.0", - "postcss-value-parser": "^4.1.0", - "schema-utils": "^2.7.0", - "semver": "^6.3.0" - } - }, - "css-select": { - "version": "2.1.0", - "resolved": "https://registry.nlark.com/css-select/download/css-select-2.1.0.tgz?cache=0&sync_timestamp=1622994276976&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcss-select%2Fdownload%2Fcss-select-2.1.0.tgz", - "integrity": "sha1-ajRlM1ZjWTSoG6ymjQJVQyEF2+8=", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" - } - }, - "css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/css-select-base-adapter/download/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha1-Oy/0lyzDYquIVhUHqVQIoUMhNdc=", - "dev": true - }, - "css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npm.taobao.org/css-tree/download/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha1-mL69YsTB2flg7DQM+fdSLjBwmiI=", - "dev": true, - "requires": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - } - }, - "css-what": { - "version": "3.4.2", - "resolved": "https://registry.nlark.com/css-what/download/css-what-3.4.2.tgz?cache=0&sync_timestamp=1622227658327&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcss-what%2Fdownload%2Fcss-what-3.4.2.tgz", - "integrity": "sha1-6nAm/LAXd+295SEk4h8yfnrpUOQ=", - "dev": true - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/cssesc/download/cssesc-3.0.0.tgz", - "integrity": "sha1-N3QZGZA7hoVl4cCep0dEXNGJg+4=", - "dev": true - }, - "cssnano": { - "version": "4.1.11", - "resolved": "https://registry.nlark.com/cssnano/download/cssnano-4.1.11.tgz", - "integrity": "sha1-x7X1uB2iacsf2YLLlgwSAJEMmpk=", - "dev": true, - "requires": { - "cosmiconfig": "^5.0.0", - "cssnano-preset-default": "^4.0.8", - "is-resolvable": "^1.0.0", - "postcss": "^7.0.0" - } - }, - "cssnano-preset-default": { - "version": "4.0.8", - "resolved": "https://registry.nlark.com/cssnano-preset-default/download/cssnano-preset-default-4.0.8.tgz", - "integrity": "sha1-kgYisfwelaNOiDggPxOXpQTy0/8=", - "dev": true, - "requires": { - "css-declaration-sorter": "^4.0.1", - "cssnano-util-raw-cache": "^4.0.1", - "postcss": "^7.0.0", - "postcss-calc": "^7.0.1", - "postcss-colormin": "^4.0.3", - "postcss-convert-values": "^4.0.1", - "postcss-discard-comments": "^4.0.2", - "postcss-discard-duplicates": "^4.0.2", - "postcss-discard-empty": "^4.0.1", - "postcss-discard-overridden": "^4.0.1", - "postcss-merge-longhand": "^4.0.11", - "postcss-merge-rules": "^4.0.3", - "postcss-minify-font-values": "^4.0.2", - "postcss-minify-gradients": "^4.0.2", - "postcss-minify-params": "^4.0.2", - "postcss-minify-selectors": "^4.0.2", - "postcss-normalize-charset": "^4.0.1", - "postcss-normalize-display-values": "^4.0.2", - "postcss-normalize-positions": "^4.0.2", - "postcss-normalize-repeat-style": "^4.0.2", - "postcss-normalize-string": "^4.0.2", - "postcss-normalize-timing-functions": "^4.0.2", - "postcss-normalize-unicode": "^4.0.1", - "postcss-normalize-url": "^4.0.1", - "postcss-normalize-whitespace": "^4.0.2", - "postcss-ordered-values": "^4.1.2", - "postcss-reduce-initial": "^4.0.3", - "postcss-reduce-transforms": "^4.0.2", - "postcss-svgo": "^4.0.3", - "postcss-unique-selectors": "^4.0.1" - } - }, - "cssnano-util-get-arguments": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/cssnano-util-get-arguments/download/cssnano-util-get-arguments-4.0.0.tgz", - "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", - "dev": true - }, - "cssnano-util-get-match": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/cssnano-util-get-match/download/cssnano-util-get-match-4.0.0.tgz", - "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", - "dev": true - }, - "cssnano-util-raw-cache": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/cssnano-util-raw-cache/download/cssnano-util-raw-cache-4.0.1.tgz", - "integrity": "sha1-sm1f1fcqEd/np4RvtMZyYPlr8oI=", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "cssnano-util-same-parent": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/cssnano-util-same-parent/download/cssnano-util-same-parent-4.0.1.tgz", - "integrity": "sha1-V0CC+yhZ0ttDOFWDXZqEVuoYu/M=", - "dev": true - }, - "csso": { - "version": "4.2.0", - "resolved": "https://registry.npm.taobao.org/csso/download/csso-4.2.0.tgz?cache=0&sync_timestamp=1606408790645&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcsso%2Fdownload%2Fcsso-4.2.0.tgz", - "integrity": "sha1-6jpWE0bo3J9UbW/r7dUBh884lSk=", - "dev": true, - "requires": { - "css-tree": "^1.1.2" - }, - "dependencies": { - "css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/css-tree/download/css-tree-1.1.3.tgz", - "integrity": "sha1-60hw+2/XcHMn7JXC/yqwm16NuR0=", - "dev": true, - "requires": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - } - }, - "mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.nlark.com/mdn-data/download/mdn-data-2.0.14.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmdn-data%2Fdownload%2Fmdn-data-2.0.14.tgz", - "integrity": "sha1-cRP8QoGRfWPOKbQ0RvcB5owlulA=", - "dev": true - } - } - }, - "cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/cyclist/download/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", - "dev": true - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz?cache=0&sync_timestamp=1601073333186&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdashdash%2Fdownload%2Fdashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "de-indent": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/de-indent/download/de-indent-1.0.2.tgz", - "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=", - "dev": true - }, - "debug": { - "version": "4.3.2", - "resolved": "https://registry.nlark.com/debug/download/debug-4.3.2.tgz", - "integrity": "sha1-8KScGKyHeeMdSgxgKd+3aHPHQos=", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "decache": { - "version": "4.6.0", - "resolved": "https://registry.npm.taobao.org/decache/download/decache-4.6.0.tgz", - "integrity": "sha1-hwJrxuaWdZ6C1Xo4QcTiUaMDVug=", - "dev": true, - "requires": { - "callsite": "^1.0.0" - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmmirror.com/decamelize/download/decamelize-1.2.0.tgz?cache=0&sync_timestamp=1633055760479&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fdecamelize%2Fdownload%2Fdecamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npm.taobao.org/decode-uri-component/download/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true - }, - "deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/deep-equal/download/deep-equal-1.1.1.tgz?cache=0&sync_timestamp=1606859943631&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdeep-equal%2Fdownload%2Fdeep-equal-1.1.1.tgz", - "integrity": "sha1-tcmMlCzv+vfLBR4k4UNKJaLmB2o=", - "dev": true, - "requires": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" - } - }, - "deepmerge": { - "version": "1.5.2", - "resolved": "https://registry.npm.taobao.org/deepmerge/download/deepmerge-1.5.2.tgz", - "integrity": "sha1-EEmdhohEza1P7ghC34x/bwyVp1M=", - "dev": true - }, - "default-gateway": { - "version": "5.0.5", - "resolved": "https://registry.npm.taobao.org/default-gateway/download/default-gateway-5.0.5.tgz?cache=0&sync_timestamp=1610365857779&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdefault-gateway%2Fdownload%2Fdefault-gateway-5.0.5.tgz", - "integrity": "sha1-T9a9XShV05s0zFpZUFSG6ar8mxA=", - "dev": true, - "requires": { - "execa": "^3.3.0" - }, - "dependencies": { - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npm.taobao.org/cross-spawn/download/cross-spawn-7.0.3.tgz", - "integrity": "sha1-9zqFudXUHQRVUcF34ogtSshXKKY=", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "execa": { - "version": "3.4.0", - "resolved": "https://registry.nlark.com/execa/download/execa-3.4.0.tgz?cache=0&sync_timestamp=1622825446570&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fexeca%2Fdownload%2Fexeca-3.4.0.tgz", - "integrity": "sha1-wI7UVQ72XYWPrCaf/IVyRG8364k=", - "dev": true, - "requires": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "p-finally": "^2.0.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - } - }, - "get-stream": { - "version": "5.2.0", - "resolved": "https://registry.nlark.com/get-stream/download/get-stream-5.2.0.tgz?cache=0&sync_timestamp=1618847023057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fget-stream%2Fdownload%2Fget-stream-5.2.0.tgz", - "integrity": "sha1-SWaheV7lrOZecGxLe+txJX1uItM=", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "is-stream": { - "version": "2.0.1", - "resolved": "https://registry.nlark.com/is-stream/download/is-stream-2.0.1.tgz", - "integrity": "sha1-+sHj1TuXrVqdCunO8jifWBClwHc=", - "dev": true - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.nlark.com/mimic-fn/download/mimic-fn-2.1.0.tgz", - "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=", - "dev": true - }, - "npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-4.0.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnpm-run-path%2Fdownload%2Fnpm-run-path-4.0.1.tgz", - "integrity": "sha1-t+zR5e1T2o43pV4cImnguX7XSOo=", - "dev": true, - "requires": { - "path-key": "^3.0.0" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-5.1.2.tgz?cache=0&sync_timestamp=1617889724435&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fonetime%2Fdownload%2Fonetime-5.1.2.tgz", - "integrity": "sha1-0Oluu1awdHbfHdnEgG5SN5hcpF4=", - "dev": true, - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "p-finally": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/p-finally/download/p-finally-2.0.1.tgz?cache=0&sync_timestamp=1617947695861&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-finally%2Fdownload%2Fp-finally-2.0.1.tgz", - "integrity": "sha1-vW/KqcVZoJa2gIBvTWV7Pw8kBWE=", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-3.1.1.tgz?cache=0&sync_timestamp=1617971632960&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-key%2Fdownload%2Fpath-key-3.1.1.tgz", - "integrity": "sha1-WB9q3mWMu6ZaDTOA3ndTKVBU83U=", - "dev": true - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-2.0.0.tgz", - "integrity": "sha1-zNCvT4g1+9wmW4JGGq8MNmY/NOo=", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/shebang-regex/download/shebang-regex-3.0.0.tgz?cache=0&sync_timestamp=1628896299850&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fshebang-regex%2Fdownload%2Fshebang-regex-3.0.0.tgz", - "integrity": "sha1-rhbxZE2HPsrYQ7AwexQzYtTEIXI=", - "dev": true - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/which/download/which-2.0.2.tgz", - "integrity": "sha1-fGqN0KY2oDJ+ELWckobu6T8/UbE=", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "defaults": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/defaults/download/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", - "dev": true, - "requires": { - "clone": "^1.0.2" - } - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/define-properties/download/define-properties-1.1.3.tgz", - "integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=", - "dev": true, - "requires": { - "object-keys": "^1.0.12" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-2.0.2.tgz", - "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", - "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", - "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "del": { - "version": "4.1.1", - "resolved": "https://registry.npm.taobao.org/del/download/del-4.1.1.tgz?cache=0&sync_timestamp=1601076741536&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdel%2Fdownload%2Fdel-4.1.1.tgz", - "integrity": "sha1-no8RciLqRKMf86FWwEm5kFKp8LQ=", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "globby": "^6.1.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "pify": "^4.0.1", - "rimraf": "^2.6.3" - }, - "dependencies": { - "globby": { - "version": "6.1.0", - "resolved": "https://registry.nlark.com/globby/download/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/pify/download/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - } - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/depd/download/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true - }, - "des.js": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/des.js/download/des.js-1.0.1.tgz", - "integrity": "sha1-U4IULhvcU/hdhtU+X0qn3rkeCEM=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - } - }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true - }, - "detect-node": { - "version": "2.1.0", - "resolved": "https://registry.nlark.com/detect-node/download/detect-node-2.1.0.tgz?cache=0&sync_timestamp=1621146954463&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdetect-node%2Fdownload%2Fdetect-node-2.1.0.tgz", - "integrity": "sha1-yccHdaScPQO8LAbZpzvlUPl4+LE=", - "dev": true - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npm.taobao.org/diffie-hellman/download/diffie-hellman-5.0.3.tgz", - "integrity": "sha1-QOjumPVaIUlgcUaSHGPhrl89KHU=", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - } - } - }, - "dir-glob": { - "version": "2.2.2", - "resolved": "https://registry.npm.taobao.org/dir-glob/download/dir-glob-2.2.2.tgz", - "integrity": "sha1-+gnwaUFTyJGLGLoN6vrpR2n8UMQ=", - "dev": true, - "requires": { - "path-type": "^3.0.0" - } - }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/dns-equal/download/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", - "dev": true - }, - "dns-packet": { - "version": "1.3.4", - "resolved": "https://registry.nlark.com/dns-packet/download/dns-packet-1.3.4.tgz", - "integrity": "sha1-40VQZYJKJQe6iGxVqJljuxB97G8=", - "dev": true, - "requires": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/dns-txt/download/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", - "dev": true, - "requires": { - "buffer-indexof": "^1.0.0" - } - }, - "dom-converter": { - "version": "0.2.0", - "resolved": "https://registry.npm.taobao.org/dom-converter/download/dom-converter-0.2.0.tgz", - "integrity": "sha1-ZyGp2u4uKTaClVtq/kFncWJ7t2g=", - "dev": true, - "requires": { - "utila": "~0.4" - } - }, - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.nlark.com/dom-serializer/download/dom-serializer-0.2.2.tgz?cache=0&sync_timestamp=1621256830355&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdom-serializer%2Fdownload%2Fdom-serializer-0.2.2.tgz", - "integrity": "sha1-GvuB9TNxcXXUeGVd68XjMtn5u1E=", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - }, - "dependencies": { - "domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.nlark.com/domelementtype/download/domelementtype-2.2.0.tgz", - "integrity": "sha1-mgtsJ4LtahxzI9QiZxg9+b2LHVc=", - "dev": true - } - } - }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.nlark.com/domain-browser/download/domain-browser-1.2.0.tgz?cache=0&sync_timestamp=1627591557212&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdomain-browser%2Fdownload%2Fdomain-browser-1.2.0.tgz", - "integrity": "sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto=", - "dev": true - }, - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.nlark.com/domelementtype/download/domelementtype-1.3.1.tgz", - "integrity": "sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8=", - "dev": true - }, - "domhandler": { - "version": "4.2.2", - "resolved": "https://registry.nlark.com/domhandler/download/domhandler-4.2.2.tgz?cache=0&sync_timestamp=1630246778110&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdomhandler%2Fdownload%2Fdomhandler-4.2.2.tgz", - "integrity": "sha1-6CXXIdGahrjCAaNSZOImxnjudV8=", - "dev": true, - "requires": { - "domelementtype": "^2.2.0" - }, - "dependencies": { - "domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.nlark.com/domelementtype/download/domelementtype-2.2.0.tgz", - "integrity": "sha1-mgtsJ4LtahxzI9QiZxg9+b2LHVc=", - "dev": true - } - } - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.nlark.com/domutils/download/domutils-1.7.0.tgz?cache=0&sync_timestamp=1630106606599&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdomutils%2Fdownload%2Fdomutils-1.7.0.tgz", - "integrity": "sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo=", - "dev": true, - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npm.taobao.org/dot-prop/download/dot-prop-5.3.0.tgz?cache=0&sync_timestamp=1605778245141&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdot-prop%2Fdownload%2Fdot-prop-5.3.0.tgz", - "integrity": "sha1-kMzOcIzZzYLMTcjD3dmr3VWyDog=", - "dev": true, - "requires": { - "is-obj": "^2.0.0" - } - }, - "dotenv": { - "version": "8.6.0", - "resolved": "https://registry.nlark.com/dotenv/download/dotenv-8.6.0.tgz?cache=0&sync_timestamp=1621633079842&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdotenv%2Fdownload%2Fdotenv-8.6.0.tgz", - "integrity": "sha1-Bhr2ZNGff02PxuT/m1hM4jety4s=", - "dev": true - }, - "dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npm.taobao.org/dotenv-expand/download/dotenv-expand-5.1.0.tgz", - "integrity": "sha1-P7rwIL/XlIhAcuomsel5HUWmKfA=", - "dev": true - }, - "duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/duplexer/download/duplexer-0.1.2.tgz?cache=0&sync_timestamp=1597220926027&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fduplexer%2Fdownload%2Fduplexer-0.1.2.tgz", - "integrity": "sha1-Or5DrvODX4rgd9E23c4PJ2sEAOY=", - "dev": true - }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.nlark.com/duplexify/download/duplexify-3.7.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fduplexify%2Fdownload%2Fduplexify-3.7.1.tgz", - "integrity": "sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk=", - "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" - } - }, - "easy-stack": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/easy-stack/download/easy-stack-1.0.1.tgz", - "integrity": "sha1-iv5CZGJpiMq7EfPHBMzQyDVBEGY=", - "dev": true - }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true - }, - "ejs": { - "version": "2.7.4", - "resolved": "https://registry.npm.taobao.org/ejs/download/ejs-2.7.4.tgz", - "integrity": "sha1-SGYSh1c9zFPjZsehrlLDoSDuybo=", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.856", - "resolved": "https://registry.npmmirror.com/electron-to-chromium/download/electron-to-chromium-1.3.856.tgz?cache=0&sync_timestamp=1633053822944&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Felectron-to-chromium%2Fdownload%2Felectron-to-chromium-1.3.856.tgz", - "integrity": "sha1-dd7g7vlwK/+rv0wSk8mJzTyst7o=", - "dev": true - }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npm.taobao.org/elliptic/download/elliptic-6.5.4.tgz", - "integrity": "sha1-2jfOvTHnmhNn6UG1ku0fvr1Yq7s=", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - } - } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmmirror.com/emoji-regex/download/emoji-regex-8.0.0.tgz", - "integrity": "sha1-6Bj9ac5cz8tARZT4QpY79TFkzDc=", - "dev": true - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-3.0.0.tgz", - "integrity": "sha1-VXBmIEatKeLpFucariYKvf9Pang=", - "dev": true - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "dev": true - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npm.taobao.org/end-of-stream/download/end-of-stream-1.4.4.tgz", - "integrity": "sha1-WuZKX0UFe682JuwU2gyl5LJDHrA=", - "dev": true, - "requires": { - "once": "^1.4.0" - } - }, - "enhanced-resolve": { - "version": "4.5.0", - "resolved": "https://registry.nlark.com/enhanced-resolve/download/enhanced-resolve-4.5.0.tgz?cache=0&sync_timestamp=1632130840337&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fenhanced-resolve%2Fdownload%2Fenhanced-resolve-4.5.0.tgz", - "integrity": "sha1-Lzz9hNvjtIfxjy2y7x4GSlccpew=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "dependencies": { - "memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.5.0.tgz", - "integrity": "sha1-MkwBKIuIZSlm0WHbd4OHIIRajjw=", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - } - } - }, - "entities": { - "version": "2.2.0", - "resolved": "https://registry.nlark.com/entities/download/entities-2.2.0.tgz?cache=0&sync_timestamp=1628508189267&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fentities%2Fdownload%2Fentities-2.2.0.tgz", - "integrity": "sha1-CY3JDruD2N/6CJ1VJWs1HTTE2lU=", - "dev": true - }, - "errno": { - "version": "0.1.8", - "resolved": "https://registry.npm.taobao.org/errno/download/errno-0.1.8.tgz?cache=0&sync_timestamp=1608121636522&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ferrno%2Fdownload%2Ferrno-0.1.8.tgz", - "integrity": "sha1-i7Ppx9Rjvkl2/4iPdrSAnrwugR8=", - "dev": true, - "requires": { - "prr": "~1.0.1" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npm.taobao.org/error-ex/download/error-ex-1.3.2.tgz", - "integrity": "sha1-tKxAZIEH/c3PriQvQovqihTU8b8=", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "error-stack-parser": { - "version": "2.0.6", - "resolved": "https://registry.npm.taobao.org/error-stack-parser/download/error-stack-parser-2.0.6.tgz", - "integrity": "sha1-WpmnB716TFinl5AtSNgoA+3mqtg=", - "dev": true, - "requires": { - "stackframe": "^1.1.1" - } - }, - "es-abstract": { - "version": "1.19.0", - "resolved": "https://registry.npmmirror.com/es-abstract/download/es-abstract-1.19.0.tgz?cache=0&sync_timestamp=1633061805422&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fes-abstract%2Fdownload%2Fes-abstract-1.19.0.tgz", - "integrity": "sha1-Cm5mgiaOf1vcHHQLM84leNZFONM=", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.4", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.1", - "is-string": "^1.0.7", - "is-weakref": "^1.0.1", - "object-inspect": "^1.11.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.1" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/es-to-primitive/download/es-to-primitive-1.2.1.tgz", - "integrity": "sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo=", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/escalade/download/escalade-3.1.1.tgz?cache=0&sync_timestamp=1602567230854&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fescalade%2Fdownload%2Fescalade-3.1.1.tgz", - "integrity": "sha1-2M/ccACWXFoBdLSoLqpcBVJ0LkA=", - "dev": true - }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.nlark.com/eslint-scope/download/eslint-scope-4.0.3.tgz", - "integrity": "sha1-ygODMxD2iJoyZHgaqC5j65z+eEg=", - "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" - } - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/esprima/download/esprima-4.0.1.tgz", - "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=", - "dev": true - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/esrecurse/download/esrecurse-4.3.0.tgz?cache=0&sync_timestamp=1598898247102&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fesrecurse%2Fdownload%2Fesrecurse-4.3.0.tgz", - "integrity": "sha1-eteWTWeauyi+5yzsY3WLHF0smSE=", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-5.2.0.tgz", - "integrity": "sha1-MH30JUfmzHMk088DwVXVzbjFOIA=", - "dev": true - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/estraverse/download/estraverse-4.3.0.tgz", - "integrity": "sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=", - "dev": true - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npm.taobao.org/etag/download/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "dev": true - }, - "event-pubsub": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/event-pubsub/download/event-pubsub-4.3.0.tgz?cache=0&sync_timestamp=1606361604403&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fevent-pubsub%2Fdownload%2Fevent-pubsub-4.3.0.tgz", - "integrity": "sha1-9o2Ba8KfHsAsU53FjI3UDOcss24=", - "dev": true - }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npm.taobao.org/eventemitter3/download/eventemitter3-4.0.7.tgz?cache=0&sync_timestamp=1598517809015&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feventemitter3%2Fdownload%2Feventemitter3-4.0.7.tgz", - "integrity": "sha1-Lem2j2Uo1WRO9cWVJqG0oHMGFp8=", - "dev": true - }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npm.taobao.org/events/download/events-3.3.0.tgz", - "integrity": "sha1-Mala0Kkk4tLEGagTrrLE6HjqdAA=", - "dev": true - }, - "eventsource": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/eventsource/download/eventsource-1.1.0.tgz?cache=0&sync_timestamp=1616041716084&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feventsource%2Fdownload%2Feventsource-1.1.0.tgz", - "integrity": "sha1-AOjKfJIQnpSw3fMtrGd9hBAoz68=", - "dev": true, - "requires": { - "original": "^1.0.0" - } - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/evp_bytestokey/download/evp_bytestokey-1.0.3.tgz", - "integrity": "sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=", - "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" - } - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.nlark.com/execa/download/execa-1.0.0.tgz?cache=0&sync_timestamp=1622825446570&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fexeca%2Fdownload%2Fexeca-1.0.0.tgz", - "integrity": "sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg=", - "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npm.taobao.org/expand-brackets/download/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.nlark.com/debug/download/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "express": { - "version": "4.17.1", - "resolved": "https://registry.npm.taobao.org/express/download/express-4.17.1.tgz", - "integrity": "sha1-RJH8OGBc9R+GKdOcK10Cb5ikwTQ=", - "dev": true, - "requires": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.nlark.com/debug/download/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.7.0.tgz?cache=0&sync_timestamp=1616385328325&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fqs%2Fdownload%2Fqs-6.7.0.tgz", - "integrity": "sha1-QdwaAV49WB8WIXdr4xr7KHapsbw=", - "dev": true - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", - "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", - "dev": true - } - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/extend/download/extend-3.0.2.tgz", - "integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=", - "dev": true - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz", - "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/extglob/download/extglob-2.0.4.tgz", - "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", - "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", - "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npm.taobao.org/fast-deep-equal/download/fast-deep-equal-3.1.3.tgz", - "integrity": "sha1-On1WtVnWy8PrUSMlJE5hmmXGxSU=", - "dev": true - }, - "fast-glob": { - "version": "2.2.7", - "resolved": "https://registry.nlark.com/fast-glob/download/fast-glob-2.2.7.tgz", - "integrity": "sha1-aVOFfDr6R1//ku5gFdUtpwpM050=", - "dev": true, - "requires": { - "@mrmlnc/readdir-enhanced": "^2.2.1", - "@nodelib/fs.stat": "^1.1.2", - "glob-parent": "^3.1.0", - "is-glob": "^4.0.0", - "merge2": "^1.2.3", - "micromatch": "^3.1.10" - }, - "dependencies": { - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz", - "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-3.1.10.tgz?cache=0&sync_timestamp=1618054787196&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmicromatch%2Fdownload%2Fmicromatch-3.1.10.tgz", - "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz?cache=0&sync_timestamp=1600349170187&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffast-json-stable-stringify%2Fdownload%2Ffast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=", - "dev": true - }, - "faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.nlark.com/faye-websocket/download/faye-websocket-0.11.4.tgz?cache=0&sync_timestamp=1621894983961&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffaye-websocket%2Fdownload%2Ffaye-websocket-0.11.4.tgz", - "integrity": "sha1-fw2Sdc/dhqHJY9yLZfzEUe3Lsdo=", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npm.taobao.org/figgy-pudding/download/figgy-pudding-3.5.2.tgz", - "integrity": "sha1-tO7oFIq7Adzx0aw0Nn1Z4S+mHW4=", - "dev": true - }, - "file-loader": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/file-loader/download/file-loader-4.3.0.tgz?cache=0&sync_timestamp=1603816990383&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffile-loader%2Fdownload%2Ffile-loader-4.3.0.tgz", - "integrity": "sha1-eA8ED3KbPRgBnyBgX3I+hEuKWK8=", - "dev": true, - "requires": { - "loader-utils": "^1.2.3", - "schema-utils": "^2.5.0" - } - }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz", - "integrity": "sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90=", - "dev": true, - "optional": true - }, - "filesize": { - "version": "3.6.1", - "resolved": "https://registry.nlark.com/filesize/download/filesize-3.6.1.tgz?cache=0&sync_timestamp=1631578775754&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffilesize%2Fdownload%2Ffilesize-3.6.1.tgz", - "integrity": "sha1-CQuz7gG2+AGoqL6Z0xcQs0Irsxc=", - "dev": true - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-7.0.1.tgz", - "integrity": "sha1-GRmmp8df44ssfHflGYU12prN2kA=", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/finalhandler/download/finalhandler-1.1.2.tgz", - "integrity": "sha1-t+fQAP/RGTjQ/bBTUG9uur6fWH0=", - "dev": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.nlark.com/debug/download/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.nlark.com/find-cache-dir/download/find-cache-dir-3.3.2.tgz?cache=0&sync_timestamp=1630260009898&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffind-cache-dir%2Fdownload%2Ffind-cache-dir-3.3.2.tgz", - "integrity": "sha1-swxbbv8HMHMa6pu9nb7L2AJW1ks=", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmmirror.com/find-up/download/find-up-4.1.0.tgz?cache=0&sync_timestamp=1632654133435&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ffind-up%2Fdownload%2Ffind-up-4.1.0.tgz", - "integrity": "sha1-l6/n1s3AvFkoWEt8jXsW6KmqXRk=", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/flush-write-stream/download/flush-write-stream-1.1.1.tgz", - "integrity": "sha1-jdfYc6G6vCB9lOrQwuDkQnbr8ug=", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" - } - }, - "follow-redirects": { - "version": "1.14.4", - "resolved": "https://registry.nlark.com/follow-redirects/download/follow-redirects-1.14.4.tgz", - "integrity": "sha1-g4/fSKi73XnlLuUfsclOPtmLk3k=" - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npm.taobao.org/form-data/download/form-data-2.3.3.tgz?cache=0&sync_timestamp=1613410812604&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fform-data%2Fdownload%2Fform-data-2.3.3.tgz", - "integrity": "sha1-3M5SwF9kTymManq5Nr1yTO/786Y=", - "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" - } - }, - "forwarded": { - "version": "0.2.0", - "resolved": "https://registry.nlark.com/forwarded/download/forwarded-0.2.0.tgz", - "integrity": "sha1-ImmTZCiq1MFcfr6XeahL8LKoGBE=", - "dev": true - }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npm.taobao.org/fragment-cache/download/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "dev": true, - "requires": { - "map-cache": "^0.2.2" - } - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npm.taobao.org/fresh/download/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "dev": true - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/from2/download/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" - } - }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.nlark.com/fs-extra/download/fs-extra-7.0.1.tgz", - "integrity": "sha1-TxicRKoSO4lfcigE9V6iPq3DSOk=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npm.taobao.org/fs-write-stream-atomic/download/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-2.3.2.tgz", - "integrity": "sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro=", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz", - "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz", - "integrity": "sha1-T5RBKoLbMvNuOwuXQfipf+sDH34=", - "dev": true - }, - "get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/get-intrinsic/download/get-intrinsic-1.1.1.tgz?cache=0&sync_timestamp=1612364352840&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-intrinsic%2Fdownload%2Fget-intrinsic-1.1.1.tgz", - "integrity": "sha1-FfWfN2+FXERpY5SPDSTNNje0q8Y=", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.nlark.com/get-stream/download/get-stream-4.1.0.tgz?cache=0&sync_timestamp=1618847023057&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fget-stream%2Fdownload%2Fget-stream-4.1.0.tgz", - "integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=", - "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.nlark.com/get-symbol-description/download/get-symbol-description-1.0.0.tgz", - "integrity": "sha1-f9uByQAQH71WTdXxowr1qtweWNY=", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npm.taobao.org/get-value/download/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true - }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "glob": { - "version": "7.2.0", - "resolved": "https://registry.npmmirror.com/glob/download/glob-7.2.0.tgz?cache=0&sync_timestamp=1632354560812&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fglob%2Fdownload%2Fglob-7.2.0.tgz", - "integrity": "sha1-0VU1r3cy4C6Uj0xBYovZECk/YCM=", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/glob-parent/download/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/is-glob/download/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "glob-to-regexp": { - "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/glob-to-regexp/download/glob-to-regexp-0.3.0.tgz", - "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", - "dev": true - }, - "globby": { - "version": "9.2.0", - "resolved": "https://registry.nlark.com/globby/download/globby-9.2.0.tgz", - "integrity": "sha1-/QKacGxwPSm90XD0tts6P3p8tj0=", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "array-union": "^1.0.2", - "dir-glob": "^2.2.2", - "fast-glob": "^2.2.6", - "glob": "^7.1.3", - "ignore": "^4.0.3", - "pify": "^4.0.1", - "slash": "^2.0.0" - }, - "dependencies": { - "ignore": { - "version": "4.0.6", - "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-4.0.6.tgz", - "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=", - "dev": true - }, - "slash": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/slash/download/slash-2.0.0.tgz", - "integrity": "sha1-3lUoUaF1nfOo8gZTVEL17E3eq0Q=", - "dev": true - } - } - }, - "graceful-fs": { - "version": "4.2.8", - "resolved": "https://registry.nlark.com/graceful-fs/download/graceful-fs-4.2.8.tgz?cache=0&sync_timestamp=1628194078324&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fgraceful-fs%2Fdownload%2Fgraceful-fs-4.2.8.tgz", - "integrity": "sha1-5BK40z9eAGWTy9PO5t+fLOu+gCo=", - "dev": true - }, - "gzip-size": { - "version": "5.1.1", - "resolved": "https://registry.npm.taobao.org/gzip-size/download/gzip-size-5.1.1.tgz", - "integrity": "sha1-y5vuaS+HwGErIyhAqHOQTkwTUnQ=", - "dev": true, - "requires": { - "duplexer": "^0.1.1", - "pify": "^4.0.1" - } - }, - "handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/handle-thing/download/handle-thing-2.0.1.tgz", - "integrity": "sha1-hX95zjWVgMNA1DCBzGSJcNC7I04=", - "dev": true - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/har-schema/download/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.5", - "resolved": "https://registry.npm.taobao.org/har-validator/download/har-validator-5.1.5.tgz", - "integrity": "sha1-HwgDufjLIMD6E4It8ezds2veHv0=", - "dev": true, - "requires": { - "ajv": "^6.12.3", - "har-schema": "^2.0.0" - } - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/has/download/has-1.0.3.tgz", - "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=", - "dev": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/has-bigints/download/has-bigints-1.0.1.tgz?cache=0&sync_timestamp=1615461293395&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhas-bigints%2Fdownload%2Fhas-bigints-1.0.1.tgz", - "integrity": "sha1-ZP5qywIGc+O3jbA1pa9pqp0HsRM=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/has-flag/download/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/has-symbols/download/has-symbols-1.0.2.tgz", - "integrity": "sha1-Fl0wcMADCXUqEjakeTMeOsVvFCM=", - "dev": true - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.nlark.com/has-tostringtag/download/has-tostringtag-1.0.0.tgz?cache=0&sync_timestamp=1628196402801&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhas-tostringtag%2Fdownload%2Fhas-tostringtag-1.0.0.tgz", - "integrity": "sha1-fhM4GKfTlHNPlB5zw9P5KR5liyU=", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-value/download/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/has-values/download/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/hash-base/download/hash-base-3.1.0.tgz", - "integrity": "sha1-VcOB2eBuHSmXqIO0o/3f5/DTrzM=", - "dev": true, - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", - "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "hash-sum": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/hash-sum/download/hash-sum-2.0.0.tgz", - "integrity": "sha1-gdAbtd6OpKIUrV1urRtSNGCwtFo=", - "dev": true - }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npm.taobao.org/hash.js/download/hash.js-1.1.7.tgz", - "integrity": "sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I=", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" - } - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/he/download/he-1.2.0.tgz", - "integrity": "sha1-hK5l+n6vsWX922FWauFLrwVmTw8=", - "dev": true - }, - "hex-color-regex": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/hex-color-regex/download/hex-color-regex-1.1.0.tgz", - "integrity": "sha1-TAb8y0YC/iYCs8k9+C1+fb8aio4=", - "dev": true - }, - "highlight.js": { - "version": "10.7.3", - "resolved": "https://registry.nlark.com/highlight.js/download/highlight.js-10.7.3.tgz", - "integrity": "sha1-aXJy45kTVuQMPKxWanTu9oF1ZTE=", - "dev": true - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/hmac-drbg/download/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", - "dev": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" - } - }, - "hoopy": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/hoopy/download/hoopy-0.1.4.tgz", - "integrity": "sha1-YJIH1mEQADOpqUAq096mdzgcGx0=", - "dev": true - }, - "hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.nlark.com/hosted-git-info/download/hosted-git-info-2.8.9.tgz", - "integrity": "sha1-3/wL+aIcAiCQkPKqaUKeFBTa8/k=", - "dev": true - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npm.taobao.org/hpack.js/download/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "hsl-regex": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/hsl-regex/download/hsl-regex-1.0.0.tgz", - "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", - "dev": true - }, - "hsla-regex": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/hsla-regex/download/hsla-regex-1.0.0.tgz", - "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", - "dev": true - }, - "html-entities": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/html-entities/download/html-entities-1.4.0.tgz?cache=0&sync_timestamp=1617031787889&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtml-entities%2Fdownload%2Fhtml-entities-1.4.0.tgz", - "integrity": "sha1-z70bAdKvr5rcobEK59/6uYxx0tw=", - "dev": true - }, - "html-minifier": { - "version": "3.5.21", - "resolved": "https://registry.npm.taobao.org/html-minifier/download/html-minifier-3.5.21.tgz", - "integrity": "sha1-0AQOBUcw41TbAIRjWTGUAVIS0gw=", - "dev": true, - "requires": { - "camel-case": "3.0.x", - "clean-css": "4.2.x", - "commander": "2.17.x", - "he": "1.2.x", - "param-case": "2.1.x", - "relateurl": "0.2.x", - "uglify-js": "3.4.x" - } - }, - "html-webpack-plugin": { - "version": "3.2.0", - "resolved": "https://registry.nlark.com/html-webpack-plugin/download/html-webpack-plugin-3.2.0.tgz", - "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", - "dev": true, - "requires": { - "html-minifier": "^3.2.3", - "loader-utils": "^0.2.16", - "lodash": "^4.17.3", - "pretty-error": "^2.0.2", - "tapable": "^1.0.0", - "toposort": "^1.0.0", - "util.promisify": "1.0.0" - }, - "dependencies": { - "big.js": { - "version": "3.2.0", - "resolved": "https://registry.nlark.com/big.js/download/big.js-3.2.0.tgz", - "integrity": "sha1-pfwpi4G54Nyi5FiCR4S2XFK6WI4=", - "dev": true - }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/emojis-list/download/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "dev": true - }, - "json5": { - "version": "0.5.1", - "resolved": "https://registry.npm.taobao.org/json5/download/json5-0.5.1.tgz?cache=0&sync_timestamp=1612146079519&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-0.5.1.tgz", - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "dev": true - }, - "loader-utils": { - "version": "0.2.17", - "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-0.2.17.tgz", - "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", - "dev": true, - "requires": { - "big.js": "^3.1.3", - "emojis-list": "^2.0.0", - "json5": "^0.5.0", - "object-assign": "^4.0.1" - } - }, - "util.promisify": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.0.tgz?cache=0&sync_timestamp=1610159858516&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil.promisify%2Fdownload%2Futil.promisify-1.0.0.tgz", - "integrity": "sha1-RA9xZaRZyaFtwUXrjnLzVocJcDA=", - "dev": true, - "requires": { - "define-properties": "^1.1.2", - "object.getownpropertydescriptors": "^2.0.3" - } - } - } - }, - "htmlparser2": { - "version": "6.1.0", - "resolved": "https://registry.nlark.com/htmlparser2/download/htmlparser2-6.1.0.tgz?cache=0&sync_timestamp=1631386311915&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhtmlparser2%2Fdownload%2Fhtmlparser2-6.1.0.tgz", - "integrity": "sha1-xNditsM3GgXb5l6UrkOp+EX7j7c=", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" - }, - "dependencies": { - "dom-serializer": { - "version": "1.3.2", - "resolved": "https://registry.nlark.com/dom-serializer/download/dom-serializer-1.3.2.tgz?cache=0&sync_timestamp=1621256830355&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdom-serializer%2Fdownload%2Fdom-serializer-1.3.2.tgz", - "integrity": "sha1-YgZDfTLO767HFhgDIwx6ILwbTZE=", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - } - }, - "domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.nlark.com/domelementtype/download/domelementtype-2.2.0.tgz", - "integrity": "sha1-mgtsJ4LtahxzI9QiZxg9+b2LHVc=", - "dev": true - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.nlark.com/domutils/download/domutils-2.8.0.tgz?cache=0&sync_timestamp=1630106606599&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdomutils%2Fdownload%2Fdomutils-2.8.0.tgz", - "integrity": "sha1-RDfe9dtuLR9dbuhZvZXKfQIEgTU=", - "dev": true, - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - } - } - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npm.taobao.org/http-deceiver/download/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", - "dev": true - }, - "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npm.taobao.org/http-errors/download/http-errors-1.7.2.tgz", - "integrity": "sha1-T1ApzxMjnzEDblsuVSkrz7zIXI8=", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz?cache=0&sync_timestamp=1606706255906&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finherits%2Fdownload%2Finherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } - } - }, - "http-parser-js": { - "version": "0.5.3", - "resolved": "https://registry.npm.taobao.org/http-parser-js/download/http-parser-js-0.5.3.tgz", - "integrity": "sha1-AdJwnHnUFpi7AdTezF6dpOSgM9k=", - "dev": true - }, - "http-proxy": { - "version": "1.18.1", - "resolved": "https://registry.npm.taobao.org/http-proxy/download/http-proxy-1.18.1.tgz?cache=0&sync_timestamp=1589778321455&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-proxy%2Fdownload%2Fhttp-proxy-1.18.1.tgz", - "integrity": "sha1-QBVB8FNIhLv5UmAzTnL4juOXZUk=", - "dev": true, - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "http-proxy-middleware": { - "version": "1.3.1", - "resolved": "https://registry.nlark.com/http-proxy-middleware/download/http-proxy-middleware-1.3.1.tgz", - "integrity": "sha1-Q3ANbZ7st0Gb8IahKND3IF2etmU=", - "dev": true, - "requires": { - "@types/http-proxy": "^1.17.5", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" - } - }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/http-signature/download/http-signature-1.2.0.tgz?cache=0&sync_timestamp=1600868613104&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhttp-signature%2Fdownload%2Fhttp-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" - } - }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/https-browserify/download/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true - }, - "human-signals": { - "version": "1.1.1", - "resolved": "https://registry.nlark.com/human-signals/download/human-signals-1.1.1.tgz?cache=0&sync_timestamp=1624364695595&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fhuman-signals%2Fdownload%2Fhuman-signals-1.1.1.tgz", - "integrity": "sha1-xbHNFPUK6uCatsWf5jujOV/k36M=", - "dev": true - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.nlark.com/iconv-lite/download/iconv-lite-0.4.24.tgz", - "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "icss-utils": { - "version": "4.1.1", - "resolved": "https://registry.npm.taobao.org/icss-utils/download/icss-utils-4.1.1.tgz", - "integrity": "sha1-IRcLU3ie4nRHwvR91oMIFAP5pGc=", - "dev": true, - "requires": { - "postcss": "^7.0.14" - } - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/ieee754/download/ieee754-1.2.1.tgz?cache=0&sync_timestamp=1603838209136&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fieee754%2Fdownload%2Fieee754-1.2.1.tgz", - "integrity": "sha1-jrehCmP/8l0VpXsAFYbRd9Gw01I=", - "dev": true - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npm.taobao.org/iferr/download/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true - }, - "ignore": { - "version": "3.3.10", - "resolved": "https://registry.npm.taobao.org/ignore/download/ignore-3.3.10.tgz", - "integrity": "sha1-Cpf7h2mG6AgcYxFg+PnziRV/AEM=", - "dev": true - }, - "import-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/import-cwd/download/import-cwd-2.1.0.tgz", - "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", - "dev": true, - "requires": { - "import-from": "^2.1.0" - } - }, - "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/import-fresh/download/import-fresh-2.0.0.tgz?cache=0&sync_timestamp=1608469485280&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fimport-fresh%2Fdownload%2Fimport-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", - "dev": true, - "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" - } - }, - "import-from": { - "version": "2.1.0", - "resolved": "https://registry.nlark.com/import-from/download/import-from-2.1.0.tgz", - "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - } - }, - "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/import-local/download/import-local-2.0.0.tgz", - "integrity": "sha1-VQcL44pZk88Y72236WH1vuXFoJ0=", - "dev": true, - "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/find-up/download/find-up-3.0.0.tgz?cache=0&sync_timestamp=1632654133435&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ffind-up%2Fdownload%2Ffind-up-3.0.0.tgz", - "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/locate-path/download/locate-path-3.0.0.tgz?cache=0&sync_timestamp=1629895618224&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flocate-path%2Fdownload%2Flocate-path-3.0.0.tgz", - "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/p-locate/download/p-locate-3.0.0.tgz?cache=0&sync_timestamp=1629892721671&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-locate%2Fdownload%2Fp-locate-3.0.0.tgz", - "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/path-exists/download/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-3.0.0.tgz?cache=0&sync_timestamp=1602859010405&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpkg-dir%2Fdownload%2Fpkg-dir-3.0.0.tgz", - "integrity": "sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM=", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - } - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/indexes-of/download/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", - "dev": true - }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/infer-owner/download/infer-owner-1.0.4.tgz", - "integrity": "sha1-xM78qo5RBRwqQLos6KPScpWvlGc=", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.4.tgz?cache=0&sync_timestamp=1606706255906&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finherits%2Fdownload%2Finherits-2.0.4.tgz", - "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=", - "dev": true - }, - "internal-ip": { - "version": "4.3.0", - "resolved": "https://registry.npm.taobao.org/internal-ip/download/internal-ip-4.3.0.tgz?cache=0&sync_timestamp=1605885653768&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finternal-ip%2Fdownload%2Finternal-ip-4.3.0.tgz", - "integrity": "sha1-hFRSuq2dLKO2nGNaE3rLmg2tCQc=", - "dev": true, - "requires": { - "default-gateway": "^4.2.0", - "ipaddr.js": "^1.9.0" - }, - "dependencies": { - "default-gateway": { - "version": "4.2.0", - "resolved": "https://registry.npm.taobao.org/default-gateway/download/default-gateway-4.2.0.tgz?cache=0&sync_timestamp=1610365857779&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdefault-gateway%2Fdownload%2Fdefault-gateway-4.2.0.tgz", - "integrity": "sha1-FnEEx1AMIRX23WmwpTa7jtcgVSs=", - "dev": true, - "requires": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" - } - } - } - }, - "internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.nlark.com/internal-slot/download/internal-slot-1.0.3.tgz", - "integrity": "sha1-c0fjB97uovqsKsYgXUvH00ln9Zw=", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "interpret": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/interpret/download/interpret-1.4.0.tgz", - "integrity": "sha1-Zlq4vE2iendKQFhOgS4+D6RbGh4=", - "dev": true - }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npm.taobao.org/ip/download/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/ip-regex/download/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", - "dev": true - }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.nlark.com/ipaddr.js/download/ipaddr.js-1.9.1.tgz", - "integrity": "sha1-v/OFQ+64mEglB5/zoqjmy9RngbM=", - "dev": true - }, - "is-absolute-url": { - "version": "2.1.0", - "resolved": "https://registry.nlark.com/is-absolute-url/download/is-absolute-url-2.1.0.tgz?cache=0&sync_timestamp=1628691761253&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-absolute-url%2Fdownload%2Fis-absolute-url-2.1.0.tgz", - "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", - "dev": true - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.nlark.com/is-arguments/download/is-arguments-1.1.1.tgz?cache=0&sync_timestamp=1628201919104&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-arguments%2Fdownload%2Fis-arguments-1.1.1.tgz", - "integrity": "sha1-FbP4j9oB8ql/7ITKdhpWDxI++ps=", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.nlark.com/is-bigint/download/is-bigint-1.0.4.tgz?cache=0&sync_timestamp=1628747504782&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-bigint%2Fdownload%2Fis-bigint-1.0.4.tgz", - "integrity": "sha1-CBR6GHW8KzIAXUHM2Ckd/8ZpHfM=", - "dev": true, - "requires": { - "has-bigints": "^1.0.1" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-2.1.0.tgz", - "integrity": "sha1-6h9/O4DwZCNug0cPhsCcJU+0Wwk=", - "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.nlark.com/is-boolean-object/download/is-boolean-object-1.1.2.tgz", - "integrity": "sha1-XG3CACRt2TIa5LiFoRS7H3X2Nxk=", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npm.taobao.org/is-buffer/download/is-buffer-1.1.6.tgz", - "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=", - "dev": true - }, - "is-callable": { - "version": "1.2.4", - "resolved": "https://registry.nlark.com/is-callable/download/is-callable-1.2.4.tgz", - "integrity": "sha1-RzAdWN0CWUB4ZVR4U99tYf5HGUU=", - "dev": true - }, - "is-color-stop": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-color-stop/download/is-color-stop-1.1.0.tgz", - "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", - "dev": true, - "requires": { - "css-color-names": "^0.0.4", - "hex-color-regex": "^1.1.0", - "hsl-regex": "^1.0.0", - "hsla-regex": "^1.0.0", - "rgb-regex": "^1.0.1", - "rgba-regex": "^1.0.0" - } - }, - "is-core-module": { - "version": "2.7.0", - "resolved": "https://registry.npmmirror.com/is-core-module/download/is-core-module-2.7.0.tgz", - "integrity": "sha1-PA730xtKz8V0+AxYQJ1WioNoSOM=", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.nlark.com/is-date-object/download/is-date-object-1.0.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-date-object%2Fdownload%2Fis-date-object-1.0.5.tgz", - "integrity": "sha1-CEHVU25yTCVZe/bqYuG9OCmN8x8=", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-0.1.6.tgz", - "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", - "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-5.1.0.tgz", - "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=", - "dev": true - } - } - }, - "is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npm.taobao.org/is-directory/download/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "dev": true - }, - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.nlark.com/is-docker/download/is-docker-2.2.1.tgz?cache=0&sync_timestamp=1630451108035&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-docker%2Fdownload%2Fis-docker-2.2.1.tgz", - "integrity": "sha1-M+6r4jz+hvFL3kQIoCwM+4U6zao=", - "dev": true - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/is-extglob/download/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-2.0.0.tgz?cache=0&sync_timestamp=1618552489864&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-fullwidth-code-point%2Fdownload%2Fis-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmmirror.com/is-glob/download/is-glob-4.0.3.tgz", - "integrity": "sha1-ZPYeQsu7LuwgcanawLKLoeZdUIQ=", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/is-negative-zero/download/is-negative-zero-2.0.1.tgz", - "integrity": "sha1-PedGwY3aIxkkGlNnWQjY92bxHCQ=", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-7.0.0.tgz", - "integrity": "sha1-dTU0W4lnNNX4DE0GxQlVUnoU8Ss=", - "dev": true - }, - "is-number-object": { - "version": "1.0.6", - "resolved": "https://registry.nlark.com/is-number-object/download/is-number-object-1.0.6.tgz", - "integrity": "sha1-anqvg4x/BoalC0VT9+VKlklOifA=", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/is-obj/download/is-obj-2.0.0.tgz?cache=0&sync_timestamp=1618600242427&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-obj%2Fdownload%2Fis-obj-2.0.0.tgz", - "integrity": "sha1-Rz+wXZc3BeP9liBUUBjKjiLvSYI=", - "dev": true - }, - "is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.nlark.com/is-path-cwd/download/is-path-cwd-2.2.0.tgz?cache=0&sync_timestamp=1628686555851&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-cwd%2Fdownload%2Fis-path-cwd-2.2.0.tgz", - "integrity": "sha1-Z9Q7gmZKe1GR/ZEZEn6zAASKn9s=", - "dev": true - }, - "is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.nlark.com/is-path-in-cwd/download/is-path-in-cwd-2.1.0.tgz?cache=0&sync_timestamp=1620047156679&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-in-cwd%2Fdownload%2Fis-path-in-cwd-2.1.0.tgz", - "integrity": "sha1-v+Lcomxp85cmWkAJljYCk1oFOss=", - "dev": true, - "requires": { - "is-path-inside": "^2.1.0" - } - }, - "is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.nlark.com/is-path-inside/download/is-path-inside-2.1.0.tgz?cache=0&sync_timestamp=1620046845369&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-path-inside%2Fdownload%2Fis-path-inside-2.1.0.tgz", - "integrity": "sha1-fJgQWH1lmkDSe8201WFuqwWUlLI=", - "dev": true, - "requires": { - "path-is-inside": "^1.0.2" - } - }, - "is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-3.0.0.tgz", - "integrity": "sha1-r28uoUrFpkYYOlu9tbqrvBVq2dc=", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/is-plain-object/download/is-plain-object-2.0.4.tgz?cache=0&sync_timestamp=1599667247216&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-plain-object%2Fdownload%2Fis-plain-object-2.0.4.tgz", - "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.nlark.com/is-regex/download/is-regex-1.1.4.tgz?cache=0&sync_timestamp=1628221905423&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-regex%2Fdownload%2Fis-regex-1.1.4.tgz", - "integrity": "sha1-7vVmPNWfpMCuM5UFMj32hUuxWVg=", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-resolvable/download/is-resolvable-1.1.0.tgz", - "integrity": "sha1-+xj4fOH+uSUWnJpAfBkxijIG7Yg=", - "dev": true - }, - "is-shared-array-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmmirror.com/is-shared-array-buffer/download/is-shared-array-buffer-1.0.1.tgz", - "integrity": "sha1-l7DIX72stZycRG/mU7gs8rW3z+Y=", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.nlark.com/is-stream/download/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.nlark.com/is-string/download/is-string-1.0.7.tgz", - "integrity": "sha1-DdEr8gBvJVu1j2lREO/3SR7rwP0=", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.nlark.com/is-symbol/download/is-symbol-1.0.4.tgz?cache=0&sync_timestamp=1620501266511&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-symbol%2Fdownload%2Fis-symbol-1.0.4.tgz", - "integrity": "sha1-ptrJO2NbBjymhyI23oiRClevE5w=", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-weakref": { - "version": "1.0.1", - "resolved": "https://registry.nlark.com/is-weakref/download/is-weakref-1.0.1.tgz", - "integrity": "sha1-hC26TsF/qayYUN8tbvvBc3J08qI=", - "dev": true, - "requires": { - "call-bind": "^1.0.0" - } - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/is-windows/download/is-windows-1.0.2.tgz", - "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=", - "dev": true - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-wsl/download/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/isarray/download/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/isexe/download/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "javascript-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/javascript-stringify/download/javascript-stringify-2.1.0.tgz?cache=0&sync_timestamp=1618360134745&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjavascript-stringify%2Fdownload%2Fjavascript-stringify-2.1.0.tgz", - "integrity": "sha1-J8dlOb4U2L0Sghmi1zGwkzeQTnk=", - "dev": true - }, - "js-message": { - "version": "1.0.7", - "resolved": "https://registry.npm.taobao.org/js-message/download/js-message-1.0.7.tgz?cache=0&sync_timestamp=1605128905632&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjs-message%2Fdownload%2Fjs-message-1.0.7.tgz", - "integrity": "sha1-+93QU8ekcCGHG7iyyVOXzBfCDkc=", - "dev": true - }, - "js-queue": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/js-queue/download/js-queue-2.0.2.tgz", - "integrity": "sha1-C+WQM4+QOzbHPTPDGIOoIUEs1II=", - "dev": true, - "requires": { - "easy-stack": "^1.0.1" - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.nlark.com/js-tokens/download/js-tokens-4.0.0.tgz?cache=0&sync_timestamp=1619345098261&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjs-tokens%2Fdownload%2Fjs-tokens-4.0.0.tgz", - "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk=", - "dev": true - }, - "js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.nlark.com/js-yaml/download/js-yaml-3.14.1.tgz?cache=0&sync_timestamp=1618846844115&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fjs-yaml%2Fdownload%2Fjs-yaml-3.14.1.tgz", - "integrity": "sha1-2ugS/bOCX6MGYJqHFzg8UMNqBTc=", - "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk=", - "dev": true - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npm.taobao.org/json-parse-even-better-errors/download/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha1-fEeAWpQxmSjgV3dAXcEuH3pO4C0=", - "dev": true - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz?cache=0&sync_timestamp=1609553708276&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema%2Fdownload%2Fjson-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npm.taobao.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz?cache=0&sync_timestamp=1608000211395&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson-schema-traverse%2Fdownload%2Fjson-schema-traverse-0.4.1.tgz", - "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "json3": { - "version": "3.3.3", - "resolved": "https://registry.npm.taobao.org/json3/download/json3-3.3.3.tgz", - "integrity": "sha1-f8EON1/FrkLEcFpcwKpvYr4wW4E=", - "dev": true - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/json5/download/json5-1.0.1.tgz?cache=0&sync_timestamp=1612146079519&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-1.0.1.tgz", - "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" - } - }, - "killable": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/killable/download/killable-1.0.1.tgz", - "integrity": "sha1-TIzkQRh6Bhx0dPuHygjipjgZSJI=", - "dev": true - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-6.0.3.tgz", - "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=", - "dev": true - }, - "klona": { - "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/klona/download/klona-2.0.4.tgz?cache=0&sync_timestamp=1600226636423&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fklona%2Fdownload%2Fklona-2.0.4.tgz", - "integrity": "sha1-e7Hjr/sMuGJFR+9+j2cI6i4538A=", - "dev": true - }, - "launch-editor": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/launch-editor/download/launch-editor-2.2.1.tgz", - "integrity": "sha1-hxtaPuOdZoD8wm03kwtu7aidsMo=", - "dev": true, - "requires": { - "chalk": "^2.3.0", - "shell-quote": "^1.6.1" - } - }, - "launch-editor-middleware": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/launch-editor-middleware/download/launch-editor-middleware-2.2.1.tgz", - "integrity": "sha1-4UsH5scVSwpLhqD9NFeE5FgEwVc=", - "dev": true, - "requires": { - "launch-editor": "^2.2.1" - } - }, - "lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npm.taobao.org/lines-and-columns/download/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", - "dev": true - }, - "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npm.taobao.org/loader-runner/download/loader-runner-2.4.0.tgz?cache=0&sync_timestamp=1610028054313&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floader-runner%2Fdownload%2Floader-runner-2.4.0.tgz", - "integrity": "sha1-7UcGa/5TTX6ExMe5mYwqdWB9k1c=", - "dev": true - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-1.4.0.tgz", - "integrity": "sha1-xXm140yzSxp07cbB+za/o3HVphM=", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.nlark.com/locate-path/download/locate-path-5.0.0.tgz?cache=0&sync_timestamp=1629895618224&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flocate-path%2Fdownload%2Flocate-path-5.0.0.tgz", - "integrity": "sha1-Gvujlq/WdqbUJQTQpno6frn2KqA=", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npm.taobao.org/lodash/download/lodash-4.17.21.tgz?cache=0&sync_timestamp=1613835817439&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flodash%2Fdownload%2Flodash-4.17.21.tgz", - "integrity": "sha1-Z5WRxWTDv/quhFTPCz3zcMPWkRw=", - "dev": true - }, - "lodash.defaultsdeep": { - "version": "4.6.1", - "resolved": "https://registry.npm.taobao.org/lodash.defaultsdeep/download/lodash.defaultsdeep-4.6.1.tgz", - "integrity": "sha1-US6b1yHSctlOPTpjZT+hdRZ0HKY=", - "dev": true - }, - "lodash.mapvalues": { - "version": "4.6.0", - "resolved": "https://registry.npm.taobao.org/lodash.mapvalues/download/lodash.mapvalues-4.6.0.tgz", - "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=", - "dev": true - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npm.taobao.org/lodash.memoize/download/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true - }, - "lodash.transform": { - "version": "4.6.0", - "resolved": "https://registry.npm.taobao.org/lodash.transform/download/lodash.transform-4.6.0.tgz", - "integrity": "sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A=", - "dev": true - }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npm.taobao.org/lodash.uniq/download/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", - "dev": true - }, - "log-symbols": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/log-symbols/download/log-symbols-2.2.0.tgz?cache=0&sync_timestamp=1618723146520&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Flog-symbols%2Fdownload%2Flog-symbols-2.2.0.tgz", - "integrity": "sha1-V0Dhxdbw39pK2TI7UzIQfva0xAo=", - "dev": true, - "requires": { - "chalk": "^2.0.1" - } - }, - "loglevel": { - "version": "1.7.1", - "resolved": "https://registry.npm.taobao.org/loglevel/download/loglevel-1.7.1.tgz?cache=0&sync_timestamp=1606312255832&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Floglevel%2Fdownload%2Floglevel-1.7.1.tgz", - "integrity": "sha1-AF/eL15uRwaPk1/yhXPhJe9y8Zc=", - "dev": true - }, - "lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/lower-case/download/lower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", - "dev": true - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-5.1.1.tgz", - "integrity": "sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA=", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-3.1.0.tgz", - "integrity": "sha1-QV6WcEazp/HRhSd9hKpYIDcmoT8=", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npm.taobao.org/map-cache/download/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/map-visit/download/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "dev": true, - "requires": { - "object-visit": "^1.0.0" - } - }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npm.taobao.org/md5.js/download/md5.js-1.3.5.tgz", - "integrity": "sha1-tdB7jjIW4+J81yjXL3DR5qNCAF8=", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.nlark.com/mdn-data/download/mdn-data-2.0.4.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmdn-data%2Fdownload%2Fmdn-data-2.0.4.tgz", - "integrity": "sha1-aZs8OKxvHXKAkaZGULZdOIUC/Vs=", - "dev": true - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npm.taobao.org/memory-fs/download/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true - }, - "merge-source-map": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/merge-source-map/download/merge-source-map-1.1.0.tgz", - "integrity": "sha1-L93n5gIJOfcJBqaPLXrmheTIxkY=", - "dev": true, - "requires": { - "source-map": "^0.6.1" - } - }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/merge-stream/download/merge-stream-2.0.0.tgz", - "integrity": "sha1-UoI2KaFN0AyXcPtq1H3GMQ8sH2A=", - "dev": true - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npm.taobao.org/merge2/download/merge2-1.4.1.tgz", - "integrity": "sha1-Q2iJL4hekHRVpv19xVwMnUBJkK4=", - "dev": true - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "dev": true - }, - "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-4.0.4.tgz?cache=0&sync_timestamp=1618054787196&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmicromatch%2Fdownload%2Fmicromatch-4.0.4.tgz", - "integrity": "sha1-iW1Rnf6dsl/OlM63pQCRm/iB6/k=", - "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - } - }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/miller-rabin/download/miller-rabin-4.0.1.tgz", - "integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=", - "dev": true, - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - } - } - }, - "mime": { - "version": "2.5.2", - "resolved": "https://registry.npm.taobao.org/mime/download/mime-2.5.2.tgz?cache=0&sync_timestamp=1613584838235&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime%2Fdownload%2Fmime-2.5.2.tgz", - "integrity": "sha1-bj3GzCuVEGQ4MOXxnVy3U9pe6r4=", - "dev": true - }, - "mime-db": { - "version": "1.49.0", - "resolved": "https://registry.nlark.com/mime-db/download/mime-db-1.49.0.tgz?cache=0&sync_timestamp=1631863129751&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmime-db%2Fdownload%2Fmime-db-1.49.0.tgz", - "integrity": "sha1-89/eYMmenPO8lwHWh3ePU3ABy+0=", - "dev": true - }, - "mime-types": { - "version": "2.1.32", - "resolved": "https://registry.nlark.com/mime-types/download/mime-types-2.1.32.tgz?cache=0&sync_timestamp=1627407652875&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmime-types%2Fdownload%2Fmime-types-2.1.32.tgz", - "integrity": "sha1-HQDonn3n/gIAjbYQAdngKFJnD9U=", - "dev": true, - "requires": { - "mime-db": "1.49.0" - } - }, - "mimic-fn": { - "version": "1.2.0", - "resolved": "https://registry.nlark.com/mimic-fn/download/mimic-fn-1.2.0.tgz", - "integrity": "sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI=", - "dev": true - }, - "mini-css-extract-plugin": { - "version": "0.9.0", - "resolved": "https://registry.nlark.com/mini-css-extract-plugin/download/mini-css-extract-plugin-0.9.0.tgz?cache=0&sync_timestamp=1631375707394&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmini-css-extract-plugin%2Fdownload%2Fmini-css-extract-plugin-0.9.0.tgz", - "integrity": "sha1-R/LPB6oWWrNXM7H8l9TEbAVkM54=", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "normalize-url": "1.9.1", - "schema-utils": "^1.0.0", - "webpack-sources": "^1.1.0" - }, - "dependencies": { - "normalize-url": { - "version": "1.9.1", - "resolved": "https://registry.nlark.com/normalize-url/download/normalize-url-1.9.1.tgz", - "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", - "dev": true, - "requires": { - "object-assign": "^4.0.1", - "prepend-http": "^1.0.0", - "query-string": "^4.1.0", - "sort-keys": "^1.0.0" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.nlark.com/schema-utils/download/schema-utils-1.0.0.tgz?cache=0&sync_timestamp=1626694740261&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fschema-utils%2Fdownload%2Fschema-utils-1.0.0.tgz", - "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } - } - }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz", - "integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=", - "dev": true - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/minimalistic-crypto-utils/download/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz", - "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-1.2.5.tgz?cache=0&sync_timestamp=1606706583368&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminimist%2Fdownload%2Fminimist-1.2.5.tgz", - "integrity": "sha1-Z9ZgFLZqaoqqDAg8X9WN9OTpdgI=", - "dev": true - }, - "minipass": { - "version": "3.1.5", - "resolved": "https://registry.nlark.com/minipass/download/minipass-3.1.5.tgz?cache=0&sync_timestamp=1631656524071&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fminipass%2Fdownload%2Fminipass-3.1.5.tgz", - "integrity": "sha1-cfYlGwozpJwBs8+X/3ftoDDf9zI=", - "dev": true, - "requires": { - "yallist": "^4.0.0" - }, - "dependencies": { - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz", - "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=", - "dev": true - } - } - }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/mississippi/download/mississippi-3.0.0.tgz", - "integrity": "sha1-6goykfl+C16HdrNj1fChLZTGcCI=", - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npm.taobao.org/mixin-deep/download/mixin-deep-1.3.2.tgz", - "integrity": "sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY=", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/is-extendable/download/is-extendable-1.0.1.tgz", - "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.5.tgz", - "integrity": "sha1-2Rzv1i0UNsoPQWIOJRKI1CAJne8=", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/move-concurrently/download/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmmirror.com/ms/download/ms-2.1.2.tgz", - "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=", - "dev": true - }, - "multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.nlark.com/multicast-dns/download/multicast-dns-6.2.3.tgz?cache=0&sync_timestamp=1621890310673&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fmulticast-dns%2Fdownload%2Fmulticast-dns-6.2.3.tgz", - "integrity": "sha1-oOx72QVcQoL3kMPIL04o2zsxsik=", - "dev": true, - "requires": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" - } - }, - "multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/multicast-dns-service-types/download/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", - "dev": true - }, - "mz": { - "version": "2.7.0", - "resolved": "https://registry.npm.taobao.org/mz/download/mz-2.7.0.tgz", - "integrity": "sha1-lQCAV6Vsr63CvGPd5/n/aVWUjjI=", - "dev": true, - "requires": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "nan": { - "version": "2.15.0", - "resolved": "https://registry.nlark.com/nan/download/nan-2.15.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnan%2Fdownload%2Fnan-2.15.0.tgz", - "integrity": "sha1-PzSkc/8Y4VwbVia2KQO1rW5mX+4=", - "dev": true, - "optional": true - }, - "nanocolors": { - "version": "0.2.12", - "resolved": "https://registry.npmmirror.com/nanocolors/download/nanocolors-0.2.12.tgz?cache=0&sync_timestamp=1632861383179&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fnanocolors%2Fdownload%2Fnanocolors-0.2.12.tgz", - "integrity": "sha1-TQWTLnARYHhnPqTMZpmhxWzHd3c=", - "dev": true - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npm.taobao.org/nanomatch/download/nanomatch-1.2.13.tgz", - "integrity": "sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk=", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz", - "integrity": "sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs=", - "dev": true - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npm.taobao.org/neo-async/download/neo-async-2.6.2.tgz", - "integrity": "sha1-tKr7k+OustgXTKU88WOrfXMIMF8=", - "dev": true - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/nice-try/download/nice-try-1.0.5.tgz", - "integrity": "sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y=", - "dev": true - }, - "no-case": { - "version": "2.3.2", - "resolved": "https://registry.npm.taobao.org/no-case/download/no-case-2.3.2.tgz", - "integrity": "sha1-YLgTOWvjmz8SiKTB7V0efSi0ZKw=", - "dev": true, - "requires": { - "lower-case": "^1.1.1" - } - }, - "node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npm.taobao.org/node-forge/download/node-forge-0.10.0.tgz?cache=0&sync_timestamp=1599010706324&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-forge%2Fdownload%2Fnode-forge-0.10.0.tgz", - "integrity": "sha1-Mt6ir7Ppkm8C7lzoeUkCaRpna/M=", - "dev": true - }, - "node-ipc": { - "version": "9.2.1", - "resolved": "https://registry.nlark.com/node-ipc/download/node-ipc-9.2.1.tgz?cache=0&sync_timestamp=1631753661352&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnode-ipc%2Fdownload%2Fnode-ipc-9.2.1.tgz", - "integrity": "sha1-sy9mEV+dbOhB3E7CAJ1qcz+Yu2s=", - "dev": true, - "requires": { - "event-pubsub": "4.3.0", - "js-message": "1.0.7", - "js-queue": "2.0.2" - } - }, - "node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/node-libs-browser/download/node-libs-browser-2.2.1.tgz", - "integrity": "sha1-tk9RPRgzhiX5A0bSew0jXmMfZCU=", - "dev": true, - "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - } - } - }, - "node-releases": { - "version": "1.1.76", - "resolved": "https://registry.nlark.com/node-releases/download/node-releases-1.1.76.tgz?cache=0&sync_timestamp=1632151316505&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnode-releases%2Fdownload%2Fnode-releases-1.1.76.tgz", - "integrity": "sha1-3yRbBisMr71SgqtnkvfczC2X824=", - "dev": true - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.nlark.com/normalize-package-data/download/normalize-package-data-2.5.0.tgz?cache=0&sync_timestamp=1629301872905&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnormalize-package-data%2Fdownload%2Fnormalize-package-data-2.5.0.tgz", - "integrity": "sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=", - "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1616463641178&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", - "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", - "dev": true - } - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-3.0.0.tgz", - "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=", - "dev": true - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/normalize-range/download/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true - }, - "normalize-url": { - "version": "3.3.0", - "resolved": "https://registry.nlark.com/normalize-url/download/normalize-url-3.3.0.tgz", - "integrity": "sha1-suHE3E98bVd0PfczpPWXjRhlBVk=", - "dev": true - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnpm-run-path%2Fdownload%2Fnpm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "dev": true, - "requires": { - "path-key": "^2.0.0" - } - }, - "nth-check": { - "version": "1.0.2", - "resolved": "https://registry.nlark.com/nth-check/download/nth-check-1.0.2.tgz?cache=0&sync_timestamp=1631793617973&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnth-check%2Fdownload%2Fnth-check-1.0.2.tgz", - "integrity": "sha1-sr0pXDfj3VijvwcAN2Zjuk2c8Fw=", - "dev": true, - "requires": { - "boolbase": "~1.0.0" - } - }, - "null-loader": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/null-loader/download/null-loader-3.0.0.tgz?cache=0&sync_timestamp=1602256793413&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnull-loader%2Fdownload%2Fnull-loader-3.0.0.tgz", - "integrity": "sha1-PitsZjxb2oxzpUNX2PoHCNxhskU=", - "dev": true, - "requires": { - "loader-utils": "^1.2.3", - "schema-utils": "^1.0.0" - }, - "dependencies": { - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.nlark.com/schema-utils/download/schema-utils-1.0.0.tgz?cache=0&sync_timestamp=1626694740261&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fschema-utils%2Fdownload%2Fschema-utils-1.0.0.tgz", - "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } - } - }, - "num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npm.taobao.org/num2fraction/download/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", - "dev": true - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.9.0.tgz", - "integrity": "sha1-R6ewFrqmi1+g7PPe4IqFxnmsZFU=", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npm.taobao.org/object-copy/download/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-inspect": { - "version": "1.11.0", - "resolved": "https://registry.nlark.com/object-inspect/download/object-inspect-1.11.0.tgz?cache=0&sync_timestamp=1626120241132&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fobject-inspect%2Fdownload%2Fobject-inspect-1.11.0.tgz", - "integrity": "sha1-nc6xRs7dQUig2eUauI00z1CZIrE=", - "dev": true - }, - "object-is": { - "version": "1.1.5", - "resolved": "https://registry.npm.taobao.org/object-is/download/object-is-1.1.5.tgz?cache=0&sync_timestamp=1613858223300&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject-is%2Fdownload%2Fobject-is-1.1.5.tgz", - "integrity": "sha1-ud7qpfx/GEag+uzc7sE45XePU6w=", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/object-keys/download/object-keys-1.1.1.tgz", - "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=", - "dev": true - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/object-visit/download/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "dev": true, - "requires": { - "isobject": "^3.0.0" - } - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npm.taobao.org/object.assign/download/object.assign-4.1.2.tgz?cache=0&sync_timestamp=1604115104654&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.assign%2Fdownload%2Fobject.assign-4.1.2.tgz", - "integrity": "sha1-DtVKNC7Os3s4/3brgxoOeIy2OUA=", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "object.getownpropertydescriptors": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.1.2.tgz?cache=0&sync_timestamp=1613860098805&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fobject.getownpropertydescriptors%2Fdownload%2Fobject.getownpropertydescriptors-2.1.2.tgz", - "integrity": "sha1-G9Y66s8NXS0vMbXjk7A6fGAaI/c=", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npm.taobao.org/object.pick/download/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "object.values": { - "version": "1.1.4", - "resolved": "https://registry.nlark.com/object.values/download/object.values-1.1.4.tgz?cache=0&sync_timestamp=1622070916216&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fobject.values%2Fdownload%2Fobject.values-1.1.4.tgz", - "integrity": "sha1-DSc3YoM+gWtpOmN9MAc+cFFTWzA=", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.18.2" - } - }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/obuf/download/obuf-1.1.2.tgz", - "integrity": "sha1-Cb6jND1BhZ69RGKS0RydTbYZCE4=", - "dev": true - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/on-headers/download/on-headers-1.0.2.tgz", - "integrity": "sha1-dysK5qqlJcOZ5Imt+tkMQD6zwo8=", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npm.taobao.org/once/download/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/onetime/download/onetime-2.0.1.tgz?cache=0&sync_timestamp=1617889724435&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fonetime%2Fdownload%2Fonetime-2.0.1.tgz", - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "dev": true, - "requires": { - "mimic-fn": "^1.0.0" - } - }, - "open": { - "version": "6.4.0", - "resolved": "https://registry.nlark.com/open/download/open-6.4.0.tgz", - "integrity": "sha1-XBPpbQ3IlGhhZPGJZez+iJ7PyKk=", - "dev": true, - "requires": { - "is-wsl": "^1.1.0" - } - }, - "opener": { - "version": "1.5.2", - "resolved": "https://registry.npm.taobao.org/opener/download/opener-1.5.2.tgz", - "integrity": "sha1-XTfh81B3udysQwE3InGv3rKhNZg=", - "dev": true - }, - "opn": { - "version": "5.5.0", - "resolved": "https://registry.npm.taobao.org/opn/download/opn-5.5.0.tgz", - "integrity": "sha1-/HFk+rVtI1kExRw7J9pnWMo7m/w=", - "dev": true, - "requires": { - "is-wsl": "^1.1.0" - } - }, - "ora": { - "version": "3.4.0", - "resolved": "https://registry.nlark.com/ora/download/ora-3.4.0.tgz?cache=0&sync_timestamp=1631556513877&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fora%2Fdownload%2Fora-3.4.0.tgz", - "integrity": "sha1-vwdSSRBZo+8+1MhQl1Md6f280xg=", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "cli-cursor": "^2.1.0", - "cli-spinners": "^2.0.0", - "log-symbols": "^2.2.0", - "strip-ansi": "^5.2.0", - "wcwidth": "^1.0.1" - }, - "dependencies": { - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-5.2.0.tgz", - "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "original": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/original/download/original-1.0.2.tgz", - "integrity": "sha1-5EKmHP/hxf0gpl8yYcJmY7MD8l8=", - "dev": true, - "requires": { - "url-parse": "^1.4.3" - } - }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/os-browserify/download/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/p-finally/download/p-finally-1.0.0.tgz?cache=0&sync_timestamp=1617947695861&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fp-finally%2Fdownload%2Fp-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.nlark.com/p-limit/download/p-limit-2.3.0.tgz?cache=0&sync_timestamp=1628812721654&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-limit%2Fdownload%2Fp-limit-2.3.0.tgz", - "integrity": "sha1-PdM8ZHohT9//2DWTPrCG2g3CHbE=", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.nlark.com/p-locate/download/p-locate-4.1.0.tgz?cache=0&sync_timestamp=1629892721671&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-locate%2Fdownload%2Fp-locate-4.1.0.tgz", - "integrity": "sha1-o0KLtwiLOmApL2aRkni3wpetTwc=", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-map": { - "version": "2.1.0", - "resolved": "https://registry.nlark.com/p-map/download/p-map-2.1.0.tgz", - "integrity": "sha1-MQko/u+cnsxltosXaTAYpmXOoXU=", - "dev": true - }, - "p-retry": { - "version": "3.0.1", - "resolved": "https://registry.nlark.com/p-retry/download/p-retry-3.0.1.tgz", - "integrity": "sha1-MWtMiJPiyNwc+okfQGxLQivr8yg=", - "dev": true, - "requires": { - "retry": "^0.12.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/p-try/download/p-try-2.2.0.tgz", - "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=", - "dev": true - }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.nlark.com/pako/download/pako-1.0.11.tgz", - "integrity": "sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8=", - "dev": true - }, - "parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/parallel-transform/download/parallel-transform-1.2.0.tgz", - "integrity": "sha1-kEnKN9bLIYLDsdLHIL6U0UpYFPw=", - "dev": true, - "requires": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - } - }, - "param-case": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/param-case/download/param-case-2.1.1.tgz", - "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", - "dev": true, - "requires": { - "no-case": "^2.2.0" - } - }, - "parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npm.taobao.org/parse-asn1/download/parse-asn1-5.1.6.tgz", - "integrity": "sha1-OFCAo+wTy2KmLTlAnLPoiETNrtQ=", - "dev": true, - "requires": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" - } - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npm.taobao.org/parse-json/download/parse-json-5.2.0.tgz?cache=0&sync_timestamp=1610966642419&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse-json%2Fdownload%2Fparse-json-5.2.0.tgz", - "integrity": "sha1-x2/Gbe5UIxyWKyK8yKcs8vmXU80=", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "parse5": { - "version": "5.1.1", - "resolved": "https://registry.npm.taobao.org/parse5/download/parse5-5.1.1.tgz?cache=0&sync_timestamp=1595850971402&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse5%2Fdownload%2Fparse5-5.1.1.tgz", - "integrity": "sha1-9o5OW6GFKsLK3AD0VV//bCq7YXg=", - "dev": true - }, - "parse5-htmlparser2-tree-adapter": { - "version": "6.0.1", - "resolved": "https://registry.npm.taobao.org/parse5-htmlparser2-tree-adapter/download/parse5-htmlparser2-tree-adapter-6.0.1.tgz", - "integrity": "sha1-LN+a2CMyEUA3DU2/XT6Sx8jdxuY=", - "dev": true, - "requires": { - "parse5": "^6.0.1" - }, - "dependencies": { - "parse5": { - "version": "6.0.1", - "resolved": "https://registry.npm.taobao.org/parse5/download/parse5-6.0.1.tgz?cache=0&sync_timestamp=1595850971402&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fparse5%2Fdownload%2Fparse5-6.0.1.tgz", - "integrity": "sha1-4aHAhcVps9wIMhGE8Zo5zCf3wws=", - "dev": true - } - } - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npm.taobao.org/parseurl/download/parseurl-1.3.3.tgz", - "integrity": "sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ=", - "dev": true - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/pascalcase/download/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true - }, - "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npm.taobao.org/path-browserify/download/path-browserify-0.0.1.tgz", - "integrity": "sha1-5sTd1+06onxoogzE5Q4aTug7vEo=", - "dev": true - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/path-dirname/download/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.nlark.com/path-exists/download/path-exists-4.0.0.tgz", - "integrity": "sha1-UTvb4tO5XXdi6METfvoZXGxhtbM=", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/path-is-inside/download/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/path-key/download/path-key-2.0.1.tgz?cache=0&sync_timestamp=1617971632960&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-key%2Fdownload%2Fpath-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.nlark.com/path-parse/download/path-parse-1.0.7.tgz", - "integrity": "sha1-+8EUtgykKzDZ2vWFjkvWi77bZzU=", - "dev": true - }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", - "dev": true - }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/path-type/download/path-type-3.0.0.tgz?cache=0&sync_timestamp=1611752058913&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpath-type%2Fdownload%2Fpath-type-3.0.0.tgz", - "integrity": "sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=", - "dev": true, - "requires": { - "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/pify/download/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } - } - }, - "pbkdf2": { - "version": "3.1.2", - "resolved": "https://registry.nlark.com/pbkdf2/download/pbkdf2-3.1.2.tgz", - "integrity": "sha1-3YIqoIh1gOUvGgOdw+2hCO+uMHU=", - "dev": true, - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/performance-now/download/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true - }, - "picomatch": { - "version": "2.3.0", - "resolved": "https://registry.nlark.com/picomatch/download/picomatch-2.3.0.tgz", - "integrity": "sha1-8fBh3o9qS/AiiS4tEoI0+5gwKXI=", - "dev": true - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npm.taobao.org/pify/download/pify-4.0.1.tgz", - "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npm.taobao.org/pinkie/download/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/pinkie-promise/download/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "dev": true, - "requires": { - "pinkie": "^2.0.0" - } - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-4.2.0.tgz?cache=0&sync_timestamp=1602859010405&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpkg-dir%2Fdownload%2Fpkg-dir-4.2.0.tgz", - "integrity": "sha1-8JkTPfft5CLoHR2ESCcO6z5CYfM=", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - }, - "pnp-webpack-plugin": { - "version": "1.7.0", - "resolved": "https://registry.nlark.com/pnp-webpack-plugin/download/pnp-webpack-plugin-1.7.0.tgz?cache=0&sync_timestamp=1626888209947&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpnp-webpack-plugin%2Fdownload%2Fpnp-webpack-plugin-1.7.0.tgz", - "integrity": "sha1-ZXQThPbYBW824iVajWf/wghm9ck=", - "dev": true, - "requires": { - "ts-pnp": "^1.1.6" - } - }, - "portfinder": { - "version": "1.0.28", - "resolved": "https://registry.npm.taobao.org/portfinder/download/portfinder-1.0.28.tgz", - "integrity": "sha1-Z8RiKFK9U3TdHdkA93n1NGL6x3g=", - "dev": true, - "requires": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.5" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.nlark.com/debug/download/debug-3.2.7.tgz", - "integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npm.taobao.org/posix-character-classes/download/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true - }, - "postcss": { - "version": "7.0.38", - "resolved": "https://registry.npmmirror.com/postcss/download/postcss-7.0.38.tgz?cache=0&sync_timestamp=1632555261973&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fpostcss%2Fdownload%2Fpostcss-7.0.38.tgz", - "integrity": "sha1-U2WpxRJmQ9l3BGrSOfYOrdokkdY=", - "dev": true, - "requires": { - "nanocolors": "^0.2.2", - "source-map": "^0.6.1" - } - }, - "postcss-calc": { - "version": "7.0.5", - "resolved": "https://registry.npm.taobao.org/postcss-calc/download/postcss-calc-7.0.5.tgz?cache=0&sync_timestamp=1609689294247&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-calc%2Fdownload%2Fpostcss-calc-7.0.5.tgz", - "integrity": "sha1-+KbpnxLmGcLrwjz2xIb9wVhgkz4=", - "dev": true, - "requires": { - "postcss": "^7.0.27", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" - } - }, - "postcss-colormin": { - "version": "4.0.3", - "resolved": "https://registry.nlark.com/postcss-colormin/download/postcss-colormin-4.0.3.tgz", - "integrity": "sha1-rgYLzpPteUrHEmTwgTLVUJVr04E=", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "color": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - } - } - }, - "postcss-convert-values": { - "version": "4.0.1", - "resolved": "https://registry.nlark.com/postcss-convert-values/download/postcss-convert-values-4.0.1.tgz?cache=0&sync_timestamp=1621449824395&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-convert-values%2Fdownload%2Fpostcss-convert-values-4.0.1.tgz", - "integrity": "sha1-yjgT7U2g+BL51DcDWE5Enr4Ymn8=", - "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - } - } - }, - "postcss-discard-comments": { - "version": "4.0.2", - "resolved": "https://registry.nlark.com/postcss-discard-comments/download/postcss-discard-comments-4.0.2.tgz?cache=0&sync_timestamp=1621449592883&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-discard-comments%2Fdownload%2Fpostcss-discard-comments-4.0.2.tgz", - "integrity": "sha1-H7q9LCRr/2qq15l7KwkY9NevQDM=", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-duplicates": { - "version": "4.0.2", - "resolved": "https://registry.nlark.com/postcss-discard-duplicates/download/postcss-discard-duplicates-4.0.2.tgz?cache=0&sync_timestamp=1621449593093&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-discard-duplicates%2Fdownload%2Fpostcss-discard-duplicates-4.0.2.tgz", - "integrity": "sha1-P+EzzTyCKC5VD8myORdqkge3hOs=", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-empty": { - "version": "4.0.1", - "resolved": "https://registry.nlark.com/postcss-discard-empty/download/postcss-discard-empty-4.0.1.tgz?cache=0&sync_timestamp=1621449824027&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-discard-empty%2Fdownload%2Fpostcss-discard-empty-4.0.1.tgz", - "integrity": "sha1-yMlR6fc+2UKAGUWERKAq2Qu592U=", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-overridden": { - "version": "4.0.1", - "resolved": "https://registry.nlark.com/postcss-discard-overridden/download/postcss-discard-overridden-4.0.1.tgz?cache=0&sync_timestamp=1621449823348&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-discard-overridden%2Fdownload%2Fpostcss-discard-overridden-4.0.1.tgz", - "integrity": "sha1-ZSrvipZybwKfXj4AFG7npOdV/1c=", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-load-config": { - "version": "2.1.2", - "resolved": "https://registry.nlark.com/postcss-load-config/download/postcss-load-config-2.1.2.tgz", - "integrity": "sha1-xepQTyxK7zPHNZo03jVzdyrXUCo=", - "dev": true, - "requires": { - "cosmiconfig": "^5.0.0", - "import-cwd": "^2.0.0" - } - }, - "postcss-loader": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/postcss-loader/download/postcss-loader-3.0.0.tgz?cache=0&sync_timestamp=1625143047790&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-loader%2Fdownload%2Fpostcss-loader-3.0.0.tgz", - "integrity": "sha1-a5eUPkfHLYRfqeA/Jzdz1OjdbC0=", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "postcss": "^7.0.0", - "postcss-load-config": "^2.0.0", - "schema-utils": "^1.0.0" - }, - "dependencies": { - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.nlark.com/schema-utils/download/schema-utils-1.0.0.tgz?cache=0&sync_timestamp=1626694740261&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fschema-utils%2Fdownload%2Fschema-utils-1.0.0.tgz", - "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } - } - }, - "postcss-merge-longhand": { - "version": "4.0.11", - "resolved": "https://registry.nlark.com/postcss-merge-longhand/download/postcss-merge-longhand-4.0.11.tgz?cache=0&sync_timestamp=1621449602119&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-merge-longhand%2Fdownload%2Fpostcss-merge-longhand-4.0.11.tgz", - "integrity": "sha1-YvSaE+Sg7gTnuY9CuxYGLKJUniQ=", - "dev": true, - "requires": { - "css-color-names": "0.0.4", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "stylehacks": "^4.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - } - } - }, - "postcss-merge-rules": { - "version": "4.0.3", - "resolved": "https://registry.nlark.com/postcss-merge-rules/download/postcss-merge-rules-4.0.3.tgz?cache=0&sync_timestamp=1622234641993&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-merge-rules%2Fdownload%2Fpostcss-merge-rules-4.0.3.tgz", - "integrity": "sha1-NivqT/Wh+Y5AdacTxsslrv75plA=", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "cssnano-util-same-parent": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0", - "vendors": "^1.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "postcss-minify-font-values": { - "version": "4.0.2", - "resolved": "https://registry.nlark.com/postcss-minify-font-values/download/postcss-minify-font-values-4.0.2.tgz?cache=0&sync_timestamp=1621449825247&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-minify-font-values%2Fdownload%2Fpostcss-minify-font-values-4.0.2.tgz", - "integrity": "sha1-zUw0TM5HQ0P6xdgiBqssvLiv1aY=", - "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - } - } - }, - "postcss-minify-gradients": { - "version": "4.0.2", - "resolved": "https://registry.nlark.com/postcss-minify-gradients/download/postcss-minify-gradients-4.0.2.tgz", - "integrity": "sha1-k7KcL/UJnFNe7NpWxKpuZlpmNHE=", - "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "is-color-stop": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - } - } - }, - "postcss-minify-params": { - "version": "4.0.2", - "resolved": "https://registry.nlark.com/postcss-minify-params/download/postcss-minify-params-4.0.2.tgz?cache=0&sync_timestamp=1621449826832&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-minify-params%2Fdownload%2Fpostcss-minify-params-4.0.2.tgz", - "integrity": "sha1-a5zvAwwR41Jh+V9hjJADbWgNuHQ=", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.0", - "browserslist": "^4.0.0", - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "uniqs": "^2.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - } - } - }, - "postcss-minify-selectors": { - "version": "4.0.2", - "resolved": "https://registry.nlark.com/postcss-minify-selectors/download/postcss-minify-selectors-4.0.2.tgz?cache=0&sync_timestamp=1621449593365&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-minify-selectors%2Fdownload%2Fpostcss-minify-selectors-4.0.2.tgz", - "integrity": "sha1-4uXrQL/uUA0M2SQ1APX46kJi+9g=", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "postcss-modules-extract-imports": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/postcss-modules-extract-imports/download/postcss-modules-extract-imports-2.0.0.tgz?cache=0&sync_timestamp=1602588238811&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-extract-imports%2Fdownload%2Fpostcss-modules-extract-imports-2.0.0.tgz", - "integrity": "sha1-gYcZoa4doyX5gyRGsBE27rSTzX4=", - "dev": true, - "requires": { - "postcss": "^7.0.5" - } - }, - "postcss-modules-local-by-default": { - "version": "3.0.3", - "resolved": "https://registry.npm.taobao.org/postcss-modules-local-by-default/download/postcss-modules-local-by-default-3.0.3.tgz?cache=0&sync_timestamp=1602587661752&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-local-by-default%2Fdownload%2Fpostcss-modules-local-by-default-3.0.3.tgz", - "integrity": "sha1-uxTgzHgnnVBNvcv9fgyiiZP/u7A=", - "dev": true, - "requires": { - "icss-utils": "^4.1.1", - "postcss": "^7.0.32", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-modules-scope": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/postcss-modules-scope/download/postcss-modules-scope-2.2.0.tgz?cache=0&sync_timestamp=1602593290698&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-scope%2Fdownload%2Fpostcss-modules-scope-2.2.0.tgz", - "integrity": "sha1-OFyuATzHdD9afXYC0Qc6iequYu4=", - "dev": true, - "requires": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^6.0.0" - } - }, - "postcss-modules-values": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/postcss-modules-values/download/postcss-modules-values-3.0.0.tgz?cache=0&sync_timestamp=1602586248938&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-modules-values%2Fdownload%2Fpostcss-modules-values-3.0.0.tgz", - "integrity": "sha1-W1AA1uuuKbQlUwG0o6VFdEI+fxA=", - "dev": true, - "requires": { - "icss-utils": "^4.0.0", - "postcss": "^7.0.6" - } - }, - "postcss-normalize-charset": { - "version": "4.0.1", - "resolved": "https://registry.nlark.com/postcss-normalize-charset/download/postcss-normalize-charset-4.0.1.tgz?cache=0&sync_timestamp=1621449593655&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-normalize-charset%2Fdownload%2Fpostcss-normalize-charset-4.0.1.tgz", - "integrity": "sha1-izWt067oOhNrBHHg1ZvlilAoXdQ=", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-normalize-display-values": { - "version": "4.0.2", - "resolved": "https://registry.nlark.com/postcss-normalize-display-values/download/postcss-normalize-display-values-4.0.2.tgz?cache=0&sync_timestamp=1621449599414&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-normalize-display-values%2Fdownload%2Fpostcss-normalize-display-values-4.0.2.tgz", - "integrity": "sha1-Db4EpM6QY9RmftK+R2u4MMglk1o=", - "dev": true, - "requires": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - } - } - }, - "postcss-normalize-positions": { - "version": "4.0.2", - "resolved": "https://registry.nlark.com/postcss-normalize-positions/download/postcss-normalize-positions-4.0.2.tgz?cache=0&sync_timestamp=1621449883143&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-normalize-positions%2Fdownload%2Fpostcss-normalize-positions-4.0.2.tgz", - "integrity": "sha1-BfdX+E8mBDc3g2ipH4ky1LECkX8=", - "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - } - } - }, - "postcss-normalize-repeat-style": { - "version": "4.0.2", - "resolved": "https://registry.nlark.com/postcss-normalize-repeat-style/download/postcss-normalize-repeat-style-4.0.2.tgz?cache=0&sync_timestamp=1621449596114&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-normalize-repeat-style%2Fdownload%2Fpostcss-normalize-repeat-style-4.0.2.tgz", - "integrity": "sha1-xOu8KJ85kaAo1EdRy90RkYsXkQw=", - "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - } - } - }, - "postcss-normalize-string": { - "version": "4.0.2", - "resolved": "https://registry.nlark.com/postcss-normalize-string/download/postcss-normalize-string-4.0.2.tgz?cache=0&sync_timestamp=1621449595099&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-normalize-string%2Fdownload%2Fpostcss-normalize-string-4.0.2.tgz", - "integrity": "sha1-zUTECrB6DHo23F6Zqs4eyk7CaQw=", - "dev": true, - "requires": { - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - } - } - }, - "postcss-normalize-timing-functions": { - "version": "4.0.2", - "resolved": "https://registry.nlark.com/postcss-normalize-timing-functions/download/postcss-normalize-timing-functions-4.0.2.tgz", - "integrity": "sha1-jgCcoqOUnNr4rSPmtquZy159KNk=", - "dev": true, - "requires": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - } - } - }, - "postcss-normalize-unicode": { - "version": "4.0.1", - "resolved": "https://registry.nlark.com/postcss-normalize-unicode/download/postcss-normalize-unicode-4.0.1.tgz?cache=0&sync_timestamp=1621449881819&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-normalize-unicode%2Fdownload%2Fpostcss-normalize-unicode-4.0.1.tgz", - "integrity": "sha1-hBvUj9zzAZrUuqdJOj02O1KuHPs=", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - } - } - }, - "postcss-normalize-url": { - "version": "4.0.1", - "resolved": "https://registry.nlark.com/postcss-normalize-url/download/postcss-normalize-url-4.0.1.tgz?cache=0&sync_timestamp=1623330505231&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-normalize-url%2Fdownload%2Fpostcss-normalize-url-4.0.1.tgz", - "integrity": "sha1-EOQ3+GvHx+WPe5ZS7YeNqqlfquE=", - "dev": true, - "requires": { - "is-absolute-url": "^2.0.0", - "normalize-url": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - } - } - }, - "postcss-normalize-whitespace": { - "version": "4.0.2", - "resolved": "https://registry.nlark.com/postcss-normalize-whitespace/download/postcss-normalize-whitespace-4.0.2.tgz?cache=0&sync_timestamp=1621449593892&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-normalize-whitespace%2Fdownload%2Fpostcss-normalize-whitespace-4.0.2.tgz", - "integrity": "sha1-vx1AcP5Pzqh9E0joJdjMDF+qfYI=", - "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - } - } - }, - "postcss-ordered-values": { - "version": "4.1.2", - "resolved": "https://registry.nlark.com/postcss-ordered-values/download/postcss-ordered-values-4.1.2.tgz?cache=0&sync_timestamp=1623330460500&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-ordered-values%2Fdownload%2Fpostcss-ordered-values-4.1.2.tgz", - "integrity": "sha1-DPdcgg7H1cTSgBiVWeC1ceusDu4=", - "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - } - } - }, - "postcss-reduce-initial": { - "version": "4.0.3", - "resolved": "https://registry.nlark.com/postcss-reduce-initial/download/postcss-reduce-initial-4.0.3.tgz?cache=0&sync_timestamp=1621449599206&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-reduce-initial%2Fdownload%2Fpostcss-reduce-initial-4.0.3.tgz", - "integrity": "sha1-f9QuvqXpyBRgljniwuhK4nC6SN8=", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0" - } - }, - "postcss-reduce-transforms": { - "version": "4.0.2", - "resolved": "https://registry.nlark.com/postcss-reduce-transforms/download/postcss-reduce-transforms-4.0.2.tgz?cache=0&sync_timestamp=1621449601106&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-reduce-transforms%2Fdownload%2Fpostcss-reduce-transforms-4.0.2.tgz", - "integrity": "sha1-F++kBerMbge+NBSlyi0QdGgdTik=", - "dev": true, - "requires": { - "cssnano-util-get-match": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - } - } - }, - "postcss-selector-parser": { - "version": "6.0.6", - "resolved": "https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-6.0.6.tgz", - "integrity": "sha1-LFu6gXSsL2mBq2MaQqsO5UrzMuo=", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "postcss-svgo": { - "version": "4.0.3", - "resolved": "https://registry.nlark.com/postcss-svgo/download/postcss-svgo-4.0.3.tgz?cache=0&sync_timestamp=1622234649078&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-svgo%2Fdownload%2Fpostcss-svgo-4.0.3.tgz", - "integrity": "sha1-NDos26yVBdQWJD1Jb3JPOIlMlB4=", - "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "svgo": "^1.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-3.3.1.tgz", - "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=", - "dev": true - } - } - }, - "postcss-unique-selectors": { - "version": "4.0.1", - "resolved": "https://registry.nlark.com/postcss-unique-selectors/download/postcss-unique-selectors-4.0.1.tgz?cache=0&sync_timestamp=1621449600659&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fpostcss-unique-selectors%2Fdownload%2Fpostcss-unique-selectors-4.0.1.tgz", - "integrity": "sha1-lEaRHzKJv9ZMbWgPBzwDsfnuS6w=", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.0", - "postcss": "^7.0.0", - "uniqs": "^2.0.0" - } - }, - "postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npm.taobao.org/postcss-value-parser/download/postcss-value-parser-4.1.0.tgz?cache=0&sync_timestamp=1588083303810&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpostcss-value-parser%2Fdownload%2Fpostcss-value-parser-4.1.0.tgz", - "integrity": "sha1-RD9qIM7WSBor2k+oUypuVdeJoss=", - "dev": true - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.nlark.com/prepend-http/download/prepend-http-1.0.4.tgz?cache=0&sync_timestamp=1628547439455&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fprepend-http%2Fdownload%2Fprepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "dev": true - }, - "prettier": { - "version": "1.19.1", - "resolved": "https://registry.nlark.com/prettier/download/prettier-1.19.1.tgz?cache=0&sync_timestamp=1631777167012&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fprettier%2Fdownload%2Fprettier-1.19.1.tgz", - "integrity": "sha1-99f1/4qc2HKnvkyhQglZVqYHl8s=", - "dev": true, - "optional": true - }, - "pretty-error": { - "version": "2.1.2", - "resolved": "https://registry.nlark.com/pretty-error/download/pretty-error-2.1.2.tgz", - "integrity": "sha1-von4LYGxyG7I/fvDhQRYgnJ/k7Y=", - "dev": true, - "requires": { - "lodash": "^4.17.20", - "renderkid": "^2.0.4" - } - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npm.taobao.org/process/download/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz", - "integrity": "sha1-eCDZsWEgzFXKmud5JoCufbptf+I=", - "dev": true - }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/promise-inflight/download/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, - "proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.nlark.com/proxy-addr/download/proxy-addr-2.0.7.tgz?cache=0&sync_timestamp=1622509170257&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fproxy-addr%2Fdownload%2Fproxy-addr-2.0.7.tgz", - "integrity": "sha1-8Z/mnOqzEe65S0LnDowgcPm6ECU=", - "dev": true, - "requires": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - } - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/prr/download/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/pseudomap/download/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "psl": { - "version": "1.8.0", - "resolved": "https://registry.npm.taobao.org/psl/download/psl-1.8.0.tgz", - "integrity": "sha1-kyb4vPsBOtzABf3/BWrM4CDlHCQ=", - "dev": true - }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npm.taobao.org/public-encrypt/download/public-encrypt-4.0.3.tgz", - "integrity": "sha1-T8ydd6B+SLp1J+fL4N4z0HATMeA=", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npm.taobao.org/bn.js/download/bn.js-4.12.0.tgz", - "integrity": "sha1-d1s/J477uXGO7HNh9IP7Nvu/6og=", - "dev": true - } - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/pump/download/pump-3.0.0.tgz", - "integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npm.taobao.org/pumpify/download/pumpify-1.5.1.tgz", - "integrity": "sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4=", - "dev": true, - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/pump/download/pump-2.0.1.tgz", - "integrity": "sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk=", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } - } - }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-2.1.1.tgz", - "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=", - "dev": true - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npm.taobao.org/q/download/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "dev": true - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npm.taobao.org/qs/download/qs-6.5.2.tgz?cache=0&sync_timestamp=1616385328325&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fqs%2Fdownload%2Fqs-6.5.2.tgz", - "integrity": "sha1-yzroBuh0BERYTvFUzo7pjUA/PjY=", - "dev": true - }, - "query-string": { - "version": "4.3.4", - "resolved": "https://registry.nlark.com/query-string/download/query-string-4.3.4.tgz?cache=0&sync_timestamp=1624297034221&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fquery-string%2Fdownload%2Fquery-string-4.3.4.tgz", - "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", - "dev": true, - "requires": { - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" - } - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.nlark.com/querystring/download/querystring-0.2.0.tgz?cache=0&sync_timestamp=1626179435543&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fquerystring%2Fdownload%2Fquerystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npm.taobao.org/querystring-es3/download/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true - }, - "querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/querystringify/download/querystringify-2.2.0.tgz", - "integrity": "sha1-M0WUG0FTy50ILY7uTNogFqmu9/Y=", - "dev": true - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/randombytes/download/randombytes-2.1.0.tgz", - "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/randomfill/download/randomfill-1.0.4.tgz", - "integrity": "sha1-ySGW/IarQr6YPxvzF3giSTHWFFg=", - "dev": true, - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npm.taobao.org/range-parser/download/range-parser-1.2.1.tgz", - "integrity": "sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE=", - "dev": true - }, - "raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npm.taobao.org/raw-body/download/raw-body-2.4.0.tgz", - "integrity": "sha1-oc5vucm8NWylLoklarWQWeE9AzI=", - "dev": true, - "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } - }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.nlark.com/read-pkg/download/read-pkg-5.2.0.tgz", - "integrity": "sha1-e/KVQ4yloz5WzTDgU7NO5yUMk8w=", - "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - } - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz", - "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", - "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", - "dev": true - } - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-3.6.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freaddirp%2Fdownload%2Freaddirp-3.6.0.tgz", - "integrity": "sha1-dKNwvYVxFuJFspzJc0DNQxoCpsc=", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.nlark.com/rechoir/download/rechoir-0.6.2.tgz?cache=0&sync_timestamp=1627101702123&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frechoir%2Fdownload%2Frechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true, - "requires": { - "resolve": "^1.1.6" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/regex-not/download/regex-not-1.0.2.tgz", - "integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=", - "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "regexp.prototype.flags": { - "version": "1.3.1", - "resolved": "https://registry.npm.taobao.org/regexp.prototype.flags/download/regexp.prototype.flags-1.3.1.tgz?cache=0&sync_timestamp=1610725764337&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregexp.prototype.flags%2Fdownload%2Fregexp.prototype.flags-1.3.1.tgz", - "integrity": "sha1-fvNSro0VnnWMDq3Kb4/LTu8HviY=", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npm.taobao.org/relateurl/download/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "dev": true - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/remove-trailing-separator/download/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "renderkid": { - "version": "2.0.7", - "resolved": "https://registry.nlark.com/renderkid/download/renderkid-2.0.7.tgz", - "integrity": "sha1-Rk8namvc7mBvShWZP5sp/HTKhgk=", - "dev": true, - "requires": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-2.1.1.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "css-select": { - "version": "4.1.3", - "resolved": "https://registry.nlark.com/css-select/download/css-select-4.1.3.tgz?cache=0&sync_timestamp=1622994276976&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcss-select%2Fdownload%2Fcss-select-4.1.3.tgz", - "integrity": "sha1-pwRA9wMX8maRGK10/xBeZYSccGc=", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^5.0.0", - "domhandler": "^4.2.0", - "domutils": "^2.6.0", - "nth-check": "^2.0.0" - } - }, - "css-what": { - "version": "5.0.1", - "resolved": "https://registry.nlark.com/css-what/download/css-what-5.0.1.tgz?cache=0&sync_timestamp=1622227658327&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fcss-what%2Fdownload%2Fcss-what-5.0.1.tgz", - "integrity": "sha1-PvqCATH0ZpqKwkCPnDLnx96fTK0=", - "dev": true - }, - "dom-serializer": { - "version": "1.3.2", - "resolved": "https://registry.nlark.com/dom-serializer/download/dom-serializer-1.3.2.tgz?cache=0&sync_timestamp=1621256830355&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdom-serializer%2Fdownload%2Fdom-serializer-1.3.2.tgz", - "integrity": "sha1-YgZDfTLO767HFhgDIwx6ILwbTZE=", - "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - } - }, - "domelementtype": { - "version": "2.2.0", - "resolved": "https://registry.nlark.com/domelementtype/download/domelementtype-2.2.0.tgz", - "integrity": "sha1-mgtsJ4LtahxzI9QiZxg9+b2LHVc=", - "dev": true - }, - "domutils": { - "version": "2.8.0", - "resolved": "https://registry.nlark.com/domutils/download/domutils-2.8.0.tgz?cache=0&sync_timestamp=1630106606599&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fdomutils%2Fdownload%2Fdomutils-2.8.0.tgz", - "integrity": "sha1-RDfe9dtuLR9dbuhZvZXKfQIEgTU=", - "dev": true, - "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - } - }, - "nth-check": { - "version": "2.0.1", - "resolved": "https://registry.nlark.com/nth-check/download/nth-check-2.0.1.tgz?cache=0&sync_timestamp=1631793617973&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fnth-check%2Fdownload%2Fnth-check-2.0.1.tgz", - "integrity": "sha1-Lv4WL1w9oGoolZ+9PbddvuqfD8I=", - "dev": true, - "requires": { - "boolbase": "^1.0.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - } - } - }, - "repeat-element": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/repeat-element/download/repeat-element-1.1.4.tgz", - "integrity": "sha1-vmgVIIR6tYx1aKx1+/rSjtQtOek=", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npm.taobao.org/repeat-string/download/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npm.taobao.org/request/download/request-2.88.2.tgz", - "integrity": "sha1-1zyRhzHLWofaBH4gcjQUb2ZNErM=", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/require-directory/download/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/require-main-filename/download/require-main-filename-2.0.0.tgz", - "integrity": "sha1-0LMp7MfMD2Fkn2IhW+aa9UqomJs=", - "dev": true - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/requires-port/download/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true - }, - "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npm.taobao.org/resolve/download/resolve-1.20.0.tgz", - "integrity": "sha1-YpoBP7P3B1XW8LeTXMHCxTeLGXU=", - "dev": true, - "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - } - }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/resolve-cwd/download/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", - "dev": true, - "requires": { - "resolve-from": "^3.0.0" - } - }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/resolve-from/download/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npm.taobao.org/resolve-url/download/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true - }, - "restore-cursor": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/restore-cursor/download/restore-cursor-2.0.0.tgz?cache=0&sync_timestamp=1629746923086&other_urls=https%3A%2F%2Fregistry.nlark.com%2Frestore-cursor%2Fdownload%2Frestore-cursor-2.0.0.tgz", - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "dev": true, - "requires": { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2" - } - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npm.taobao.org/ret/download/ret-0.1.15.tgz?cache=0&sync_timestamp=1613002746282&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fret%2Fdownload%2Fret-0.1.15.tgz", - "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=", - "dev": true - }, - "retry": { - "version": "0.12.0", - "resolved": "https://registry.nlark.com/retry/download/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", - "dev": true - }, - "rgb-regex": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/rgb-regex/download/rgb-regex-1.0.1.tgz", - "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", - "dev": true - }, - "rgba-regex": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/rgba-regex/download/rgba-regex-1.0.0.tgz", - "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", - "dev": true - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npm.taobao.org/rimraf/download/rimraf-2.7.1.tgz", - "integrity": "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w=", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/ripemd160/download/ripemd160-2.0.2.tgz", - "integrity": "sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw=", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/run-queue/download/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", - "dev": true, - "requires": { - "aproba": "^1.1.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.2.1.tgz", - "integrity": "sha1-Hq+fqb2x/dTsdfWPnNtOa3gn7sY=", - "dev": true - }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/safe-regex/download/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz", - "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=", - "dev": true - }, - "sass": { - "version": "1.32.13", - "resolved": "https://registry.nlark.com/sass/download/sass-1.32.13.tgz?cache=0&sync_timestamp=1632295841685&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsass%2Fdownload%2Fsass-1.32.13.tgz", - "integrity": "sha1-jSnISeYlpBW85xYJx8+V4V907QA=", - "dev": true, - "requires": { - "chokidar": ">=3.0.0 <4.0.0" - } - }, - "sass-loader": { - "version": "10.2.0", - "resolved": "https://registry.nlark.com/sass-loader/download/sass-loader-10.2.0.tgz?cache=0&sync_timestamp=1623351005877&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsass-loader%2Fdownload%2Fsass-loader-10.2.0.tgz", - "integrity": "sha1-PWTBWQ+REBOz+kigsiqD1eFJRxY=", - "dev": true, - "requires": { - "klona": "^2.0.4", - "loader-utils": "^2.0.0", - "neo-async": "^2.6.2", - "schema-utils": "^3.0.0", - "semver": "^7.3.2" - }, - "dependencies": { - "json5": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/json5/download/json5-2.2.0.tgz?cache=0&sync_timestamp=1612146079519&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-2.2.0.tgz", - "integrity": "sha1-Lf7+cgxrpSXZ69kJlQ8FFTFsiaM=", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-2.0.0.tgz", - "integrity": "sha1-5MrOW4FtQloWa18JfhDNErNgZLA=", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-6.0.0.tgz", - "integrity": "sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ=", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.nlark.com/schema-utils/download/schema-utils-3.1.1.tgz?cache=0&sync_timestamp=1626694740261&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fschema-utils%2Fdownload%2Fschema-utils-3.1.1.tgz", - "integrity": "sha1-vHTEtraZXB2I92qLd76nIZ4MgoE=", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.3.5.tgz?cache=0&sync_timestamp=1616463641178&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.3.5.tgz", - "integrity": "sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz", - "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=", - "dev": true - } - } - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz?cache=0&sync_timestamp=1608181219722&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsax%2Fdownload%2Fsax-1.2.4.tgz", - "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=", - "dev": true - }, - "schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.nlark.com/schema-utils/download/schema-utils-2.7.1.tgz?cache=0&sync_timestamp=1626694740261&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fschema-utils%2Fdownload%2Fschema-utils-2.7.1.tgz", - "integrity": "sha1-HKTzLRskxZDCA7jnpQvw6kzTlNc=", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" - } - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/select-hose/download/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", - "dev": true - }, - "selfsigned": { - "version": "1.10.11", - "resolved": "https://registry.nlark.com/selfsigned/download/selfsigned-1.10.11.tgz?cache=0&sync_timestamp=1620160629032&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fselfsigned%2Fdownload%2Fselfsigned-1.10.11.tgz", - "integrity": "sha1-JJKc2Qb+D0S20B+yOZmnOVN6y+k=", - "dev": true, - "requires": { - "node-forge": "^0.10.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-6.3.0.tgz?cache=0&sync_timestamp=1616463641178&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-6.3.0.tgz", - "integrity": "sha1-7gpkyK9ejO6mdoexM3YeG+y9HT0=", - "dev": true - }, - "send": { - "version": "0.17.1", - "resolved": "https://registry.npm.taobao.org/send/download/send-0.17.1.tgz", - "integrity": "sha1-wdiwWfeQD3Rm3Uk4vcROEd2zdsg=", - "dev": true, - "requires": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.nlark.com/debug/download/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npm.taobao.org/mime/download/mime-1.6.0.tgz?cache=0&sync_timestamp=1613584838235&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmime%2Fdownload%2Fmime-1.6.0.tgz", - "integrity": "sha1-Ms2eXGRVO9WNGaVor0Uqz/BJgbE=", - "dev": true - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/ms/download/ms-2.1.1.tgz", - "integrity": "sha1-MKWGTrPrsKZvLr5tcnrwagnYbgo=", - "dev": true - } - } - }, - "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.nlark.com/serialize-javascript/download/serialize-javascript-4.0.0.tgz", - "integrity": "sha1-tSXhI4SJpez8Qq+sw/6Z5mb0sao=", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npm.taobao.org/serve-index/download/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", - "dev": true, - "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.nlark.com/debug/download/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npm.taobao.org/http-errors/download/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz?cache=0&sync_timestamp=1606706255906&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finherits%2Fdownload%2Finherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.0.tgz", - "integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=", - "dev": true - } - } - }, - "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npm.taobao.org/serve-static/download/serve-static-1.14.1.tgz", - "integrity": "sha1-Zm5jbcTwEPfvKZcKiKZ0MgiYsvk=", - "dev": true, - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/set-blocking/download/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.nlark.com/set-value/download/set-value-2.0.1.tgz", - "integrity": "sha1-oY1AUw5vB95CKMfe/kInr4ytAFs=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npm.taobao.org/setimmediate/download/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.1.1.tgz", - "integrity": "sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM=", - "dev": true - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npm.taobao.org/sha.js/download/sha.js-2.4.11.tgz", - "integrity": "sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.nlark.com/shebang-regex/download/shebang-regex-1.0.0.tgz?cache=0&sync_timestamp=1628896299850&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fshebang-regex%2Fdownload%2Fshebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "shell-quote": { - "version": "1.7.2", - "resolved": "https://registry.npm.taobao.org/shell-quote/download/shell-quote-1.7.2.tgz", - "integrity": "sha1-Z6fQLHbJ2iT5nSCAj8re0ODgS+I=", - "dev": true - }, - "shelljs": { - "version": "0.8.4", - "resolved": "https://registry.npm.taobao.org/shelljs/download/shelljs-0.8.4.tgz", - "integrity": "sha1-3naE/ut2f4cWsyYHiooAh1iQ48I=", - "dev": true, - "requires": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - } - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/side-channel/download/side-channel-1.0.4.tgz", - "integrity": "sha1-785cj9wQTudRslxY1CkAEfpeos8=", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "signal-exit": { - "version": "3.0.5", - "resolved": "https://registry.npmmirror.com/signal-exit/download/signal-exit-3.0.5.tgz", - "integrity": "sha1-nj6MwMdamUcrRDIQM6dwLnc4JS8=", - "dev": true - }, - "simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npm.taobao.org/simple-swizzle/download/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", - "dev": true, - "requires": { - "is-arrayish": "^0.3.1" - }, - "dependencies": { - "is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npm.taobao.org/is-arrayish/download/is-arrayish-0.3.2.tgz", - "integrity": "sha1-RXSirlb3qyBolvtDHq7tBm/fjwM=", - "dev": true - } - } - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/slash/download/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "dev": true - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npm.taobao.org/snapdragon/download/snapdragon-0.8.2.tgz?cache=0&sync_timestamp=1617971785350&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsnapdragon%2Fdownload%2Fsnapdragon-0.8.2.tgz", - "integrity": "sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=", - "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.nlark.com/debug/download/debug-2.6.9.tgz", - "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/ms/download/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/snapdragon-node/download/snapdragon-node-2.1.1.tgz", - "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", - "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/is-descriptor/download/is-descriptor-1.0.2.tgz", - "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/snapdragon-util/download/snapdragon-util-3.0.1.tgz", - "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=", - "dev": true, - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "sockjs": { - "version": "0.3.21", - "resolved": "https://registry.npm.taobao.org/sockjs/download/sockjs-0.3.21.tgz", - "integrity": "sha1-s0/7mOeWkwtgoM+hGQTWozmn1Bc=", - "dev": true, - "requires": { - "faye-websocket": "^0.11.3", - "uuid": "^3.4.0", - "websocket-driver": "^0.7.4" - } - }, - "sockjs-client": { - "version": "1.5.2", - "resolved": "https://registry.nlark.com/sockjs-client/download/sockjs-client-1.5.2.tgz?cache=0&sync_timestamp=1629825213973&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsockjs-client%2Fdownload%2Fsockjs-client-1.5.2.tgz", - "integrity": "sha1-S8SMLanOR2nxnccjOWtQ9cEjMKM=", - "dev": true, - "requires": { - "debug": "^3.2.6", - "eventsource": "^1.0.7", - "faye-websocket": "^0.11.3", - "inherits": "^2.0.4", - "json3": "^3.3.3", - "url-parse": "^1.5.3" - }, - "dependencies": { - "debug": { - "version": "3.2.7", - "resolved": "https://registry.nlark.com/debug/download/debug-3.2.7.tgz", - "integrity": "sha1-clgLfpFF+zm2Z2+cXl+xALk0F5o=", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } - } - }, - "sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/sort-keys/download/sort-keys-1.1.2.tgz", - "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", - "dev": true, - "requires": { - "is-plain-obj": "^1.0.0" - }, - "dependencies": { - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/is-plain-obj/download/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true - } - } - }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/source-list-map/download/source-list-map-2.0.1.tgz", - "integrity": "sha1-OZO9hzv8SEecyp6jpUeDXHwVSzQ=", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.6.1.tgz", - "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=", - "dev": true - }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npm.taobao.org/source-map-resolve/download/source-map-resolve-0.5.3.tgz", - "integrity": "sha1-GQhmvs51U+H48mei7oLGBrVQmho=", - "dev": true, - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-support": { - "version": "0.5.20", - "resolved": "https://registry.nlark.com/source-map-support/download/source-map-support-0.5.20.tgz", - "integrity": "sha1-EhZgifj15ejFaSazd2Mzkt0stsk=", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "source-map-url": { - "version": "0.4.1", - "resolved": "https://registry.npm.taobao.org/source-map-url/download/source-map-url-0.4.1.tgz?cache=0&sync_timestamp=1612211015749&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsource-map-url%2Fdownload%2Fsource-map-url-0.4.1.tgz", - "integrity": "sha1-CvZmBadFpaL5HPG7+KevvCg97FY=", - "dev": true - }, - "spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/spdx-correct/download/spdx-correct-3.1.1.tgz", - "integrity": "sha1-3s6BrJweZxPl99G28X1Gj6U9iak=", - "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/spdx-exceptions/download/spdx-exceptions-2.3.0.tgz?cache=0&sync_timestamp=1587422410312&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fspdx-exceptions%2Fdownload%2Fspdx-exceptions-2.3.0.tgz", - "integrity": "sha1-PyjOGnegA3JoPq3kpDMYNSeiFj0=", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npm.taobao.org/spdx-expression-parse/download/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha1-z3D1BILu/cmOPOCmgz5KU87rpnk=", - "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.10", - "resolved": "https://registry.nlark.com/spdx-license-ids/download/spdx-license-ids-3.0.10.tgz?cache=0&sync_timestamp=1628483278047&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fspdx-license-ids%2Fdownload%2Fspdx-license-ids-3.0.10.tgz", - "integrity": "sha1-DZvszN5wA9bGWNSH3UijLwvzAUs=", - "dev": true - }, - "spdy": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/spdy/download/spdy-4.0.2.tgz", - "integrity": "sha1-t09GYgOj7aRSwCSSuR+56EonZ3s=", - "dev": true, - "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - } - }, - "spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/spdy-transport/download/spdy-transport-3.0.0.tgz", - "integrity": "sha1-ANSGOmQArXXfkzYaFghgXl3NzzE=", - "dev": true, - "requires": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npm.taobao.org/readable-stream/download/readable-stream-3.6.0.tgz", - "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npm.taobao.org/split-string/download/split-string-3.1.0.tgz", - "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=", - "dev": true, - "requires": { - "extend-shallow": "^3.0.0" - } - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npm.taobao.org/sprintf-js/download/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npm.taobao.org/sshpk/download/sshpk-1.16.1.tgz", - "integrity": "sha1-+2YcC+8ps520B2nuOfpwCT1vaHc=", - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "ssri": { - "version": "8.0.1", - "resolved": "https://registry.nlark.com/ssri/download/ssri-8.0.1.tgz?cache=0&sync_timestamp=1621364647836&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fssri%2Fdownload%2Fssri-8.0.1.tgz", - "integrity": "sha1-Y45OQ54v+9LNKJd21cpFfE9Roq8=", - "dev": true, - "requires": { - "minipass": "^3.1.1" - } - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npm.taobao.org/stable/download/stable-0.1.8.tgz", - "integrity": "sha1-g26zyDgv4pNv6vVEYxAXzn1Ho88=", - "dev": true - }, - "stackframe": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/stackframe/download/stackframe-1.2.0.tgz?cache=0&sync_timestamp=1590854072754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstackframe%2Fdownload%2Fstackframe-1.2.0.tgz", - "integrity": "sha1-UkKUktY8YuuYmATBFVLj0i53kwM=", - "dev": true - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/static-extend/download/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npm.taobao.org/define-property/download/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npm.taobao.org/statuses/download/statuses-1.5.0.tgz?cache=0&sync_timestamp=1609654307301&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstatuses%2Fdownload%2Fstatuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true - }, - "stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/stream-browserify/download/stream-browserify-2.0.2.tgz", - "integrity": "sha1-h1IdOKRKp+6RzhzSpH3wy0ndZgs=", - "dev": true, - "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" - } - }, - "stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npm.taobao.org/stream-each/download/stream-each-1.2.3.tgz", - "integrity": "sha1-6+J6DDibBPvMIzZClS4Qcxr6m64=", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" - } - }, - "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.nlark.com/stream-http/download/stream-http-2.8.3.tgz", - "integrity": "sha1-stJCRpKIpaJ+xP6JM6z2I95lFPw=", - "dev": true, - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" - } - }, - "stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.1.tgz?cache=0&sync_timestamp=1576147145118&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstream-shift%2Fdownload%2Fstream-shift-1.0.1.tgz", - "integrity": "sha1-1wiCgVWasneEJCebCHfaPDktWj0=", - "dev": true - }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/strict-uri-encode/download/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", - "dev": true - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/string-width/download/string-width-2.1.1.tgz", - "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", - "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-3.0.0.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/string.prototype.trimend/download/string.prototype.trimend-1.0.4.tgz?cache=0&sync_timestamp=1614127438583&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimend%2Fdownload%2Fstring.prototype.trimend-1.0.4.tgz", - "integrity": "sha1-51rpDClCxjUEaGwYsoe0oLGkX4A=", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/string.prototype.trimstart/download/string.prototype.trimstart-1.0.4.tgz?cache=0&sync_timestamp=1614127299808&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fstring.prototype.trimstart%2Fdownload%2Fstring.prototype.trimstart-1.0.4.tgz", - "integrity": "sha1-s2OZr0qymZtMnGSL16P7K7Jv7u0=", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/string_decoder/download/string_decoder-1.1.1.tgz", - "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - }, - "dependencies": { - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.2.tgz", - "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=", - "dev": true - } - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-6.0.1.tgz", - "integrity": "sha1-nibGPTD1NEPpSJSVshBdN7Z6hdk=", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-5.0.1.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-5.0.1.tgz", - "integrity": "sha1-CCyyyJyf6GWaMRpTvWpNxTAdswQ=", - "dev": true - } - } - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/strip-eof/download/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, - "strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.nlark.com/strip-final-newline/download/strip-final-newline-2.0.0.tgz?cache=0&sync_timestamp=1620046435959&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstrip-final-newline%2Fdownload%2Fstrip-final-newline-2.0.0.tgz", - "integrity": "sha1-ibhS+y/L6Tb29LMYevsKEsGrWK0=", - "dev": true - }, - "stylehacks": { - "version": "4.0.3", - "resolved": "https://registry.nlark.com/stylehacks/download/stylehacks-4.0.3.tgz?cache=0&sync_timestamp=1621449595596&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fstylehacks%2Fdownload%2Fstylehacks-4.0.3.tgz", - "integrity": "sha1-Zxj8r00eB9ihMYaQiB6NlnJqcdU=", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.nlark.com/postcss-selector-parser/download/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha1-sxD1xMD9r3b5SQK7qjDbaqhPUnA=", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.nlark.com/supports-color/download/supports-color-5.5.0.tgz?cache=0&sync_timestamp=1626703414084&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-5.5.0.tgz", - "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmmirror.com/svgo/download/svgo-1.3.2.tgz?cache=0&sync_timestamp=1632431939586&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fsvgo%2Fdownload%2Fsvgo-1.3.2.tgz", - "integrity": "sha1-ttxRHAYzRsnkFbgeQ0ARRbltQWc=", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.nlark.com/tapable/download/tapable-1.1.3.tgz?cache=0&sync_timestamp=1631526982870&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftapable%2Fdownload%2Ftapable-1.1.3.tgz", - "integrity": "sha1-ofzMBrWNth/XpF2i2kT186Pme6I=", - "dev": true - }, - "terser": { - "version": "4.8.0", - "resolved": "https://registry.nlark.com/terser/download/terser-4.8.0.tgz", - "integrity": "sha1-YwVjQ9fHC7KfOvZlhlpG/gOg3xc=", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.nlark.com/commander/download/commander-2.20.3.tgz", - "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=", - "dev": true - } - } - }, - "terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.nlark.com/terser-webpack-plugin/download/terser-webpack-plugin-1.4.5.tgz?cache=0&sync_timestamp=1631202382133&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-1.4.5.tgz", - "integrity": "sha1-oheu+uozDnNP+sthIOwfoxLWBAs=", - "dev": true, - "requires": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - }, - "dependencies": { - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.nlark.com/find-cache-dir/download/find-cache-dir-2.1.0.tgz?cache=0&sync_timestamp=1630260009898&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffind-cache-dir%2Fdownload%2Ffind-cache-dir-2.1.0.tgz", - "integrity": "sha1-jQ+UzRP+Q8bHwmGg2GEVypGMBfc=", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/find-up/download/find-up-3.0.0.tgz?cache=0&sync_timestamp=1632654133435&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ffind-up%2Fdownload%2Ffind-up-3.0.0.tgz", - "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/locate-path/download/locate-path-3.0.0.tgz?cache=0&sync_timestamp=1629895618224&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flocate-path%2Fdownload%2Flocate-path-3.0.0.tgz", - "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/make-dir/download/make-dir-2.1.0.tgz", - "integrity": "sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=", - "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/p-locate/download/p-locate-3.0.0.tgz?cache=0&sync_timestamp=1629892721671&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-locate%2Fdownload%2Fp-locate-3.0.0.tgz", - "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/path-exists/download/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/pkg-dir/download/pkg-dir-3.0.0.tgz?cache=0&sync_timestamp=1602859010405&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpkg-dir%2Fdownload%2Fpkg-dir-3.0.0.tgz", - "integrity": "sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM=", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.nlark.com/schema-utils/download/schema-utils-1.0.0.tgz?cache=0&sync_timestamp=1626694740261&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fschema-utils%2Fdownload%2Fschema-utils-1.0.0.tgz", - "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1616463641178&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", - "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", - "dev": true - } - } - }, - "thenify": { - "version": "3.3.1", - "resolved": "https://registry.npm.taobao.org/thenify/download/thenify-3.3.1.tgz", - "integrity": "sha1-iTLmhqQGYDigFt2eLKRq3Zg4qV8=", - "dev": true, - "requires": { - "any-promise": "^1.0.0" - } - }, - "thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npm.taobao.org/thenify-all/download/thenify-all-1.6.0.tgz", - "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", - "dev": true, - "requires": { - "thenify": ">= 3.1.0 < 4" - } - }, - "thread-loader": { - "version": "2.1.3", - "resolved": "https://registry.nlark.com/thread-loader/download/thread-loader-2.1.3.tgz", - "integrity": "sha1-y9LBOfwrLebp0o9iKGq3cMGsvdo=", - "dev": true, - "requires": { - "loader-runner": "^2.3.1", - "loader-utils": "^1.1.0", - "neo-async": "^2.6.0" - } - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npm.taobao.org/through2/download/through2-2.0.5.tgz", - "integrity": "sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0=", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npm.taobao.org/thunky/download/thunky-1.1.0.tgz", - "integrity": "sha1-Wrr3FKlAXbBQRzK7zNLO3Z75U30=", - "dev": true - }, - "timers-browserify": { - "version": "2.0.12", - "resolved": "https://registry.npm.taobao.org/timers-browserify/download/timers-browserify-2.0.12.tgz?cache=0&sync_timestamp=1603793835646&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftimers-browserify%2Fdownload%2Ftimers-browserify-2.0.12.tgz", - "integrity": "sha1-RKRcEfv0B/NPl7zNFXfGUjYbAO4=", - "dev": true, - "requires": { - "setimmediate": "^1.0.4" - } - }, - "timsort": { - "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/timsort/download/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", - "dev": true - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npm.taobao.org/to-object-path/download/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npm.taobao.org/to-regex/download/to-regex-3.0.2.tgz", - "integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=", - "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-5.0.1.tgz", - "integrity": "sha1-FkjESq58jZiKMmAY7XL1tN0DkuQ=", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/toidentifier/download/toidentifier-1.0.0.tgz", - "integrity": "sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM=", - "dev": true - }, - "toposort": { - "version": "1.0.7", - "resolved": "https://registry.npm.taobao.org/toposort/download/toposort-1.0.7.tgz", - "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", - "dev": true - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.5.0.tgz", - "integrity": "sha1-zZ+yoKodWhK0c72fuW+j3P9lreI=", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - }, - "tryer": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/tryer/download/tryer-1.0.1.tgz", - "integrity": "sha1-8shUBoALmw90yfdGW4HqrSQSUvg=", - "dev": true - }, - "ts-pnp": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/ts-pnp/download/ts-pnp-1.2.0.tgz", - "integrity": "sha1-pQCtCEsHmPHDBxrzkeZZEshrypI=", - "dev": true - }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npm.taobao.org/tty-browserify/download/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", - "dev": true - }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, - "requires": { - "safe-buffer": "^5.0.1" - } - }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.nlark.com/type-fest/download/type-fest-0.6.0.tgz?cache=0&sync_timestamp=1632134160608&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ftype-fest%2Fdownload%2Ftype-fest-0.6.0.tgz", - "integrity": "sha1-jSojcNPfiG61yQraHFv2GIrPg4s=", - "dev": true - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npm.taobao.org/type-is/download/type-is-1.6.18.tgz", - "integrity": "sha1-TlUs0F3wlGfcvE73Od6J8s83wTE=", - "dev": true, - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npm.taobao.org/typedarray/download/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "uglify-js": { - "version": "3.4.10", - "resolved": "https://registry.nlark.com/uglify-js/download/uglify-js-3.4.10.tgz?cache=0&sync_timestamp=1631026555366&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fuglify-js%2Fdownload%2Fuglify-js-3.4.10.tgz", - "integrity": "sha1-mtlWPY6zrN+404WX0q8dgV9qdV8=", - "dev": true, - "requires": { - "commander": "~2.19.0", - "source-map": "~0.6.1" - }, - "dependencies": { - "commander": { - "version": "2.19.0", - "resolved": "https://registry.nlark.com/commander/download/commander-2.19.0.tgz", - "integrity": "sha1-9hmKqE5bg8RgVLlN3tv+1e6f8So=", - "dev": true - } - } - }, - "unbox-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/unbox-primitive/download/unbox-primitive-1.0.1.tgz?cache=0&sync_timestamp=1616706319488&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funbox-primitive%2Fdownload%2Funbox-primitive-1.0.1.tgz", - "integrity": "sha1-CF4hViXsMWJXTciFmr7nilmxRHE=", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", - "which-boxed-primitive": "^1.0.2" - } - }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/union-value/download/union-value-1.0.1.tgz", - "integrity": "sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc=", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - } - }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/uniq/download/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", - "dev": true - }, - "uniqs": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/uniqs/download/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", - "dev": true - }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/unique-filename/download/unique-filename-1.1.1.tgz", - "integrity": "sha1-HWl2k2mtoFgxA6HmrodoG1ZXMjA=", - "dev": true, - "requires": { - "unique-slug": "^2.0.0" - } - }, - "unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npm.taobao.org/unique-slug/download/unique-slug-2.0.2.tgz", - "integrity": "sha1-uqvOkQg/xk6UWw861hPiZPfNTmw=", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npm.taobao.org/universalify/download/universalify-0.1.2.tgz?cache=0&sync_timestamp=1603180042770&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funiversalify%2Fdownload%2Funiversalify-0.1.2.tgz", - "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=", - "dev": true - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true - }, - "unquote": { - "version": "1.1.1", - "resolved": "https://registry.npm.taobao.org/unquote/download/unquote-1.1.1.tgz", - "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", - "dev": true - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npm.taobao.org/unset-value/download/unset-value-1.0.0.tgz?cache=0&sync_timestamp=1616088539233&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Funset-value%2Fdownload%2Funset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npm.taobao.org/has-value/download/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npm.taobao.org/isobject/download/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/has-values/download/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true - } - } - }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npm.taobao.org/upath/download/upath-1.2.0.tgz", - "integrity": "sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ=", - "dev": true - }, - "upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npm.taobao.org/upper-case/download/upper-case-1.1.3.tgz", - "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", - "dev": true - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npm.taobao.org/uri-js/download/uri-js-4.4.1.tgz?cache=0&sync_timestamp=1610237586670&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furi-js%2Fdownload%2Furi-js-4.4.1.tgz", - "integrity": "sha1-mxpSWVIlhZ5V9mnZKPiMbFfyp34=", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npm.taobao.org/urix/download/urix-0.1.0.tgz?cache=0&sync_timestamp=1585438689517&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furix%2Fdownload%2Furix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npm.taobao.org/url/download/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, - "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npm.taobao.org/punycode/download/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } - } - }, - "url-loader": { - "version": "2.3.0", - "resolved": "https://registry.npm.taobao.org/url-loader/download/url-loader-2.3.0.tgz?cache=0&sync_timestamp=1602252665628&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Furl-loader%2Fdownload%2Furl-loader-2.3.0.tgz", - "integrity": "sha1-4OLvZY8APvuMpBsPP/v3a6uIZYs=", - "dev": true, - "requires": { - "loader-utils": "^1.2.3", - "mime": "^2.4.4", - "schema-utils": "^2.5.0" - } - }, - "url-parse": { - "version": "1.5.3", - "resolved": "https://registry.nlark.com/url-parse/download/url-parse-1.5.3.tgz", - "integrity": "sha1-ccEwPTj7Zjmt4YPCmSyMwGht+GI=", - "dev": true, - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/use/download/use-3.1.1.tgz", - "integrity": "sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8=", - "dev": true - }, - "util": { - "version": "0.11.1", - "resolved": "https://registry.nlark.com/util/download/util-0.11.1.tgz?cache=0&sync_timestamp=1622212984161&other_urls=https%3A%2F%2Fregistry.nlark.com%2Futil%2Fdownload%2Futil-0.11.1.tgz", - "integrity": "sha1-MjZzNyDsZLsn9uJvQhqqLhtYjWE=", - "dev": true, - "requires": { - "inherits": "2.0.3" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz?cache=0&sync_timestamp=1606706255906&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finherits%2Fdownload%2Finherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/util-deprecate/download/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/util.promisify/download/util.promisify-1.0.1.tgz?cache=0&sync_timestamp=1610159858516&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Futil.promisify%2Fdownload%2Futil.promisify-1.0.1.tgz", - "integrity": "sha1-a693dLgO6w91INi4HQeYKlmruu4=", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - } - }, - "utila": { - "version": "0.4.0", - "resolved": "https://registry.npm.taobao.org/utila/download/utila-0.4.0.tgz", - "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", - "dev": true - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.nlark.com/uuid/download/uuid-3.4.0.tgz?cache=0&sync_timestamp=1622213136953&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fuuid%2Fdownload%2Fuuid-3.4.0.tgz", - "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=", - "dev": true - }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npm.taobao.org/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha1-/JH2uce6FchX9MssXe/uw51PQQo=", - "dev": true, - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/vary/download/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true - }, - "vendors": { - "version": "1.0.4", - "resolved": "https://registry.npm.taobao.org/vendors/download/vendors-1.0.4.tgz?cache=0&sync_timestamp=1615203465160&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvendors%2Fdownload%2Fvendors-1.0.4.tgz", - "integrity": "sha1-4rgApT56Kbk1BsPPQRANFsTErY4=", - "dev": true - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npm.taobao.org/vm-browserify/download/vm-browserify-1.1.2.tgz?cache=0&sync_timestamp=1572870776965&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvm-browserify%2Fdownload%2Fvm-browserify-1.1.2.tgz", - "integrity": "sha1-eGQcSIuObKkadfUR56OzKobl3aA=", - "dev": true - }, - "vue": { - "version": "2.6.14", - "resolved": "https://registry.npmmirror.com/vue/download/vue-2.6.14.tgz", - "integrity": "sha1-5RqlJQJQ1Wmj+606ilpofWA24jU=" - }, - "vue-chartist": { - "version": "2.3.1", - "resolved": "https://registry.npm.taobao.org/vue-chartist/download/vue-chartist-2.3.1.tgz", - "integrity": "sha1-dDlL7E2Dg8UjeAPlTC735/P69IQ=", - "requires": { - "chartist": "^0.11.0" - } - }, - "vue-cli-plugin-vuetify": { - "version": "2.4.2", - "resolved": "https://registry.nlark.com/vue-cli-plugin-vuetify/download/vue-cli-plugin-vuetify-2.4.2.tgz", - "integrity": "sha1-9cVKhTzVsGYz2kpQj/SqW2tideA=", - "dev": true, - "requires": { - "null-loader": "^3.0.0", - "semver": "^7.1.2", - "shelljs": "^0.8.3" - }, - "dependencies": { - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npm.taobao.org/lru-cache/download/lru-cache-6.0.0.tgz", - "integrity": "sha1-bW/mVw69lqr5D8rR2vo7JWbbOpQ=", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } - }, - "semver": { - "version": "7.3.5", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-7.3.5.tgz?cache=0&sync_timestamp=1616463641178&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-7.3.5.tgz", - "integrity": "sha1-C2Ich5NI2JmOSw5L6Us/EuYBjvc=", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-4.0.0.tgz", - "integrity": "sha1-m7knkNnA7/7GO+c1GeEaNQGaOnI=", - "dev": true - } - } - }, - "vue-hot-reload-api": { - "version": "2.3.4", - "resolved": "https://registry.npm.taobao.org/vue-hot-reload-api/download/vue-hot-reload-api-2.3.4.tgz", - "integrity": "sha1-UylVzB6yCKPZkLOp+acFdGV+CPI=", - "dev": true - }, - "vue-loader": { - "version": "15.9.8", - "resolved": "https://registry.npmmirror.com/vue-loader/download/vue-loader-15.9.8.tgz", - "integrity": "sha1-Sw9gKvr2aplr4eU0+5YJ3EqxDmE=", - "dev": true, - "requires": { - "@vue/component-compiler-utils": "^3.1.0", - "hash-sum": "^1.0.2", - "loader-utils": "^1.1.0", - "vue-hot-reload-api": "^2.3.0", - "vue-style-loader": "^4.1.0" - }, - "dependencies": { - "hash-sum": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/hash-sum/download/hash-sum-1.0.2.tgz", - "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", - "dev": true - } - } - }, - "vue-router": { - "version": "3.5.2", - "resolved": "https://registry.nlark.com/vue-router/download/vue-router-3.5.2.tgz?cache=0&sync_timestamp=1628495505697&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvue-router%2Fdownload%2Fvue-router-3.5.2.tgz", - "integrity": "sha1-X1Xj8lGXDjbD6NiKfNLWejUK3lw=" - }, - "vue-style-loader": { - "version": "4.1.3", - "resolved": "https://registry.npm.taobao.org/vue-style-loader/download/vue-style-loader-4.1.3.tgz?cache=0&sync_timestamp=1614758618345&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-style-loader%2Fdownload%2Fvue-style-loader-4.1.3.tgz", - "integrity": "sha1-bVWGOlH6dXqyTonZNxRlByqnvDU=", - "dev": true, - "requires": { - "hash-sum": "^1.0.2", - "loader-utils": "^1.0.2" - }, - "dependencies": { - "hash-sum": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/hash-sum/download/hash-sum-1.0.2.tgz", - "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", - "dev": true - } - } - }, - "vue-template-compiler": { - "version": "2.6.14", - "resolved": "https://registry.nlark.com/vue-template-compiler/download/vue-template-compiler-2.6.14.tgz", - "integrity": "sha1-ovDn2YVnDULJye4NBE/tdpD092M=", - "dev": true, - "requires": { - "de-indent": "^1.0.2", - "he": "^1.1.0" - } - }, - "vue-template-es2015-compiler": { - "version": "1.9.1", - "resolved": "https://registry.npm.taobao.org/vue-template-es2015-compiler/download/vue-template-es2015-compiler-1.9.1.tgz", - "integrity": "sha1-HuO8mhbsv1EYvjNLsV+cRvgvWCU=", - "dev": true - }, - "vuetify": { - "version": "2.5.9", - "resolved": "https://registry.npmmirror.com/vuetify/download/vuetify-2.5.9.tgz", - "integrity": "sha1-tubZ//ShaRhY80FezrKnXKcG0hE=" - }, - "vuetify-dialog": { - "version": "2.0.17", - "resolved": "https://registry.nlark.com/vuetify-dialog/download/vuetify-dialog-2.0.17.tgz", - "integrity": "sha1-vhmMGHkymnPXiRcIDqWX0BaSdz0=" - }, - "vuetify-loader": { - "version": "1.7.3", - "resolved": "https://registry.nlark.com/vuetify-loader/download/vuetify-loader-1.7.3.tgz?cache=0&sync_timestamp=1631946975383&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fvuetify-loader%2Fdownload%2Fvuetify-loader-1.7.3.tgz", - "integrity": "sha1-QEZX9JJcgo9AD+MmkANCHVhoNcY=", - "dev": true, - "requires": { - "decache": "^4.6.0", - "file-loader": "^6.2.0", - "loader-utils": "^2.0.0" - }, - "dependencies": { - "file-loader": { - "version": "6.2.0", - "resolved": "https://registry.npm.taobao.org/file-loader/download/file-loader-6.2.0.tgz?cache=0&sync_timestamp=1603816990383&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffile-loader%2Fdownload%2Ffile-loader-6.2.0.tgz", - "integrity": "sha1-uu98+OGEDfMl5DkLRISHlIDuvk0=", - "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - } - }, - "json5": { - "version": "2.2.0", - "resolved": "https://registry.npm.taobao.org/json5/download/json5-2.2.0.tgz?cache=0&sync_timestamp=1612146079519&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjson5%2Fdownload%2Fjson5-2.2.0.tgz", - "integrity": "sha1-Lf7+cgxrpSXZ69kJlQ8FFTFsiaM=", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/loader-utils/download/loader-utils-2.0.0.tgz", - "integrity": "sha1-5MrOW4FtQloWa18JfhDNErNgZLA=", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.nlark.com/schema-utils/download/schema-utils-3.1.1.tgz?cache=0&sync_timestamp=1626694740261&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fschema-utils%2Fdownload%2Fschema-utils-3.1.1.tgz", - "integrity": "sha1-vHTEtraZXB2I92qLd76nIZ4MgoE=", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "vuex": { - "version": "3.6.2", - "resolved": "https://registry.nlark.com/vuex/download/vuex-3.6.2.tgz", - "integrity": "sha1-I2vAhqhww655lG8QfxbeWdWJXnE=" - }, - "watchpack": { - "version": "1.7.5", - "resolved": "https://registry.nlark.com/watchpack/download/watchpack-1.7.5.tgz", - "integrity": "sha1-EmfmxV4Lm1vkTCAjrtVDeiwmxFM=", - "dev": true, - "requires": { - "chokidar": "^3.4.1", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0", - "watchpack-chokidar2": "^2.0.1" - } - }, - "watchpack-chokidar2": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/watchpack-chokidar2/download/watchpack-chokidar2-2.0.1.tgz?cache=0&sync_timestamp=1604989085906&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwatchpack-chokidar2%2Fdownload%2Fwatchpack-chokidar2-2.0.1.tgz", - "integrity": "sha1-OFAAcu5uzmbzdpk2lQ6hdxvhyVc=", - "dev": true, - "optional": true, - "requires": { - "chokidar": "^2.1.8" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz", - "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", - "dev": true, - "optional": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "optional": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz?cache=0&sync_timestamp=1610299293319&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-1.13.1.tgz", - "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=", - "dev": true, - "optional": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz", - "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=", - "dev": true, - "optional": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.nlark.com/chokidar/download/chokidar-2.1.8.tgz?cache=0&sync_timestamp=1623763535523&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchokidar%2Fdownload%2Fchokidar-2.1.8.tgz", - "integrity": "sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=", - "dev": true, - "optional": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "optional": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.13.tgz", - "integrity": "sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg=", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "optional": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "optional": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "optional": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-3.1.10.tgz?cache=0&sync_timestamp=1618054787196&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmicromatch%2Fdownload%2Fmicromatch-3.1.10.tgz", - "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", - "dev": true, - "optional": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freaddirp%2Fdownload%2Freaddirp-2.2.1.tgz", - "integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=", - "dev": true, - "optional": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "optional": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npm.taobao.org/wbuf/download/wbuf-1.7.3.tgz", - "integrity": "sha1-wdjRSTFtPqhShIiVy2oL/oh7h98=", - "dev": true, - "requires": { - "minimalistic-assert": "^1.0.0" - } - }, - "wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/wcwidth/download/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", - "dev": true, - "requires": { - "defaults": "^1.0.3" - } - }, - "webpack": { - "version": "4.46.0", - "resolved": "https://registry.npmmirror.com/webpack/download/webpack-4.46.0.tgz", - "integrity": "sha1-v5tEBOogoHNgXgoBHRiNd8tq1UI=", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.5.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" - }, - "dependencies": { - "acorn": { - "version": "6.4.2", - "resolved": "https://registry.nlark.com/acorn/download/acorn-6.4.2.tgz", - "integrity": "sha1-NYZv1xBSjpLeEM8GAWSY5H454eY=", - "dev": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz", - "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-3.1.10.tgz?cache=0&sync_timestamp=1618054787196&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmicromatch%2Fdownload%2Fmicromatch-3.1.10.tgz", - "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.nlark.com/schema-utils/download/schema-utils-1.0.0.tgz?cache=0&sync_timestamp=1626694740261&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fschema-utils%2Fdownload%2Fschema-utils-1.0.0.tgz", - "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } - } - }, - "webpack-bundle-analyzer": { - "version": "3.9.0", - "resolved": "https://registry.nlark.com/webpack-bundle-analyzer/download/webpack-bundle-analyzer-3.9.0.tgz?cache=0&sync_timestamp=1621259099265&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwebpack-bundle-analyzer%2Fdownload%2Fwebpack-bundle-analyzer-3.9.0.tgz", - "integrity": "sha1-9vlNsQj7V05BWtMT3kGicH0z7zw=", - "dev": true, - "requires": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1", - "bfj": "^6.1.1", - "chalk": "^2.4.1", - "commander": "^2.18.0", - "ejs": "^2.6.1", - "express": "^4.16.3", - "filesize": "^3.6.1", - "gzip-size": "^5.0.0", - "lodash": "^4.17.19", - "mkdirp": "^0.5.1", - "opener": "^1.5.1", - "ws": "^6.0.0" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.nlark.com/commander/download/commander-2.20.3.tgz", - "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=", - "dev": true - } - } - }, - "webpack-chain": { - "version": "6.5.1", - "resolved": "https://registry.npm.taobao.org/webpack-chain/download/webpack-chain-6.5.1.tgz?cache=0&sync_timestamp=1595813261846&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-chain%2Fdownload%2Fwebpack-chain-6.5.1.tgz", - "integrity": "sha1-TycoTLu2N+PI+970Pu9YjU2GEgY=", - "dev": true, - "requires": { - "deepmerge": "^1.5.2", - "javascript-stringify": "^2.0.1" - } - }, - "webpack-dev-middleware": { - "version": "3.7.3", - "resolved": "https://registry.npmmirror.com/webpack-dev-middleware/download/webpack-dev-middleware-3.7.3.tgz", - "integrity": "sha1-Bjk3KxQyYuK4SrldO5GnWXBhwsU=", - "dev": true, - "requires": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", - "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" - } - }, - "webpack-dev-server": { - "version": "3.11.2", - "resolved": "https://registry.npmmirror.com/webpack-dev-server/download/webpack-dev-server-3.11.2.tgz", - "integrity": "sha1-aV687Xakkp8NXef9c/r+GF/jNwg=", - "dev": true, - "requires": { - "ansi-html": "0.0.7", - "bonjour": "^3.5.0", - "chokidar": "^2.1.8", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "debug": "^4.1.1", - "del": "^4.1.1", - "express": "^4.17.1", - "html-entities": "^1.3.1", - "http-proxy-middleware": "0.19.1", - "import-local": "^2.0.0", - "internal-ip": "^4.3.0", - "ip": "^1.1.5", - "is-absolute-url": "^3.0.3", - "killable": "^1.0.1", - "loglevel": "^1.6.8", - "opn": "^5.5.0", - "p-retry": "^3.0.1", - "portfinder": "^1.0.26", - "schema-utils": "^1.0.0", - "selfsigned": "^1.10.8", - "semver": "^6.3.0", - "serve-index": "^1.9.1", - "sockjs": "^0.3.21", - "sockjs-client": "^1.5.0", - "spdy": "^4.0.2", - "strip-ansi": "^3.0.1", - "supports-color": "^6.1.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^3.7.2", - "webpack-log": "^2.0.0", - "ws": "^6.2.1", - "yargs": "^13.3.2" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-2.1.1.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/anymatch/download/anymatch-2.0.0.tgz", - "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/normalize-path/download/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz?cache=0&sync_timestamp=1610299293319&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fbinary-extensions%2Fdownload%2Fbinary-extensions-1.13.1.tgz", - "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=", - "dev": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npm.taobao.org/braces/download/braces-2.3.2.tgz", - "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.nlark.com/chokidar/download/chokidar-2.1.8.tgz?cache=0&sync_timestamp=1623763535523&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fchokidar%2Fdownload%2Fchokidar-2.1.8.tgz", - "integrity": "sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-5.0.0.tgz?cache=0&sync_timestamp=1604880267387&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-5.0.0.tgz", - "integrity": "sha1-3u/P2y6AB4SqNPRvoI4GhRx7u8U=", - "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-4.1.0.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-4.1.0.tgz", - "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", - "dev": true - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-5.2.0.tgz", - "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmmirror.com/emoji-regex/download/emoji-regex-7.0.3.tgz", - "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=", - "dev": true - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npm.taobao.org/fill-range/download/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/extend-shallow/download/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/find-up/download/find-up-3.0.0.tgz?cache=0&sync_timestamp=1632654133435&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Ffind-up%2Fdownload%2Ffind-up-3.0.0.tgz", - "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npm.taobao.org/fsevents/download/fsevents-1.2.13.tgz", - "integrity": "sha1-8yXLBFVZJCi88Rs4M3DvcOO/zDg=", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } - }, - "http-proxy-middleware": { - "version": "0.19.1", - "resolved": "https://registry.nlark.com/http-proxy-middleware/download/http-proxy-middleware-0.19.1.tgz", - "integrity": "sha1-GDx9xKoUeRUDBkmMIQza+WCApDo=", - "dev": true, - "requires": { - "http-proxy": "^1.17.0", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" - } - }, - "is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.nlark.com/is-absolute-url/download/is-absolute-url-3.0.3.tgz?cache=0&sync_timestamp=1628691761253&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fis-absolute-url%2Fdownload%2Fis-absolute-url-3.0.3.tgz", - "integrity": "sha1-lsaiK2ojkpsR6gr7GDbDatSl1pg=", - "dev": true - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npm.taobao.org/is-binary-path/download/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/is-number/download/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npm.taobao.org/kind-of/download/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/locate-path/download/locate-path-3.0.0.tgz?cache=0&sync_timestamp=1629895618224&other_urls=https%3A%2F%2Fregistry.nlark.com%2Flocate-path%2Fdownload%2Flocate-path-3.0.0.tgz", - "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npm.taobao.org/micromatch/download/micromatch-3.1.10.tgz?cache=0&sync_timestamp=1618054787196&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fmicromatch%2Fdownload%2Fmicromatch-3.1.10.tgz", - "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/p-locate/download/p-locate-3.0.0.tgz?cache=0&sync_timestamp=1629892721671&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fp-locate%2Fdownload%2Fp-locate-3.0.0.tgz", - "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.nlark.com/path-exists/download/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npm.taobao.org/readdirp/download/readdirp-2.2.1.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freaddirp%2Fdownload%2Freaddirp-2.2.1.tgz", - "integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.nlark.com/schema-utils/download/schema-utils-1.0.0.tgz?cache=0&sync_timestamp=1626694740261&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fschema-utils%2Fdownload%2Fschema-utils-1.0.0.tgz", - "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/string-width/download/string-width-3.1.0.tgz", - "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-4.1.0.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-4.1.0.tgz", - "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", - "dev": true - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-5.2.0.tgz", - "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.nlark.com/supports-color/download/supports-color-6.1.0.tgz?cache=0&sync_timestamp=1626703414084&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fsupports-color%2Fdownload%2Fsupports-color-6.1.0.tgz", - "integrity": "sha1-B2Srxpxj1ayELdSGfo0CXogN+PM=", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npm.taobao.org/to-regex-range/download/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-5.1.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-5.1.0.tgz", - "integrity": "sha1-H9H2cjXVttD+54EFYAG/tpTAOwk=", - "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.nlark.com/ansi-regex/download/ansi-regex-4.1.0.tgz?cache=0&sync_timestamp=1631634988487&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-regex%2Fdownload%2Fansi-regex-4.1.0.tgz", - "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=", - "dev": true - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmmirror.com/strip-ansi/download/strip-ansi-5.2.0.tgz", - "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-4.0.3.tgz?cache=0&sync_timestamp=1617822642544&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-4.0.3.tgz", - "integrity": "sha1-tfJZyCzW4zaSHv17/Yv1YN6e7t8=", - "dev": true - }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmmirror.com/yargs/download/yargs-13.3.2.tgz?cache=0&sync_timestamp=1632604856058&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs%2Fdownload%2Fyargs-13.3.2.tgz", - "integrity": "sha1-rX/+/sGqWVZayRX4Lcyzipwxot0=", - "dev": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.nlark.com/yargs-parser/download/yargs-parser-13.1.2.tgz", - "integrity": "sha1-Ew8JcC667vJlDVTObj5XBvek+zg=", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } - } - }, - "webpack-log": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/webpack-log/download/webpack-log-2.0.0.tgz?cache=0&sync_timestamp=1615477211227&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-log%2Fdownload%2Fwebpack-log-2.0.0.tgz", - "integrity": "sha1-W3ko4GN1k/EZ0y9iJ8HgrDHhtH8=", - "dev": true, - "requires": { - "ansi-colors": "^3.0.0", - "uuid": "^3.3.2" - } - }, - "webpack-merge": { - "version": "4.2.2", - "resolved": "https://registry.nlark.com/webpack-merge/download/webpack-merge-4.2.2.tgz", - "integrity": "sha1-onxS6ng9E5iv0gh/VH17nS9DY00=", - "dev": true, - "requires": { - "lodash": "^4.17.15" - } - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.nlark.com/webpack-sources/download/webpack-sources-1.4.3.tgz", - "integrity": "sha1-7t2OwLko+/HL/plOItLYkPMwqTM=", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, - "websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npm.taobao.org/websocket-driver/download/websocket-driver-0.7.4.tgz", - "integrity": "sha1-ia1Slbv2S0gKvLox5JU6ynBvV2A=", - "dev": true, - "requires": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - } - }, - "websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npm.taobao.org/websocket-extensions/download/websocket-extensions-0.1.4.tgz", - "integrity": "sha1-f4RzvIOd/YdgituV1+sHUhFXikI=", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npm.taobao.org/which/download/which-1.3.1.tgz", - "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npm.taobao.org/which-boxed-primitive/download/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha1-E3V7yJsgmwSf5dhkMOIc9AqJqOY=", - "dev": true, - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/which-module/download/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "dev": true - }, - "worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npm.taobao.org/worker-farm/download/worker-farm-1.7.0.tgz", - "integrity": "sha1-JqlMU5G7ypJhUgAvabhKS/dy5ag=", - "dev": true, - "requires": { - "errno": "~0.1.7" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.nlark.com/wrap-ansi/download/wrap-ansi-7.0.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrap-ansi%2Fdownload%2Fwrap-ansi-7.0.0.tgz", - "integrity": "sha1-Z+FFz/UQpqaYS98RUpEdadLrnkM=", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.nlark.com/ansi-styles/download/ansi-styles-4.3.0.tgz?cache=0&sync_timestamp=1618995625950&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fansi-styles%2Fdownload%2Fansi-styles-4.3.0.tgz", - "integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npm.taobao.org/color-convert/download/color-convert-2.0.1.tgz", - "integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npm.taobao.org/color-name/download/color-name-1.1.4.tgz", - "integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz?cache=0&sync_timestamp=1618552489864&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-fullwidth-code-point%2Fdownload%2Fis-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmmirror.com/string-width/download/string-width-4.2.3.tgz", - "integrity": "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.nlark.com/wrappy/download/wrappy-1.0.2.tgz?cache=0&sync_timestamp=1619133505879&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fwrappy%2Fdownload%2Fwrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "ws": { - "version": "6.2.2", - "resolved": "https://registry.nlark.com/ws/download/ws-6.2.2.tgz?cache=0&sync_timestamp=1631130711705&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fws%2Fdownload%2Fws-6.2.2.tgz", - "integrity": "sha1-3Vzb1XqZeZFgl2UtePHMX66gwy4=", - "dev": true, - "requires": { - "async-limiter": "~1.0.0" - } - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npm.taobao.org/xtend/download/xtend-4.0.2.tgz", - "integrity": "sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q=", - "dev": true - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npm.taobao.org/y18n/download/y18n-5.0.8.tgz?cache=0&sync_timestamp=1617822642544&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fy18n%2Fdownload%2Fy18n-5.0.8.tgz", - "integrity": "sha1-f0k00PfKjFb5UxSTndzS3ZHOHVU=", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npm.taobao.org/yallist/download/yallist-3.1.1.tgz", - "integrity": "sha1-27fa+b/YusmrRev2ArjLrQ1dCP0=", - "dev": true - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmmirror.com/yargs/download/yargs-16.2.0.tgz?cache=0&sync_timestamp=1632604856058&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fyargs%2Fdownload%2Fyargs-16.2.0.tgz", - "integrity": "sha1-HIK/D2tqZur85+8w43b0mhJHf2Y=", - "dev": true, - "requires": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "dependencies": { - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npm.taobao.org/cliui/download/cliui-7.0.4.tgz?cache=0&sync_timestamp=1604880267387&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-7.0.4.tgz", - "integrity": "sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08=", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npm.taobao.org/is-fullwidth-code-point/download/is-fullwidth-code-point-3.0.0.tgz?cache=0&sync_timestamp=1618552489864&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-fullwidth-code-point%2Fdownload%2Fis-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha1-8Rb4Bk/pCz94RKOJl8C3UFEmnx0=", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmmirror.com/string-width/download/string-width-4.2.3.tgz", - "integrity": "sha1-JpxxF9J7Ba0uU2gwqOyJXvnG0BA=", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - } - } - }, - "yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.nlark.com/yargs-parser/download/yargs-parser-20.2.9.tgz", - "integrity": "sha1-LrfcOwKJcY/ClfNidThFxBoMlO4=", - "dev": true - } - } -} diff --git a/Yi.Vue/package.json b/Yi.Vue/package.json deleted file mode 100644 index 0e1983c0..00000000 --- a/Yi.Vue/package.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "name": "vuetify-test", - "version": "0.1.0", - "private": true, - "scripts": { - "serve": "vue-cli-service serve", - "build": "vue-cli-service build" - }, - "dependencies": { - "axios": "^0.22.0", - "vue": "^2.6.11", - "vue-chartist": "^2.3.1", - "vue-router": "^3.2.0", - "vuetify": "^2.4.0", - "vuetify-dialog": "^2.0.17", - "vuex": "^3.6.2" - }, - "devDependencies": { - "@vue/cli-plugin-router": "~4.5.0", - "@vue/cli-service": "~4.5.0", - "sass": "~1.32.0", - "sass-loader": "^10.0.0", - "vue-cli-plugin-vuetify": "~2.4.2", - "vue-template-compiler": "^2.6.11", - "vuetify-loader": "^1.7.0" - } -} diff --git a/Yi.Vue/.browserslistrc b/Yi.Vue2.x/.browserslistrc similarity index 100% rename from Yi.Vue/.browserslistrc rename to Yi.Vue2.x/.browserslistrc diff --git a/Yi.Vue/.env.development b/Yi.Vue2.x/.env.development similarity index 100% rename from Yi.Vue/.env.development rename to Yi.Vue2.x/.env.development diff --git a/Yi.Vue/.env.production b/Yi.Vue2.x/.env.production similarity index 100% rename from Yi.Vue/.env.production rename to Yi.Vue2.x/.env.production diff --git a/Yi.Vue/.gitignore b/Yi.Vue2.x/.gitignore similarity index 100% rename from Yi.Vue/.gitignore rename to Yi.Vue2.x/.gitignore diff --git a/Yi.Vue/README.md b/Yi.Vue2.x/README.md similarity index 100% rename from Yi.Vue/README.md rename to Yi.Vue2.x/README.md diff --git a/Yi.Vue/public/favicon.ico b/Yi.Vue2.x/public/favicon.ico similarity index 100% rename from Yi.Vue/public/favicon.ico rename to Yi.Vue2.x/public/favicon.ico diff --git a/Yi.Vue/public/index.html b/Yi.Vue2.x/public/index.html similarity index 100% rename from Yi.Vue/public/index.html rename to Yi.Vue2.x/public/index.html diff --git a/Yi.Vue/src/App.vue b/Yi.Vue2.x/src/App.vue similarity index 100% rename from Yi.Vue/src/App.vue rename to Yi.Vue2.x/src/App.vue diff --git a/Yi.Vue/src/api/accountApi.js b/Yi.Vue2.x/src/api/accountApi.js similarity index 100% rename from Yi.Vue/src/api/accountApi.js rename to Yi.Vue2.x/src/api/accountApi.js diff --git a/Yi.Vue/src/api/fileApi.js b/Yi.Vue2.x/src/api/fileApi.js similarity index 100% rename from Yi.Vue/src/api/fileApi.js rename to Yi.Vue2.x/src/api/fileApi.js diff --git a/Yi.Vue/src/api/menuApi.js b/Yi.Vue2.x/src/api/menuApi.js similarity index 100% rename from Yi.Vue/src/api/menuApi.js rename to Yi.Vue2.x/src/api/menuApi.js diff --git a/Yi.Vue/src/api/mouldApi.js b/Yi.Vue2.x/src/api/mouldApi.js similarity index 100% rename from Yi.Vue/src/api/mouldApi.js rename to Yi.Vue2.x/src/api/mouldApi.js diff --git a/Yi.Vue/src/api/roleApi.js b/Yi.Vue2.x/src/api/roleApi.js similarity index 100% rename from Yi.Vue/src/api/roleApi.js rename to Yi.Vue2.x/src/api/roleApi.js diff --git a/Yi.Vue/src/api/userApi.js b/Yi.Vue2.x/src/api/userApi.js similarity index 100% rename from Yi.Vue/src/api/userApi.js rename to Yi.Vue2.x/src/api/userApi.js diff --git a/Yi.Vue/src/assets/clint-mckoy.jpg b/Yi.Vue2.x/src/assets/clint-mckoy.jpg similarity index 100% rename from Yi.Vue/src/assets/clint-mckoy.jpg rename to Yi.Vue2.x/src/assets/clint-mckoy.jpg diff --git a/Yi.Vue/src/assets/lock.jpg b/Yi.Vue2.x/src/assets/lock.jpg similarity index 100% rename from Yi.Vue/src/assets/lock.jpg rename to Yi.Vue2.x/src/assets/lock.jpg diff --git a/Yi.Vue/src/assets/login.jpg b/Yi.Vue2.x/src/assets/login.jpg similarity index 100% rename from Yi.Vue/src/assets/login.jpg rename to Yi.Vue2.x/src/assets/login.jpg diff --git a/Yi.Vue/src/assets/login.svg b/Yi.Vue2.x/src/assets/login.svg similarity index 100% rename from Yi.Vue/src/assets/login.svg rename to Yi.Vue2.x/src/assets/login.svg diff --git a/Yi.Vue/src/assets/logo.png b/Yi.Vue2.x/src/assets/logo.png similarity index 100% rename from Yi.Vue/src/assets/logo.png rename to Yi.Vue2.x/src/assets/logo.png diff --git a/Yi.Vue/src/assets/logo.svg b/Yi.Vue2.x/src/assets/logo.svg similarity index 100% rename from Yi.Vue/src/assets/logo.svg rename to Yi.Vue2.x/src/assets/logo.svg diff --git a/Yi.Vue/src/assets/mask-dark.png b/Yi.Vue2.x/src/assets/mask-dark.png similarity index 100% rename from Yi.Vue/src/assets/mask-dark.png rename to Yi.Vue2.x/src/assets/mask-dark.png diff --git a/Yi.Vue/src/assets/mask-light.png b/Yi.Vue2.x/src/assets/mask-light.png similarity index 100% rename from Yi.Vue/src/assets/mask-light.png rename to Yi.Vue2.x/src/assets/mask-light.png diff --git a/Yi.Vue/src/assets/pricing.jpg b/Yi.Vue2.x/src/assets/pricing.jpg similarity index 100% rename from Yi.Vue/src/assets/pricing.jpg rename to Yi.Vue2.x/src/assets/pricing.jpg diff --git a/Yi.Vue/src/assets/register.jpg b/Yi.Vue2.x/src/assets/register.jpg similarity index 100% rename from Yi.Vue/src/assets/register.jpg rename to Yi.Vue2.x/src/assets/register.jpg diff --git a/Yi.Vue/src/assets/tree-3.png b/Yi.Vue2.x/src/assets/tree-3.png similarity index 100% rename from Yi.Vue/src/assets/tree-3.png rename to Yi.Vue2.x/src/assets/tree-3.png diff --git a/Yi.Vue/src/assets/tree-4.png b/Yi.Vue2.x/src/assets/tree-4.png similarity index 100% rename from Yi.Vue/src/assets/tree-4.png rename to Yi.Vue2.x/src/assets/tree-4.png diff --git a/Yi.Vue/src/assets/tree.png b/Yi.Vue2.x/src/assets/tree.png similarity index 100% rename from Yi.Vue/src/assets/tree.png rename to Yi.Vue2.x/src/assets/tree.png diff --git a/Yi.Vue/src/assets/vmd.svg b/Yi.Vue2.x/src/assets/vmd.svg similarity index 100% rename from Yi.Vue/src/assets/vmd.svg rename to Yi.Vue2.x/src/assets/vmd.svg diff --git a/Yi.Vue/src/assets/vuetify.svg b/Yi.Vue2.x/src/assets/vuetify.svg similarity index 100% rename from Yi.Vue/src/assets/vuetify.svg rename to Yi.Vue2.x/src/assets/vuetify.svg diff --git a/Yi.Vue/src/components/Links.vue b/Yi.Vue2.x/src/components/Links.vue similarity index 100% rename from Yi.Vue/src/components/Links.vue rename to Yi.Vue2.x/src/components/Links.vue diff --git a/Yi.Vue/src/components/MaterialAlert.vue b/Yi.Vue2.x/src/components/MaterialAlert.vue similarity index 100% rename from Yi.Vue/src/components/MaterialAlert.vue rename to Yi.Vue2.x/src/components/MaterialAlert.vue diff --git a/Yi.Vue/src/components/MaterialCard.vue b/Yi.Vue2.x/src/components/MaterialCard.vue similarity index 100% rename from Yi.Vue/src/components/MaterialCard.vue rename to Yi.Vue2.x/src/components/MaterialCard.vue diff --git a/Yi.Vue/src/components/MaterialChartCard.vue b/Yi.Vue2.x/src/components/MaterialChartCard.vue similarity index 100% rename from Yi.Vue/src/components/MaterialChartCard.vue rename to Yi.Vue2.x/src/components/MaterialChartCard.vue diff --git a/Yi.Vue/src/components/MaterialSnackbar.vue b/Yi.Vue2.x/src/components/MaterialSnackbar.vue similarity index 100% rename from Yi.Vue/src/components/MaterialSnackbar.vue rename to Yi.Vue2.x/src/components/MaterialSnackbar.vue diff --git a/Yi.Vue/src/components/MaterialStatsCard.vue b/Yi.Vue2.x/src/components/MaterialStatsCard.vue similarity index 100% rename from Yi.Vue/src/components/MaterialStatsCard.vue rename to Yi.Vue2.x/src/components/MaterialStatsCard.vue diff --git a/Yi.Vue/src/components/TableApi.js b/Yi.Vue2.x/src/components/TableApi.js similarity index 100% rename from Yi.Vue/src/components/TableApi.js rename to Yi.Vue2.x/src/components/TableApi.js diff --git a/Yi.Vue/src/components/ViewIntro.vue b/Yi.Vue2.x/src/components/ViewIntro.vue similarity index 100% rename from Yi.Vue/src/components/ViewIntro.vue rename to Yi.Vue2.x/src/components/ViewIntro.vue diff --git a/Yi.Vue/src/components/app/BarItem.vue b/Yi.Vue2.x/src/components/app/BarItem.vue similarity index 100% rename from Yi.Vue/src/components/app/BarItem.vue rename to Yi.Vue2.x/src/components/app/BarItem.vue diff --git a/Yi.Vue/src/components/app/Btn.vue b/Yi.Vue2.x/src/components/app/Btn.vue similarity index 100% rename from Yi.Vue/src/components/app/Btn.vue rename to Yi.Vue2.x/src/components/app/Btn.vue diff --git a/Yi.Vue/src/components/app/Card.vue b/Yi.Vue2.x/src/components/app/Card.vue similarity index 100% rename from Yi.Vue/src/components/app/Card.vue rename to Yi.Vue2.x/src/components/app/Card.vue diff --git a/Yi.Vue/src/components/app/Tabs.vue b/Yi.Vue2.x/src/components/app/Tabs.vue similarity index 100% rename from Yi.Vue/src/components/app/Tabs.vue rename to Yi.Vue2.x/src/components/app/Tabs.vue diff --git a/Yi.Vue/src/components/ccAvatar.vue b/Yi.Vue2.x/src/components/ccAvatar.vue similarity index 100% rename from Yi.Vue/src/components/ccAvatar.vue rename to Yi.Vue2.x/src/components/ccAvatar.vue diff --git a/Yi.Vue/src/components/ccCombobox.vue b/Yi.Vue2.x/src/components/ccCombobox.vue similarity index 100% rename from Yi.Vue/src/components/ccCombobox.vue rename to Yi.Vue2.x/src/components/ccCombobox.vue diff --git a/Yi.Vue/src/components/ccTable.vue b/Yi.Vue2.x/src/components/ccTable.vue similarity index 100% rename from Yi.Vue/src/components/ccTable.vue rename to Yi.Vue2.x/src/components/ccTable.vue diff --git a/Yi.Vue/src/components/ccTreeview.vue b/Yi.Vue2.x/src/components/ccTreeview.vue similarity index 95% rename from Yi.Vue/src/components/ccTreeview.vue rename to Yi.Vue2.x/src/components/ccTreeview.vue index 2cdbf719..e90c02c2 100644 --- a/Yi.Vue/src/components/ccTreeview.vue +++ b/Yi.Vue2.x/src/components/ccTreeview.vue @@ -1,11 +1,15 @@ - 确定分配 展开全部 + 确定分配 清空选择 1% +last 2 versions +not dead diff --git a/Yi.Vue3.x/.eslintrc.js b/Yi.Vue3.x/.eslintrc.js new file mode 100644 index 00000000..3420fd9f --- /dev/null +++ b/Yi.Vue3.x/.eslintrc.js @@ -0,0 +1,18 @@ +module.exports = { + root: true, + env: { + node: true + }, + 'extends': [ + 'plugin:vue/vue3-essential', + 'eslint:recommended', + '@vue/typescript/recommended' + ], + parserOptions: { + ecmaVersion: 2020 + }, + rules: { + 'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off', + 'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off' + } +} diff --git a/Yi.Vue3.x/.gitignore b/Yi.Vue3.x/.gitignore new file mode 100644 index 00000000..403adbc1 --- /dev/null +++ b/Yi.Vue3.x/.gitignore @@ -0,0 +1,23 @@ +.DS_Store +node_modules +/dist + + +# local env files +.env.local +.env.*.local + +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/Yi.Vue3.x/README.md b/Yi.Vue3.x/README.md new file mode 100644 index 00000000..9803f058 --- /dev/null +++ b/Yi.Vue3.x/README.md @@ -0,0 +1,24 @@ +# my-app + +## Project setup +``` +npm install +``` + +### Compiles and hot-reloads for development +``` +npm run serve +``` + +### Compiles and minifies for production +``` +npm run build +``` + +### Lints and fixes files +``` +npm run lint +``` + +### Customize configuration +See [Configuration Reference](https://cli.vuejs.org/config/). diff --git a/Yi.Vue3.x/babel.config.js b/Yi.Vue3.x/babel.config.js new file mode 100644 index 00000000..e9558405 --- /dev/null +++ b/Yi.Vue3.x/babel.config.js @@ -0,0 +1,5 @@ +module.exports = { + presets: [ + '@vue/cli-plugin-babel/preset' + ] +} diff --git a/Yi.Vue3.x/public/favicon.ico b/Yi.Vue3.x/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..df36fcfb72584e00488330b560ebcf34a41c64c2 GIT binary patch literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S literal 0 HcmV?d00001 diff --git a/Yi.Vue3.x/public/index.html b/Yi.Vue3.x/public/index.html new file mode 100644 index 00000000..3e5a1396 --- /dev/null +++ b/Yi.Vue3.x/public/index.html @@ -0,0 +1,17 @@ + + + + + + + + <%= htmlWebpackPlugin.options.title %> + + + +
+ + + diff --git a/Yi.Vue3.x/src/App.vue b/Yi.Vue3.x/src/App.vue new file mode 100644 index 00000000..668f1015 --- /dev/null +++ b/Yi.Vue3.x/src/App.vue @@ -0,0 +1,16 @@ + + + diff --git a/Yi.Vue3.x/src/assets/logo.png b/Yi.Vue3.x/src/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f3d2503fc2a44b5053b0837ebea6e87a2d339a43 GIT binary patch literal 6849 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 +
+
+ + 支持项目 + + 联系作者 + + 免责声明 +
+ + + +
+ + + \ No newline at end of file diff --git a/Yi.Vue3.x/src/components/AppHeader.vue b/Yi.Vue3.x/src/components/AppHeader.vue new file mode 100644 index 00000000..8ec406a0 --- /dev/null +++ b/Yi.Vue3.x/src/components/AppHeader.vue @@ -0,0 +1,35 @@ + + + diff --git a/Yi.Vue3.x/src/components/AppMain.vue b/Yi.Vue3.x/src/components/AppMain.vue new file mode 100644 index 00000000..e3bc8ac8 --- /dev/null +++ b/Yi.Vue3.x/src/components/AppMain.vue @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/Yi.Vue3.x/src/components/Layout.vue b/Yi.Vue3.x/src/components/Layout.vue new file mode 100644 index 00000000..c6a6b57a --- /dev/null +++ b/Yi.Vue3.x/src/components/Layout.vue @@ -0,0 +1,48 @@ + + + + + diff --git a/Yi.Vue3.x/src/main.ts b/Yi.Vue3.x/src/main.ts new file mode 100644 index 00000000..4d988fa7 --- /dev/null +++ b/Yi.Vue3.x/src/main.ts @@ -0,0 +1,12 @@ +import { createApp } from 'vue' +import ElementPlus from 'element-plus' +import 'element-plus/dist/index.css' +import App from './App.vue' +import router from './router' +import store from './store' + +const app = createApp(App) +app.use(store) +app.use(router) +app.use(ElementPlus) +app.mount('#app') diff --git a/Yi.Vue3.x/src/router/index.ts b/Yi.Vue3.x/src/router/index.ts new file mode 100644 index 00000000..762df69a --- /dev/null +++ b/Yi.Vue3.x/src/router/index.ts @@ -0,0 +1,30 @@ +import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router' + +const routes: Array = [ + { + path: '/', + name: 'Layout', + component: () => import(/* webpackChunkName: "about" */ '../components/Layout.vue'), + redirect: "/index", + children: [{ + path: "/index", + name: "Index", + component: () => import(/* webpackChunkName: "about" */ '../views/Index.vue') + }] + }, + { + path: '/about', + name: 'About', + // route level code-splitting + // this generates a separate chunk (about.[hash].js) for this route + // which is lazy-loaded when the route is visited. + component: () => import(/* webpackChunkName: "about" */ '../views/About.vue') + } +] + +const router = createRouter({ + history: createWebHistory(process.env.BASE_URL), + routes +}) + +export default router diff --git a/Yi.Vue3.x/src/shims-vue.d.ts b/Yi.Vue3.x/src/shims-vue.d.ts new file mode 100644 index 00000000..3804a43e --- /dev/null +++ b/Yi.Vue3.x/src/shims-vue.d.ts @@ -0,0 +1,6 @@ +/* eslint-disable */ +declare module '*.vue' { + import type { DefineComponent } from 'vue' + const component: DefineComponent<{}, {}, any> + export default component +} diff --git a/Yi.Vue3.x/src/store/index.ts b/Yi.Vue3.x/src/store/index.ts new file mode 100644 index 00000000..5f05f193 --- /dev/null +++ b/Yi.Vue3.x/src/store/index.ts @@ -0,0 +1,12 @@ +import { createStore } from 'vuex' + +export default createStore({ + state: { + }, + mutations: { + }, + actions: { + }, + modules: { + } +}) diff --git a/Yi.Vue3.x/src/views/About.vue b/Yi.Vue3.x/src/views/About.vue new file mode 100644 index 00000000..92303ce6 --- /dev/null +++ b/Yi.Vue3.x/src/views/About.vue @@ -0,0 +1,59 @@ + + + diff --git a/Yi.Vue3.x/src/views/Index.vue b/Yi.Vue3.x/src/views/Index.vue new file mode 100644 index 00000000..dbdb35d0 --- /dev/null +++ b/Yi.Vue3.x/src/views/Index.vue @@ -0,0 +1,105 @@ + + + + + diff --git a/Yi.Vue3.x/vue.config.js b/Yi.Vue3.x/vue.config.js new file mode 100644 index 00000000..a566f291 --- /dev/null +++ b/Yi.Vue3.x/vue.config.js @@ -0,0 +1,3 @@ +module.exports = { + lintOnSave: false +} \ No newline at end of file