From 1c9bca734596ac96433c410782a055389bf72564 Mon Sep 17 00:00:00 2001 From: Mrking <782276617@qq.com> Date: Fri, 30 Aug 2024 08:12:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=93=81=E7=89=8C=E5=85=B3?= =?UTF-8?q?=E7=B3=BB=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .flattened-pom.xml | 119 + bin/clean.bat | 12 + bin/package.bat | 12 + bin/run.bat | 14 + hangtag-dependencies/.flattened-pom.xml | 547 + hangtag-framework/.flattened-pom.xml | 40 + .../hangtag-common/.flattened-pom.xml | 125 + .../.flattened-pom.xml | 41 + .../.flattened-pom.xml | 44 + .../.flattened-pom.xml | 67 + .../spring-configuration-metadata.json | 3 +- .../.flattened-pom.xml | 59 + .../.flattened-pom.xml | 32 + .../.flattened-pom.xml | 60 + .../.flattened-pom.xml | 37 + .../.flattened-pom.xml | 75 + .../.flattened-pom.xml | 37 + .../.flattened-pom.xml | 34 + .../spring-configuration-metadata.json | 3 +- .../.flattened-pom.xml | 53 + .../spring-configuration-metadata.json | 15 +- .../.flattened-pom.xml | 50 + .../.flattened-pom.xml | 68 + .../spring-configuration-metadata.json | 3 +- .../.flattened-pom.xml | 55 + .../spring-configuration-metadata.json | 6 +- hangtag-module-infra/.flattened-pom.xml | 22 + .../.flattened-pom.xml | 26 + .../.flattened-pom.xml | 98 + hangtag-module-oms/.flattened-pom.xml | 19 + .../hangtag-module-oms-api/.flattened-pom.xml | 36 + .../module/oms/enums/ErrorCodeConstants.java | 1 + .../hangtag-module-oms-biz/.flattened-pom.xml | 53 + .../admin/app/AppBrandController.java | 45 + .../admin/app/AppCustomerController.java | 73 + .../admin/app/AppMaterialController.java | 39 + .../admin/app/SaleOrderController.java | 20 + .../admin/brand/BrandController.java | 61 +- .../admin/brand/vo/BrandListReqVO.java | 16 + .../admin/brand/vo/BrandSimpleRespVO.java | 19 + .../admin/customer/vo/CustomerPageReqVO.java | 3 + .../admin/customer/vo/CustomerRespVO.java | 4 + .../admin/customer/vo/CustomerSaveReqVO.java | 3 + .../CustomerBrandController.java | 102 + .../vo/CustomerBrandPageReqVO.java | 31 + .../customerbrand/vo/CustomerBrandRespVO.java | 31 + .../vo/CustomerBrandSaveReqVO.java | 25 + .../PermissionAssignCustomerBrandReqVO.java | 21 + .../admin/saleorder/SaleOrderController.java | 106 + .../saleorder/vo/SaleOrderPageReqVO.java | 42 + .../admin/saleorder/vo/SaleOrderRespVO.java | 55 + .../saleorder/vo/SaleOrderSaveReqVO.java | 62 + .../dal/dataobject/customer/CustomerDO.java | 4 + .../customerbrand/CustomerBrandDO.java | 39 + .../dal/dataobject/saleorder/SaleOrderDO.java | 106 + .../saleorder/SaleOrderEntryDO.java | 54 + .../oms/dal/mysql/brand/BrandMapper.java | 5 + .../dal/mysql/customer/CustomerMapper.java | 1 + .../customerbrand/CustomerBrandMapper.java | 43 + .../mysql/saleorder/SaleOrderEntryMapper.java | 28 + .../dal/mysql/saleorder/SaleOrderMapper.java | 32 + .../oms/service/brand/BrandService.java | 15 + .../oms/service/brand/BrandServiceImpl.java | 26 + .../service/customer/CustomerServiceImpl.java | 2 +- .../customerbrand/CustomerBrandService.java | 56 + .../CustomerBrandServiceImpl.java | 107 + .../service/saleorder/SaleOrderService.java | 66 + .../saleorder/SaleOrderServiceImpl.java | 112 + .../customerbrand/CustomerBrandMapper.xml | 12 + .../mapper/saleorder/SaleOrderMapper.xml | 12 + .../CustomerBrandServiceImplTest.java | 142 + .../saleorder/SaleOrderServiceImplTest.java | 154 + hangtag-module-system/.flattened-pom.xml | 21 + .../.flattened-pom.xml | 26 + .../.flattened-pom.xml | 105 + .../admin/auth/vo/AuthLoginReqVO.java | 2 + .../dal/mysql/user/AdminUserMapper.java | 8 +- .../system/service/auth/AdminAuthService.java | 2 +- .../service/auth/AdminAuthServiceImpl.java | 6 +- .../oauth2/OAuth2GrantServiceImpl.java | 2 +- .../system/service/user/AdminUserService.java | 2 +- .../service/user/AdminUserServiceImpl.java | 8 +- .../auth/AdminAuthServiceImplTest.java | 372 - .../oauth2/OAuth2GrantServiceImplTest.java | 173 - .../user/AdminUserServiceImplTest.java | 762 -- .../convert/oauth2/OAuth2OpenConvertImpl.java | 2 +- .../convert/social/SocialUserConvertImpl.java | 2 +- hangtag-server/.flattened-pom.xml | 61 + hangtag-ui/hangtag-ui-admin/pnpm-lock.yaml | 11019 ++++++++++++++++ .../src/api/oms/brand/index.ts | 103 +- .../src/api/oms/customer/index.ts | 1 + .../src/api/oms/customerbrand/index.ts | 59 + .../src/api/oms/saleorder/index.ts | 49 +- .../src/router/modules/remaining.ts | 342 +- .../hangtag-ui-admin/src/store/modules/app.ts | 2 +- .../src/views/Login/components/LoginForm.vue | 6 +- .../oms/customer/CustomerAssignBrandForm.vue | 160 + .../src/views/oms/customer/CustomerForm.vue | 8 +- .../src/views/oms/customer/index.vue | 36 +- .../src/views/oms/saleorder/SaleOrderForm.vue | 63 +- .../components/SaleOrderEntryForm.vue | 184 +- .../src/views/oms/saleorder/index.vue | 152 +- .../src/views/oms/saleorder/saleOrder.data.ts | 160 + .../views/system/role/RoleAssignMenuForm.vue | 2 +- .../src/views/system/role/index.vue | 4 +- .../src/views/system/user/index.vue | 4 +- hangtag-ui/hangtag-ui-front/.env | 2 +- .../src/api/bpm/activity/index.ts | 8 - .../src/api/bpm/category/index.ts | 43 - .../src/api/bpm/definition/index.ts | 22 - .../src/api/bpm/form/index.ts | 56 - .../src/api/bpm/leave/index.ts | 27 - .../src/api/bpm/model/index.ts | 59 - .../src/api/bpm/processExpression/index.ts | 42 - .../src/api/bpm/processInstance/index.ts | 68 - .../src/api/bpm/processListener/index.ts | 40 - .../src/api/bpm/task/index.ts | 66 - .../src/api/bpm/userGroup/index.ts | 47 - .../src/api/crm/business/index.ts | 98 - .../src/api/crm/business/status/index.ts | 68 - .../src/api/crm/clue/index.ts | 78 - .../src/api/crm/contact/index.ts | 113 - .../src/api/crm/contract/config/index.ts | 16 - .../src/api/crm/contract/index.ts | 114 - .../src/api/crm/customer/index.ts | 132 - .../src/api/crm/customer/limitConfig/index.ts | 49 - .../src/api/crm/customer/poolConfig/index.ts | 19 - .../src/api/crm/followup/index.ts | 43 - .../src/api/crm/operateLog/index.ts | 11 - .../src/api/crm/permission/index.ts | 72 - .../src/api/crm/product/category/index.ts | 33 - .../src/api/crm/product/index.ts | 49 - .../src/api/crm/receivable/index.ts | 73 - .../src/api/crm/receivable/plan/index.ts | 74 - .../src/api/crm/statistics/customer.ts | 168 - .../src/api/crm/statistics/funnel.ts | 58 - .../src/api/crm/statistics/performance.ts | 33 - .../src/api/crm/statistics/portrait.ts | 60 - .../src/api/crm/statistics/rank.ts | 67 - .../src/api/erp/finance/account/index.ts | 61 - .../src/api/erp/finance/payment/index.ts | 61 - .../src/api/erp/finance/receipt/index.ts | 61 - .../src/api/erp/product/category/index.ts | 49 - .../src/api/erp/product/product/index.ts | 57 - .../src/api/erp/product/unit/index.ts | 46 - .../src/api/erp/purchase/in/index.ts | 64 - .../src/api/erp/purchase/order/index.ts | 64 - .../src/api/erp/purchase/return/index.ts | 62 - .../src/api/erp/purchase/supplier/index.ts | 58 - .../src/api/erp/sale/customer/index.ts | 58 - .../src/api/erp/sale/order/index.ts | 64 - .../src/api/erp/sale/out/index.ts | 62 - .../src/api/erp/sale/return/index.ts | 62 - .../src/api/erp/statistics/purchase/index.ts | 28 - .../src/api/erp/statistics/sale/index.ts | 28 - .../src/api/erp/stock/check/index.ts | 61 - .../src/api/erp/stock/in/index.ts | 62 - .../src/api/erp/stock/move/index.ts | 61 - .../src/api/erp/stock/out/index.ts | 62 - .../src/api/erp/stock/record/index.ts | 32 - .../src/api/erp/stock/stock/index.ts | 41 - .../src/api/erp/stock/warehouse/index.ts | 64 - .../src/api/mall/market/banner/index.ts | 37 - .../src/api/mall/product/brand.ts | 61 - .../src/api/mall/product/category.ts | 56 - .../src/api/mall/product/comment.ts | 49 - .../src/api/mall/product/favorite.ts | 12 - .../src/api/mall/product/property.ts | 93 - .../src/api/mall/product/spu.ts | 109 - .../src/api/mall/promotion/article/index.ts | 42 - .../mall/promotion/articleCategory/index.ts | 39 - .../mall/promotion/bargain/bargainActivity.ts | 68 - .../api/mall/promotion/bargain/bargainHelp.ts | 14 - .../mall/promotion/bargain/bargainRecord.ts | 19 - .../combination/combinationActivity.ts | 66 - .../combination/combinationRecord.ts | 28 - .../src/api/mall/promotion/coupon/coupon.ts | 26 - .../mall/promotion/coupon/couponTemplate.ts | 90 - .../promotion/discount/discountActivity.ts | 60 - .../src/api/mall/promotion/diy/page.ts | 45 - .../src/api/mall/promotion/diy/template.ts | 58 - .../mall/promotion/reward/rewardActivity.ts | 48 - .../mall/promotion/seckill/seckillActivity.ts | 68 - .../mall/promotion/seckill/seckillConfig.ts | 53 - .../src/api/mall/statistics/common.ts | 5 - .../src/api/mall/statistics/member.ts | 123 - .../src/api/mall/statistics/pay.ts | 12 - .../src/api/mall/statistics/product.ts | 52 - .../src/api/mall/statistics/trade.ts | 119 - .../src/api/mall/trade/afterSale/index.ts | 75 - .../api/mall/trade/brokerage/record/index.ts | 11 - .../api/mall/trade/brokerage/user/index.ts | 39 - .../mall/trade/brokerage/withdraw/index.ts | 39 - .../src/api/mall/trade/config/index.ts | 23 - .../api/mall/trade/delivery/express/index.ts | 45 - .../trade/delivery/expressTemplate/index.ts | 54 - .../mall/trade/delivery/pickUpStore/index.ts | 46 - .../src/api/mall/trade/order/index.ts | 188 - .../src/api/member/address/index.ts | 15 - .../src/api/member/config/index.ts | 19 - .../src/api/member/experience-record/index.ts | 22 - .../src/api/member/group/index.ts | 38 - .../src/api/member/level/index.ts | 42 - .../src/api/member/point/record/index.ts | 18 - .../src/api/member/signin/config/index.ts | 34 - .../src/api/member/signin/record/index.ts | 13 - .../src/api/member/tag/index.ts | 36 - .../src/api/member/user/index.ts | 53 - .../src/api/mp/account/index.ts | 46 - .../src/api/mp/autoReply/index.ts | 39 - .../src/api/mp/draft/index.ts | 35 - .../src/api/mp/freePublish/index.ts | 23 - .../src/api/mp/material/index.ts | 16 - .../hangtag-ui-front/src/api/mp/menu/index.ts | 26 - .../src/api/mp/message/index.ts | 17 - .../src/api/mp/statistics/index.ts | 33 - .../hangtag-ui-front/src/api/mp/tag/index.ts | 60 - .../hangtag-ui-front/src/api/mp/user/index.ts | 31 - .../src/api/oms/brand/index.ts | 69 +- .../src/api/oms/order/index.vue | 13 - .../hangtag-ui-front/src/api/pay/app/index.ts | 65 - .../src/api/pay/channel/index.ts | 46 - .../src/api/pay/demo/index.ts | 36 - .../src/api/pay/demo/transfer/index.ts | 25 - .../src/api/pay/notify/index.ts | 16 - .../src/api/pay/order/index.ts | 104 - .../src/api/pay/refund/index.ts | 116 - .../src/api/pay/transfer/index.ts | 27 - .../src/api/pay/wallet/balance/index.ts | 26 - .../api/pay/wallet/rechargePackage/index.ts | 34 - .../src/api/pay/wallet/transaction/index.ts | 14 - .../src/router/modules/remaining.ts | 340 - .../hangtag-ui-front/src/store/modules/app.ts | 22 +- hangtag-ui/hangtag-ui-front/src/utils/dict.ts | 2 +- .../src/views/Login/components/LoginForm.vue | 7 +- .../views/Profile/components/ProfileUser.vue | 4 +- .../src/views/ai/chat/index.vue | 166 - .../src/views/bpm/category/CategoryForm.vue | 124 - .../src/views/bpm/category/index.vue | 200 - .../src/views/bpm/definition/index.vue | 149 - .../src/views/bpm/form/editor/index.vue | 121 - .../src/views/bpm/form/index.vue | 195 - .../src/views/bpm/group/UserGroupForm.vue | 132 - .../src/views/bpm/group/index.vue | 191 - .../src/views/bpm/model/ModelForm.vue | 239 - .../src/views/bpm/model/ModelImportForm.vue | 141 - .../src/views/bpm/model/editor/index.vue | 115 - .../src/views/bpm/model/index.vue | 415 - .../src/views/bpm/oa/leave/create.vue | 164 - .../src/views/bpm/oa/leave/detail.vue | 51 - .../src/views/bpm/oa/leave/index.vue | 257 - .../ProcessExpressionForm.vue | 114 - .../src/views/bpm/processExpression/index.vue | 182 - .../bpm/processInstance/create/index.vue | 257 - .../detail/ProcessInstanceBpmnViewer.vue | 54 - .../detail/ProcessInstanceTaskList.vue | 175 - .../detail/dialog/TaskDelegateForm.vue | 89 - .../detail/dialog/TaskReturnForm.vue | 90 - .../detail/dialog/TaskSignCreateForm.vue | 99 - .../detail/dialog/TaskSignDeleteForm.vue | 89 - .../detail/dialog/TaskSignList.vue | 106 - .../detail/dialog/TaskTransferForm.vue | 89 - .../bpm/processInstance/detail/index.vue | 381 - .../src/views/bpm/processInstance/index.vue | 260 - .../bpm/processInstance/manager/index.vue | 255 - .../processListener/ProcessListenerForm.vue | 162 - .../src/views/bpm/processListener/index.vue | 185 - .../src/views/bpm/simpleWorkflow/index.vue | 28 - .../src/views/bpm/task/copy/index.vue | 137 - .../src/views/bpm/task/done/index.vue | 170 - .../src/views/bpm/task/manager/index.vue | 166 - .../src/views/bpm/task/todo/index.vue | 152 - .../crm/backlog/components/ClueFollowList.vue | 153 - .../backlog/components/ContractAuditList.vue | 247 - .../backlog/components/ContractRemindList.vue | 246 - .../backlog/components/CustomerFollowList.vue | 170 - .../components/CustomerPutPoolRemindList.vue | 169 - .../components/CustomerTodayContactList.vue | 180 - .../components/ReceivableAuditList.vue | 201 - .../components/ReceivablePlanRemindList.vue | 220 - .../views/crm/backlog/components/common.ts | 39 - .../src/views/crm/backlog/index.vue | 177 - .../src/views/crm/business/BusinessForm.vue | 287 - .../crm/business/BusinessUpdateStatusForm.vue | 108 - .../crm/business/components/BusinessList.vue | 186 - .../business/components/BusinessListModal.vue | 156 - .../components/BusinessProductForm.vue | 183 - .../business/detail/BusinessDetailsHeader.vue | 37 - .../business/detail/BusinessDetailsInfo.vue | 61 - .../business/detail/BusinessProductList.vue | 66 - .../src/views/crm/business/detail/index.vue | 146 - .../src/views/crm/business/index.vue | 275 - .../business/status/BusinessStatusForm.vue | 194 - .../src/views/crm/business/status/index.vue | 150 - .../src/views/crm/clue/ClueForm.vue | 259 - .../crm/clue/detail/ClueDetailsHeader.vue | 43 - .../views/crm/clue/detail/ClueDetailsInfo.vue | 72 - .../src/views/crm/clue/detail/index.vue | 130 - .../src/views/crm/clue/index.vue | 270 - .../src/views/crm/contact/ContactForm.vue | 310 - .../crm/contact/components/ContactList.vue | 185 - .../contact/components/ContactListModal.vue | 160 - .../contact/detail/ContactDetailsHeader.vue | 33 - .../crm/contact/detail/ContactDetailsInfo.vue | 69 - .../src/views/crm/contact/detail/index.vue | 121 - .../src/views/crm/contact/index.vue | 332 - .../src/views/crm/contract/ContractForm.vue | 369 - .../crm/contract/components/ContractList.vue | 136 - .../components/ContractProductForm.vue | 183 - .../src/views/crm/contract/config/index.vue | 103 - .../contract/detail/ContractDetailsHeader.vue | 45 - .../contract/detail/ContractDetailsInfo.vue | 76 - .../contract/detail/ContractProductList.vue | 66 - .../src/views/crm/contract/detail/index.vue | 139 - .../src/views/crm/contract/index.vue | 398 - .../src/views/crm/customer/CustomerForm.vue | 259 - .../views/crm/customer/CustomerImportForm.vue | 158 - .../customer/detail/CustomerDetailsHeader.vue | 43 - .../customer/detail/CustomerDetailsInfo.vue | 72 - .../src/views/crm/customer/detail/index.vue | 222 - .../src/views/crm/customer/index.vue | 343 - .../limitConfig/CustomerLimitConfigForm.vue | 150 - .../limitConfig/CustomerLimitConfigList.vue | 150 - .../views/crm/customer/limitConfig/index.vue | 22 - .../customer/pool/CustomerDistributeForm.vue | 85 - .../src/views/crm/customer/pool/index.vue | 270 - .../views/crm/customer/poolConfig/index.vue | 136 - .../views/crm/followup/FollowUpRecordForm.vue | 188 - .../components/FollowUpRecordBusinessForm.vue | 42 - .../components/FollowUpRecordContactForm.vue | 47 - .../src/views/crm/followup/index.vue | 167 - .../permission/components/PermissionForm.vue | 137 - .../permission/components/PermissionList.vue | 206 - .../permission/components/TransferForm.vue | 162 - .../src/views/crm/product/ProductForm.vue | 212 - .../product/category/ProductCategoryForm.vue | 110 - .../src/views/crm/product/category/index.vue | 139 - .../product/detail/ProductDetailsHeader.vue | 46 - .../crm/product/detail/ProductDetailsInfo.vue | 38 - .../src/views/crm/product/detail/index.vue | 66 - .../src/views/crm/product/index.vue | 230 - .../views/crm/receivable/ReceivableForm.vue | 293 - .../receivable/components/ReceivableList.vue | 164 - .../detail/ReceivableDetailsHeader.vue | 43 - .../detail/ReceivableDetailsInfo.vue | 62 - .../src/views/crm/receivable/detail/index.vue | 100 - .../src/views/crm/receivable/index.vue | 335 - .../receivable/plan/ReceivablePlanForm.vue | 239 - .../plan/components/ReceivablePlanList.vue | 173 - .../detail/ReceivablePlanDetailsHeader.vue | 44 - .../plan/detail/ReceivablePlanDetailsInfo.vue | 83 - .../crm/receivable/plan/detail/index.vue | 103 - .../src/views/crm/receivable/plan/index.vue | 335 - .../components/CustomerConversionStat.vue | 170 - .../components/CustomerDealCycleByArea.vue | 153 - .../components/CustomerDealCycleByProduct.vue | 153 - .../components/CustomerDealCycleByUser.vue | 154 - .../components/CustomerFollowUpSummary.vue | 156 - .../components/CustomerFollowUpType.vue | 120 - .../components/CustomerPoolSummary.vue | 154 - .../customer/components/CustomerSummary.vue | 183 - .../views/crm/statistics/customer/index.vue | 214 - .../BusinessInversionRateSummary.vue | 307 - .../funnel/components/BusinessSummary.vue | 259 - .../funnel/components/FunnelBusiness.vue | 149 - .../src/views/crm/statistics/funnel/index.vue | 171 - .../components/ContractCountPerformance.vue | 229 - .../components/ContractPricePerformance.vue | 229 - .../components/ReceivablePricePerformance.vue | 232 - .../crm/statistics/performance/index.vue | 157 - .../components/PortraitCustomerArea.vue | 147 - .../components/PortraitCustomerIndustry.vue | 198 - .../components/PortraitCustomerLevel.vue | 198 - .../components/PortraitCustomerSource.vue | 198 - .../views/crm/statistics/portrait/index.vue | 156 - .../rank/components/ContactCountRank.vue | 98 - .../rank/components/ContractCountRank.vue | 98 - .../rank/components/ContractPriceRank.vue | 105 - .../rank/components/CustomerCountRank.vue | 98 - .../rank/components/FollowCountRank.vue | 98 - .../components/FollowCustomerCountRank.vue | 98 - .../rank/components/ProductSalesRank.vue | 98 - .../rank/components/ReceivablePriceRank.vue | 106 - .../src/views/crm/statistics/rank/index.vue | 163 - .../views/erp/finance/account/AccountForm.vue | 124 - .../src/views/erp/finance/account/index.vue | 235 - .../finance/payment/FinancePaymentForm.vue | 278 - .../components/FinancePaymentItemForm.vue | 182 - .../src/views/erp/finance/payment/index.vue | 394 - .../finance/receipt/FinanceReceiptForm.vue | 278 - .../components/FinanceReceiptItemForm.vue | 176 - .../src/views/erp/finance/receipt/index.vue | 394 - .../views/erp/home/components/SummaryCard.vue | 21 - .../erp/home/components/TimeSummaryChart.vue | 86 - .../src/views/erp/home/index.vue | 93 - .../product/category/ProductCategoryForm.vue | 145 - .../src/views/erp/product/category/index.vue | 218 - .../views/erp/product/product/ProductForm.vue | 242 - .../src/views/erp/product/product/index.vue | 224 - .../erp/product/unit/ProductUnitForm.vue | 108 - .../src/views/erp/product/unit/index.vue | 198 - .../views/erp/purchase/in/PurchaseInForm.vue | 325 - .../in/components/PurchaseInItemForm.vue | 300 - .../PurchaseInPaymentEnableList.vue | 199 - .../src/views/erp/purchase/in/index.vue | 443 - .../erp/purchase/order/PurchaseOrderForm.vue | 269 - .../components/PurchaseOrderInEnableList.vue | 205 - .../components/PurchaseOrderItemForm.vue | 271 - .../PurchaseOrderReturnEnableList.vue | 212 - .../src/views/erp/purchase/order/index.vue | 407 - .../purchase/return/PurchaseReturnForm.vue | 328 - .../components/PurchaseReturnItemForm.vue | 300 - .../PurchaseReturnRefundEnableList.vue | 200 - .../src/views/erp/purchase/return/index.vue | 443 - .../erp/purchase/supplier/SupplierForm.vue | 210 - .../src/views/erp/purchase/supplier/index.vue | 201 - .../views/erp/sale/customer/CustomerForm.vue | 210 - .../src/views/erp/sale/customer/index.vue | 201 - .../views/erp/sale/order/SaleOrderForm.vue | 289 - .../order/components/SaleOrderItemForm.vue | 271 - .../components/SaleOrderOutEnableList.vue | 206 - .../components/SaleOrderReturnEnableList.vue | 212 - .../src/views/erp/sale/order/index.vue | 407 - .../src/views/erp/sale/out/SaleOutForm.vue | 343 - .../sale/out/components/SaleOutItemForm.vue | 300 - .../components/SaleOutReceiptEnableList.vue | 199 - .../src/views/erp/sale/out/index.vue | 438 - .../views/erp/sale/return/SaleReturnForm.vue | 341 - .../return/components/SaleReturnItemForm.vue | 300 - .../components/SaleReturnRefundEnableList.vue | 199 - .../src/views/erp/sale/return/index.vue | 443 - .../views/erp/stock/check/StockCheckForm.vue | 148 - .../check/components/StockCheckItemForm.vue | 289 - .../src/views/erp/stock/check/index.vue | 359 - .../src/views/erp/stock/in/StockInForm.vue | 170 - .../stock/in/components/StockInItemForm.vue | 267 - .../src/views/erp/stock/in/index.vue | 376 - .../views/erp/stock/move/StockMoveForm.vue | 148 - .../move/components/StockMoveItemForm.vue | 292 - .../src/views/erp/stock/move/index.vue | 359 - .../src/views/erp/stock/out/StockOutForm.vue | 170 - .../stock/out/components/StockOutItemForm.vue | 267 - .../src/views/erp/stock/out/index.vue | 378 - .../src/views/erp/stock/record/index.vue | 250 - .../src/views/erp/stock/stock/index.vue | 186 - .../erp/stock/warehouse/WarehouseForm.vue | 157 - .../src/views/erp/stock/warehouse/index.vue | 242 - .../mall/home/components/ComparisonCard.vue | 42 - .../home/components/MemberStatisticsCard.vue | 91 - .../home/components/OperationDataCard.vue | 92 - .../mall/home/components/ShortcutCard.vue | 82 - .../mall/home/components/TradeTrendCard.vue | 208 - .../src/views/mall/home/index.vue | 113 - .../views/mall/product/brand/BrandForm.vue | 123 - .../src/views/mall/product/brand/index.vue | 182 - .../mall/product/category/CategoryForm.vue | 135 - .../components/ProductCategorySelect.vue | 51 - .../src/views/mall/product/category/index.vue | 149 - .../mall/product/comment/CommentForm.vue | 167 - .../views/mall/product/comment/ReplyForm.vue | 76 - .../src/views/mall/product/comment/index.vue | 244 - .../mall/product/property/PropertyForm.vue | 96 - .../src/views/mall/product/property/index.vue | 177 - .../mall/product/property/value/ValueForm.vue | 105 - .../mall/product/property/value/index.vue | 163 - .../mall/product/spu/components/SkuList.vue | 564 - .../product/spu/components/SkuTableSelect.vue | 95 - .../product/spu/components/SpuShowcase.vue | 142 - .../product/spu/components/SpuTableSelect.vue | 303 - .../mall/product/spu/components/index.ts | 54 - .../mall/product/spu/form/DeliveryForm.vue | 96 - .../mall/product/spu/form/DescriptionForm.vue | 81 - .../views/mall/product/spu/form/InfoForm.vue | 142 - .../views/mall/product/spu/form/OtherForm.vue | 91 - .../product/spu/form/ProductAttributes.vue | 125 - .../spu/form/ProductPropertyAddForm.vue | 96 - .../views/mall/product/spu/form/SkuForm.vue | 187 - .../src/views/mall/product/spu/form/index.vue | 204 - .../src/views/mall/product/spu/index.vue | 451 - .../mall/promotion/article/ArticleForm.vue | 225 - .../article/category/ArticleCategoryForm.vue | 122 - .../mall/promotion/article/category/index.vue | 199 - .../views/mall/promotion/article/index.vue | 229 - .../mall/promotion/banner/BannerForm.vue | 159 - .../src/views/mall/promotion/banner/index.vue | 206 - .../bargain/activity/BargainActivityForm.vue | 233 - .../bargain/activity/bargainActivity.data.ts | 146 - .../mall/promotion/bargain/activity/index.vue | 234 - .../record/BargainRecordListDialog.vue | 90 - .../mall/promotion/bargain/record/index.vue | 197 - .../activity/CombinationActivityForm.vue | 187 - .../activity/combinationActivity.data.ts | 140 - .../promotion/combination/activity/index.vue | 236 - .../record/CombinationRecordListDialog.vue | 89 - .../promotion/combination/record/index.vue | 276 - .../promotion/components/SpuAndSkuList.vue | 112 - .../mall/promotion/components/SpuSelect.vue | 317 - .../views/mall/promotion/components/index.ts | 14 - .../coupon/components/CouponSelect.vue | 219 - .../coupon/components/CouponSendForm.vue | 162 - .../mall/promotion/coupon/components/index.ts | 4 - .../views/mall/promotion/coupon/formatter.ts | 44 - .../src/views/mall/promotion/coupon/index.vue | 201 - .../coupon/template/CouponTemplateForm.vue | 388 - .../mall/promotion/coupon/template/index.vue | 278 - .../discountActivity/DiscountActivityForm.vue | 179 - .../discountActivity/discountActivity.data.ts | 119 - .../mall/promotion/discountActivity/index.vue | 239 - .../mall/promotion/diy/page/DiyPageForm.vue | 104 - .../mall/promotion/diy/page/decorate.vue | 74 - .../views/mall/promotion/diy/page/index.vue | 191 - .../diy/template/DiyTemplateForm.vue | 104 - .../mall/promotion/diy/template/decorate.vue | 167 - .../mall/promotion/diy/template/index.vue | 227 - .../promotion/rewardActivity/RewardForm.vue | 325 - .../mall/promotion/rewardActivity/index.vue | 193 - .../seckill/activity/SeckillActivityForm.vue | 196 - .../mall/promotion/seckill/activity/index.vue | 256 - .../seckill/activity/seckillActivity.data.ts | 163 - .../seckill/config/SeckillConfigForm.vue | 133 - .../mall/promotion/seckill/config/index.vue | 211 - .../member/components/MemberFunnelCard.vue | 121 - .../member/components/MemberTerminalCard.vue | 69 - .../views/mall/statistics/member/index.vue | 313 - .../product/components/ProductRank.vue | 101 - .../product/components/ProductSummary.vue | 304 - .../views/mall/statistics/product/index.vue | 16 - .../trade/components/TradeStatisticValue.vue | 36 - .../src/views/mall/statistics/trade/index.vue | 363 - .../mall/trade/afterSale/detail/index.vue | 354 - .../afterSale/form/AfterSaleDisagreeForm.vue | 70 - .../src/views/mall/trade/afterSale/index.vue | 269 - .../mall/trade/brokerage/record/index.vue | 171 - .../user/BrokerageOrderListDialog.vue | 152 - .../user/BrokerageUserListDialog.vue | 137 - .../brokerage/user/UpdateBindUserForm.vue | 127 - .../views/mall/trade/brokerage/user/index.vue | 307 - .../withdraw/BrokerageWithdrawRejectForm.vue | 73 - .../mall/trade/brokerage/withdraw/index.vue | 268 - .../src/views/mall/trade/config/index.vue | 291 - .../trade/delivery/express/ExpressForm.vue | 126 - .../mall/trade/delivery/express/index.vue | 189 - .../expressTemplate/ExpressTemplateForm.vue | 321 - .../trade/delivery/expressTemplate/index.vue | 165 - .../mall/trade/delivery/pickUpOrder/index.vue | 328 - .../delivery/pickUpStore/PickUpStoreForm.vue | 273 - .../mall/trade/delivery/pickUpStore/index.vue | 190 - .../order/components/OrderTableColumn.vue | 263 - .../mall/trade/order/components/index.ts | 3 - .../views/mall/trade/order/detail/index.vue | 426 - .../trade/order/form/OrderDeliveryForm.vue | 99 - .../mall/trade/order/form/OrderPickUpForm.vue | 108 - .../order/form/OrderUpdateAddressForm.vue | 98 - .../trade/order/form/OrderUpdatePriceForm.vue | 95 - .../order/form/OrderUpdateRemarkForm.vue | 70 - .../src/views/mall/trade/order/index.vue | 357 - .../src/views/member/config/index.vue | 121 - .../src/views/member/group/GroupForm.vue | 112 - .../group/components/MemberGroupSelect.vue | 45 - .../src/views/member/group/index.vue | 176 - .../src/views/member/level/LevelForm.vue | 175 - .../level/components/MemberLevelSelect.vue | 45 - .../src/views/member/level/index.vue | 171 - .../src/views/member/point/record/index.vue | 161 - .../member/signin/config/SignInConfigForm.vue | 132 - .../src/views/member/signin/config/index.vue | 106 - .../src/views/member/signin/record/index.vue | 134 - .../src/views/member/tag/TagForm.vue | 91 - .../member/tag/components/MemberTagSelect.vue | 68 - .../src/views/member/tag/index.vue | 155 - .../src/views/member/user/UserForm.vue | 179 - .../views/member/user/UserLevelUpdateForm.vue | 101 - .../views/member/user/UserPointUpdateForm.vue | 128 - .../member/user/components/balance-list.vue | 14 - .../member/user/detail/UserAccountInfo.vue | 87 - .../member/user/detail/UserAddressList.vue | 54 - .../member/user/detail/UserBasicInfo.vue | 85 - .../member/user/detail/UserBrokerageList.vue | 125 - .../member/user/detail/UserCouponList.vue | 190 - .../user/detail/UserExperienceRecordList.vue | 158 - .../member/user/detail/UserFavoriteList.vue | 96 - .../member/user/detail/UserOrderList.vue | 279 - .../member/user/detail/UserPointList.vue | 152 - .../views/member/user/detail/UserSignList.vue | 135 - .../src/views/member/user/detail/index.vue | 135 - .../src/views/member/user/index.vue | 313 - .../src/views/mp/account/AccountForm.vue | 160 - .../src/views/mp/account/index.vue | 195 - .../mp/autoReply/components/ReplyForm.vue | 80 - .../mp/autoReply/components/ReplyTable.vue | 115 - .../views/mp/autoReply/components/types.ts | 7 - .../src/views/mp/autoReply/index.vue | 241 - .../mp/components/wx-account-select/index.ts | 3 - .../mp/components/wx-account-select/main.vue | 47 - .../views/mp/components/wx-location/index.ts | 3 - .../views/mp/components/wx-location/main.vue | 73 - .../mp/components/wx-material-select/index.ts | 6 - .../mp/components/wx-material-select/main.vue | 279 - .../mp/components/wx-material-select/types.ts | 11 - .../src/views/mp/components/wx-msg/card.scss | 116 - .../views/mp/components/wx-msg/comment.scss | 126 - .../mp/components/wx-msg/components/Msg.vue | 69 - .../components/wx-msg/components/MsgEvent.vue | 49 - .../components/wx-msg/components/MsgList.vue | 62 - .../src/views/mp/components/wx-msg/index.ts | 6 - .../src/views/mp/components/wx-msg/main.vue | 192 - .../src/views/mp/components/wx-msg/types.ts | 17 - .../src/views/mp/components/wx-music/index.ts | 3 - .../src/views/mp/components/wx-music/main.vue | 62 - .../src/views/mp/components/wx-news/index.ts | 3 - .../src/views/mp/components/wx-news/main.vue | 119 - .../wx-reply/components/TabImage.vue | 171 - .../wx-reply/components/TabMusic.vue | 116 - .../wx-reply/components/TabNews.vue | 76 - .../wx-reply/components/TabText.vue | 22 - .../wx-reply/components/TabVideo.vue | 128 - .../wx-reply/components/TabVoice.vue | 160 - .../components/wx-reply/components/types.ts | 54 - .../src/views/mp/components/wx-reply/index.ts | 7 - .../src/views/mp/components/wx-reply/main.vue | 208 - .../mp/components/wx-video-play/index.ts | 3 - .../mp/components/wx-video-play/main.vue | 73 - .../mp/components/wx-voice-play/index.ts | 3 - .../mp/components/wx-voice-play/main.vue | 105 - .../views/mp/draft/components/CoverSelect.vue | 166 - .../views/mp/draft/components/DraftTable.vue | 87 - .../views/mp/draft/components/NewsForm.vue | 304 - .../src/views/mp/draft/components/index.ts | 7 - .../src/views/mp/draft/components/types.ts | 40 - .../src/views/mp/draft/editor-config.ts | 75 - .../src/views/mp/draft/index.vue | 202 - .../src/views/mp/draft/mock.js | 151 - .../src/views/mp/freePublish/index.vue | 336 - .../src/views/mp/hooks/useUpload.ts | 50 - .../mp/material/components/ImageTable.vue | 83 - .../mp/material/components/UploadFile.vue | 77 - .../mp/material/components/UploadVideo.vue | 129 - .../mp/material/components/VideoTable.vue | 59 - .../mp/material/components/VoiceTable.vue | 51 - .../views/mp/material/components/upload.ts | 32 - .../src/views/mp/material/index.vue | 159 - .../views/mp/menu/assets/iphone_backImg.png | Bin 34272 -> 0 bytes .../src/views/mp/menu/assets/menu_foot.png | Bin 1348 -> 0 bytes .../src/views/mp/menu/assets/menu_head.png | Bin 12673 -> 0 bytes .../views/mp/menu/components/MenuEditor.vue | 244 - .../mp/menu/components/MenuPreviewer.vue | 226 - .../views/mp/menu/components/menuOptions.ts | 42 - .../src/views/mp/menu/components/types.ts | 73 - .../src/views/mp/menu/index.vue | 401 - .../src/views/mp/message/MessageTable.vue | 145 - .../src/views/mp/message/index.vue | 152 - .../src/views/mp/statistics/index.vue | 368 - .../src/views/mp/tag/TagForm.vue | 98 - .../src/views/mp/tag/index.vue | 154 - .../src/views/mp/user/UserForm.vue | 102 - .../src/views/mp/user/index.vue | 181 - .../views/oms/order/createorder/index..vue | 487 +- .../src/views/pay/app/components/AppForm.vue | 130 - .../components/channel/AlipayChannelForm.vue | 326 - .../components/channel/MockChannelForm.vue | 122 - .../components/channel/WalletChannelForm.vue | 122 - .../components/channel/WeixinChannelForm.vue | 342 - .../src/views/pay/app/index.vue | 471 - .../src/views/pay/cashier/index.vue | 482 - .../src/views/pay/demo/order/index.vue | 240 - .../pay/demo/transfer/DemoTransferForm.vue | 122 - .../src/views/pay/demo/transfer/index.vue | 159 - .../src/views/pay/notify/NotifyDetail.vue | 86 - .../src/views/pay/notify/index.vue | 224 - .../src/views/pay/order/OrderDetail.vue | 111 - .../src/views/pay/order/index.vue | 273 - .../src/views/pay/refund/RefundDetail.vue | 93 - .../src/views/pay/refund/index.vue | 298 - .../views/pay/transfer/CreatePayTransfer.vue | 135 - .../src/views/pay/transfer/TransferDetail.vue | 80 - .../src/views/pay/transfer/index.vue | 267 - .../views/pay/wallet/balance/WalletForm.vue | 22 - .../src/views/pay/wallet/balance/index.vue | 149 - .../WalletRechargePackageForm.vue | 122 - .../pay/wallet/rechargePackage/index.vue | 185 - .../transaction/WalletTransactionList.vue | 68 - 681 files changed, 15813 insertions(+), 83935 deletions(-) create mode 100644 .flattened-pom.xml create mode 100644 bin/clean.bat create mode 100644 bin/package.bat create mode 100644 bin/run.bat create mode 100644 hangtag-dependencies/.flattened-pom.xml create mode 100644 hangtag-framework/.flattened-pom.xml create mode 100644 hangtag-framework/hangtag-common/.flattened-pom.xml create mode 100644 hangtag-framework/hangtag-spring-boot-starter-biz-data-permission/.flattened-pom.xml create mode 100644 hangtag-framework/hangtag-spring-boot-starter-biz-ip/.flattened-pom.xml create mode 100644 hangtag-framework/hangtag-spring-boot-starter-biz-tenant/.flattened-pom.xml create mode 100644 hangtag-framework/hangtag-spring-boot-starter-excel/.flattened-pom.xml create mode 100644 hangtag-framework/hangtag-spring-boot-starter-job/.flattened-pom.xml create mode 100644 hangtag-framework/hangtag-spring-boot-starter-monitor/.flattened-pom.xml create mode 100644 hangtag-framework/hangtag-spring-boot-starter-mq/.flattened-pom.xml create mode 100644 hangtag-framework/hangtag-spring-boot-starter-mybatis/.flattened-pom.xml create mode 100644 hangtag-framework/hangtag-spring-boot-starter-protection/.flattened-pom.xml create mode 100644 hangtag-framework/hangtag-spring-boot-starter-redis/.flattened-pom.xml create mode 100644 hangtag-framework/hangtag-spring-boot-starter-security/.flattened-pom.xml create mode 100644 hangtag-framework/hangtag-spring-boot-starter-test/.flattened-pom.xml create mode 100644 hangtag-framework/hangtag-spring-boot-starter-web/.flattened-pom.xml create mode 100644 hangtag-framework/hangtag-spring-boot-starter-websocket/.flattened-pom.xml create mode 100644 hangtag-module-infra/.flattened-pom.xml create mode 100644 hangtag-module-infra/hangtag-module-infra-api/.flattened-pom.xml create mode 100644 hangtag-module-infra/hangtag-module-infra-biz/.flattened-pom.xml create mode 100644 hangtag-module-oms/.flattened-pom.xml create mode 100644 hangtag-module-oms/hangtag-module-oms-api/.flattened-pom.xml create mode 100644 hangtag-module-oms/hangtag-module-oms-biz/.flattened-pom.xml create mode 100644 hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/app/AppBrandController.java create mode 100644 hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/app/AppCustomerController.java create mode 100644 hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/app/AppMaterialController.java create mode 100644 hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/app/SaleOrderController.java create mode 100644 hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/brand/vo/BrandListReqVO.java create mode 100644 hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/brand/vo/BrandSimpleRespVO.java create mode 100644 hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/customerbrand/CustomerBrandController.java create mode 100644 hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/customerbrand/vo/CustomerBrandPageReqVO.java create mode 100644 hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/customerbrand/vo/CustomerBrandRespVO.java create mode 100644 hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/customerbrand/vo/CustomerBrandSaveReqVO.java create mode 100644 hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/customerbrand/vo/PermissionAssignCustomerBrandReqVO.java create mode 100644 hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/SaleOrderController.java create mode 100644 hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/vo/SaleOrderPageReqVO.java create mode 100644 hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/vo/SaleOrderRespVO.java create mode 100644 hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/vo/SaleOrderSaveReqVO.java create mode 100644 hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/customerbrand/CustomerBrandDO.java create mode 100644 hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/saleorder/SaleOrderDO.java create mode 100644 hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/saleorder/SaleOrderEntryDO.java create mode 100644 hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/mysql/customerbrand/CustomerBrandMapper.java create mode 100644 hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/mysql/saleorder/SaleOrderEntryMapper.java create mode 100644 hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/mysql/saleorder/SaleOrderMapper.java create mode 100644 hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/customerbrand/CustomerBrandService.java create mode 100644 hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/customerbrand/CustomerBrandServiceImpl.java create mode 100644 hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderService.java create mode 100644 hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java create mode 100644 hangtag-module-oms/hangtag-module-oms-biz/src/main/resources/mapper/customerbrand/CustomerBrandMapper.xml create mode 100644 hangtag-module-oms/hangtag-module-oms-biz/src/main/resources/mapper/saleorder/SaleOrderMapper.xml create mode 100644 hangtag-module-oms/hangtag-module-oms-biz/src/test/java/cn/hangtag/module/oms/service/customerbrand/CustomerBrandServiceImplTest.java create mode 100644 hangtag-module-oms/hangtag-module-oms-biz/src/test/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImplTest.java create mode 100644 hangtag-module-system/.flattened-pom.xml create mode 100644 hangtag-module-system/hangtag-module-system-api/.flattened-pom.xml create mode 100644 hangtag-module-system/hangtag-module-system-biz/.flattened-pom.xml delete mode 100644 hangtag-module-system/hangtag-module-system-biz/src/test/java/cn/hangtag/module/system/service/auth/AdminAuthServiceImplTest.java delete mode 100644 hangtag-module-system/hangtag-module-system-biz/src/test/java/cn/hangtag/module/system/service/oauth2/OAuth2GrantServiceImplTest.java delete mode 100644 hangtag-module-system/hangtag-module-system-biz/src/test/java/cn/hangtag/module/system/service/user/AdminUserServiceImplTest.java create mode 100644 hangtag-server/.flattened-pom.xml create mode 100644 hangtag-ui/hangtag-ui-admin/pnpm-lock.yaml create mode 100644 hangtag-ui/hangtag-ui-admin/src/api/oms/customerbrand/index.ts create mode 100644 hangtag-ui/hangtag-ui-admin/src/views/oms/customer/CustomerAssignBrandForm.vue create mode 100644 hangtag-ui/hangtag-ui-admin/src/views/oms/saleorder/saleOrder.data.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/bpm/activity/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/bpm/category/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/bpm/definition/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/bpm/form/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/bpm/leave/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/bpm/model/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/bpm/processExpression/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/bpm/processInstance/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/bpm/processListener/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/bpm/task/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/bpm/userGroup/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/crm/business/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/crm/business/status/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/crm/clue/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/crm/contact/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/crm/contract/config/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/crm/contract/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/crm/customer/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/crm/customer/limitConfig/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/crm/customer/poolConfig/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/crm/followup/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/crm/operateLog/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/crm/permission/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/crm/product/category/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/crm/product/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/crm/receivable/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/crm/receivable/plan/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/crm/statistics/customer.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/crm/statistics/funnel.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/crm/statistics/performance.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/crm/statistics/portrait.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/crm/statistics/rank.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/erp/finance/account/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/erp/finance/payment/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/erp/finance/receipt/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/erp/product/category/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/erp/product/product/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/erp/product/unit/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/erp/purchase/in/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/erp/purchase/order/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/erp/purchase/return/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/erp/purchase/supplier/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/erp/sale/customer/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/erp/sale/order/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/erp/sale/out/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/erp/sale/return/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/erp/statistics/purchase/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/erp/statistics/sale/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/erp/stock/check/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/erp/stock/in/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/erp/stock/move/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/erp/stock/out/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/erp/stock/record/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/erp/stock/stock/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/erp/stock/warehouse/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mall/market/banner/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mall/product/brand.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mall/product/category.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mall/product/comment.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mall/product/favorite.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mall/product/property.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mall/product/spu.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mall/promotion/article/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mall/promotion/articleCategory/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mall/promotion/bargain/bargainActivity.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mall/promotion/bargain/bargainHelp.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mall/promotion/bargain/bargainRecord.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mall/promotion/combination/combinationActivity.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mall/promotion/combination/combinationRecord.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mall/promotion/coupon/coupon.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mall/promotion/coupon/couponTemplate.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mall/promotion/discount/discountActivity.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mall/promotion/diy/page.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mall/promotion/diy/template.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mall/promotion/reward/rewardActivity.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mall/promotion/seckill/seckillActivity.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mall/promotion/seckill/seckillConfig.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mall/statistics/common.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mall/statistics/member.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mall/statistics/pay.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mall/statistics/product.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mall/statistics/trade.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mall/trade/afterSale/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mall/trade/brokerage/record/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mall/trade/brokerage/user/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mall/trade/brokerage/withdraw/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mall/trade/config/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mall/trade/delivery/express/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mall/trade/delivery/expressTemplate/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mall/trade/delivery/pickUpStore/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mall/trade/order/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/member/address/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/member/config/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/member/experience-record/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/member/group/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/member/level/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/member/point/record/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/member/signin/config/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/member/signin/record/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/member/tag/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/member/user/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mp/account/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mp/autoReply/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mp/draft/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mp/freePublish/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mp/material/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mp/menu/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mp/message/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mp/statistics/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mp/tag/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/mp/user/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/oms/order/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/pay/app/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/pay/channel/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/pay/demo/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/pay/demo/transfer/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/pay/notify/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/pay/order/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/pay/refund/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/pay/transfer/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/pay/wallet/balance/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/pay/wallet/rechargePackage/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/api/pay/wallet/transaction/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/ai/chat/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/bpm/category/CategoryForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/bpm/category/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/bpm/definition/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/bpm/form/editor/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/bpm/form/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/bpm/group/UserGroupForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/bpm/group/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/bpm/model/ModelForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/bpm/model/ModelImportForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/bpm/model/editor/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/bpm/model/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/bpm/oa/leave/create.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/bpm/oa/leave/detail.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/bpm/oa/leave/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/bpm/processExpression/ProcessExpressionForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/bpm/processExpression/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/create/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/detail/ProcessInstanceBpmnViewer.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/detail/ProcessInstanceTaskList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/detail/dialog/TaskDelegateForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/detail/dialog/TaskReturnForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/detail/dialog/TaskSignCreateForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/detail/dialog/TaskSignDeleteForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/detail/dialog/TaskSignList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/detail/dialog/TaskTransferForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/detail/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/manager/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/bpm/processListener/ProcessListenerForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/bpm/processListener/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/bpm/simpleWorkflow/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/bpm/task/copy/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/bpm/task/done/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/bpm/task/manager/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/bpm/task/todo/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/backlog/components/ClueFollowList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/backlog/components/ContractAuditList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/backlog/components/ContractRemindList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/backlog/components/CustomerFollowList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/backlog/components/CustomerPutPoolRemindList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/backlog/components/CustomerTodayContactList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/backlog/components/ReceivableAuditList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/backlog/components/ReceivablePlanRemindList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/backlog/components/common.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/backlog/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/business/BusinessForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/business/BusinessUpdateStatusForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/business/components/BusinessList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/business/components/BusinessListModal.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/business/components/BusinessProductForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/business/detail/BusinessDetailsHeader.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/business/detail/BusinessDetailsInfo.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/business/detail/BusinessProductList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/business/detail/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/business/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/business/status/BusinessStatusForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/business/status/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/clue/ClueForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/clue/detail/ClueDetailsHeader.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/clue/detail/ClueDetailsInfo.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/clue/detail/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/clue/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/contact/ContactForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/contact/components/ContactList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/contact/components/ContactListModal.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/contact/detail/ContactDetailsHeader.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/contact/detail/ContactDetailsInfo.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/contact/detail/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/contact/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/contract/ContractForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/contract/components/ContractList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/contract/components/ContractProductForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/contract/config/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/contract/detail/ContractDetailsHeader.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/contract/detail/ContractDetailsInfo.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/contract/detail/ContractProductList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/contract/detail/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/contract/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/customer/CustomerForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/customer/CustomerImportForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/customer/detail/CustomerDetailsHeader.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/customer/detail/CustomerDetailsInfo.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/customer/detail/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/customer/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/customer/limitConfig/CustomerLimitConfigForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/customer/limitConfig/CustomerLimitConfigList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/customer/limitConfig/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/customer/pool/CustomerDistributeForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/customer/pool/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/customer/poolConfig/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/followup/FollowUpRecordForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/followup/components/FollowUpRecordBusinessForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/followup/components/FollowUpRecordContactForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/followup/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/permission/components/PermissionForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/permission/components/PermissionList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/permission/components/TransferForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/product/ProductForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/product/category/ProductCategoryForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/product/category/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/product/detail/ProductDetailsHeader.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/product/detail/ProductDetailsInfo.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/product/detail/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/product/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/receivable/ReceivableForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/receivable/components/ReceivableList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/receivable/detail/ReceivableDetailsHeader.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/receivable/detail/ReceivableDetailsInfo.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/receivable/detail/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/receivable/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/receivable/plan/ReceivablePlanForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/receivable/plan/components/ReceivablePlanList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/receivable/plan/detail/ReceivablePlanDetailsHeader.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/receivable/plan/detail/ReceivablePlanDetailsInfo.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/receivable/plan/detail/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/receivable/plan/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/statistics/customer/components/CustomerConversionStat.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/statistics/customer/components/CustomerDealCycleByArea.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/statistics/customer/components/CustomerDealCycleByProduct.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/statistics/customer/components/CustomerDealCycleByUser.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/statistics/customer/components/CustomerFollowUpSummary.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/statistics/customer/components/CustomerFollowUpType.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/statistics/customer/components/CustomerPoolSummary.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/statistics/customer/components/CustomerSummary.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/statistics/customer/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/statistics/funnel/components/BusinessInversionRateSummary.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/statistics/funnel/components/BusinessSummary.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/statistics/funnel/components/FunnelBusiness.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/statistics/funnel/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/statistics/performance/components/ContractCountPerformance.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/statistics/performance/components/ContractPricePerformance.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/statistics/performance/components/ReceivablePricePerformance.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/statistics/performance/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/statistics/portrait/components/PortraitCustomerArea.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/statistics/portrait/components/PortraitCustomerIndustry.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/statistics/portrait/components/PortraitCustomerLevel.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/statistics/portrait/components/PortraitCustomerSource.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/statistics/portrait/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/statistics/rank/components/ContactCountRank.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/statistics/rank/components/ContractCountRank.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/statistics/rank/components/ContractPriceRank.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/statistics/rank/components/CustomerCountRank.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/statistics/rank/components/FollowCountRank.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/statistics/rank/components/FollowCustomerCountRank.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/statistics/rank/components/ProductSalesRank.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/statistics/rank/components/ReceivablePriceRank.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/crm/statistics/rank/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/finance/account/AccountForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/finance/account/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/finance/payment/FinancePaymentForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/finance/payment/components/FinancePaymentItemForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/finance/payment/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/finance/receipt/FinanceReceiptForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/finance/receipt/components/FinanceReceiptItemForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/finance/receipt/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/home/components/SummaryCard.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/home/components/TimeSummaryChart.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/home/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/product/category/ProductCategoryForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/product/category/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/product/product/ProductForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/product/product/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/product/unit/ProductUnitForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/product/unit/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/purchase/in/PurchaseInForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/purchase/in/components/PurchaseInItemForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/purchase/in/components/PurchaseInPaymentEnableList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/purchase/in/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/purchase/order/PurchaseOrderForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/purchase/order/components/PurchaseOrderInEnableList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/purchase/order/components/PurchaseOrderItemForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/purchase/order/components/PurchaseOrderReturnEnableList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/purchase/order/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/purchase/return/PurchaseReturnForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/purchase/return/components/PurchaseReturnItemForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/purchase/return/components/PurchaseReturnRefundEnableList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/purchase/return/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/purchase/supplier/SupplierForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/purchase/supplier/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/sale/customer/CustomerForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/sale/customer/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/sale/order/SaleOrderForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/sale/order/components/SaleOrderItemForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/sale/order/components/SaleOrderOutEnableList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/sale/order/components/SaleOrderReturnEnableList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/sale/order/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/sale/out/SaleOutForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/sale/out/components/SaleOutItemForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/sale/out/components/SaleOutReceiptEnableList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/sale/out/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/sale/return/SaleReturnForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/sale/return/components/SaleReturnItemForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/sale/return/components/SaleReturnRefundEnableList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/sale/return/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/stock/check/StockCheckForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/stock/check/components/StockCheckItemForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/stock/check/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/stock/in/StockInForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/stock/in/components/StockInItemForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/stock/in/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/stock/move/StockMoveForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/stock/move/components/StockMoveItemForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/stock/move/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/stock/out/StockOutForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/stock/out/components/StockOutItemForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/stock/out/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/stock/record/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/stock/stock/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/stock/warehouse/WarehouseForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/erp/stock/warehouse/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/home/components/ComparisonCard.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/home/components/MemberStatisticsCard.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/home/components/OperationDataCard.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/home/components/ShortcutCard.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/home/components/TradeTrendCard.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/home/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/product/brand/BrandForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/product/brand/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/product/category/CategoryForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/product/category/components/ProductCategorySelect.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/product/category/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/product/comment/CommentForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/product/comment/ReplyForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/product/comment/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/product/property/PropertyForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/product/property/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/product/property/value/ValueForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/product/property/value/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/components/SkuList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/components/SkuTableSelect.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/components/SpuShowcase.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/components/SpuTableSelect.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/components/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/form/DeliveryForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/form/DescriptionForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/form/InfoForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/form/OtherForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/form/ProductAttributes.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/form/ProductPropertyAddForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/form/SkuForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/form/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/article/ArticleForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/article/category/ArticleCategoryForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/article/category/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/article/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/banner/BannerForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/banner/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/bargain/activity/BargainActivityForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/bargain/activity/bargainActivity.data.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/bargain/activity/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/bargain/record/BargainRecordListDialog.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/bargain/record/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/combination/activity/CombinationActivityForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/combination/activity/combinationActivity.data.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/combination/activity/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/combination/record/CombinationRecordListDialog.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/combination/record/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/components/SpuAndSkuList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/components/SpuSelect.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/components/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/coupon/components/CouponSelect.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/coupon/components/CouponSendForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/coupon/components/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/coupon/formatter.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/coupon/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/coupon/template/CouponTemplateForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/coupon/template/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/discountActivity/DiscountActivityForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/discountActivity/discountActivity.data.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/discountActivity/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/diy/page/DiyPageForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/diy/page/decorate.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/diy/page/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/diy/template/DiyTemplateForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/diy/template/decorate.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/diy/template/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/rewardActivity/RewardForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/rewardActivity/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/seckill/activity/SeckillActivityForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/seckill/activity/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/seckill/activity/seckillActivity.data.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/seckill/config/SeckillConfigForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/promotion/seckill/config/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/statistics/member/components/MemberFunnelCard.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/statistics/member/components/MemberTerminalCard.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/statistics/member/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/statistics/product/components/ProductRank.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/statistics/product/components/ProductSummary.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/statistics/product/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/statistics/trade/components/TradeStatisticValue.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/statistics/trade/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/trade/afterSale/detail/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/trade/afterSale/form/AfterSaleDisagreeForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/trade/afterSale/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/trade/brokerage/record/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/trade/brokerage/user/BrokerageOrderListDialog.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/trade/brokerage/user/BrokerageUserListDialog.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/trade/brokerage/user/UpdateBindUserForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/trade/brokerage/user/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/trade/brokerage/withdraw/BrokerageWithdrawRejectForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/trade/brokerage/withdraw/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/trade/config/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/trade/delivery/express/ExpressForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/trade/delivery/express/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/trade/delivery/expressTemplate/ExpressTemplateForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/trade/delivery/expressTemplate/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/trade/delivery/pickUpOrder/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/trade/delivery/pickUpStore/PickUpStoreForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/trade/delivery/pickUpStore/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/trade/order/components/OrderTableColumn.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/trade/order/components/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/trade/order/detail/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/trade/order/form/OrderDeliveryForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/trade/order/form/OrderPickUpForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/trade/order/form/OrderUpdateAddressForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/trade/order/form/OrderUpdatePriceForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/trade/order/form/OrderUpdateRemarkForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mall/trade/order/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/member/config/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/member/group/GroupForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/member/group/components/MemberGroupSelect.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/member/group/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/member/level/LevelForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/member/level/components/MemberLevelSelect.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/member/level/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/member/point/record/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/member/signin/config/SignInConfigForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/member/signin/config/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/member/signin/record/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/member/tag/TagForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/member/tag/components/MemberTagSelect.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/member/tag/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/member/user/UserForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/member/user/UserLevelUpdateForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/member/user/UserPointUpdateForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/member/user/components/balance-list.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserAccountInfo.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserAddressList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserBasicInfo.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserBrokerageList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserCouponList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserExperienceRecordList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserFavoriteList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserOrderList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserPointList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserSignList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/member/user/detail/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/member/user/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/account/AccountForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/account/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/autoReply/components/ReplyForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/autoReply/components/ReplyTable.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/autoReply/components/types.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/autoReply/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-account-select/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-account-select/main.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-location/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-location/main.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-material-select/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-material-select/main.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-material-select/types.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-msg/card.scss delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-msg/comment.scss delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-msg/components/Msg.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-msg/components/MsgEvent.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-msg/components/MsgList.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-msg/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-msg/main.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-msg/types.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-music/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-music/main.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-news/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-news/main.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-reply/components/TabImage.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-reply/components/TabMusic.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-reply/components/TabNews.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-reply/components/TabText.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-reply/components/TabVideo.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-reply/components/TabVoice.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-reply/components/types.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-reply/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-reply/main.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-video-play/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-video-play/main.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-voice-play/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-voice-play/main.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/draft/components/CoverSelect.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/draft/components/DraftTable.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/draft/components/NewsForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/draft/components/index.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/draft/components/types.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/draft/editor-config.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/draft/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/draft/mock.js delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/freePublish/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/hooks/useUpload.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/material/components/ImageTable.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/material/components/UploadFile.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/material/components/UploadVideo.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/material/components/VideoTable.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/material/components/VoiceTable.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/material/components/upload.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/material/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/menu/assets/iphone_backImg.png delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/menu/assets/menu_foot.png delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/menu/assets/menu_head.png delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/menu/components/MenuEditor.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/menu/components/MenuPreviewer.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/menu/components/menuOptions.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/menu/components/types.ts delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/menu/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/message/MessageTable.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/message/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/statistics/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/tag/TagForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/tag/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/user/UserForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/mp/user/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/pay/app/components/AppForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/pay/app/components/channel/AlipayChannelForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/pay/app/components/channel/MockChannelForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/pay/app/components/channel/WalletChannelForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/pay/app/components/channel/WeixinChannelForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/pay/app/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/pay/cashier/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/pay/demo/order/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/pay/demo/transfer/DemoTransferForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/pay/demo/transfer/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/pay/notify/NotifyDetail.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/pay/notify/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/pay/order/OrderDetail.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/pay/order/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/pay/refund/RefundDetail.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/pay/refund/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/pay/transfer/CreatePayTransfer.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/pay/transfer/TransferDetail.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/pay/transfer/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/pay/wallet/balance/WalletForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/pay/wallet/balance/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/pay/wallet/rechargePackage/WalletRechargePackageForm.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/pay/wallet/rechargePackage/index.vue delete mode 100644 hangtag-ui/hangtag-ui-front/src/views/pay/wallet/transaction/WalletTransactionList.vue diff --git a/.flattened-pom.xml b/.flattened-pom.xml new file mode 100644 index 0000000..0cf8d24 --- /dev/null +++ b/.flattened-pom.xml @@ -0,0 +1,119 @@ + + + 4.0.0 + cn.hangtag + hangtag + 2.1.0-jdk8-snapshot + pom + ${project.artifactId} + 嘉晋OMS系统 + + hangtag-dependencies + hangtag-framework + hangtag-server + hangtag-module-system + hangtag-module-infra + hangtag-module-oms + + + 1.18.30 + 1.8 + 3.8.1 + 3.0.0-M5 + ${java.version} + 1.5.5.Final + UTF-8 + 1.5.0 + 2.1.0-jdk8-snapshot + 2.7.18 + ${java.version} + + + + + cn.hangtag + hangtag-dependencies + 2.1.0-jdk8-snapshot + pom + import + + + + + + huaweicloud + huawei + https://mirrors.huaweicloud.com/repository/maven/ + + + aliyunmaven + aliyun + https://maven.aliyun.com/repository/public + + + + + + + maven-surefire-plugin + ${maven-surefire-plugin.version} + + + maven-compiler-plugin + ${maven-compiler-plugin.version} + + + + org.springframework.boot + spring-boot-configuration-processor + ${spring.boot.version} + + + org.projectlombok + lombok + ${lombok.version} + + + org.mapstruct + mapstruct-processor + ${mapstruct.version} + + + + + + org.codehaus.mojo + flatten-maven-plugin + + + + + + org.codehaus.mojo + flatten-maven-plugin + ${flatten-maven-plugin.version} + + + flatten + process-resources + + flatten + + + + flatten.clean + clean + + clean + + + + + resolveCiFriendliesOnly + true + + + + + diff --git a/bin/clean.bat b/bin/clean.bat new file mode 100644 index 0000000..24c0974 --- /dev/null +++ b/bin/clean.bat @@ -0,0 +1,12 @@ +@echo off +echo. +echo [Ϣ] target· +echo. + +%~d0 +cd %~dp0 + +cd .. +call mvn clean + +pause \ No newline at end of file diff --git a/bin/package.bat b/bin/package.bat new file mode 100644 index 0000000..c693ec0 --- /dev/null +++ b/bin/package.bat @@ -0,0 +1,12 @@ +@echo off +echo. +echo [Ϣ] Weḅwar/jarļ +echo. + +%~d0 +cd %~dp0 + +cd .. +call mvn clean package -Dmaven.test.skip=true + +pause \ No newline at end of file diff --git a/bin/run.bat b/bin/run.bat new file mode 100644 index 0000000..0274b31 --- /dev/null +++ b/bin/run.bat @@ -0,0 +1,14 @@ +@echo off +echo. +echo [Ϣ] ʹJarWeb̡ +echo. + +cd %~dp0 +cd ../mikeenk-admin/target + +set JAVA_OPTS=-Xms256m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m + +java -jar %JAVA_OPTS% mikeenk-admin.jar + +cd bin +pause \ No newline at end of file diff --git a/hangtag-dependencies/.flattened-pom.xml b/hangtag-dependencies/.flattened-pom.xml new file mode 100644 index 0000000..23ddf1b --- /dev/null +++ b/hangtag-dependencies/.flattened-pom.xml @@ -0,0 +1,547 @@ + + + 4.0.0 + cn.hangtag + hangtag-dependencies + 2.1.0-jdk8-snapshot + pom + ${project.artifactId} + 基础 bom 文件,管理整个项目的依赖版本 + https://github.com/YunaiV/ruoyi-vue-pro + + 1.4.10 + 7.2.11.RELEASE + 2.3 + 2.7.18 + 2.9.1 + 2.2.7 + 3.5.0 + 5.1.0 + 1.18.30 + 2.12.2 + 1.17.2 + 1.2.83 + 3.10.0 + 5.8.25 + 2.14.5 + 6.8.0 + 3.18.0 + 2.2.11 + 4.11.0 + 3.0.6 + 3.5.5 + 1.2.21 + 2.15.1 + 3.3.3 + 1.6.15 + 8.5.7 + 4.11.0 + 1.0.13 + 3.1.880 + 8.1.3.62 + 2.2.3 + 2.7.0 + 0.1.55 + 4.6.0 + 4.6.4 + 1.0.10 + 4.3.0 + 2.5 + 4.3.0 + 2.7.15 + 1.5.5.Final + 1.6.6 + 2.2.1 + 1.0.8 + 1.0.5 + 33.0.0-jre + 8.12.0 + 0.33.0 + 3.5.5 + 1.5.0 + 2.1.0-jdk8-snapshot + + + + + org.springframework.boot + spring-boot-dependencies + ${spring.boot.version} + pom + import + + + io.github.mouzt + bizlog-sdk + ${bizlog-sdk.version} + + + spring-boot-starter + org.springframework.boot + + + + + cn.hangtag + hangtag-spring-boot-starter-biz-tenant + 2.1.0-jdk8-snapshot + + + cn.hangtag + hangtag-spring-boot-starter-biz-data-permission + 2.1.0-jdk8-snapshot + + + cn.hangtag + hangtag-spring-boot-starter-biz-ip + 2.1.0-jdk8-snapshot + + + org.springframework.boot + spring-boot-configuration-processor + ${spring.boot.version} + + + cn.hangtag + hangtag-spring-boot-starter-web + 2.1.0-jdk8-snapshot + + + cn.hangtag + hangtag-spring-boot-starter-security + 2.1.0-jdk8-snapshot + + + cn.hangtag + hangtag-spring-boot-starter-websocket + 2.1.0-jdk8-snapshot + + + com.github.xiaoymin + knife4j-openapi3-spring-boot-starter + ${knife4j.version} + + + org.springdoc + springdoc-openapi-ui + ${springdoc.version} + + + cn.hangtag + hangtag-spring-boot-starter-mybatis + 2.1.0-jdk8-snapshot + + + com.alibaba + druid-spring-boot-starter + ${druid.version} + + + com.baomidou + mybatis-plus-boot-starter + ${mybatis-plus.version} + + + com.baomidou + mybatis-plus-generator + ${mybatis-plus-generator.version} + + + com.baomidou + dynamic-datasource-spring-boot-starter + ${dynamic-datasource.version} + + + com.github.yulichang + mybatis-plus-join-boot-starter + ${mybatis-plus-join.version} + + + com.fhs-opensource + easy-trans-spring-boot-starter + ${easy-trans.version} + + + spring-context + org.springframework + + + spring-cloud-commons + org.springframework.cloud + + + + + com.fhs-opensource + easy-trans-mybatis-plus-extend + ${easy-trans.version} + + + com.fhs-opensource + easy-trans-anno + ${easy-trans.version} + + + cn.hangtag + hangtag-spring-boot-starter-redis + 2.1.0-jdk8-snapshot + + + org.redisson + redisson-spring-boot-starter + ${redisson.version} + + + spring-boot-starter-actuator + org.springframework.boot + + + + + com.dameng + DmJdbcDriver18 + ${dm8.jdbc.version} + + + cn.hangtag + hangtag-spring-boot-starter-job + 2.1.0-jdk8-snapshot + + + cn.hangtag + hangtag-spring-boot-starter-mq + 2.1.0-jdk8-snapshot + + + org.apache.rocketmq + rocketmq-spring-boot-starter + ${rocketmq-spring.version} + + + cn.hangtag + hangtag-spring-boot-starter-protection + 2.1.0-jdk8-snapshot + + + com.baomidou + lock4j-redisson-spring-boot-starter + ${lock4j.version} + + + redisson-spring-boot-starter + org.redisson + + + + + cn.hangtag + hangtag-spring-boot-starter-monitor + 2.1.0-jdk8-snapshot + + + org.apache.skywalking + apm-toolkit-trace + ${skywalking.version} + + + org.apache.skywalking + apm-toolkit-logback-1.x + ${skywalking.version} + + + org.apache.skywalking + apm-toolkit-opentracing + ${skywalking.version} + + + io.opentracing + opentracing-api + ${opentracing.version} + + + io.opentracing + opentracing-util + ${opentracing.version} + + + io.opentracing + opentracing-noop + ${opentracing.version} + + + de.codecentric + spring-boot-admin-starter-server + ${spring-boot-admin.version} + + + spring-boot-admin-server-cloud + de.codecentric + + + + + de.codecentric + spring-boot-admin-starter-client + ${spring-boot-admin.version} + + + cn.hangtag + hangtag-spring-boot-starter-test + 2.1.0-jdk8-snapshot + test + + + org.mockito + mockito-inline + ${mockito-inline.version} + + + org.springframework.boot + spring-boot-starter-test + ${spring.boot.version} + + + asm + org.ow2.asm + + + mockito-core + org.mockito + + + + + com.github.fppt + jedis-mock + ${jedis-mock.version} + + + uk.co.jemos.podam + podam + ${podam.version} + + + org.flowable + flowable-spring-boot-starter-process + ${flowable.version} + + + org.flowable + flowable-spring-boot-starter-actuator + ${flowable.version} + + + cn.hangtag + hangtag-common + 2.1.0-jdk8-snapshot + + + cn.hangtag + hangtag-spring-boot-starter-excel + 2.1.0-jdk8-snapshot + + + org.projectlombok + lombok + ${lombok.version} + + + org.mapstruct + mapstruct + ${mapstruct.version} + + + org.mapstruct + mapstruct-jdk8 + ${mapstruct.version} + + + org.mapstruct + mapstruct-processor + ${mapstruct.version} + + + cn.hutool + hutool-all + ${hutool.version} + + + com.alibaba + easyexcel + ${easyexcel.verion} + + + commons-io + commons-io + ${commons-io.version} + + + org.apache.tika + tika-core + ${tika-core.version} + + + org.apache.velocity + velocity-engine-core + ${velocity.version} + + + com.alibaba + fastjson + ${fastjson.version} + + + com.google.guava + guava + ${guava.version} + + + com.google.inject + guice + ${guice.version} + + + com.alibaba + transmittable-thread-local + ${transmittable-thread-local.version} + + + commons-net + commons-net + ${commons-net.version} + + + com.jcraft + jsch + ${jsch.version} + + + com.xingyuv + spring-boot-starter-captcha-plus + ${captcha-plus.version} + + + org.lionsoul + ip2region + ${ip2region.version} + + + org.jsoup + jsoup + ${jsoup.version} + + + com.squareup.okio + okio + ${okio.version} + + + com.squareup.okhttp3 + okhttp + ${okhttp3.version} + + + io.minio + minio + ${minio.version} + + + com.aliyun + aliyun-java-sdk-core + ${aliyun-java-sdk-core.version} + + + opentracing-api + io.opentracing + + + opentracing-util + io.opentracing + + + + + com.aliyun + aliyun-java-sdk-dysmsapi + ${aliyun-java-sdk-dysmsapi.version} + + + com.tencentcloudapi + tencentcloud-sdk-java-sms + ${tencentcloud-sdk-java.version} + + + com.xingyuv + spring-boot-starter-justauth + ${justauth.version} + + + hutool-core + cn.hutool + + + + + com.github.binarywang + weixin-java-pay + ${weixin-java.version} + + + com.github.binarywang + wx-java-mp-spring-boot-starter + ${weixin-java.version} + + + com.github.binarywang + wx-java-miniapp-spring-boot-starter + ${weixin-java.version} + + + org.jeecgframework.jimureport + jimureport-spring-boot-starter + ${jimureport.version} + + + druid + com.alibaba + + + + + xerces + xercesImpl + ${xercesImpl.version} + + + + + + + org.codehaus.mojo + flatten-maven-plugin + ${flatten-maven-plugin.version} + + + flatten + process-resources + + flatten + + + + flatten.clean + clean + + clean + + + + + resolveCiFriendliesOnly + true + + + + + diff --git a/hangtag-framework/.flattened-pom.xml b/hangtag-framework/.flattened-pom.xml new file mode 100644 index 0000000..812e593 --- /dev/null +++ b/hangtag-framework/.flattened-pom.xml @@ -0,0 +1,40 @@ + + + 4.0.0 + + cn.hangtag + hangtag + 2.1.0-jdk8-snapshot + + cn.hangtag + hangtag-framework + 2.1.0-jdk8-snapshot + pom + 该包是技术组件,每个子包,代表一个组件。每个组件包括两部分: + 1. core 包:是该组件的核心封装 + 2. config 包:是该组件基于 Spring 的配置 + + 技术组件,也分成两类: + 1. 框架组件:和我们熟悉的 MyBatis、Redis 等等的拓展 + 2. 业务组件:和业务相关的组件的封装,例如说数据字典、操作日志等等。 + 如果是业务组件,Maven 名字会包含 biz + https://github.com/YunaiV/ruoyi-vue-pro + + hangtag-common + hangtag-spring-boot-starter-mybatis + hangtag-spring-boot-starter-redis + hangtag-spring-boot-starter-web + hangtag-spring-boot-starter-security + hangtag-spring-boot-starter-websocket + hangtag-spring-boot-starter-monitor + hangtag-spring-boot-starter-protection + hangtag-spring-boot-starter-job + hangtag-spring-boot-starter-mq + hangtag-spring-boot-starter-excel + hangtag-spring-boot-starter-test + hangtag-spring-boot-starter-biz-tenant + hangtag-spring-boot-starter-biz-data-permission + hangtag-spring-boot-starter-biz-ip + + diff --git a/hangtag-framework/hangtag-common/.flattened-pom.xml b/hangtag-framework/hangtag-common/.flattened-pom.xml new file mode 100644 index 0000000..045cb0f --- /dev/null +++ b/hangtag-framework/hangtag-common/.flattened-pom.xml @@ -0,0 +1,125 @@ + + + 4.0.0 + + cn.hangtag + hangtag-framework + 2.1.0-jdk8-snapshot + + cn.hangtag + hangtag-common + 2.1.0-jdk8-snapshot + ${project.artifactId} + 定义基础 pojo 类、枚举、工具类等等 + https://github.com/YunaiV/ruoyi-vue-pro + + + org.springframework + spring-core + provided + + + org.springframework + spring-expression + provided + + + org.springframework + spring-aop + provided + + + org.aspectj + aspectjweaver + provided + + + org.springframework.boot + spring-boot-configuration-processor + true + + + org.springframework + spring-web + provided + + + jakarta.servlet + jakarta.servlet-api + provided + + + org.springdoc + springdoc-openapi-ui + provided + + + org.apache.skywalking + apm-toolkit-trace + + + org.projectlombok + lombok + + + org.mapstruct + mapstruct + + + org.mapstruct + mapstruct-jdk8 + + + org.mapstruct + mapstruct-processor + + + com.google.guava + guava + provided + + + com.fasterxml.jackson.core + jackson-databind + provided + + + com.fasterxml.jackson.core + jackson-core + provided + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + provided + + + org.slf4j + slf4j-api + provided + + + jakarta.validation + jakarta.validation-api + provided + + + cn.hutool + hutool-all + + + com.alibaba + transmittable-thread-local + + + com.fhs-opensource + easy-trans-anno + + + org.springframework.boot + spring-boot-starter-test + test + + + diff --git a/hangtag-framework/hangtag-spring-boot-starter-biz-data-permission/.flattened-pom.xml b/hangtag-framework/hangtag-spring-boot-starter-biz-data-permission/.flattened-pom.xml new file mode 100644 index 0000000..b2ed5de --- /dev/null +++ b/hangtag-framework/hangtag-spring-boot-starter-biz-data-permission/.flattened-pom.xml @@ -0,0 +1,41 @@ + + + 4.0.0 + + cn.hangtag + hangtag-framework + 2.1.0-jdk8-snapshot + + cn.hangtag + hangtag-spring-boot-starter-biz-data-permission + 2.1.0-jdk8-snapshot + ${project.artifactId} + 数据权限 + https://github.com/YunaiV/ruoyi-vue-pro + + + cn.hangtag + hangtag-common + + + cn.hangtag + hangtag-spring-boot-starter-security + true + + + cn.hangtag + hangtag-spring-boot-starter-mybatis + + + cn.hangtag + hangtag-module-system-api + ${revision} + + + cn.hangtag + hangtag-spring-boot-starter-test + test + + + diff --git a/hangtag-framework/hangtag-spring-boot-starter-biz-ip/.flattened-pom.xml b/hangtag-framework/hangtag-spring-boot-starter-biz-ip/.flattened-pom.xml new file mode 100644 index 0000000..d5398c3 --- /dev/null +++ b/hangtag-framework/hangtag-spring-boot-starter-biz-ip/.flattened-pom.xml @@ -0,0 +1,44 @@ + + + 4.0.0 + + cn.hangtag + hangtag-framework + 2.1.0-jdk8-snapshot + + cn.hangtag + hangtag-spring-boot-starter-biz-ip + 2.1.0-jdk8-snapshot + ${project.artifactId} + IP 拓展,支持如下功能: + 1. IP 功能:查询 IP 对应的城市信息 + 基于 https://gitee.com/lionsoul/ip2region 实现 + 2. 城市功能:查询城市编码对应的城市信息 + 基于 https://github.com/modood/Administrative-divisions-of-China 实现 + https://github.com/YunaiV/ruoyi-vue-pro + + + cn.hangtag + hangtag-common + + + org.lionsoul + ip2region + + + org.projectlombok + lombok + + + org.slf4j + slf4j-api + provided + + + cn.hangtag + hangtag-spring-boot-starter-test + test + + + diff --git a/hangtag-framework/hangtag-spring-boot-starter-biz-tenant/.flattened-pom.xml b/hangtag-framework/hangtag-spring-boot-starter-biz-tenant/.flattened-pom.xml new file mode 100644 index 0000000..913b9f6 --- /dev/null +++ b/hangtag-framework/hangtag-spring-boot-starter-biz-tenant/.flattened-pom.xml @@ -0,0 +1,67 @@ + + + 4.0.0 + + cn.hangtag + hangtag-framework + 2.1.0-jdk8-snapshot + + cn.hangtag + hangtag-spring-boot-starter-biz-tenant + 2.1.0-jdk8-snapshot + ${project.artifactId} + 多租户 + https://github.com/YunaiV/ruoyi-vue-pro + + + cn.hangtag + hangtag-common + + + cn.hangtag + hangtag-spring-boot-starter-security + + + cn.hangtag + hangtag-spring-boot-starter-mybatis + + + cn.hangtag + hangtag-spring-boot-starter-redis + + + cn.hangtag + hangtag-spring-boot-starter-job + + + cn.hangtag + hangtag-spring-boot-starter-mq + true + + + org.springframework.kafka + spring-kafka + true + + + org.springframework.amqp + spring-rabbit + true + + + org.apache.rocketmq + rocketmq-spring-boot-starter + true + + + cn.hangtag + hangtag-spring-boot-starter-test + test + + + com.google.guava + guava + + + diff --git a/hangtag-framework/hangtag-spring-boot-starter-biz-tenant/target/classes/META-INF/spring-configuration-metadata.json b/hangtag-framework/hangtag-spring-boot-starter-biz-tenant/target/classes/META-INF/spring-configuration-metadata.json index 7944cf6..4180e01 100644 --- a/hangtag-framework/hangtag-spring-boot-starter-biz-tenant/target/classes/META-INF/spring-configuration-metadata.json +++ b/hangtag-framework/hangtag-spring-boot-starter-biz-tenant/target/classes/META-INF/spring-configuration-metadata.json @@ -11,7 +11,8 @@ "name": "hangtag.tenant.enable", "type": "java.lang.Boolean", "description": "是否开启", - "sourceType": "cn.hangtag.framework.tenant.config.TenantProperties" + "sourceType": "cn.hangtag.framework.tenant.config.TenantProperties", + "defaultValue": true }, { "name": "hangtag.tenant.ignore-tables", diff --git a/hangtag-framework/hangtag-spring-boot-starter-excel/.flattened-pom.xml b/hangtag-framework/hangtag-spring-boot-starter-excel/.flattened-pom.xml new file mode 100644 index 0000000..9505dbb --- /dev/null +++ b/hangtag-framework/hangtag-spring-boot-starter-excel/.flattened-pom.xml @@ -0,0 +1,59 @@ + + + 4.0.0 + + cn.hangtag + hangtag-framework + 2.1.0-jdk8-snapshot + + cn.hangtag + hangtag-spring-boot-starter-excel + 2.1.0-jdk8-snapshot + ${project.artifactId} + Excel 拓展 + https://github.com/YunaiV/ruoyi-vue-pro + + + cn.hangtag + hangtag-common + + + org.springframework.boot + spring-boot-starter + + + cn.hangtag + hangtag-module-system-api + ${revision} + + + org.springframework + spring-web + provided + + + jakarta.servlet + jakarta.servlet-api + provided + + + com.alibaba + easyexcel + + + com.google.guava + guava + + + cn.hangtag + hangtag-spring-boot-starter-biz-ip + true + + + cn.hangtag + hangtag-spring-boot-starter-test + test + + + diff --git a/hangtag-framework/hangtag-spring-boot-starter-job/.flattened-pom.xml b/hangtag-framework/hangtag-spring-boot-starter-job/.flattened-pom.xml new file mode 100644 index 0000000..246be51 --- /dev/null +++ b/hangtag-framework/hangtag-spring-boot-starter-job/.flattened-pom.xml @@ -0,0 +1,32 @@ + + + 4.0.0 + + cn.hangtag + hangtag-framework + 2.1.0-jdk8-snapshot + + cn.hangtag + hangtag-spring-boot-starter-job + 2.1.0-jdk8-snapshot + ${project.artifactId} + 任务拓展 + 1. 定时任务,基于 Quartz 拓展 + 2. 异步任务,基于 Spring Async 拓展 + https://github.com/YunaiV/ruoyi-vue-pro + + + cn.hangtag + hangtag-common + + + org.springframework.boot + spring-boot-starter-quartz + + + jakarta.validation + jakarta.validation-api + + + diff --git a/hangtag-framework/hangtag-spring-boot-starter-monitor/.flattened-pom.xml b/hangtag-framework/hangtag-spring-boot-starter-monitor/.flattened-pom.xml new file mode 100644 index 0000000..8e451f8 --- /dev/null +++ b/hangtag-framework/hangtag-spring-boot-starter-monitor/.flattened-pom.xml @@ -0,0 +1,60 @@ + + + 4.0.0 + + cn.hangtag + hangtag-framework + 2.1.0-jdk8-snapshot + + cn.hangtag + hangtag-spring-boot-starter-monitor + 2.1.0-jdk8-snapshot + ${project.artifactId} + 服务监控,提供链路追踪、日志服务、指标收集等等功能 + https://github.com/YunaiV/ruoyi-vue-pro + + + cn.hangtag + hangtag-common + + + org.springframework.boot + spring-boot-starter-aop + + + org.springframework + spring-web + provided + + + jakarta.servlet + jakarta.servlet-api + provided + + + io.opentracing + opentracing-util + + + org.apache.skywalking + apm-toolkit-trace + + + org.apache.skywalking + apm-toolkit-logback-1.x + + + org.apache.skywalking + apm-toolkit-opentracing + + + io.micrometer + micrometer-registry-prometheus + + + de.codecentric + spring-boot-admin-starter-client + + + diff --git a/hangtag-framework/hangtag-spring-boot-starter-mq/.flattened-pom.xml b/hangtag-framework/hangtag-spring-boot-starter-mq/.flattened-pom.xml new file mode 100644 index 0000000..2bbf35b --- /dev/null +++ b/hangtag-framework/hangtag-spring-boot-starter-mq/.flattened-pom.xml @@ -0,0 +1,37 @@ + + + 4.0.0 + + cn.hangtag + hangtag-framework + 2.1.0-jdk8-snapshot + + cn.hangtag + hangtag-spring-boot-starter-mq + 2.1.0-jdk8-snapshot + ${project.artifactId} + 消息队列,支持 Redis、RocketMQ、RabbitMQ、Kafka 四种 + https://github.com/YunaiV/ruoyi-vue-pro + + + cn.hangtag + hangtag-spring-boot-starter-redis + + + org.springframework.kafka + spring-kafka + true + + + org.springframework.amqp + spring-rabbit + true + + + org.apache.rocketmq + rocketmq-spring-boot-starter + true + + + diff --git a/hangtag-framework/hangtag-spring-boot-starter-mybatis/.flattened-pom.xml b/hangtag-framework/hangtag-spring-boot-starter-mybatis/.flattened-pom.xml new file mode 100644 index 0000000..2dbfe45 --- /dev/null +++ b/hangtag-framework/hangtag-spring-boot-starter-mybatis/.flattened-pom.xml @@ -0,0 +1,75 @@ + + + 4.0.0 + + cn.hangtag + hangtag-framework + 2.1.0-jdk8-snapshot + + cn.hangtag + hangtag-spring-boot-starter-mybatis + 2.1.0-jdk8-snapshot + ${project.artifactId} + 数据库连接池、多数据源、事务、MyBatis 拓展 + https://github.com/YunaiV/ruoyi-vue-pro + + + cn.hangtag + hangtag-common + + + cn.hangtag + hangtag-spring-boot-starter-web + provided + + + com.mysql + mysql-connector-j + + + com.oracle.database.jdbc + ojdbc8 + true + + + org.postgresql + postgresql + true + + + com.microsoft.sqlserver + mssql-jdbc + true + + + com.dameng + DmJdbcDriver18 + true + + + com.alibaba + druid-spring-boot-starter + + + com.baomidou + mybatis-plus-boot-starter + + + com.baomidou + dynamic-datasource-spring-boot-starter + + + com.github.yulichang + mybatis-plus-join-boot-starter + + + com.fhs-opensource + easy-trans-spring-boot-starter + + + com.fhs-opensource + easy-trans-mybatis-plus-extend + + + diff --git a/hangtag-framework/hangtag-spring-boot-starter-protection/.flattened-pom.xml b/hangtag-framework/hangtag-spring-boot-starter-protection/.flattened-pom.xml new file mode 100644 index 0000000..1d57d2c --- /dev/null +++ b/hangtag-framework/hangtag-spring-boot-starter-protection/.flattened-pom.xml @@ -0,0 +1,37 @@ + + + 4.0.0 + + cn.hangtag + hangtag-framework + 2.1.0-jdk8-snapshot + + cn.hangtag + hangtag-spring-boot-starter-protection + 2.1.0-jdk8-snapshot + ${project.artifactId} + 服务保证,提供分布式锁、幂等、限流、熔断、API 签名等等功能 + https://github.com/YunaiV/ruoyi-vue-pro + + + cn.hangtag + hangtag-spring-boot-starter-web + provided + + + cn.hangtag + hangtag-spring-boot-starter-redis + + + com.baomidou + lock4j-redisson-spring-boot-starter + true + + + cn.hangtag + hangtag-spring-boot-starter-test + test + + + diff --git a/hangtag-framework/hangtag-spring-boot-starter-redis/.flattened-pom.xml b/hangtag-framework/hangtag-spring-boot-starter-redis/.flattened-pom.xml new file mode 100644 index 0000000..88432cb --- /dev/null +++ b/hangtag-framework/hangtag-spring-boot-starter-redis/.flattened-pom.xml @@ -0,0 +1,34 @@ + + + 4.0.0 + + cn.hangtag + hangtag-framework + 2.1.0-jdk8-snapshot + + cn.hangtag + hangtag-spring-boot-starter-redis + 2.1.0-jdk8-snapshot + ${project.artifactId} + Redis 封装拓展 + https://github.com/YunaiV/ruoyi-vue-pro + + + cn.hangtag + hangtag-common + + + org.redisson + redisson-spring-boot-starter + + + org.springframework.boot + spring-boot-starter-cache + + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + + + diff --git a/hangtag-framework/hangtag-spring-boot-starter-redis/target/classes/META-INF/spring-configuration-metadata.json b/hangtag-framework/hangtag-spring-boot-starter-redis/target/classes/META-INF/spring-configuration-metadata.json index e148863..cf65e35 100644 --- a/hangtag-framework/hangtag-spring-boot-starter-redis/target/classes/META-INF/spring-configuration-metadata.json +++ b/hangtag-framework/hangtag-spring-boot-starter-redis/target/classes/META-INF/spring-configuration-metadata.json @@ -11,7 +11,8 @@ "name": "hangtag.cache.redis-scan-batch-size", "type": "java.lang.Integer", "description": "redis scan 一次返回数量", - "sourceType": "cn.hangtag.framework.redis.config.HangtagCacheProperties" + "sourceType": "cn.hangtag.framework.redis.config.HangtagCacheProperties", + "defaultValue": 30 } ], "hints": [] diff --git a/hangtag-framework/hangtag-spring-boot-starter-security/.flattened-pom.xml b/hangtag-framework/hangtag-spring-boot-starter-security/.flattened-pom.xml new file mode 100644 index 0000000..376e654 --- /dev/null +++ b/hangtag-framework/hangtag-spring-boot-starter-security/.flattened-pom.xml @@ -0,0 +1,53 @@ + + + 4.0.0 + + cn.hangtag + hangtag-framework + 2.1.0-jdk8-snapshot + + cn.hangtag + hangtag-spring-boot-starter-security + 2.1.0-jdk8-snapshot + ${project.artifactId} + 1. security:用户的认证、权限的校验,实现「谁」可以做「什么事」 + 2. operatelog:操作日志,实现「谁」在「什么时间」对「什么」做了「什么事」 + https://github.com/YunaiV/ruoyi-vue-pro + + + cn.hangtag + hangtag-common + + + org.springframework.boot + spring-boot-starter-aop + + + cn.hangtag + hangtag-spring-boot-starter-web + + + org.springframework.boot + spring-boot-configuration-processor + true + + + org.springframework.boot + spring-boot-starter-security + + + com.google.guava + guava + + + io.github.mouzt + bizlog-sdk + + + cn.hangtag + hangtag-module-system-api + ${revision} + + + diff --git a/hangtag-framework/hangtag-spring-boot-starter-security/target/classes/META-INF/spring-configuration-metadata.json b/hangtag-framework/hangtag-spring-boot-starter-security/target/classes/META-INF/spring-configuration-metadata.json index 5c537ab..ddb2989 100644 --- a/hangtag-framework/hangtag-spring-boot-starter-security/target/classes/META-INF/spring-configuration-metadata.json +++ b/hangtag-framework/hangtag-spring-boot-starter-security/target/classes/META-INF/spring-configuration-metadata.json @@ -11,19 +11,22 @@ "name": "hangtag.security.mock-enable", "type": "java.lang.Boolean", "description": "mock 模式的开关", - "sourceType": "cn.hangtag.framework.security.config.SecurityProperties" + "sourceType": "cn.hangtag.framework.security.config.SecurityProperties", + "defaultValue": false }, { "name": "hangtag.security.mock-secret", "type": "java.lang.String", "description": "mock 模式的密钥 一定要配置密钥,保证安全性", - "sourceType": "cn.hangtag.framework.security.config.SecurityProperties" + "sourceType": "cn.hangtag.framework.security.config.SecurityProperties", + "defaultValue": "test" }, { "name": "hangtag.security.password-encoder-length", "type": "java.lang.Integer", "description": "PasswordEncoder 加密复杂度,越高开销越大", - "sourceType": "cn.hangtag.framework.security.config.SecurityProperties" + "sourceType": "cn.hangtag.framework.security.config.SecurityProperties", + "defaultValue": 4 }, { "name": "hangtag.security.permit-all-urls", @@ -35,13 +38,15 @@ "name": "hangtag.security.token-header", "type": "java.lang.String", "description": "HTTP 请求时,访问令牌的请求 Header", - "sourceType": "cn.hangtag.framework.security.config.SecurityProperties" + "sourceType": "cn.hangtag.framework.security.config.SecurityProperties", + "defaultValue": "Authorization" }, { "name": "hangtag.security.token-parameter", "type": "java.lang.String", "description": "HTTP 请求时,访问令牌的请求参数 初始目的:解决 WebSocket 无法通过 header 传参,只能通过 token 参数拼接", - "sourceType": "cn.hangtag.framework.security.config.SecurityProperties" + "sourceType": "cn.hangtag.framework.security.config.SecurityProperties", + "defaultValue": "token" } ], "hints": [] diff --git a/hangtag-framework/hangtag-spring-boot-starter-test/.flattened-pom.xml b/hangtag-framework/hangtag-spring-boot-starter-test/.flattened-pom.xml new file mode 100644 index 0000000..50c30eb --- /dev/null +++ b/hangtag-framework/hangtag-spring-boot-starter-test/.flattened-pom.xml @@ -0,0 +1,50 @@ + + + 4.0.0 + + cn.hangtag + hangtag-framework + 2.1.0-jdk8-snapshot + + cn.hangtag + hangtag-spring-boot-starter-test + 2.1.0-jdk8-snapshot + ${project.artifactId} + 测试组件,用于单元测试、集成测试 + https://github.com/YunaiV/ruoyi-vue-pro + + + cn.hangtag + hangtag-common + + + cn.hangtag + hangtag-spring-boot-starter-mybatis + + + cn.hangtag + hangtag-spring-boot-starter-redis + + + org.mockito + mockito-inline + + + org.springframework.boot + spring-boot-starter-test + + + com.h2database + h2 + + + com.github.fppt + jedis-mock + + + uk.co.jemos.podam + podam + + + diff --git a/hangtag-framework/hangtag-spring-boot-starter-web/.flattened-pom.xml b/hangtag-framework/hangtag-spring-boot-starter-web/.flattened-pom.xml new file mode 100644 index 0000000..b9082bc --- /dev/null +++ b/hangtag-framework/hangtag-spring-boot-starter-web/.flattened-pom.xml @@ -0,0 +1,68 @@ + + + 4.0.0 + + cn.hangtag + hangtag-framework + 2.1.0-jdk8-snapshot + + cn.hangtag + hangtag-spring-boot-starter-web + 2.1.0-jdk8-snapshot + ${project.artifactId} + Web 框架,全局异常、API 日志、脱敏、错误码等 + https://github.com/YunaiV/ruoyi-vue-pro + + + cn.hangtag + hangtag-common + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-configuration-processor + true + + + com.github.xiaoymin + knife4j-openapi3-spring-boot-starter + + + org.springdoc + springdoc-openapi-ui + + + org.springframework.security + spring-security-core + provided + + + cn.hangtag + hangtag-module-infra-api + ${revision} + + + cn.hangtag + hangtag-module-system-api + ${revision} + + + org.jsoup + jsoup + + + org.springframework.boot + spring-boot-starter-test + test + + + org.mockito + mockito-inline + test + + + diff --git a/hangtag-framework/hangtag-spring-boot-starter-web/target/classes/META-INF/spring-configuration-metadata.json b/hangtag-framework/hangtag-spring-boot-starter-web/target/classes/META-INF/spring-configuration-metadata.json index e817c6c..45491dc 100644 --- a/hangtag-framework/hangtag-spring-boot-starter-web/target/classes/META-INF/spring-configuration-metadata.json +++ b/hangtag-framework/hangtag-spring-boot-starter-web/target/classes/META-INF/spring-configuration-metadata.json @@ -114,7 +114,8 @@ "name": "hangtag.xss.enable", "type": "java.lang.Boolean", "description": "是否开启,默认为 true", - "sourceType": "cn.hangtag.framework.xss.config.XssProperties" + "sourceType": "cn.hangtag.framework.xss.config.XssProperties", + "defaultValue": true }, { "name": "hangtag.xss.exclude-urls", diff --git a/hangtag-framework/hangtag-spring-boot-starter-websocket/.flattened-pom.xml b/hangtag-framework/hangtag-spring-boot-starter-websocket/.flattened-pom.xml new file mode 100644 index 0000000..4895ddf --- /dev/null +++ b/hangtag-framework/hangtag-spring-boot-starter-websocket/.flattened-pom.xml @@ -0,0 +1,55 @@ + + + 4.0.0 + + cn.hangtag + hangtag-framework + 2.1.0-jdk8-snapshot + + cn.hangtag + hangtag-spring-boot-starter-websocket + 2.1.0-jdk8-snapshot + ${project.artifactId} + WebSocket 框架,支持多节点的广播 + https://github.com/YunaiV/ruoyi-vue-pro + + + cn.hangtag + hangtag-common + + + cn.hangtag + hangtag-spring-boot-starter-security + provided + + + org.springframework.boot + spring-boot-starter-websocket + + + cn.hangtag + hangtag-spring-boot-starter-mq + + + org.springframework.kafka + spring-kafka + true + + + org.springframework.amqp + spring-rabbit + true + + + org.apache.rocketmq + rocketmq-spring-boot-starter + true + + + cn.hangtag + hangtag-spring-boot-starter-biz-tenant + provided + + + diff --git a/hangtag-framework/hangtag-spring-boot-starter-websocket/target/classes/META-INF/spring-configuration-metadata.json b/hangtag-framework/hangtag-spring-boot-starter-websocket/target/classes/META-INF/spring-configuration-metadata.json index ed96135..076111a 100644 --- a/hangtag-framework/hangtag-spring-boot-starter-websocket/target/classes/META-INF/spring-configuration-metadata.json +++ b/hangtag-framework/hangtag-spring-boot-starter-websocket/target/classes/META-INF/spring-configuration-metadata.json @@ -11,13 +11,15 @@ "name": "hangtag.websocket.path", "type": "java.lang.String", "description": "WebSocket 的连接路径", - "sourceType": "cn.hangtag.framework.websocket.config.WebSocketProperties" + "sourceType": "cn.hangtag.framework.websocket.config.WebSocketProperties", + "defaultValue": "\/ws" }, { "name": "hangtag.websocket.sender-type", "type": "java.lang.String", "description": "消息发送器的类型 可选值:local、redis、rocketmq、kafka、rabbitmq", - "sourceType": "cn.hangtag.framework.websocket.config.WebSocketProperties" + "sourceType": "cn.hangtag.framework.websocket.config.WebSocketProperties", + "defaultValue": "local" } ], "hints": [] diff --git a/hangtag-module-infra/.flattened-pom.xml b/hangtag-module-infra/.flattened-pom.xml new file mode 100644 index 0000000..d56de3b --- /dev/null +++ b/hangtag-module-infra/.flattened-pom.xml @@ -0,0 +1,22 @@ + + + 4.0.0 + + cn.hangtag + hangtag + 2.1.0-jdk8-snapshot + + cn.hangtag + hangtag-module-infra + 2.1.0-jdk8-snapshot + pom + ${project.artifactId} + infra 模块,主要提供两块能力: + 1. 我们放基础设施的运维与管理,支撑上层的通用与核心业务。 例如说:定时任务的管理、服务器的信息等等 + 2. 研发工具,提升研发效率与质量。 例如说:代码生成器、接口文档等等 + + hangtag-module-infra-api + hangtag-module-infra-biz + + diff --git a/hangtag-module-infra/hangtag-module-infra-api/.flattened-pom.xml b/hangtag-module-infra/hangtag-module-infra-api/.flattened-pom.xml new file mode 100644 index 0000000..aea6350 --- /dev/null +++ b/hangtag-module-infra/hangtag-module-infra-api/.flattened-pom.xml @@ -0,0 +1,26 @@ + + + 4.0.0 + + cn.hangtag + hangtag-module-infra + 2.1.0-jdk8-snapshot + + cn.hangtag + hangtag-module-infra-api + 2.1.0-jdk8-snapshot + ${project.artifactId} + infra 模块 API,暴露给其它模块调用 + + + cn.hangtag + hangtag-common + + + org.springframework.boot + spring-boot-starter-validation + true + + + diff --git a/hangtag-module-infra/hangtag-module-infra-biz/.flattened-pom.xml b/hangtag-module-infra/hangtag-module-infra-biz/.flattened-pom.xml new file mode 100644 index 0000000..96ba3be --- /dev/null +++ b/hangtag-module-infra/hangtag-module-infra-biz/.flattened-pom.xml @@ -0,0 +1,98 @@ + + + 4.0.0 + + cn.hangtag + hangtag-module-infra + 2.1.0-jdk8-snapshot + + cn.hangtag + hangtag-module-infra-biz + 2.1.0-jdk8-snapshot + ${project.artifactId} + infra 模块,主要提供两块能力: + 1. 我们放基础设施的运维与管理,支撑上层的通用与核心业务。 例如说:定时任务的管理、服务器的信息等等 + 2. 研发工具,提升研发效率与质量。 例如说:代码生成器、接口文档等等 + + + cn.hangtag + hangtag-module-system-api + ${revision} + + + cn.hangtag + hangtag-module-infra-api + ${revision} + + + cn.hangtag + hangtag-spring-boot-starter-biz-tenant + + + cn.hangtag + hangtag-spring-boot-starter-security + + + cn.hangtag + hangtag-spring-boot-starter-websocket + + + cn.hangtag + hangtag-spring-boot-starter-mybatis + + + com.baomidou + mybatis-plus-generator + + + cn.hangtag + hangtag-spring-boot-starter-redis + + + cn.hangtag + hangtag-spring-boot-starter-job + + + cn.hangtag + hangtag-spring-boot-starter-mq + + + cn.hangtag + hangtag-spring-boot-starter-test + test + + + cn.hangtag + hangtag-spring-boot-starter-excel + + + org.apache.velocity + velocity-engine-core + + + cn.hangtag + hangtag-spring-boot-starter-monitor + + + de.codecentric + spring-boot-admin-starter-server + + + commons-net + commons-net + + + com.jcraft + jsch + + + io.minio + minio + + + org.apache.tika + tika-core + + + diff --git a/hangtag-module-oms/.flattened-pom.xml b/hangtag-module-oms/.flattened-pom.xml new file mode 100644 index 0000000..2a5c5ad --- /dev/null +++ b/hangtag-module-oms/.flattened-pom.xml @@ -0,0 +1,19 @@ + + + 4.0.0 + + cn.hangtag + hangtag + 2.1.0-jdk8-snapshot + + cn.hangtag + hangtag-module-oms + 2.1.0-jdk8-snapshot + pom + ${project.artifactId} + + hangtag-module-oms-api + hangtag-module-oms-biz + + diff --git a/hangtag-module-oms/hangtag-module-oms-api/.flattened-pom.xml b/hangtag-module-oms/hangtag-module-oms-api/.flattened-pom.xml new file mode 100644 index 0000000..75183e7 --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-api/.flattened-pom.xml @@ -0,0 +1,36 @@ + + + 4.0.0 + + cn.hangtag + hangtag-module-oms + 2.1.0-jdk8-snapshot + + cn.hangtag + hangtag-module-oms-api + 2.1.0-jdk8-snapshot + ${project.artifactId} + oms-api 模块 API,暴露给其它模块调用 + + + cn.hangtag + hangtag-common + + + org.springframework.boot + spring-boot-starter-validation + true + + + cn.hangtag + hangtag-common + + + cn.hangtag + hangtag-module-system-api + 2.1.0-jdk8-snapshot + compile + + + diff --git a/hangtag-module-oms/hangtag-module-oms-api/src/main/java/cn/hangtag/module/oms/enums/ErrorCodeConstants.java b/hangtag-module-oms/hangtag-module-oms-api/src/main/java/cn/hangtag/module/oms/enums/ErrorCodeConstants.java index a666d4c..85d9cfc 100644 --- a/hangtag-module-oms/hangtag-module-oms-api/src/main/java/cn/hangtag/module/oms/enums/ErrorCodeConstants.java +++ b/hangtag-module-oms/hangtag-module-oms-api/src/main/java/cn/hangtag/module/oms/enums/ErrorCodeConstants.java @@ -11,5 +11,6 @@ public interface ErrorCodeConstants extends cn.hangtag.module.system.enums.Erro ErrorCode DRAFT_DESIGN_DATA_NOT_EXISTS = new ErrorCode(3500, "稿件模板数据 不存在"); ErrorCode SALE_ORDER_NOT_EXISTS = new ErrorCode(3600, "OMS销售订单主表不存在"); ErrorCode SALE_ORDER_ENTRY_NOT_EXISTS = new ErrorCode(3700, "OMS销售订单明细不存在"); + ErrorCode CUSTOMER_BRAND_NOT_EXISTS = new ErrorCode(3800, "客户和品牌关联不存在"); } diff --git a/hangtag-module-oms/hangtag-module-oms-biz/.flattened-pom.xml b/hangtag-module-oms/hangtag-module-oms-biz/.flattened-pom.xml new file mode 100644 index 0000000..6f6b4d6 --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/.flattened-pom.xml @@ -0,0 +1,53 @@ + + + 4.0.0 + + cn.hangtag + hangtag-module-oms + 2.1.0-jdk8-snapshot + + cn.hangtag + hangtag-module-oms-biz + 2.1.0-jdk8-snapshot + ${project.artifactId} + + + cn.hangtag + hangtag-spring-boot-starter-web + + + cn.hangtag + hangtag-spring-boot-starter-security + + + cn.hangtag + hangtag-spring-boot-starter-mybatis + + + cn.hangtag + hangtag-spring-boot-starter-test + + + cn.hangtag + hangtag-spring-boot-starter-excel + + + cn.hangtag + hangtag-module-infra-api + ${revision} + + + cn.hangtag + hangtag-module-oms-api + 2.1.0-jdk8-snapshot + compile + + + cn.hangtag + hangtag-module-system-biz + 2.1.0-jdk8-snapshot + compile + + + diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/app/AppBrandController.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/app/AppBrandController.java new file mode 100644 index 0000000..16c83c6 --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/app/AppBrandController.java @@ -0,0 +1,45 @@ +package cn.hangtag.module.oms.controller.admin.app; + +import cn.hangtag.framework.common.enums.CommonStatusEnum; +import cn.hangtag.framework.common.pojo.CommonResult; +import cn.hangtag.framework.common.pojo.PageResult; +import cn.hangtag.framework.common.util.object.BeanUtils; +import cn.hangtag.framework.security.core.LoginUser; +import cn.hangtag.framework.security.core.util.SecurityFrameworkUtils; +import cn.hangtag.module.oms.controller.admin.brand.vo.BrandListReqVO; +import cn.hangtag.module.oms.controller.admin.brand.vo.BrandSimpleRespVO; +import cn.hangtag.module.oms.dal.dataobject.brand.BrandDO; +import cn.hangtag.module.oms.service.brand.BrandService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +import static cn.hangtag.framework.common.pojo.CommonResult.success; + +@Tag(name = "APP - 品牌") +@RestController +@RequestMapping("/oms/app/brand") +@Validated +public class AppBrandController { + + @Resource + private BrandService brandService; + + + @GetMapping({"/list-all-simple", "simple-list"}) + @Operation(summary = "获取品牌精简信息列表", description = "只包含被开启的菜单,用于【客户分配品牌】功能的选项。" + + "在多租户的场景下,会只返回租户所在套餐有的菜单") + public CommonResult> getSimpleBrandList() { + LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); + List list = brandService.getBrandList( + new BrandListReqVO().setStatus(CommonStatusEnum.ENABLE.getStatus())); + return success(BeanUtils.toBean(list, BrandSimpleRespVO.class)); + } + +} diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/app/AppCustomerController.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/app/AppCustomerController.java new file mode 100644 index 0000000..340f236 --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/app/AppCustomerController.java @@ -0,0 +1,73 @@ +package cn.hangtag.module.oms.controller.admin.app; + +import cn.hangtag.framework.common.pojo.CommonResult; +import cn.hangtag.framework.common.pojo.PageResult; +import cn.hangtag.framework.common.util.object.BeanUtils; +import cn.hangtag.framework.ip.core.utils.AreaUtils; +import cn.hangtag.module.oms.controller.admin.customer.vo.CustomerPageReqVO; +import cn.hangtag.module.oms.controller.admin.customer.vo.CustomerRespVO; +import cn.hangtag.module.oms.dal.dataobject.customer.CustomerDO; +import cn.hangtag.module.oms.service.customer.CustomerService; +import cn.hutool.core.collection.CollUtil; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import javax.validation.Valid; + +import java.util.Collections; +import java.util.List; + +import static cn.hangtag.framework.common.pojo.CommonResult.success; +import static java.util.Collections.singletonList; + +@Tag(name = "APP - 客户") +@RestController +@RequestMapping("/oms/app/customer") +@Validated +public class AppCustomerController { + @Resource + private CustomerService customerService; + + @GetMapping("/page") + public CommonResult> getCustomerPage(@Valid CustomerPageReqVO pageReqVO) { + PageResult pageResult = customerService.getCustomerPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, CustomerRespVO.class)); + } + + + @GetMapping("/get") + @Operation(summary = "获得客户") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('oms:customer:query')") + public CommonResult getCustomer(@RequestParam("id") Long id) { + CustomerDO customer = customerService.getCustomer(id); + return success(buildClueDetail(customer)); + } + + + private CustomerRespVO buildClueDetail(CustomerDO clue) { + if (clue == null) { + return null; + } + return buildDetailList(singletonList(clue)).get(0); + } + + + private List buildDetailList(List list) { + if (CollUtil.isEmpty(list)) { + return Collections.emptyList(); + } + // 2. 转换成 VO + return BeanUtils.toBean(list, CustomerRespVO.class, customerVO -> { + customerVO.setAreaName(AreaUtils.format(customerVO.getAreaId())); + }); + } +} diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/app/AppMaterialController.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/app/AppMaterialController.java new file mode 100644 index 0000000..d0ec94e --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/app/AppMaterialController.java @@ -0,0 +1,39 @@ +package cn.hangtag.module.oms.controller.admin.app; + +import cn.hangtag.framework.common.pojo.CommonResult; +import cn.hangtag.framework.common.pojo.PageResult; +import cn.hangtag.framework.common.util.object.BeanUtils; +import cn.hangtag.module.oms.controller.admin.productinfo.vo.ProductInfoPageReqVO; +import cn.hangtag.module.oms.controller.admin.productinfo.vo.ProductInfoRespVO; +import cn.hangtag.module.oms.dal.dataobject.productinfo.ProductInfoDO; +import cn.hangtag.module.oms.service.productinfo.ProductInfoService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import javax.validation.Valid; + +import static cn.hangtag.framework.common.pojo.CommonResult.success; + +@Tag(name = "APP - 物料") +@RestController +@RequestMapping("/oms/app/material") +@Validated +public class AppMaterialController { + @Resource + private ProductInfoService productInfoService; + + @GetMapping("/page") + @Operation(summary = "获得产品资料 分页") + @PreAuthorize("@ss.hasPermission('oms:product-info:query')") + public CommonResult> getProductInfoPage(@Valid ProductInfoPageReqVO pageReqVO) { + PageResult pageResult = productInfoService.getProductInfoPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ProductInfoRespVO.class)); + } + +} diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/app/SaleOrderController.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/app/SaleOrderController.java new file mode 100644 index 0000000..71447a6 --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/app/SaleOrderController.java @@ -0,0 +1,20 @@ +package cn.hangtag.module.oms.controller.admin.app; + + +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@Tag(name = "APP - 销售订单") +@RestController +@RequestMapping("/oms/app/saleorder") +@Validated +public class SaleOrderController { + + + + + + +} diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/brand/BrandController.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/brand/BrandController.java index ff5decf..4641f0b 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/brand/BrandController.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/brand/BrandController.java @@ -1,33 +1,33 @@ package cn.hangtag.module.oms.controller.admin.brand; -import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; - -import javax.validation.constraints.*; -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; -import java.io.IOException; - +import cn.hangtag.framework.apilog.core.annotation.ApiAccessLog; +import cn.hangtag.framework.common.enums.CommonStatusEnum; +import cn.hangtag.framework.common.pojo.CommonResult; import cn.hangtag.framework.common.pojo.PageParam; import cn.hangtag.framework.common.pojo.PageResult; -import cn.hangtag.framework.common.pojo.CommonResult; import cn.hangtag.framework.common.util.object.BeanUtils; -import static cn.hangtag.framework.common.pojo.CommonResult.success; - import cn.hangtag.framework.excel.core.util.ExcelUtils; - -import cn.hangtag.framework.apilog.core.annotation.ApiAccessLog; -import static cn.hangtag.framework.apilog.core.enums.OperateTypeEnum.*; - import cn.hangtag.module.oms.controller.admin.brand.vo.*; import cn.hangtag.module.oms.dal.dataobject.brand.BrandDO; import cn.hangtag.module.oms.service.brand.BrandService; +import cn.hangtag.module.system.controller.admin.permission.vo.menu.MenuSimpleRespVO; +import cn.hangtag.module.system.controller.admin.permission.vo.permission.PermissionAssignUserRoleReqVO; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.List; +import java.util.Set; + +import static cn.hangtag.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static cn.hangtag.framework.common.pojo.CommonResult.success; @Tag(name = "管理后台 - 品牌管理 ") @RestController @@ -93,4 +93,23 @@ public class BrandController { BeanUtils.toBean(list, BrandRespVO.class)); } + + @GetMapping({"/list-all-simple", "simple-list"}) + @Operation(summary = "获取品牌精简信息列表", description = "只包含被开启的菜单,用于【客户分配品牌】功能的选项。" + + "在多租户的场景下,会只返回租户所在套餐有的菜单") + public CommonResult> getSimpleBrandList() { + List list = brandService.getBrandList( + new BrandListReqVO().setStatus(CommonStatusEnum.ENABLE.getStatus())); + return success(BeanUtils.toBean(list, BrandSimpleRespVO.class)); + } + + + @Operation(summary = "获得客户拥有的品牌编号") + @Parameter(name = "customerId", description = "角色编号", required = true) + @GetMapping("/list-customer-brand") + //@PreAuthorize("@ss.hasPermission('oms:brand:assign-customer-brand')") + public CommonResult> getRoleMenuList(Long customerId) { + return success(brandService.getCustomerBrandListByCustomerId(customerId)); + } + } \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/brand/vo/BrandListReqVO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/brand/vo/BrandListReqVO.java new file mode 100644 index 0000000..62dd839 --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/brand/vo/BrandListReqVO.java @@ -0,0 +1,16 @@ +package cn.hangtag.module.oms.controller.admin.brand.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 菜单列表 Request VO") +@Data +public class BrandListReqVO { + + @Schema(description = "菜单名称,模糊匹配", example = "芋道") + private String name; + + @Schema(description = "展示状态,参见 CommonStatusEnum 枚举类", example = "1") + private Integer status; + +} diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/brand/vo/BrandSimpleRespVO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/brand/vo/BrandSimpleRespVO.java new file mode 100644 index 0000000..d78015c --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/brand/vo/BrandSimpleRespVO.java @@ -0,0 +1,19 @@ +package cn.hangtag.module.oms.controller.admin.brand.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - 菜单精简信息 Response VO") +@Data +public class BrandSimpleRespVO { + + @Schema(description = "品牌编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long id; + + @Schema(description = "品牌名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道") + private String name; + + @Schema(description = "父菜单 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") + private Long parentId; + +} diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/customer/vo/CustomerPageReqVO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/customer/vo/CustomerPageReqVO.java index a5819ce..cd4a0af 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/customer/vo/CustomerPageReqVO.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/customer/vo/CustomerPageReqVO.java @@ -21,6 +21,9 @@ public class CustomerPageReqVO extends PageParam { @Schema(description = "名称", example = "赵六") private String name; + @Schema(description = "公司", example = "赵六") + private String company; + @Schema(description = "类型", example = "2") private String type; diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/customer/vo/CustomerRespVO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/customer/vo/CustomerRespVO.java index 7431139..76b9534 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/customer/vo/CustomerRespVO.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/customer/vo/CustomerRespVO.java @@ -22,6 +22,10 @@ public class CustomerRespVO { @ExcelProperty("名称") private String name; + @Schema(description = "公司") + @ExcelProperty("公司") + private String company; + @Schema(description = "邮箱") @ExcelProperty("邮箱") private String email; diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/customer/vo/CustomerSaveReqVO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/customer/vo/CustomerSaveReqVO.java index 2e781e8..41c03ba 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/customer/vo/CustomerSaveReqVO.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/customer/vo/CustomerSaveReqVO.java @@ -18,6 +18,9 @@ public class CustomerSaveReqVO { @Schema(description = "名称", example = "赵六") private String name; + @Schema(description = "公司") + private String company; + @Schema(description = "邮箱") private String email; diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/customerbrand/CustomerBrandController.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/customerbrand/CustomerBrandController.java new file mode 100644 index 0000000..f8885c9 --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/customerbrand/CustomerBrandController.java @@ -0,0 +1,102 @@ +package cn.hangtag.module.oms.controller.admin.customerbrand; + +import cn.hangtag.framework.apilog.core.annotation.ApiAccessLog; +import cn.hangtag.framework.common.pojo.CommonResult; +import cn.hangtag.framework.common.pojo.PageParam; +import cn.hangtag.framework.common.pojo.PageResult; +import cn.hangtag.framework.common.util.object.BeanUtils; +import cn.hangtag.framework.excel.core.util.ExcelUtils; +import cn.hangtag.module.oms.controller.admin.customerbrand.vo.CustomerBrandPageReqVO; +import cn.hangtag.module.oms.controller.admin.customerbrand.vo.CustomerBrandRespVO; +import cn.hangtag.module.oms.controller.admin.customerbrand.vo.CustomerBrandSaveReqVO; +import cn.hangtag.module.oms.controller.admin.customerbrand.vo.PermissionAssignCustomerBrandReqVO; +import cn.hangtag.module.oms.dal.dataobject.customerbrand.CustomerBrandDO; +import cn.hangtag.module.oms.service.customerbrand.CustomerBrandService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.List; + +import static cn.hangtag.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static cn.hangtag.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - 客户和品牌关联") +@RestController +@RequestMapping("/oms/customer-brand") +@Validated +public class CustomerBrandController { + + @Resource + private CustomerBrandService customerBrandService; + + @PostMapping("/create") + @Operation(summary = "创建客户和品牌关联") + @PreAuthorize("@ss.hasPermission('oms:customer-brand:create')") + public CommonResult createCustomerBrand(@Valid @RequestBody CustomerBrandSaveReqVO createReqVO) { + return success(customerBrandService.createCustomerBrand(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新客户和品牌关联") + @PreAuthorize("@ss.hasPermission('oms:customer-brand:update')") + public CommonResult updateCustomerBrand(@Valid @RequestBody CustomerBrandSaveReqVO updateReqVO) { + customerBrandService.updateCustomerBrand(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除客户和品牌关联") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('oms:customer-brand:delete')") + public CommonResult deleteCustomerBrand(@RequestParam("id") Long id) { + customerBrandService.deleteCustomerBrand(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得客户和品牌关联") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('oms:customer-brand:query')") + public CommonResult getCustomerBrand(@RequestParam("id") Long id) { + CustomerBrandDO customerBrand = customerBrandService.getCustomerBrand(id); + return success(BeanUtils.toBean(customerBrand, CustomerBrandRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得客户和品牌关联分页") + @PreAuthorize("@ss.hasPermission('oms:customer-brand:query')") + public CommonResult> getCustomerBrandPage(@Valid CustomerBrandPageReqVO pageReqVO) { + PageResult pageResult = customerBrandService.getCustomerBrandPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, CustomerBrandRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出客户和品牌关联 Excel") + @PreAuthorize("@ss.hasPermission('oms:customer-brand:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportCustomerBrandExcel(@Valid CustomerBrandPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = customerBrandService.getCustomerBrandPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "客户和品牌关联.xls", "数据", CustomerBrandRespVO.class, + BeanUtils.toBean(list, CustomerBrandRespVO.class)); + } + + + @Operation(summary = "赋予客户品牌") + @PostMapping("/assign-customer-brand") + //@PreAuthorize("@ss.hasPermission('oms:customer:assign-customer-brabnd')") + public CommonResult assignUserRole(@Validated @RequestBody PermissionAssignCustomerBrandReqVO reqVO) { + customerBrandService.assignCustomerBrand(reqVO.getCustomerId(), reqVO.getBrandIds()); + return success(true); + } +} \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/customerbrand/vo/CustomerBrandPageReqVO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/customerbrand/vo/CustomerBrandPageReqVO.java new file mode 100644 index 0000000..259c97f --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/customerbrand/vo/CustomerBrandPageReqVO.java @@ -0,0 +1,31 @@ +package cn.hangtag.module.oms.controller.admin.customerbrand.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.hangtag.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.hangtag.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 客户和品牌关联分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class CustomerBrandPageReqVO extends PageParam { + + @Schema(description = "自增编号", example = "6786") + private Long id; + + @Schema(description = "客户ID", example = "15433") + private Long customerId; + + @Schema(description = "品牌ID", example = "4361") + private Long brandId; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + +} \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/customerbrand/vo/CustomerBrandRespVO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/customerbrand/vo/CustomerBrandRespVO.java new file mode 100644 index 0000000..2cdab3d --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/customerbrand/vo/CustomerBrandRespVO.java @@ -0,0 +1,31 @@ +package cn.hangtag.module.oms.controller.admin.customerbrand.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 客户和品牌关联 Response VO") +@Data +@ExcelIgnoreUnannotated +public class CustomerBrandRespVO { + + @Schema(description = "自增编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "6786") + @ExcelProperty("自增编号") + private Long id; + + @Schema(description = "客户ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15433") + @ExcelProperty("客户ID") + private Long customerId; + + @Schema(description = "品牌ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "4361") + @ExcelProperty("品牌ID") + private Long brandId; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + +} \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/customerbrand/vo/CustomerBrandSaveReqVO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/customerbrand/vo/CustomerBrandSaveReqVO.java new file mode 100644 index 0000000..7908789 --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/customerbrand/vo/CustomerBrandSaveReqVO.java @@ -0,0 +1,25 @@ +package cn.hangtag.module.oms.controller.admin.customerbrand.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; + +@Schema(description = "管理后台 - 客户和品牌关联新增/修改 Request VO") +@Data +public class CustomerBrandSaveReqVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "21486") + @ExcelProperty("ID") + private Long id; + + @Schema(description = "客户ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "15433") + @NotNull(message = "客户ID不能为空") + private Long customerId; + + @Schema(description = "品牌ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "4361") + @NotNull(message = "品牌ID不能为空") + private Long brandId; + +} \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/customerbrand/vo/PermissionAssignCustomerBrandReqVO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/customerbrand/vo/PermissionAssignCustomerBrandReqVO.java new file mode 100644 index 0000000..c45bd65 --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/customerbrand/vo/PermissionAssignCustomerBrandReqVO.java @@ -0,0 +1,21 @@ +package cn.hangtag.module.oms.controller.admin.customerbrand.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.util.Collections; +import java.util.Set; + +@Schema(description = "管理后台 - 赋予客户品牌 Request VO") +@Data +public class PermissionAssignCustomerBrandReqVO { + + @Schema(description = "客户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "客户编号不能为空") + private Long customerId; + + @Schema(description = "品牌编号列表", example = "1,3,5") + private Set brandIds = Collections.emptySet(); // 兜底 + +} diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/SaleOrderController.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/SaleOrderController.java new file mode 100644 index 0000000..0c669fc --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/SaleOrderController.java @@ -0,0 +1,106 @@ +package cn.hangtag.module.oms.controller.admin.saleorder; + +import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import javax.validation.constraints.*; +import javax.validation.*; +import javax.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.hangtag.framework.common.pojo.PageParam; +import cn.hangtag.framework.common.pojo.PageResult; +import cn.hangtag.framework.common.pojo.CommonResult; +import cn.hangtag.framework.common.util.object.BeanUtils; +import static cn.hangtag.framework.common.pojo.CommonResult.success; + +import cn.hangtag.framework.excel.core.util.ExcelUtils; + +import cn.hangtag.framework.apilog.core.annotation.ApiAccessLog; +import static cn.hangtag.framework.apilog.core.enums.OperateTypeEnum.*; + +import cn.hangtag.module.oms.controller.admin.saleorder.vo.*; +import cn.hangtag.module.oms.dal.dataobject.saleorder.SaleOrderDO; +import cn.hangtag.module.oms.dal.dataobject.saleorderentry.SaleOrderEntryDO; +import cn.hangtag.module.oms.service.saleorder.SaleOrderService; + +@Tag(name = "管理后台 - 销售订单") +@RestController +@RequestMapping("/oms/sale-order") +@Validated +public class SaleOrderController { + + @Resource + private SaleOrderService saleOrderService; + + @PostMapping("/create") + @Operation(summary = "创建销售订单") + @PreAuthorize("@ss.hasPermission('oms:sale-order:create')") + public CommonResult createSaleOrder(@Valid @RequestBody SaleOrderSaveReqVO createReqVO) { + return success(saleOrderService.createSaleOrder(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新销售订单") + @PreAuthorize("@ss.hasPermission('oms:sale-order:update')") + public CommonResult updateSaleOrder(@Valid @RequestBody SaleOrderSaveReqVO updateReqVO) { + saleOrderService.updateSaleOrder(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除销售订单") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('oms:sale-order:delete')") + public CommonResult deleteSaleOrder(@RequestParam("id") Long id) { + saleOrderService.deleteSaleOrder(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得销售订单") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('oms:sale-order:query')") + public CommonResult getSaleOrder(@RequestParam("id") Long id) { + SaleOrderDO saleOrder = saleOrderService.getSaleOrder(id); + return success(BeanUtils.toBean(saleOrder, SaleOrderRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得销售订单分页") + @PreAuthorize("@ss.hasPermission('oms:sale-order:query')") + public CommonResult> getSaleOrderPage(@Valid SaleOrderPageReqVO pageReqVO) { + PageResult pageResult = saleOrderService.getSaleOrderPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, SaleOrderRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出销售订单 Excel") + @PreAuthorize("@ss.hasPermission('oms:sale-order:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportSaleOrderExcel(@Valid SaleOrderPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = saleOrderService.getSaleOrderPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "销售订单.xls", "数据", SaleOrderRespVO.class, + BeanUtils.toBean(list, SaleOrderRespVO.class)); + } + + // ==================== 子表(销售订单明细) ==================== + + @GetMapping("/sale-order-entry/list-by-parent-id") + @Operation(summary = "获得销售订单明细列表") + @Parameter(name = "parentId", description = "主表id") + @PreAuthorize("@ss.hasPermission('oms:sale-order:query')") + public CommonResult> getSaleOrderEntryListByParentId(@RequestParam("parentId") Long parentId) { + return success(saleOrderService.getSaleOrderEntryListByParentId(parentId)); + } + +} \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/vo/SaleOrderPageReqVO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/vo/SaleOrderPageReqVO.java new file mode 100644 index 0000000..5a7d3b7 --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/vo/SaleOrderPageReqVO.java @@ -0,0 +1,42 @@ +package cn.hangtag.module.oms.controller.admin.saleorder.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.hangtag.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.hangtag.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - 销售订单分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class SaleOrderPageReqVO extends PageParam { + + @Schema(description = "单据编号") + private String billno; + + @Schema(description = "客户id", example = "10257") + private Long customerId; + + @Schema(description = "业务日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] bizdate; + + @Schema(description = "确认日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] confirmdate; + + @Schema(description = "计划日期") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] plansenddate; + + @Schema(description = "手机") + private String phone; + + @Schema(description = "备注") + private String remarks; + +} \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/vo/SaleOrderRespVO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/vo/SaleOrderRespVO.java new file mode 100644 index 0000000..974fbb1 --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/vo/SaleOrderRespVO.java @@ -0,0 +1,55 @@ +package cn.hangtag.module.oms.controller.admin.saleorder.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - 销售订单 Response VO") +@Data +@ExcelIgnoreUnannotated +public class SaleOrderRespVO { + + @Schema(description = "单据编号") + @ExcelProperty("单据编号") + private String billno; + + @Schema(description = "客户id", example = "10257") + @ExcelProperty("客户id") + private Long customerId; + + @Schema(description = "业务日期") + @ExcelProperty("业务日期") + private LocalDateTime bizdate; + + @Schema(description = "备注", example = "你猜") + @ExcelProperty("备注") + private String remark; + + @Schema(description = "更新时间") + @ExcelProperty("更新时间") + private LocalDateTime udate; + + @Schema(description = "创建时间") + @ExcelProperty("创建时间") + private LocalDateTime cdate; + + @Schema(description = "确认日期") + @ExcelProperty("确认日期") + private LocalDateTime confirmdate; + + @Schema(description = "计划日期") + @ExcelProperty("计划日期") + private LocalDateTime plansenddate; + + @Schema(description = "手机") + @ExcelProperty("手机") + private String phone; + + @Schema(description = "备注") + @ExcelProperty("备注") + private String remarks; + +} \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/vo/SaleOrderSaveReqVO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/vo/SaleOrderSaveReqVO.java new file mode 100644 index 0000000..a1ecc65 --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/controller/admin/saleorder/vo/SaleOrderSaveReqVO.java @@ -0,0 +1,62 @@ +package cn.hangtag.module.oms.controller.admin.saleorder.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import javax.validation.constraints.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import cn.hangtag.module.oms.dal.dataobject.saleorderentry.SaleOrderEntryDO; + +@Schema(description = "管理后台 - 销售订单新增/修改 Request VO") +@Data +public class SaleOrderSaveReqVO { + + @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "21486") + @ExcelProperty("ID") + private Long id; + + @Schema(description = "客户id", example = "10257") + private Long customerId; + + @Schema(description = "业务日期") + private LocalDateTime bizdate; + + @Schema(description = "备注", example = "你猜") + private String remark; + + @Schema(description = "确认日期") + private LocalDateTime confirmdate; + + @Schema(description = "计划日期") + private LocalDateTime plansenddate; + + @Schema(description = "手机") + private String phone; + + @Schema(description = "备注") + private String remarks; + + @Schema(description = "邮件列表,数据格式:xxx@xx.com;xxx@xx.com;") + private String emails; + + @Schema(description = "发票抬头") + private String invoiceCode; + + @Schema(description = "发票名称", example = "李四") + private String invoiceName; + + @Schema(description = "地址") + private String address; + + @Schema(description = "货币") + private String currency; + + @Schema(description = "发票备注") + private String invoiceRemarks; + + @Schema(description = "销售订单明细列表") + private List saleOrderEntrys; + +} \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/customer/CustomerDO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/customer/CustomerDO.java index 89bdb06..4933eac 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/customer/CustomerDO.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/customer/CustomerDO.java @@ -35,6 +35,10 @@ public class CustomerDO extends BaseDO { * 名称 */ private String name; + /** + * 公司 + */ + private String company; /** * 邮箱 */ diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/customerbrand/CustomerBrandDO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/customerbrand/CustomerBrandDO.java new file mode 100644 index 0000000..28caa4a --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/customerbrand/CustomerBrandDO.java @@ -0,0 +1,39 @@ +package cn.hangtag.module.oms.dal.dataobject.customerbrand; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.hangtag.framework.mybatis.core.dataobject.BaseDO; + +/** + * 客户和品牌关联 DO + * + * @author wwb + */ +@TableName("oms_customer_brand") +@KeySequence("oms_customer_brand_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class CustomerBrandDO extends BaseDO { + + /** + * 自增编号 + */ + @TableId + private Long id; + /** + * 客户ID + */ + private Long customerId; + /** + * 品牌ID + */ + private Long brandId; + +} \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/saleorder/SaleOrderDO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/saleorder/SaleOrderDO.java new file mode 100644 index 0000000..4ed12eb --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/saleorder/SaleOrderDO.java @@ -0,0 +1,106 @@ +package cn.hangtag.module.oms.dal.dataobject.saleorder; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.hangtag.framework.mybatis.core.dataobject.BaseDO; + +/** + * 销售订单 DO + * + * @author wwb + */ +@TableName("oms_saleorder") +@KeySequence("oms_saleorder_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class SaleOrderDO extends BaseDO { + + /** + * ID + */ + @TableId + private Long id; + /** + * 单据编号 + */ + private String billno; + /** + * 客户id + */ + private Long customerId; + /** + * 业务日期 + */ + private LocalDateTime bizdate; + /** + * 备注 + */ + private String remark; + /** + * 更新时间 + */ + private LocalDateTime udate; + /** + * 创建时间 + */ + private LocalDateTime cdate; + /** + * 确认日期 + */ + private LocalDateTime confirmdate; + /** + * 计划日期 + */ + private LocalDateTime plansenddate; + /** + * 订单类型 + */ + private String orderType; + /** + * 手机 + */ + private String phone; + /** + * 传真 + */ + private String fax; + /** + * 备注 + */ + private String remarks; + /** + * 邮件列表,数据格式:xxx@xx.com;xxx@xx.com; + */ + private String emails; + /** + * 发票抬头 + */ + private String invoiceCode; + /** + * 发票名称 + */ + private String invoiceName; + /** + * 地址 + */ + private String address; + /** + * 货币 + */ + private String currency; + /** + * 发票备注 + */ + private String invoiceRemarks; + +} \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/saleorder/SaleOrderEntryDO.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/saleorder/SaleOrderEntryDO.java new file mode 100644 index 0000000..8b0efdb --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/dataobject/saleorder/SaleOrderEntryDO.java @@ -0,0 +1,54 @@ +package cn.hangtag.module.oms.dal.dataobject.saleorderentry; + +import lombok.*; +import java.util.*; +import java.math.BigDecimal; +import com.baomidou.mybatisplus.annotation.*; +import cn.hangtag.framework.mybatis.core.dataobject.BaseDO; + +/** + * 销售订单明细 DO + * + * @author 芋道源码 + */ +@TableName("oms_saleorder_entry") +@KeySequence("oms_saleorder_entry_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class SaleOrderEntryDO extends BaseDO { + + /** + * ID + */ + @TableId + private Long id; + /** + * 主表id + */ + private Long parentId; + /** + * 物料id + */ + private Integer materialId; + /** + * 物料名称 + */ + private String materialName; + /** + * 物料规格 + */ + private String materialSpec; + /** + * 单价 + */ + private BigDecimal price; + /** + * 数量 + */ + private Integer qty; + +} \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/mysql/brand/BrandMapper.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/mysql/brand/BrandMapper.java index eead337..cb8aa9d 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/mysql/brand/BrandMapper.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/mysql/brand/BrandMapper.java @@ -6,6 +6,7 @@ import cn.hangtag.framework.common.pojo.PageResult; import cn.hangtag.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.hangtag.framework.mybatis.core.mapper.BaseMapperX; import cn.hangtag.module.oms.dal.dataobject.brand.BrandDO; +import cn.hangtag.module.system.dal.dataobject.permission.MenuDO; import org.apache.ibatis.annotations.Mapper; import cn.hangtag.module.oms.controller.admin.brand.vo.*; @@ -28,4 +29,8 @@ public interface BrandMapper extends BaseMapperX { .orderByDesc(BrandDO::getId)); } + default List selectList(BrandListReqVO reqVO){ + return selectList(new LambdaQueryWrapperX() + .likeIfPresent(BrandDO::getName, reqVO.getName())); + } } \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/mysql/customer/CustomerMapper.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/mysql/customer/CustomerMapper.java index c98339f..8567c89 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/mysql/customer/CustomerMapper.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/mysql/customer/CustomerMapper.java @@ -21,6 +21,7 @@ public interface CustomerMapper extends BaseMapperX { return selectPage(reqVO, new LambdaQueryWrapperX() .eqIfPresent(CustomerDO::getId, reqVO.getId()) .likeIfPresent(CustomerDO::getName, reqVO.getName()) + .likeIfPresent(CustomerDO::getCompany, reqVO.getCompany()) .eqIfPresent(CustomerDO::getType, reqVO.getType()) .eqIfPresent(CustomerDO::getStatus, reqVO.getStatus()) .orderByDesc(CustomerDO::getId)); diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/mysql/customerbrand/CustomerBrandMapper.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/mysql/customerbrand/CustomerBrandMapper.java new file mode 100644 index 0000000..2ba5136 --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/mysql/customerbrand/CustomerBrandMapper.java @@ -0,0 +1,43 @@ +package cn.hangtag.module.oms.dal.mysql.customerbrand; + +import java.util.*; + +import cn.hangtag.framework.common.pojo.PageResult; +import cn.hangtag.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.hangtag.framework.mybatis.core.mapper.BaseMapperX; +import cn.hangtag.module.oms.dal.dataobject.customerbrand.CustomerBrandDO; +import cn.hangtag.module.system.dal.dataobject.permission.RoleMenuDO; +import cn.hangtag.module.system.dal.dataobject.permission.UserRoleDO; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import org.apache.ibatis.annotations.Mapper; +import cn.hangtag.module.oms.controller.admin.customerbrand.vo.*; + +/** + * 客户和品牌关联 Mapper + * + * @author wwb + */ +@Mapper +public interface CustomerBrandMapper extends BaseMapperX { + + default PageResult selectPage(CustomerBrandPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(CustomerBrandDO::getId, reqVO.getId()) + .eqIfPresent(CustomerBrandDO::getCustomerId, reqVO.getCustomerId()) + .eqIfPresent(CustomerBrandDO::getBrandId, reqVO.getBrandId()) + .betweenIfPresent(CustomerBrandDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(CustomerBrandDO::getId)); + } + default List selectListByCustomerId(Long customerId) { + return selectList(CustomerBrandDO::getCustomerId, customerId); + } + default List selectListByCustomerId(Collection customerIds) { + return selectList(CustomerBrandDO::getCustomerId, customerIds); + } + + default void deleteListByCustomerIdAndBrandIdIds(Long customerId, Collection deleteBrandIds) { + delete(new LambdaQueryWrapper() + .eq(CustomerBrandDO::getCustomerId, customerId) + .in(CustomerBrandDO::getBrandId, deleteBrandIds)); + } +} \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/mysql/saleorder/SaleOrderEntryMapper.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/mysql/saleorder/SaleOrderEntryMapper.java new file mode 100644 index 0000000..4683586 --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/mysql/saleorder/SaleOrderEntryMapper.java @@ -0,0 +1,28 @@ +package cn.hangtag.module.oms.dal.mysql.saleorderentry; + +import java.util.*; + +import cn.hangtag.framework.common.pojo.PageResult; +import cn.hangtag.framework.common.pojo.PageParam; +import cn.hangtag.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.hangtag.framework.mybatis.core.mapper.BaseMapperX; +import cn.hangtag.module.oms.dal.dataobject.saleorderentry.SaleOrderEntryDO; +import org.apache.ibatis.annotations.Mapper; + +/** + * 销售订单明细 Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface SaleOrderEntryMapper extends BaseMapperX { + + default List selectListByParentId(Long parentId) { + return selectList(SaleOrderEntryDO::getParentId, parentId); + } + + default int deleteByParentId(Long parentId) { + return delete(SaleOrderEntryDO::getParentId, parentId); + } + +} \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/mysql/saleorder/SaleOrderMapper.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/mysql/saleorder/SaleOrderMapper.java new file mode 100644 index 0000000..12267af --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/dal/mysql/saleorder/SaleOrderMapper.java @@ -0,0 +1,32 @@ +package cn.hangtag.module.oms.dal.mysql.saleorder; + +import java.util.*; + +import cn.hangtag.framework.common.pojo.PageResult; +import cn.hangtag.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.hangtag.framework.mybatis.core.mapper.BaseMapperX; +import cn.hangtag.module.oms.dal.dataobject.saleorder.SaleOrderDO; +import org.apache.ibatis.annotations.Mapper; +import cn.hangtag.module.oms.controller.admin.saleorder.vo.*; + +/** + * 销售订单 Mapper + * + * @author wwb + */ +@Mapper +public interface SaleOrderMapper extends BaseMapperX { + + default PageResult selectPage(SaleOrderPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(SaleOrderDO::getBillno, reqVO.getBillno()) + .eqIfPresent(SaleOrderDO::getCustomerId, reqVO.getCustomerId()) + .betweenIfPresent(SaleOrderDO::getBizdate, reqVO.getBizdate()) + .betweenIfPresent(SaleOrderDO::getConfirmdate, reqVO.getConfirmdate()) + .betweenIfPresent(SaleOrderDO::getPlansenddate, reqVO.getPlansenddate()) + .eqIfPresent(SaleOrderDO::getPhone, reqVO.getPhone()) + .eqIfPresent(SaleOrderDO::getRemarks, reqVO.getRemarks()) + .orderByDesc(SaleOrderDO::getId)); + } + +} \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/brand/BrandService.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/brand/BrandService.java index 14408a3..3573b91 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/brand/BrandService.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/brand/BrandService.java @@ -7,6 +7,8 @@ import cn.hangtag.module.oms.dal.dataobject.brand.BrandDO; import cn.hangtag.framework.common.pojo.PageResult; import cn.hangtag.framework.common.pojo.PageParam; +import static java.util.Collections.singleton; + /** * 品牌管理 Service 接口 * @@ -54,4 +56,17 @@ public interface BrandService { String getNewCode(); + List getBrandList(BrandListReqVO reqVO); + + default Set getCustomerBrandListByCustomerId(Long customerId){ + return getCustomerBrandListByCustomerId(singleton(customerId)); + } + + /** + * 获得客户们拥有的品牌编号集合 + * + * @param customerIds 客户编号数组 + * @return 品牌编号集合 + */ + Set getCustomerBrandListByCustomerId(Collection customerIds); } \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/brand/BrandServiceImpl.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/brand/BrandServiceImpl.java index 8c913d1..7866e0d 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/brand/BrandServiceImpl.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/brand/BrandServiceImpl.java @@ -5,8 +5,14 @@ import cn.hangtag.framework.common.exception.enums.GlobalErrorCodeConstants; import cn.hangtag.framework.common.util.FuncUtil; import cn.hangtag.framework.mybatis.core.dataobject.BaseDO; import cn.hangtag.module.oms.base.dal.dataobject.producttype.ProductTypeDO; +import cn.hangtag.module.oms.dal.dataobject.customerbrand.CustomerBrandDO; +import cn.hangtag.module.oms.dal.mysql.customerbrand.CustomerBrandMapper; import cn.hangtag.module.oms.enums.BrandErrorCodeConstants; import cn.hangtag.module.oms.serialnumber.CodingRulesUtils; +import cn.hangtag.module.system.dal.dataobject.permission.MenuDO; +import cn.hangtag.module.system.dal.dataobject.permission.RoleMenuDO; +import cn.hangtag.module.system.dal.mysql.permission.RoleMenuMapper; +import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import lombok.extern.slf4j.Slf4j; import org.slf4j.Logger; @@ -26,6 +32,8 @@ import cn.hangtag.framework.common.util.object.BeanUtils; import cn.hangtag.module.oms.dal.mysql.brand.BrandMapper; import static cn.hangtag.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.hangtag.framework.common.util.collection.CollectionUtils.convertSet; +import static java.util.Collections.singleton; /** * 品牌管理 Service 实现类 @@ -39,6 +47,8 @@ public class BrandServiceImpl implements BrandService { @Resource private BrandMapper brandMapper; + @Resource + private CustomerBrandMapper customerBrandMapper; @Override public Long createBrand(BrandSaveReqVO createReqVO) { @@ -114,6 +124,22 @@ public class BrandServiceImpl implements BrandService { } } } + + @Override + public List getBrandList(BrandListReqVO reqVO) { + List brands = brandMapper.selectList(reqVO); + return brands; + } + + @Override + public Set getCustomerBrandListByCustomerId(Collection customerIds) { + if (CollUtil.isEmpty(customerIds)) { + return Collections.emptySet(); + } + return convertSet(customerBrandMapper.selectListByCustomerId(customerIds), CustomerBrandDO::getBrandId); + } + + private void checkCode(Long id,String code){ if(FuncUtil.isNotEmpty(code)){ LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/customer/CustomerServiceImpl.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/customer/CustomerServiceImpl.java index 1108dcc..6abc9b8 100644 --- a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/customer/CustomerServiceImpl.java +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/customer/CustomerServiceImpl.java @@ -53,7 +53,7 @@ public class CustomerServiceImpl implements CustomerService { userSaveReqVO.setNickname(createReqVO.getName()); userSaveReqVO.setMobile(createReqVO.getPhone()); userSaveReqVO.setPassword(userInitPassword); - userSaveReqVO.setDeptId(999L); // 固定为用户分类 + userSaveReqVO.setDeptId(999999L); // 固定为用户分类 Long userId = userService.createUser(userSaveReqVO); customer.setUserId(userId); customerMapper.insert(customer); diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/customerbrand/CustomerBrandService.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/customerbrand/CustomerBrandService.java new file mode 100644 index 0000000..6b8dcc7 --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/customerbrand/CustomerBrandService.java @@ -0,0 +1,56 @@ +package cn.hangtag.module.oms.service.customerbrand; + +import java.util.*; +import javax.validation.*; +import cn.hangtag.module.oms.controller.admin.customerbrand.vo.*; +import cn.hangtag.module.oms.dal.dataobject.customerbrand.CustomerBrandDO; +import cn.hangtag.framework.common.pojo.PageResult; +import cn.hangtag.framework.common.pojo.PageParam; + +/** + * 客户和品牌关联 Service 接口 + * + * @author wwb + */ +public interface CustomerBrandService { + + /** + * 创建客户和品牌关联 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createCustomerBrand(@Valid CustomerBrandSaveReqVO createReqVO); + + /** + * 更新客户和品牌关联 + * + * @param updateReqVO 更新信息 + */ + void updateCustomerBrand(@Valid CustomerBrandSaveReqVO updateReqVO); + + /** + * 删除客户和品牌关联 + * + * @param id 编号 + */ + void deleteCustomerBrand(Long id); + + /** + * 获得客户和品牌关联 + * + * @param id 编号 + * @return 客户和品牌关联 + */ + CustomerBrandDO getCustomerBrand(Long id); + + /** + * 获得客户和品牌关联分页 + * + * @param pageReqVO 分页查询 + * @return 客户和品牌关联分页 + */ + PageResult getCustomerBrandPage(CustomerBrandPageReqVO pageReqVO); + + void assignCustomerBrand(Long customerId, Set brandIds); +} \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/customerbrand/CustomerBrandServiceImpl.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/customerbrand/CustomerBrandServiceImpl.java new file mode 100644 index 0000000..49b6e8f --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/customerbrand/CustomerBrandServiceImpl.java @@ -0,0 +1,107 @@ +package cn.hangtag.module.oms.service.customerbrand; + +import cn.hangtag.framework.common.util.collection.CollectionUtils; +import cn.hangtag.module.system.dal.dataobject.permission.UserRoleDO; +import cn.hangtag.module.system.dal.redis.RedisKeyConstants; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.dynamic.datasource.annotation.DSTransactional; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.hangtag.module.oms.controller.admin.customerbrand.vo.*; +import cn.hangtag.module.oms.dal.dataobject.customerbrand.CustomerBrandDO; +import cn.hangtag.framework.common.pojo.PageResult; +import cn.hangtag.framework.common.pojo.PageParam; +import cn.hangtag.framework.common.util.object.BeanUtils; + +import cn.hangtag.module.oms.dal.mysql.customerbrand.CustomerBrandMapper; + +import static cn.hangtag.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.hangtag.framework.common.util.collection.CollectionUtils.convertSet; +import static cn.hangtag.module.oms.enums.ErrorCodeConstants.*; + +/** + * 客户和品牌关联 Service 实现类 + * + * @author wwb + */ +@Service +@Validated +public class CustomerBrandServiceImpl implements CustomerBrandService { + + @Resource + private CustomerBrandMapper customerBrandMapper; + + @Override + public Long createCustomerBrand(CustomerBrandSaveReqVO createReqVO) { + // 插入 + CustomerBrandDO customerBrand = BeanUtils.toBean(createReqVO, CustomerBrandDO.class); + customerBrandMapper.insert(customerBrand); + // 返回 + return customerBrand.getId(); + } + + @Override + public void updateCustomerBrand(CustomerBrandSaveReqVO updateReqVO) { + // 校验存在 + validateCustomerBrandExists(updateReqVO.getId()); + // 更新 + CustomerBrandDO updateObj = BeanUtils.toBean(updateReqVO, CustomerBrandDO.class); + customerBrandMapper.updateById(updateObj); + } + + @Override + public void deleteCustomerBrand(Long id) { + // 校验存在 + validateCustomerBrandExists(id); + // 删除 + customerBrandMapper.deleteById(id); + } + + private void validateCustomerBrandExists(Long id) { + if (customerBrandMapper.selectById(id) == null) { + throw exception(CUSTOMER_BRAND_NOT_EXISTS); + } + } + + @Override + public CustomerBrandDO getCustomerBrand(Long id) { + return customerBrandMapper.selectById(id); + } + + @Override + public PageResult getCustomerBrandPage(CustomerBrandPageReqVO pageReqVO) { + return customerBrandMapper.selectPage(pageReqVO); + } + + @Override + @DSTransactional // 多数据源,使用 @DSTransactional 保证本地事务,以及数据源的切换 + @CacheEvict(value = RedisKeyConstants.USER_ROLE_ID_LIST, key = "#customerId") + public void assignCustomerBrand(Long customerId, Set brandIds) { + // 获得客户拥有品牌编号 + Set dbBrandIds = convertSet(customerBrandMapper.selectListByCustomerId(customerId), + CustomerBrandDO::getBrandId); + // 计算新增和删除的角色编号 + Set brandIdList = CollUtil.emptyIfNull(brandIds); + Collection createRoleIds = CollUtil.subtract(brandIdList, dbBrandIds); + Collection deleteMenuIds = CollUtil.subtract(dbBrandIds, brandIdList); + // 执行新增和删除。对于已经授权的角色,不用做任何处理 + if (!CollectionUtil.isEmpty(createRoleIds)) { + customerBrandMapper.insertBatch(CollectionUtils.convertList(createRoleIds, roleId -> { + CustomerBrandDO entity = new CustomerBrandDO(); + entity.setCustomerId(customerId); + entity.setBrandId(roleId); + return entity; + })); + } + if (!CollectionUtil.isEmpty(deleteMenuIds)) { + customerBrandMapper.deleteListByCustomerIdAndBrandIdIds(customerId, deleteMenuIds); + } + } + +} \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderService.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderService.java new file mode 100644 index 0000000..b953f7e --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderService.java @@ -0,0 +1,66 @@ +package cn.hangtag.module.oms.service.saleorder; + +import java.util.*; +import javax.validation.*; +import cn.hangtag.module.oms.controller.admin.saleorder.vo.*; +import cn.hangtag.module.oms.dal.dataobject.saleorder.SaleOrderDO; +import cn.hangtag.module.oms.dal.dataobject.saleorderentry.SaleOrderEntryDO; +import cn.hangtag.framework.common.pojo.PageResult; +import cn.hangtag.framework.common.pojo.PageParam; + +/** + * 销售订单 Service 接口 + * + * @author wwb + */ +public interface SaleOrderService { + + /** + * 创建销售订单 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Long createSaleOrder(@Valid SaleOrderSaveReqVO createReqVO); + + /** + * 更新销售订单 + * + * @param updateReqVO 更新信息 + */ + void updateSaleOrder(@Valid SaleOrderSaveReqVO updateReqVO); + + /** + * 删除销售订单 + * + * @param id 编号 + */ + void deleteSaleOrder(Long id); + + /** + * 获得销售订单 + * + * @param id 编号 + * @return 销售订单 + */ + SaleOrderDO getSaleOrder(Long id); + + /** + * 获得销售订单分页 + * + * @param pageReqVO 分页查询 + * @return 销售订单分页 + */ + PageResult getSaleOrderPage(SaleOrderPageReqVO pageReqVO); + + // ==================== 子表(销售订单明细) ==================== + + /** + * 获得销售订单明细列表 + * + * @param parentId 主表id + * @return 销售订单明细列表 + */ + List getSaleOrderEntryListByParentId(Long parentId); + +} \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java new file mode 100644 index 0000000..b2044b3 --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImpl.java @@ -0,0 +1,112 @@ +package cn.hangtag.module.oms.service.saleorder; + +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.hangtag.module.oms.controller.admin.saleorder.vo.*; +import cn.hangtag.module.oms.dal.dataobject.saleorder.SaleOrderDO; +import cn.hangtag.module.oms.dal.dataobject.saleorderentry.SaleOrderEntryDO; +import cn.hangtag.framework.common.pojo.PageResult; +import cn.hangtag.framework.common.pojo.PageParam; +import cn.hangtag.framework.common.util.object.BeanUtils; + +import cn.hangtag.module.oms.dal.mysql.saleorder.SaleOrderMapper; +import cn.hangtag.module.oms.dal.mysql.saleorderentry.SaleOrderEntryMapper; + +import static cn.hangtag.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.hangtag.module.oms.enums.ErrorCodeConstants.*; + +/** + * 销售订单 Service 实现类 + * + * @author wwb + */ +@Service +@Validated +public class SaleOrderServiceImpl implements SaleOrderService { + + @Resource + private SaleOrderMapper saleOrderMapper; + @Resource + private SaleOrderEntryMapper saleOrderEntryMapper; + + @Override + @Transactional(rollbackFor = Exception.class) + public Long createSaleOrder(SaleOrderSaveReqVO createReqVO) { + // 插入 + SaleOrderDO saleOrder = BeanUtils.toBean(createReqVO, SaleOrderDO.class); + saleOrderMapper.insert(saleOrder); + + // 插入子表 + createSaleOrderEntryList(saleOrder.getId(), createReqVO.getSaleOrderEntrys()); + // 返回 + return saleOrder.getId(); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void updateSaleOrder(SaleOrderSaveReqVO updateReqVO) { + // 校验存在 + validateSaleOrderExists(updateReqVO.getId()); + // 更新 + SaleOrderDO updateObj = BeanUtils.toBean(updateReqVO, SaleOrderDO.class); + saleOrderMapper.updateById(updateObj); + + // 更新子表 + updateSaleOrderEntryList(updateReqVO.getId(), updateReqVO.getSaleOrderEntrys()); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void deleteSaleOrder(Long id) { + // 校验存在 + validateSaleOrderExists(id); + // 删除 + saleOrderMapper.deleteById(id); + + // 删除子表 + deleteSaleOrderEntryByParentId(id); + } + + private void validateSaleOrderExists(Long id) { + if (saleOrderMapper.selectById(id) == null) { + throw exception(SALE_ORDER_NOT_EXISTS); + } + } + + @Override + public SaleOrderDO getSaleOrder(Long id) { + return saleOrderMapper.selectById(id); + } + + @Override + public PageResult getSaleOrderPage(SaleOrderPageReqVO pageReqVO) { + return saleOrderMapper.selectPage(pageReqVO); + } + + // ==================== 子表(销售订单明细) ==================== + + @Override + public List getSaleOrderEntryListByParentId(Long parentId) { + return saleOrderEntryMapper.selectListByParentId(parentId); + } + + private void createSaleOrderEntryList(Long parentId, List list) { + list.forEach(o -> o.setParentId(parentId)); + saleOrderEntryMapper.insertBatch(list); + } + + private void updateSaleOrderEntryList(Long parentId, List list) { + deleteSaleOrderEntryByParentId(parentId); + list.forEach(o -> o.setId(null).setUpdater(null).setUpdateTime(null)); // 解决更新情况下:1)id 冲突;2)updateTime 不更新 + createSaleOrderEntryList(parentId, list); + } + + private void deleteSaleOrderEntryByParentId(Long parentId) { + saleOrderEntryMapper.deleteByParentId(parentId); + } + +} \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/resources/mapper/customerbrand/CustomerBrandMapper.xml b/hangtag-module-oms/hangtag-module-oms-biz/src/main/resources/mapper/customerbrand/CustomerBrandMapper.xml new file mode 100644 index 0000000..2bf9271 --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/resources/mapper/customerbrand/CustomerBrandMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/main/resources/mapper/saleorder/SaleOrderMapper.xml b/hangtag-module-oms/hangtag-module-oms-biz/src/main/resources/mapper/saleorder/SaleOrderMapper.xml new file mode 100644 index 0000000..7e24fb1 --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/main/resources/mapper/saleorder/SaleOrderMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/test/java/cn/hangtag/module/oms/service/customerbrand/CustomerBrandServiceImplTest.java b/hangtag-module-oms/hangtag-module-oms-biz/src/test/java/cn/hangtag/module/oms/service/customerbrand/CustomerBrandServiceImplTest.java new file mode 100644 index 0000000..6971235 --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/test/java/cn/hangtag/module/oms/service/customerbrand/CustomerBrandServiceImplTest.java @@ -0,0 +1,142 @@ +package cn.hangtag.module.oms.service.customerbrand; + +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.mock.mockito.MockBean; + +import javax.annotation.Resource; + +import cn.hangtag.framework.test.core.ut.BaseDbUnitTest; + +import cn.hangtag.module.oms.controller.admin.customerbrand.vo.*; +import cn.hangtag.module.oms.dal.dataobject.customerbrand.CustomerBrandDO; +import cn.hangtag.module.oms.dal.mysql.customerbrand.CustomerBrandMapper; +import cn.hangtag.framework.common.pojo.PageResult; + +import javax.annotation.Resource; +import org.springframework.context.annotation.Import; +import java.util.*; +import java.time.LocalDateTime; + +import static cn.hutool.core.util.RandomUtil.*; +import static cn.hangtag.module.oms.enums.ErrorCodeConstants.*; +import static cn.hangtag.framework.test.core.util.AssertUtils.*; +import static cn.hangtag.framework.test.core.util.RandomUtils.*; +import static cn.hangtag.framework.common.util.date.LocalDateTimeUtils.*; +import static cn.hangtag.framework.common.util.object.ObjectUtils.*; +import static cn.hangtag.framework.common.util.date.DateUtils.*; +import static org.junit.jupiter.api.Assertions.*; +import static org.mockito.Mockito.*; + +/** + * {@link CustomerBrandServiceImpl} 的单元测试类 + * + * @author wwb + */ +@Import(CustomerBrandServiceImpl.class) +public class CustomerBrandServiceImplTest extends BaseDbUnitTest { + + @Resource + private CustomerBrandServiceImpl customerBrandService; + + @Resource + private CustomerBrandMapper customerBrandMapper; + + @Test + public void testCreateCustomerBrand_success() { + // 准备参数 + CustomerBrandSaveReqVO createReqVO = randomPojo(CustomerBrandSaveReqVO.class).setId(null); + + // 调用 + Long customerBrandId = customerBrandService.createCustomerBrand(createReqVO); + // 断言 + assertNotNull(customerBrandId); + // 校验记录的属性是否正确 + CustomerBrandDO customerBrand = customerBrandMapper.selectById(customerBrandId); + assertPojoEquals(createReqVO, customerBrand, "id"); + } + + @Test + public void testUpdateCustomerBrand_success() { + // mock 数据 + CustomerBrandDO dbCustomerBrand = randomPojo(CustomerBrandDO.class); + customerBrandMapper.insert(dbCustomerBrand);// @Sql: 先插入出一条存在的数据 + // 准备参数 + CustomerBrandSaveReqVO updateReqVO = randomPojo(CustomerBrandSaveReqVO.class, o -> { + o.setId(dbCustomerBrand.getId()); // 设置更新的 ID + }); + + // 调用 + customerBrandService.updateCustomerBrand(updateReqVO); + // 校验是否更新正确 + CustomerBrandDO customerBrand = customerBrandMapper.selectById(updateReqVO.getId()); // 获取最新的 + assertPojoEquals(updateReqVO, customerBrand); + } + + @Test + public void testUpdateCustomerBrand_notExists() { + // 准备参数 + CustomerBrandSaveReqVO updateReqVO = randomPojo(CustomerBrandSaveReqVO.class); + + // 调用, 并断言异常 + assertServiceException(() -> customerBrandService.updateCustomerBrand(updateReqVO), CUSTOMER_BRAND_NOT_EXISTS); + } + + @Test + public void testDeleteCustomerBrand_success() { + // mock 数据 + CustomerBrandDO dbCustomerBrand = randomPojo(CustomerBrandDO.class); + customerBrandMapper.insert(dbCustomerBrand);// @Sql: 先插入出一条存在的数据 + // 准备参数 + Long id = dbCustomerBrand.getId(); + + // 调用 + customerBrandService.deleteCustomerBrand(id); + // 校验数据不存在了 + assertNull(customerBrandMapper.selectById(id)); + } + + @Test + public void testDeleteCustomerBrand_notExists() { + // 准备参数 + Long id = randomLongId(); + + // 调用, 并断言异常 + assertServiceException(() -> customerBrandService.deleteCustomerBrand(id), CUSTOMER_BRAND_NOT_EXISTS); + } + + @Test + @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解 + public void testGetCustomerBrandPage() { + // mock 数据 + CustomerBrandDO dbCustomerBrand = randomPojo(CustomerBrandDO.class, o -> { // 等会查询到 + o.setId(null); + o.setCustomerId(null); + o.setBrandId(null); + o.setCreateTime(null); + }); + customerBrandMapper.insert(dbCustomerBrand); + // 测试 id 不匹配 + customerBrandMapper.insert(cloneIgnoreId(dbCustomerBrand, o -> o.setId(null))); + // 测试 customerId 不匹配 + customerBrandMapper.insert(cloneIgnoreId(dbCustomerBrand, o -> o.setCustomerId(null))); + // 测试 brandId 不匹配 + customerBrandMapper.insert(cloneIgnoreId(dbCustomerBrand, o -> o.setBrandId(null))); + // 测试 createTime 不匹配 + customerBrandMapper.insert(cloneIgnoreId(dbCustomerBrand, o -> o.setCreateTime(null))); + // 准备参数 + CustomerBrandPageReqVO reqVO = new CustomerBrandPageReqVO(); + reqVO.setId(null); + reqVO.setCustomerId(null); + reqVO.setBrandId(null); + reqVO.setCreateTime(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); + + // 调用 + PageResult pageResult = customerBrandService.getCustomerBrandPage(reqVO); + // 断言 + assertEquals(1, pageResult.getTotal()); + assertEquals(1, pageResult.getList().size()); + assertPojoEquals(dbCustomerBrand, pageResult.getList().get(0)); + } + +} \ No newline at end of file diff --git a/hangtag-module-oms/hangtag-module-oms-biz/src/test/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImplTest.java b/hangtag-module-oms/hangtag-module-oms-biz/src/test/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImplTest.java new file mode 100644 index 0000000..5ce3b86 --- /dev/null +++ b/hangtag-module-oms/hangtag-module-oms-biz/src/test/java/cn/hangtag/module/oms/service/saleorder/SaleOrderServiceImplTest.java @@ -0,0 +1,154 @@ +package cn.hangtag.module.oms.service.saleorder; + +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.mock.mockito.MockBean; + +import javax.annotation.Resource; + +import cn.hangtag.framework.test.core.ut.BaseDbUnitTest; + +import cn.hangtag.module.oms.controller.admin.saleorder.vo.*; +import cn.hangtag.module.oms.dal.dataobject.saleorder.SaleOrderDO; +import cn.hangtag.module.oms.dal.mysql.saleorder.SaleOrderMapper; +import cn.hangtag.framework.common.pojo.PageResult; + +import javax.annotation.Resource; +import org.springframework.context.annotation.Import; +import java.util.*; +import java.time.LocalDateTime; + +import static cn.hutool.core.util.RandomUtil.*; +import static cn.hangtag.module.oms.enums.ErrorCodeConstants.*; +import static cn.hangtag.framework.test.core.util.AssertUtils.*; +import static cn.hangtag.framework.test.core.util.RandomUtils.*; +import static cn.hangtag.framework.common.util.date.LocalDateTimeUtils.*; +import static cn.hangtag.framework.common.util.object.ObjectUtils.*; +import static cn.hangtag.framework.common.util.date.DateUtils.*; +import static org.junit.jupiter.api.Assertions.*; +import static org.mockito.Mockito.*; + +/** + * {@link SaleOrderServiceImpl} 的单元测试类 + * + * @author wwb + */ +@Import(SaleOrderServiceImpl.class) +public class SaleOrderServiceImplTest extends BaseDbUnitTest { + + @Resource + private SaleOrderServiceImpl saleOrderService; + + @Resource + private SaleOrderMapper saleOrderMapper; + + @Test + public void testCreateSaleOrder_success() { + // 准备参数 + SaleOrderSaveReqVO createReqVO = randomPojo(SaleOrderSaveReqVO.class).setId(null); + + // 调用 + Long saleOrderId = saleOrderService.createSaleOrder(createReqVO); + // 断言 + assertNotNull(saleOrderId); + // 校验记录的属性是否正确 + SaleOrderDO saleOrder = saleOrderMapper.selectById(saleOrderId); + assertPojoEquals(createReqVO, saleOrder, "id"); + } + + @Test + public void testUpdateSaleOrder_success() { + // mock 数据 + SaleOrderDO dbSaleOrder = randomPojo(SaleOrderDO.class); + saleOrderMapper.insert(dbSaleOrder);// @Sql: 先插入出一条存在的数据 + // 准备参数 + SaleOrderSaveReqVO updateReqVO = randomPojo(SaleOrderSaveReqVO.class, o -> { + o.setId(dbSaleOrder.getId()); // 设置更新的 ID + }); + + // 调用 + saleOrderService.updateSaleOrder(updateReqVO); + // 校验是否更新正确 + SaleOrderDO saleOrder = saleOrderMapper.selectById(updateReqVO.getId()); // 获取最新的 + assertPojoEquals(updateReqVO, saleOrder); + } + + @Test + public void testUpdateSaleOrder_notExists() { + // 准备参数 + SaleOrderSaveReqVO updateReqVO = randomPojo(SaleOrderSaveReqVO.class); + + // 调用, 并断言异常 + assertServiceException(() -> saleOrderService.updateSaleOrder(updateReqVO), SALE_ORDER_NOT_EXISTS); + } + + @Test + public void testDeleteSaleOrder_success() { + // mock 数据 + SaleOrderDO dbSaleOrder = randomPojo(SaleOrderDO.class); + saleOrderMapper.insert(dbSaleOrder);// @Sql: 先插入出一条存在的数据 + // 准备参数 + Long id = dbSaleOrder.getId(); + + // 调用 + saleOrderService.deleteSaleOrder(id); + // 校验数据不存在了 + assertNull(saleOrderMapper.selectById(id)); + } + + @Test + public void testDeleteSaleOrder_notExists() { + // 准备参数 + Long id = randomLongId(); + + // 调用, 并断言异常 + assertServiceException(() -> saleOrderService.deleteSaleOrder(id), SALE_ORDER_NOT_EXISTS); + } + + @Test + @Disabled // TODO 请修改 null 为需要的值,然后删除 @Disabled 注解 + public void testGetSaleOrderPage() { + // mock 数据 + SaleOrderDO dbSaleOrder = randomPojo(SaleOrderDO.class, o -> { // 等会查询到 + o.setBillno(null); + o.setCustomerId(null); + o.setBizdate(null); + o.setConfirmdate(null); + o.setPlansenddate(null); + o.setPhone(null); + o.setRemarks(null); + }); + saleOrderMapper.insert(dbSaleOrder); + // 测试 billno 不匹配 + saleOrderMapper.insert(cloneIgnoreId(dbSaleOrder, o -> o.setBillno(null))); + // 测试 customerId 不匹配 + saleOrderMapper.insert(cloneIgnoreId(dbSaleOrder, o -> o.setCustomerId(null))); + // 测试 bizdate 不匹配 + saleOrderMapper.insert(cloneIgnoreId(dbSaleOrder, o -> o.setBizdate(null))); + // 测试 confirmdate 不匹配 + saleOrderMapper.insert(cloneIgnoreId(dbSaleOrder, o -> o.setConfirmdate(null))); + // 测试 plansenddate 不匹配 + saleOrderMapper.insert(cloneIgnoreId(dbSaleOrder, o -> o.setPlansenddate(null))); + // 测试 phone 不匹配 + saleOrderMapper.insert(cloneIgnoreId(dbSaleOrder, o -> o.setPhone(null))); + // 测试 remarks 不匹配 + saleOrderMapper.insert(cloneIgnoreId(dbSaleOrder, o -> o.setRemarks(null))); + // 准备参数 + SaleOrderPageReqVO reqVO = new SaleOrderPageReqVO(); + reqVO.setBillno(null); + reqVO.setCustomerId(null); + reqVO.setBizdate(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); + reqVO.setConfirmdate(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); + reqVO.setPlansenddate(buildBetweenTime(2023, 2, 1, 2023, 2, 28)); + reqVO.setPhone(null); + reqVO.setRemarks(null); + + // 调用 + PageResult pageResult = saleOrderService.getSaleOrderPage(reqVO); + // 断言 + assertEquals(1, pageResult.getTotal()); + assertEquals(1, pageResult.getList().size()); + assertPojoEquals(dbSaleOrder, pageResult.getList().get(0)); + } + +} \ No newline at end of file diff --git a/hangtag-module-system/.flattened-pom.xml b/hangtag-module-system/.flattened-pom.xml new file mode 100644 index 0000000..140afb4 --- /dev/null +++ b/hangtag-module-system/.flattened-pom.xml @@ -0,0 +1,21 @@ + + + 4.0.0 + + cn.hangtag + hangtag + 2.1.0-jdk8-snapshot + + cn.hangtag + hangtag-module-system + 2.1.0-jdk8-snapshot + pom + ${project.artifactId} + system 模块下,我们放通用业务,支撑上层的核心业务。 + 例如说:用户、部门、权限、数据字典等等 + + hangtag-module-system-api + hangtag-module-system-biz + + diff --git a/hangtag-module-system/hangtag-module-system-api/.flattened-pom.xml b/hangtag-module-system/hangtag-module-system-api/.flattened-pom.xml new file mode 100644 index 0000000..5bc7302 --- /dev/null +++ b/hangtag-module-system/hangtag-module-system-api/.flattened-pom.xml @@ -0,0 +1,26 @@ + + + 4.0.0 + + cn.hangtag + hangtag-module-system + 2.1.0-jdk8-snapshot + + cn.hangtag + hangtag-module-system-api + 2.1.0-jdk8-snapshot + ${project.artifactId} + system 模块 API,暴露给其它模块调用 + + + cn.hangtag + hangtag-common + + + org.springframework.boot + spring-boot-starter-validation + true + + + diff --git a/hangtag-module-system/hangtag-module-system-biz/.flattened-pom.xml b/hangtag-module-system/hangtag-module-system-biz/.flattened-pom.xml new file mode 100644 index 0000000..6c24780 --- /dev/null +++ b/hangtag-module-system/hangtag-module-system-biz/.flattened-pom.xml @@ -0,0 +1,105 @@ + + + 4.0.0 + + cn.hangtag + hangtag-module-system + 2.1.0-jdk8-snapshot + + cn.hangtag + hangtag-module-system-biz + 2.1.0-jdk8-snapshot + ${project.artifactId} + system 模块下,我们放通用业务,支撑上层的核心业务。 + 例如说:用户、部门、权限、数据字典等等 + + + cn.hangtag + hangtag-module-system-api + ${revision} + + + cn.hangtag + hangtag-module-infra-api + ${revision} + + + cn.hangtag + hangtag-spring-boot-starter-biz-data-permission + + + cn.hangtag + hangtag-spring-boot-starter-biz-tenant + + + cn.hangtag + hangtag-spring-boot-starter-biz-ip + + + cn.hangtag + hangtag-spring-boot-starter-security + + + org.springframework.boot + spring-boot-starter-validation + + + cn.hangtag + hangtag-spring-boot-starter-mybatis + + + cn.hangtag + hangtag-spring-boot-starter-redis + + + cn.hangtag + hangtag-spring-boot-starter-job + + + cn.hangtag + hangtag-spring-boot-starter-mq + + + cn.hangtag + hangtag-spring-boot-starter-test + test + + + cn.hangtag + hangtag-spring-boot-starter-excel + + + org.springframework.boot + spring-boot-starter-mail + + + com.xingyuv + spring-boot-starter-justauth + + + com.github.binarywang + wx-java-mp-spring-boot-starter + + + com.github.binarywang + wx-java-miniapp-spring-boot-starter + + + com.aliyun + aliyun-java-sdk-core + + + com.aliyun + aliyun-java-sdk-dysmsapi + + + com.tencentcloudapi + tencentcloud-sdk-java-sms + + + com.xingyuv + spring-boot-starter-captcha-plus + + + diff --git a/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/controller/admin/auth/vo/AuthLoginReqVO.java b/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/controller/admin/auth/vo/AuthLoginReqVO.java index 567cba0..2cb5522 100644 --- a/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/controller/admin/auth/vo/AuthLoginReqVO.java +++ b/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/controller/admin/auth/vo/AuthLoginReqVO.java @@ -32,6 +32,8 @@ public class AuthLoginReqVO { @Length(min = 4, max = 16, message = "密码长度为 4-16 位") private String password; + // ========== 平台账号类型 ============ + private Long type; // ========== 图片验证码相关 ========== @Schema(description = "验证码,验证码开启时,需要传递", requiredMode = Schema.RequiredMode.REQUIRED, diff --git a/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/dal/mysql/user/AdminUserMapper.java b/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/dal/mysql/user/AdminUserMapper.java index 255ead8..a99da8d 100644 --- a/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/dal/mysql/user/AdminUserMapper.java +++ b/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/dal/mysql/user/AdminUserMapper.java @@ -13,8 +13,12 @@ import java.util.List; @Mapper public interface AdminUserMapper extends BaseMapperX { - default AdminUserDO selectByUsername(String username) { - return selectOne(AdminUserDO::getUsername, username); + default AdminUserDO selectByUsername(String username,Long type) { + if(type!=null){ + return selectOne(AdminUserDO::getUsername, username,AdminUserDO::getDeptId,type); + }else { + return selectOne(AdminUserDO::getUsername, username); + } } default AdminUserDO selectByEmail(String email) { diff --git a/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/service/auth/AdminAuthService.java b/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/service/auth/AdminAuthService.java index 0f71ac4..a03f502 100644 --- a/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/service/auth/AdminAuthService.java +++ b/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/service/auth/AdminAuthService.java @@ -21,7 +21,7 @@ public interface AdminAuthService { * @param password 密码 * @return 用户 */ - AdminUserDO authenticate(String username, String password); + AdminUserDO authenticate(String username, String password, Long type); /** * 账号登录 diff --git a/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/service/auth/AdminAuthServiceImpl.java b/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/service/auth/AdminAuthServiceImpl.java index 275bd1a..81a594a 100644 --- a/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/service/auth/AdminAuthServiceImpl.java +++ b/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/service/auth/AdminAuthServiceImpl.java @@ -72,10 +72,10 @@ public class AdminAuthServiceImpl implements AdminAuthService { private Boolean captchaEnable; @Override - public AdminUserDO authenticate(String username, String password) { + public AdminUserDO authenticate(String username, String password, Long type) { final LoginLogTypeEnum logTypeEnum = LoginLogTypeEnum.LOGIN_USERNAME; // 校验账号是否存在 - AdminUserDO user = userService.getUserByUsername(username); + AdminUserDO user = userService.getUserByUsername(username,type); if (user == null) { createLoginLog(null, username, logTypeEnum, LoginResultEnum.BAD_CREDENTIALS); throw exception(AUTH_LOGIN_BAD_CREDENTIALS); @@ -98,7 +98,7 @@ public class AdminAuthServiceImpl implements AdminAuthService { validateCaptcha(reqVO); // 使用账号密码,进行登录 - AdminUserDO user = authenticate(reqVO.getUsername(), reqVO.getPassword()); + AdminUserDO user = authenticate(reqVO.getUsername(), reqVO.getPassword(),reqVO.getType()); // 如果 socialType 非空,说明需要绑定社交用户 if (reqVO.getSocialType() != null) { diff --git a/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/service/oauth2/OAuth2GrantServiceImpl.java b/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/service/oauth2/OAuth2GrantServiceImpl.java index 4e75c07..933090b 100644 --- a/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/service/oauth2/OAuth2GrantServiceImpl.java +++ b/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/service/oauth2/OAuth2GrantServiceImpl.java @@ -72,7 +72,7 @@ public class OAuth2GrantServiceImpl implements OAuth2GrantService { @Override public OAuth2AccessTokenDO grantPassword(String username, String password, String clientId, List scopes) { // 使用账号 + 密码进行登录 - AdminUserDO user = adminAuthService.authenticate(username, password); + AdminUserDO user = adminAuthService.authenticate(username, password,null); Assert.notNull(user, "用户不能为空!"); // 防御性编程 // 创建访问令牌 diff --git a/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/service/user/AdminUserService.java b/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/service/user/AdminUserService.java index 3d8b31f..79430fa 100644 --- a/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/service/user/AdminUserService.java +++ b/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/service/user/AdminUserService.java @@ -95,7 +95,7 @@ public interface AdminUserService { * @param username 用户名 * @return 用户对象信息 */ - AdminUserDO getUserByUsername(String username); + AdminUserDO getUserByUsername(String username,Long type); /** * 通过手机号获取用户 diff --git a/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/service/user/AdminUserServiceImpl.java b/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/service/user/AdminUserServiceImpl.java index eac1b2d..335227c 100644 --- a/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/service/user/AdminUserServiceImpl.java +++ b/hangtag-module-system/hangtag-module-system-biz/src/main/java/cn/hangtag/module/system/service/user/AdminUserServiceImpl.java @@ -237,8 +237,8 @@ public class AdminUserServiceImpl implements AdminUserService { } @Override - public AdminUserDO getUserByUsername(String username) { - return userMapper.selectByUsername(username); + public AdminUserDO getUserByUsername(String username,Long type) { + return userMapper.selectByUsername(username,type); } @Override @@ -360,7 +360,7 @@ public class AdminUserServiceImpl implements AdminUserService { if (StrUtil.isBlank(username)) { return; } - AdminUserDO user = userMapper.selectByUsername(username); + AdminUserDO user = userMapper.selectByUsername(username,null); if (user == null) { return; } @@ -443,7 +443,7 @@ public class AdminUserServiceImpl implements AdminUserService { return; } // 判断如果不存在,在进行插入 - AdminUserDO existUser = userMapper.selectByUsername(importUser.getUsername()); + AdminUserDO existUser = userMapper.selectByUsername(importUser.getUsername(),null); if (existUser == null) { userMapper.insert(BeanUtils.toBean(importUser, AdminUserDO.class) .setPassword(encodePassword(userInitPassword)).setPostIds(new HashSet<>())); // 设置默认密码及空岗位编号数组 diff --git a/hangtag-module-system/hangtag-module-system-biz/src/test/java/cn/hangtag/module/system/service/auth/AdminAuthServiceImplTest.java b/hangtag-module-system/hangtag-module-system-biz/src/test/java/cn/hangtag/module/system/service/auth/AdminAuthServiceImplTest.java deleted file mode 100644 index 5070935..0000000 --- a/hangtag-module-system/hangtag-module-system-biz/src/test/java/cn/hangtag/module/system/service/auth/AdminAuthServiceImplTest.java +++ /dev/null @@ -1,372 +0,0 @@ -package cn.hangtag.module.system.service.auth; - -import cn.hutool.core.util.ReflectUtil; -import cn.hangtag.framework.common.enums.CommonStatusEnum; -import cn.hangtag.framework.common.enums.UserTypeEnum; -import cn.hangtag.framework.test.core.ut.BaseDbUnitTest; -import cn.hangtag.module.system.api.sms.SmsCodeApi; -import cn.hangtag.module.system.api.social.dto.SocialUserBindReqDTO; -import cn.hangtag.module.system.api.social.dto.SocialUserRespDTO; -import cn.hangtag.module.system.controller.admin.auth.vo.*; -import cn.hangtag.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO; -import cn.hangtag.module.system.dal.dataobject.user.AdminUserDO; -import cn.hangtag.module.system.enums.logger.LoginLogTypeEnum; -import cn.hangtag.module.system.enums.logger.LoginResultEnum; -import cn.hangtag.module.system.enums.sms.SmsSceneEnum; -import cn.hangtag.module.system.enums.social.SocialTypeEnum; -import cn.hangtag.module.system.service.logger.LoginLogService; -import cn.hangtag.module.system.service.member.MemberService; -import cn.hangtag.module.system.service.oauth2.OAuth2TokenService; -import cn.hangtag.module.system.service.social.SocialUserService; -import cn.hangtag.module.system.service.user.AdminUserService; -import com.xingyuv.captcha.model.common.ResponseModel; -import com.xingyuv.captcha.service.CaptchaService; -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.springframework.boot.test.mock.mockito.MockBean; -import org.springframework.context.annotation.Import; - -import javax.annotation.Resource; -import javax.validation.ConstraintViolationException; -import javax.validation.Validation; -import javax.validation.Validator; - -import static cn.hutool.core.util.RandomUtil.randomEle; -import static cn.hangtag.framework.test.core.util.AssertUtils.assertPojoEquals; -import static cn.hangtag.framework.test.core.util.AssertUtils.assertServiceException; -import static cn.hangtag.framework.test.core.util.RandomUtils.randomPojo; -import static cn.hangtag.framework.test.core.util.RandomUtils.randomString; -import static cn.hangtag.module.system.enums.ErrorCodeConstants.*; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertThrows; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.*; - -@Import(AdminAuthServiceImpl.class) -public class AdminAuthServiceImplTest extends BaseDbUnitTest { - - @Resource - private AdminAuthServiceImpl authService; - - @MockBean - private AdminUserService userService; - @MockBean - private CaptchaService captchaService; - @MockBean - private LoginLogService loginLogService; - @MockBean - private SocialUserService socialUserService; - @MockBean - private SmsCodeApi smsCodeApi; - @MockBean - private OAuth2TokenService oauth2TokenService; - @MockBean - private MemberService memberService; - @MockBean - private Validator validator; - - @BeforeEach - public void setUp() { - ReflectUtil.setFieldValue(authService, "captchaEnable", true); - // 注入一个 Validator 对象 - ReflectUtil.setFieldValue(authService, "validator", - Validation.buildDefaultValidatorFactory().getValidator()); - } - - @Test - public void testAuthenticate_success() { - // 准备参数 - String username = randomString(); - String password = randomString(); - // mock user 数据 - AdminUserDO user = randomPojo(AdminUserDO.class, o -> o.setUsername(username) - .setPassword(password).setStatus(CommonStatusEnum.ENABLE.getStatus())); - when(userService.getUserByUsername(eq(username))).thenReturn(user); - // mock password 匹配 - when(userService.isPasswordMatch(eq(password), eq(user.getPassword()))).thenReturn(true); - - // 调用 - AdminUserDO loginUser = authService.authenticate(username, password); - // 校验 - assertPojoEquals(user, loginUser); - } - - @Test - public void testAuthenticate_userNotFound() { - // 准备参数 - String username = randomString(); - String password = randomString(); - - // 调用, 并断言异常 - assertServiceException(() -> authService.authenticate(username, password), - AUTH_LOGIN_BAD_CREDENTIALS); - verify(loginLogService).createLoginLog( - argThat(o -> o.getLogType().equals(LoginLogTypeEnum.LOGIN_USERNAME.getType()) - && o.getResult().equals(LoginResultEnum.BAD_CREDENTIALS.getResult()) - && o.getUserId() == null) - ); - } - - @Test - public void testAuthenticate_badCredentials() { - // 准备参数 - String username = randomString(); - String password = randomString(); - // mock user 数据 - AdminUserDO user = randomPojo(AdminUserDO.class, o -> o.setUsername(username) - .setPassword(password).setStatus(CommonStatusEnum.ENABLE.getStatus())); - when(userService.getUserByUsername(eq(username))).thenReturn(user); - - // 调用, 并断言异常 - assertServiceException(() -> authService.authenticate(username, password), - AUTH_LOGIN_BAD_CREDENTIALS); - verify(loginLogService).createLoginLog( - argThat(o -> o.getLogType().equals(LoginLogTypeEnum.LOGIN_USERNAME.getType()) - && o.getResult().equals(LoginResultEnum.BAD_CREDENTIALS.getResult()) - && o.getUserId().equals(user.getId())) - ); - } - - @Test - public void testAuthenticate_userDisabled() { - // 准备参数 - String username = randomString(); - String password = randomString(); - // mock user 数据 - AdminUserDO user = randomPojo(AdminUserDO.class, o -> o.setUsername(username) - .setPassword(password).setStatus(CommonStatusEnum.DISABLE.getStatus())); - when(userService.getUserByUsername(eq(username))).thenReturn(user); - // mock password 匹配 - when(userService.isPasswordMatch(eq(password), eq(user.getPassword()))).thenReturn(true); - - // 调用, 并断言异常 - assertServiceException(() -> authService.authenticate(username, password), - AUTH_LOGIN_USER_DISABLED); - verify(loginLogService).createLoginLog( - argThat(o -> o.getLogType().equals(LoginLogTypeEnum.LOGIN_USERNAME.getType()) - && o.getResult().equals(LoginResultEnum.USER_DISABLED.getResult()) - && o.getUserId().equals(user.getId())) - ); - } - - @Test - public void testLogin_success() { - // 准备参数 - AuthLoginReqVO reqVO = randomPojo(AuthLoginReqVO.class, o -> - o.setUsername("test_username").setPassword("test_password") - .setSocialType(randomEle(SocialTypeEnum.values()).getType())); - - // mock 验证码正确 - ReflectUtil.setFieldValue(authService, "captchaEnable", false); - // mock user 数据 - AdminUserDO user = randomPojo(AdminUserDO.class, o -> o.setId(1L).setUsername("test_username") - .setPassword("test_password").setStatus(CommonStatusEnum.ENABLE.getStatus())); - when(userService.getUserByUsername(eq("test_username"))).thenReturn(user); - // mock password 匹配 - when(userService.isPasswordMatch(eq("test_password"), eq(user.getPassword()))).thenReturn(true); - // mock 缓存登录用户到 Redis - OAuth2AccessTokenDO accessTokenDO = randomPojo(OAuth2AccessTokenDO.class, o -> o.setUserId(1L) - .setUserType(UserTypeEnum.ADMIN.getValue())); - when(oauth2TokenService.createAccessToken(eq(1L), eq(UserTypeEnum.ADMIN.getValue()), eq("default"), isNull())) - .thenReturn(accessTokenDO); - - // 调用,并校验 - AuthLoginRespVO loginRespVO = authService.login(reqVO); - assertPojoEquals(accessTokenDO, loginRespVO); - // 校验调用参数 - verify(loginLogService).createLoginLog( - argThat(o -> o.getLogType().equals(LoginLogTypeEnum.LOGIN_USERNAME.getType()) - && o.getResult().equals(LoginResultEnum.SUCCESS.getResult()) - && o.getUserId().equals(user.getId())) - ); - verify(socialUserService).bindSocialUser(eq(new SocialUserBindReqDTO( - user.getId(), UserTypeEnum.ADMIN.getValue(), - reqVO.getSocialType(), reqVO.getSocialCode(), reqVO.getSocialState()))); - } - - @Test - public void testSendSmsCode() { - // 准备参数 - String mobile = randomString(); - Integer scene = randomEle(SmsSceneEnum.values()).getScene(); - AuthSmsSendReqVO reqVO = new AuthSmsSendReqVO(mobile, scene); - // mock 方法(用户信息) - AdminUserDO user = randomPojo(AdminUserDO.class); - when(userService.getUserByMobile(eq(mobile))).thenReturn(user); - - // 调用 - authService.sendSmsCode(reqVO); - // 断言 - verify(smsCodeApi).sendSmsCode(argThat(sendReqDTO -> { - assertEquals(mobile, sendReqDTO.getMobile()); - assertEquals(scene, sendReqDTO.getScene()); - return true; - })); - } - - @Test - public void testSmsLogin_success() { - // 准备参数 - String mobile = randomString(); - String code = randomString(); - AuthSmsLoginReqVO reqVO = new AuthSmsLoginReqVO(mobile, code); - // mock 方法(用户信息) - AdminUserDO user = randomPojo(AdminUserDO.class, o -> o.setId(1L)); - when(userService.getUserByMobile(eq(mobile))).thenReturn(user); - // mock 缓存登录用户到 Redis - OAuth2AccessTokenDO accessTokenDO = randomPojo(OAuth2AccessTokenDO.class, o -> o.setUserId(1L) - .setUserType(UserTypeEnum.ADMIN.getValue())); - when(oauth2TokenService.createAccessToken(eq(1L), eq(UserTypeEnum.ADMIN.getValue()), eq("default"), isNull())) - .thenReturn(accessTokenDO); - - // 调用,并断言 - AuthLoginRespVO loginRespVO = authService.smsLogin(reqVO); - assertPojoEquals(accessTokenDO, loginRespVO); - // 断言调用 - verify(loginLogService).createLoginLog( - argThat(o -> o.getLogType().equals(LoginLogTypeEnum.LOGIN_MOBILE.getType()) - && o.getResult().equals(LoginResultEnum.SUCCESS.getResult()) - && o.getUserId().equals(user.getId())) - ); - } - - @Test - public void testSocialLogin_success() { - // 准备参数 - AuthSocialLoginReqVO reqVO = randomPojo(AuthSocialLoginReqVO.class); - // mock 方法(绑定的用户编号) - Long userId = 1L; - when(socialUserService.getSocialUserByCode(eq(UserTypeEnum.ADMIN.getValue()), eq(reqVO.getType()), - eq(reqVO.getCode()), eq(reqVO.getState()))).thenReturn(new SocialUserRespDTO(randomString(), randomString(), randomString(), userId)); - // mock(用户) - AdminUserDO user = randomPojo(AdminUserDO.class, o -> o.setId(userId)); - when(userService.getUser(eq(userId))).thenReturn(user); - // mock 缓存登录用户到 Redis - OAuth2AccessTokenDO accessTokenDO = randomPojo(OAuth2AccessTokenDO.class, o -> o.setUserId(1L) - .setUserType(UserTypeEnum.ADMIN.getValue())); - when(oauth2TokenService.createAccessToken(eq(1L), eq(UserTypeEnum.ADMIN.getValue()), eq("default"), isNull())) - .thenReturn(accessTokenDO); - - // 调用,并断言 - AuthLoginRespVO loginRespVO = authService.socialLogin(reqVO); - assertPojoEquals(accessTokenDO, loginRespVO); - // 断言调用 - verify(loginLogService).createLoginLog( - argThat(o -> o.getLogType().equals(LoginLogTypeEnum.LOGIN_SOCIAL.getType()) - && o.getResult().equals(LoginResultEnum.SUCCESS.getResult()) - && o.getUserId().equals(user.getId())) - ); - } - - @Test - public void testValidateCaptcha_successWithEnable() { - // 准备参数 - AuthLoginReqVO reqVO = randomPojo(AuthLoginReqVO.class); - - // mock 验证码打开 - ReflectUtil.setFieldValue(authService, "captchaEnable", true); - // mock 验证通过 - when(captchaService.verification(argThat(captchaVO -> { - assertEquals(reqVO.getCaptchaVerification(), captchaVO.getCaptchaVerification()); - return true; - }))).thenReturn(ResponseModel.success()); - - // 调用,无需断言 - authService.validateCaptcha(reqVO); - } - - @Test - public void testValidateCaptcha_successWithDisable() { - // 准备参数 - AuthLoginReqVO reqVO = randomPojo(AuthLoginReqVO.class); - - // mock 验证码关闭 - ReflectUtil.setFieldValue(authService, "captchaEnable", false); - - // 调用,无需断言 - authService.validateCaptcha(reqVO); - } - - @Test - public void testValidateCaptcha_constraintViolationException() { - // 准备参数 - AuthLoginReqVO reqVO = randomPojo(AuthLoginReqVO.class).setCaptchaVerification(null); - - // mock 验证码打开 - ReflectUtil.setFieldValue(authService, "captchaEnable", true); - - // 调用,并断言异常 - assertThrows(ConstraintViolationException.class, () -> authService.validateCaptcha(reqVO), - "验证码不能为空"); - } - - - @Test - public void testCaptcha_fail() { - // 准备参数 - AuthLoginReqVO reqVO = randomPojo(AuthLoginReqVO.class); - - // mock 验证码打开 - ReflectUtil.setFieldValue(authService, "captchaEnable", true); - // mock 验证通过 - when(captchaService.verification(argThat(captchaVO -> { - assertEquals(reqVO.getCaptchaVerification(), captchaVO.getCaptchaVerification()); - return true; - }))).thenReturn(ResponseModel.errorMsg("就是不对")); - - // 调用, 并断言异常 - assertServiceException(() -> authService.validateCaptcha(reqVO), AUTH_LOGIN_CAPTCHA_CODE_ERROR, "就是不对"); - // 校验调用参数 - verify(loginLogService).createLoginLog( - argThat(o -> o.getLogType().equals(LoginLogTypeEnum.LOGIN_USERNAME.getType()) - && o.getResult().equals(LoginResultEnum.CAPTCHA_CODE_ERROR.getResult())) - ); - } - - @Test - public void testRefreshToken() { - // 准备参数 - String refreshToken = randomString(); - // mock 方法 - OAuth2AccessTokenDO accessTokenDO = randomPojo(OAuth2AccessTokenDO.class); - when(oauth2TokenService.refreshAccessToken(eq(refreshToken), eq("default"))) - .thenReturn(accessTokenDO); - - // 调用 - AuthLoginRespVO loginRespVO = authService.refreshToken(refreshToken); - // 断言 - assertPojoEquals(accessTokenDO, loginRespVO); - } - - @Test - public void testLogout_success() { - // 准备参数 - String token = randomString(); - // mock - OAuth2AccessTokenDO accessTokenDO = randomPojo(OAuth2AccessTokenDO.class, o -> o.setUserId(1L) - .setUserType(UserTypeEnum.ADMIN.getValue())); - when(oauth2TokenService.removeAccessToken(eq(token))).thenReturn(accessTokenDO); - - // 调用 - authService.logout(token, LoginLogTypeEnum.LOGOUT_SELF.getType()); - // 校验调用参数 - verify(loginLogService).createLoginLog( - argThat(o -> o.getLogType().equals(LoginLogTypeEnum.LOGOUT_SELF.getType()) - && o.getResult().equals(LoginResultEnum.SUCCESS.getResult())) - ); - // 调用,并校验 - - } - - @Test - public void testLogout_fail() { - // 准备参数 - String token = randomString(); - - // 调用 - authService.logout(token, LoginLogTypeEnum.LOGOUT_SELF.getType()); - // 校验调用参数 - verify(loginLogService, never()).createLoginLog(any()); - } - -} diff --git a/hangtag-module-system/hangtag-module-system-biz/src/test/java/cn/hangtag/module/system/service/oauth2/OAuth2GrantServiceImplTest.java b/hangtag-module-system/hangtag-module-system-biz/src/test/java/cn/hangtag/module/system/service/oauth2/OAuth2GrantServiceImplTest.java deleted file mode 100644 index 551af2b..0000000 --- a/hangtag-module-system/hangtag-module-system-biz/src/test/java/cn/hangtag/module/system/service/oauth2/OAuth2GrantServiceImplTest.java +++ /dev/null @@ -1,173 +0,0 @@ -package cn.hangtag.module.system.service.oauth2; - -import cn.hangtag.framework.common.enums.UserTypeEnum; -import cn.hangtag.framework.test.core.ut.BaseMockitoUnitTest; -import cn.hangtag.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO; -import cn.hangtag.module.system.dal.dataobject.oauth2.OAuth2CodeDO; -import cn.hangtag.module.system.dal.dataobject.user.AdminUserDO; -import cn.hangtag.module.system.service.auth.AdminAuthService; -import com.google.common.collect.Lists; -import org.junit.jupiter.api.Test; -import org.mockito.InjectMocks; -import org.mockito.Mock; - -import java.util.List; - -import static cn.hutool.core.util.RandomUtil.randomEle; -import static cn.hangtag.framework.test.core.util.AssertUtils.assertPojoEquals; -import static cn.hangtag.framework.test.core.util.RandomUtils.*; -import static java.util.Collections.emptyList; -import static org.junit.jupiter.api.Assertions.*; -import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.when; - -/** - * {@link OAuth2GrantServiceImpl} 的单元测试 - * - * @author 芋道源码 - */ -public class OAuth2GrantServiceImplTest extends BaseMockitoUnitTest { - - @InjectMocks - private OAuth2GrantServiceImpl oauth2GrantService; - - @Mock - private OAuth2TokenService oauth2TokenService; - @Mock - private OAuth2CodeService oauth2CodeService; - @Mock - private AdminAuthService adminAuthService; - - @Test - public void testGrantImplicit() { - // 准备参数 - Long userId = randomLongId(); - Integer userType = randomEle(UserTypeEnum.values()).getValue(); - String clientId = randomString(); - List scopes = Lists.newArrayList("read", "write"); - // mock 方法 - OAuth2AccessTokenDO accessTokenDO = randomPojo(OAuth2AccessTokenDO.class); - when(oauth2TokenService.createAccessToken(eq(userId), eq(userType), - eq(clientId), eq(scopes))).thenReturn(accessTokenDO); - - // 调用,并断言 - assertPojoEquals(accessTokenDO, oauth2GrantService.grantImplicit( - userId, userType, clientId, scopes)); - } - - @Test - public void testGrantAuthorizationCodeForCode() { - // 准备参数 - Long userId = randomLongId(); - Integer userType = randomEle(UserTypeEnum.values()).getValue(); - String clientId = randomString(); - List scopes = Lists.newArrayList("read", "write"); - String redirectUri = randomString(); - String state = randomString(); - // mock 方法 - OAuth2CodeDO codeDO = randomPojo(OAuth2CodeDO.class); - when(oauth2CodeService.createAuthorizationCode(eq(userId), eq(userType), - eq(clientId), eq(scopes), eq(redirectUri), eq(state))).thenReturn(codeDO); - - // 调用,并断言 - assertEquals(codeDO.getCode(), oauth2GrantService.grantAuthorizationCodeForCode(userId, userType, - clientId, scopes, redirectUri, state)); - } - - @Test - public void testGrantAuthorizationCodeForAccessToken() { - // 准备参数 - String clientId = randomString(); - String code = randomString(); - List scopes = Lists.newArrayList("read", "write"); - String redirectUri = randomString(); - String state = randomString(); - // mock 方法(code) - OAuth2CodeDO codeDO = randomPojo(OAuth2CodeDO.class, o -> { - o.setClientId(clientId); - o.setRedirectUri(redirectUri); - o.setState(state); - o.setScopes(scopes); - }); - when(oauth2CodeService.consumeAuthorizationCode(eq(code))).thenReturn(codeDO); - // mock 方法(创建令牌) - OAuth2AccessTokenDO accessTokenDO = randomPojo(OAuth2AccessTokenDO.class); - when(oauth2TokenService.createAccessToken(eq(codeDO.getUserId()), eq(codeDO.getUserType()), - eq(codeDO.getClientId()), eq(codeDO.getScopes()))).thenReturn(accessTokenDO); - - // 调用,并断言 - assertPojoEquals(accessTokenDO, oauth2GrantService.grantAuthorizationCodeForAccessToken( - clientId, code, redirectUri, state)); - } - - @Test - public void testGrantPassword() { - // 准备参数 - String username = randomString(); - String password = randomString(); - String clientId = randomString(); - List scopes = Lists.newArrayList("read", "write"); - // mock 方法(认证) - AdminUserDO user = randomPojo(AdminUserDO.class); - when(adminAuthService.authenticate(eq(username), eq(password))).thenReturn(user); - // mock 方法(访问令牌) - OAuth2AccessTokenDO accessTokenDO = randomPojo(OAuth2AccessTokenDO.class); - when(oauth2TokenService.createAccessToken(eq(user.getId()), eq(UserTypeEnum.ADMIN.getValue()), - eq(clientId), eq(scopes))).thenReturn(accessTokenDO); - - // 调用,并断言 - assertPojoEquals(accessTokenDO, oauth2GrantService.grantPassword( - username, password, clientId, scopes)); - } - - @Test - public void testGrantRefreshToken() { - // 准备参数 - String refreshToken = randomString(); - String clientId = randomString(); - // mock 方法 - OAuth2AccessTokenDO accessTokenDO = randomPojo(OAuth2AccessTokenDO.class); - when(oauth2TokenService.refreshAccessToken(eq(refreshToken), eq(clientId))) - .thenReturn(accessTokenDO); - - // 调用,并断言 - assertPojoEquals(accessTokenDO, oauth2GrantService.grantRefreshToken( - refreshToken, clientId)); - } - - @Test - public void testGrantClientCredentials() { - assertThrows(UnsupportedOperationException.class, - () -> oauth2GrantService.grantClientCredentials(randomString(), emptyList()), - "暂时不支持 client_credentials 授权模式"); - } - - @Test - public void testRevokeToken_clientIdError() { - // 准备参数 - String clientId = randomString(); - String accessToken = randomString(); - // mock 方法 - OAuth2AccessTokenDO accessTokenDO = randomPojo(OAuth2AccessTokenDO.class); - when(oauth2TokenService.getAccessToken(eq(accessToken))).thenReturn(accessTokenDO); - - // 调用,并断言 - assertFalse(oauth2GrantService.revokeToken(clientId, accessToken)); - } - - @Test - public void testRevokeToken_success() { - // 准备参数 - String clientId = randomString(); - String accessToken = randomString(); - // mock 方法(访问令牌) - OAuth2AccessTokenDO accessTokenDO = randomPojo(OAuth2AccessTokenDO.class).setClientId(clientId); - when(oauth2TokenService.getAccessToken(eq(accessToken))).thenReturn(accessTokenDO); - // mock 方法(移除) - when(oauth2TokenService.removeAccessToken(eq(accessToken))).thenReturn(accessTokenDO); - - // 调用,并断言 - assertTrue(oauth2GrantService.revokeToken(clientId, accessToken)); - } - -} diff --git a/hangtag-module-system/hangtag-module-system-biz/src/test/java/cn/hangtag/module/system/service/user/AdminUserServiceImplTest.java b/hangtag-module-system/hangtag-module-system-biz/src/test/java/cn/hangtag/module/system/service/user/AdminUserServiceImplTest.java deleted file mode 100644 index 5a90328..0000000 --- a/hangtag-module-system/hangtag-module-system-biz/src/test/java/cn/hangtag/module/system/service/user/AdminUserServiceImplTest.java +++ /dev/null @@ -1,762 +0,0 @@ -package cn.hangtag.module.system.service.user; - -import cn.hutool.core.util.RandomUtil; -import cn.hangtag.framework.common.enums.CommonStatusEnum; -import cn.hangtag.framework.common.exception.ServiceException; -import cn.hangtag.framework.common.pojo.PageResult; -import cn.hangtag.framework.common.util.collection.ArrayUtils; -import cn.hangtag.framework.common.util.collection.CollectionUtils; -import cn.hangtag.framework.test.core.ut.BaseDbUnitTest; -import cn.hangtag.module.infra.api.file.FileApi; -import cn.hangtag.module.system.controller.admin.user.vo.profile.UserProfileUpdatePasswordReqVO; -import cn.hangtag.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO; -import cn.hangtag.module.system.controller.admin.user.vo.user.*; -import cn.hangtag.module.system.dal.dataobject.dept.DeptDO; -import cn.hangtag.module.system.dal.dataobject.dept.PostDO; -import cn.hangtag.module.system.dal.dataobject.dept.UserPostDO; -import cn.hangtag.module.system.dal.dataobject.tenant.TenantDO; -import cn.hangtag.module.system.dal.dataobject.user.AdminUserDO; -import cn.hangtag.module.system.dal.mysql.dept.UserPostMapper; -import cn.hangtag.module.system.dal.mysql.user.AdminUserMapper; -import cn.hangtag.module.system.enums.common.SexEnum; -import cn.hangtag.module.system.service.dept.DeptService; -import cn.hangtag.module.system.service.dept.PostService; -import cn.hangtag.module.system.service.permission.PermissionService; -import cn.hangtag.module.system.service.tenant.TenantService; -import org.junit.jupiter.api.Test; -import org.mockito.stubbing.Answer; -import org.springframework.boot.test.mock.mockito.MockBean; -import org.springframework.context.annotation.Import; -import org.springframework.security.crypto.password.PasswordEncoder; - -import javax.annotation.Resource; -import java.io.ByteArrayInputStream; -import java.util.Collection; -import java.util.List; -import java.util.Map; -import java.util.function.Consumer; - -import static cn.hutool.core.util.RandomUtil.randomBytes; -import static cn.hutool.core.util.RandomUtil.randomEle; -import static cn.hangtag.framework.common.util.collection.SetUtils.asSet; -import static cn.hangtag.framework.common.util.date.LocalDateTimeUtils.buildBetweenTime; -import static cn.hangtag.framework.common.util.date.LocalDateTimeUtils.buildTime; -import static cn.hangtag.framework.common.util.object.ObjectUtils.cloneIgnoreId; -import static cn.hangtag.framework.test.core.util.AssertUtils.assertPojoEquals; -import static cn.hangtag.framework.test.core.util.AssertUtils.assertServiceException; -import static cn.hangtag.framework.test.core.util.RandomUtils.*; -import static cn.hangtag.module.system.enums.ErrorCodeConstants.*; -import static java.util.Collections.singleton; -import static java.util.Collections.singletonList; -import static org.assertj.core.util.Lists.newArrayList; -import static org.junit.jupiter.api.Assertions.*; -import static org.mockito.ArgumentMatchers.*; -import static org.mockito.Mockito.*; - -@Import(AdminUserServiceImpl.class) -public class AdminUserServiceImplTest extends BaseDbUnitTest { - - @Resource - private AdminUserServiceImpl userService; - - @Resource - private AdminUserMapper userMapper; - @Resource - private UserPostMapper userPostMapper; - - @MockBean - private DeptService deptService; - @MockBean - private PostService postService; - @MockBean - private PermissionService permissionService; - @MockBean - private PasswordEncoder passwordEncoder; - @MockBean - private TenantService tenantService; - @MockBean - private FileApi fileApi; - - @Test - public void testCreatUser_success() { - // 准备参数 - UserSaveReqVO reqVO = randomPojo(UserSaveReqVO.class, o -> { - o.setSex(RandomUtil.randomEle(SexEnum.values()).getSex()); - o.setMobile(randomString()); - o.setPostIds(asSet(1L, 2L)); - }).setId(null); // 避免 id 被赋值 - // mock 账户额度充足 - TenantDO tenant = randomPojo(TenantDO.class, o -> o.setAccountCount(1)); - doNothing().when(tenantService).handleTenantInfo(argThat(handler -> { - handler.handle(tenant); - return true; - })); - // mock deptService 的方法 - DeptDO dept = randomPojo(DeptDO.class, o -> { - o.setId(reqVO.getDeptId()); - o.setStatus(CommonStatusEnum.ENABLE.getStatus()); - }); - when(deptService.getDept(eq(dept.getId()))).thenReturn(dept); - // mock postService 的方法 - List posts = CollectionUtils.convertList(reqVO.getPostIds(), postId -> - randomPojo(PostDO.class, o -> { - o.setId(postId); - o.setStatus(CommonStatusEnum.ENABLE.getStatus()); - })); - when(postService.getPostList(eq(reqVO.getPostIds()), isNull())).thenReturn(posts); - // mock passwordEncoder 的方法 - when(passwordEncoder.encode(eq(reqVO.getPassword()))).thenReturn("hangtagyuanma"); - - // 调用 - Long userId = userService.createUser(reqVO); - // 断言 - AdminUserDO user = userMapper.selectById(userId); - assertPojoEquals(reqVO, user, "password", "id"); - assertEquals("hangtagyuanma", user.getPassword()); - assertEquals(CommonStatusEnum.ENABLE.getStatus(), user.getStatus()); - // 断言关联岗位 - List userPosts = userPostMapper.selectListByUserId(user.getId()); - assertEquals(1L, userPosts.get(0).getPostId()); - assertEquals(2L, userPosts.get(1).getPostId()); - } - - @Test - public void testCreatUser_max() { - // 准备参数 - UserSaveReqVO reqVO = randomPojo(UserSaveReqVO.class); - // mock 账户额度不足 - TenantDO tenant = randomPojo(TenantDO.class, o -> o.setAccountCount(-1)); - doNothing().when(tenantService).handleTenantInfo(argThat(handler -> { - handler.handle(tenant); - return true; - })); - - // 调用,并断言异常 - assertServiceException(() -> userService.createUser(reqVO), USER_COUNT_MAX, -1); - } - - @Test - public void testUpdateUser_success() { - // mock 数据 - AdminUserDO dbUser = randomAdminUserDO(o -> o.setPostIds(asSet(1L, 2L))); - userMapper.insert(dbUser); - userPostMapper.insert(new UserPostDO().setUserId(dbUser.getId()).setPostId(1L)); - userPostMapper.insert(new UserPostDO().setUserId(dbUser.getId()).setPostId(2L)); - // 准备参数 - UserSaveReqVO reqVO = randomPojo(UserSaveReqVO.class, o -> { - o.setId(dbUser.getId()); - o.setSex(RandomUtil.randomEle(SexEnum.values()).getSex()); - o.setMobile(randomString()); - o.setPostIds(asSet(2L, 3L)); - }); - // mock deptService 的方法 - DeptDO dept = randomPojo(DeptDO.class, o -> { - o.setId(reqVO.getDeptId()); - o.setStatus(CommonStatusEnum.ENABLE.getStatus()); - }); - when(deptService.getDept(eq(dept.getId()))).thenReturn(dept); - // mock postService 的方法 - List posts = CollectionUtils.convertList(reqVO.getPostIds(), postId -> - randomPojo(PostDO.class, o -> { - o.setId(postId); - o.setStatus(CommonStatusEnum.ENABLE.getStatus()); - })); - when(postService.getPostList(eq(reqVO.getPostIds()), isNull())).thenReturn(posts); - - // 调用 - userService.updateUser(reqVO); - // 断言 - AdminUserDO user = userMapper.selectById(reqVO.getId()); - assertPojoEquals(reqVO, user, "password"); - // 断言关联岗位 - List userPosts = userPostMapper.selectListByUserId(user.getId()); - assertEquals(2L, userPosts.get(0).getPostId()); - assertEquals(3L, userPosts.get(1).getPostId()); - } - - @Test - public void testUpdateUserLogin() { - // mock 数据 - AdminUserDO user = randomAdminUserDO(o -> o.setLoginDate(null)); - userMapper.insert(user); - // 准备参数 - Long id = user.getId(); - String loginIp = randomString(); - - // 调用 - userService.updateUserLogin(id, loginIp); - // 断言 - AdminUserDO dbUser = userMapper.selectById(id); - assertEquals(loginIp, dbUser.getLoginIp()); - assertNotNull(dbUser.getLoginDate()); - } - - @Test - public void testUpdateUserProfile_success() { - // mock 数据 - AdminUserDO dbUser = randomAdminUserDO(); - userMapper.insert(dbUser); - // 准备参数 - Long userId = dbUser.getId(); - UserProfileUpdateReqVO reqVO = randomPojo(UserProfileUpdateReqVO.class, o -> { - o.setMobile(randomString()); - o.setSex(RandomUtil.randomEle(SexEnum.values()).getSex()); - }); - - // 调用 - userService.updateUserProfile(userId, reqVO); - // 断言 - AdminUserDO user = userMapper.selectById(userId); - assertPojoEquals(reqVO, user); - } - - @Test - public void testUpdateUserPassword_success() { - // mock 数据 - AdminUserDO dbUser = randomAdminUserDO(o -> o.setPassword("encode:tudou")); - userMapper.insert(dbUser); - // 准备参数 - Long userId = dbUser.getId(); - UserProfileUpdatePasswordReqVO reqVO = randomPojo(UserProfileUpdatePasswordReqVO.class, o -> { - o.setOldPassword("tudou"); - o.setNewPassword("yuanma"); - }); - // mock 方法 - when(passwordEncoder.encode(anyString())).then( - (Answer) invocationOnMock -> "encode:" + invocationOnMock.getArgument(0)); - when(passwordEncoder.matches(eq(reqVO.getOldPassword()), eq(dbUser.getPassword()))).thenReturn(true); - - // 调用 - userService.updateUserPassword(userId, reqVO); - // 断言 - AdminUserDO user = userMapper.selectById(userId); - assertEquals("encode:yuanma", user.getPassword()); - } - - @Test - public void testUpdateUserAvatar_success() throws Exception { - // mock 数据 - AdminUserDO dbUser = randomAdminUserDO(); - userMapper.insert(dbUser); - // 准备参数 - Long userId = dbUser.getId(); - byte[] avatarFileBytes = randomBytes(10); - ByteArrayInputStream avatarFile = new ByteArrayInputStream(avatarFileBytes); - // mock 方法 - String avatar = randomString(); - when(fileApi.createFile(eq( avatarFileBytes))).thenReturn(avatar); - - // 调用 - userService.updateUserAvatar(userId, avatarFile); - // 断言 - AdminUserDO user = userMapper.selectById(userId); - assertEquals(avatar, user.getAvatar()); - } - - @Test - public void testUpdateUserPassword02_success() { - // mock 数据 - AdminUserDO dbUser = randomAdminUserDO(); - userMapper.insert(dbUser); - // 准备参数 - Long userId = dbUser.getId(); - String password = "hangtag"; - // mock 方法 - when(passwordEncoder.encode(anyString())).then( - (Answer) invocationOnMock -> "encode:" + invocationOnMock.getArgument(0)); - - // 调用 - userService.updateUserPassword(userId, password); - // 断言 - AdminUserDO user = userMapper.selectById(userId); - assertEquals("encode:" + password, user.getPassword()); - } - - @Test - public void testUpdateUserStatus() { - // mock 数据 - AdminUserDO dbUser = randomAdminUserDO(); - userMapper.insert(dbUser); - // 准备参数 - Long userId = dbUser.getId(); - Integer status = randomCommonStatus(); - - // 调用 - userService.updateUserStatus(userId, status); - // 断言 - AdminUserDO user = userMapper.selectById(userId); - assertEquals(status, user.getStatus()); - } - - @Test - public void testDeleteUser_success(){ - // mock 数据 - AdminUserDO dbUser = randomAdminUserDO(); - userMapper.insert(dbUser); - // 准备参数 - Long userId = dbUser.getId(); - - // 调用数据 - userService.deleteUser(userId); - // 校验结果 - assertNull(userMapper.selectById(userId)); - // 校验调用次数 - verify(permissionService, times(1)).processUserDeleted(eq(userId)); - } - - @Test - public void testGetUserByUsername() { - // mock 数据 - AdminUserDO dbUser = randomAdminUserDO(); - userMapper.insert(dbUser); - // 准备参数 - String username = dbUser.getUsername(); - - // 调用 - AdminUserDO user = userService.getUserByUsername(username); - // 断言 - assertPojoEquals(dbUser, user); - } - - @Test - public void testGetUserByMobile() { - // mock 数据 - AdminUserDO dbUser = randomAdminUserDO(); - userMapper.insert(dbUser); - // 准备参数 - String mobile = dbUser.getMobile(); - - // 调用 - AdminUserDO user = userService.getUserByMobile(mobile); - // 断言 - assertPojoEquals(dbUser, user); - } - - @Test - public void testGetUserPage() { - // mock 数据 - AdminUserDO dbUser = initGetUserPageData(); - // 准备参数 - UserPageReqVO reqVO = new UserPageReqVO(); - reqVO.setUsername("tu"); - reqVO.setMobile("1560"); - reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus()); - reqVO.setCreateTime(buildBetweenTime(2020, 12, 1, 2020, 12, 24)); - reqVO.setDeptId(1L); // 其中,1L 是 2L 的父部门 - // mock 方法 - List deptList = newArrayList(randomPojo(DeptDO.class, o -> o.setId(2L))); - when(deptService.getChildDeptList(eq(reqVO.getDeptId()))).thenReturn(deptList); - - // 调用 - PageResult pageResult = userService.getUserPage(reqVO); - // 断言 - assertEquals(1, pageResult.getTotal()); - assertEquals(1, pageResult.getList().size()); - assertPojoEquals(dbUser, pageResult.getList().get(0)); - } - - /** - * 初始化 getUserPage 方法的测试数据 - */ - private AdminUserDO initGetUserPageData() { - // mock 数据 - AdminUserDO dbUser = randomAdminUserDO(o -> { // 等会查询到 - o.setUsername("tudou"); - o.setMobile("15601691300"); - o.setStatus(CommonStatusEnum.ENABLE.getStatus()); - o.setCreateTime(buildTime(2020, 12, 12)); - o.setDeptId(2L); - }); - userMapper.insert(dbUser); - // 测试 username 不匹配 - userMapper.insert(cloneIgnoreId(dbUser, o -> o.setUsername("dou"))); - // 测试 mobile 不匹配 - userMapper.insert(cloneIgnoreId(dbUser, o -> o.setMobile("18818260888"))); - // 测试 status 不匹配 - userMapper.insert(cloneIgnoreId(dbUser, o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus()))); - // 测试 createTime 不匹配 - userMapper.insert(cloneIgnoreId(dbUser, o -> o.setCreateTime(buildTime(2020, 11, 11)))); - // 测试 dept 不匹配 - userMapper.insert(cloneIgnoreId(dbUser, o -> o.setDeptId(0L))); - return dbUser; - } - - @Test - public void testGetUser() { - // mock 数据 - AdminUserDO dbUser = randomAdminUserDO(); - userMapper.insert(dbUser); - // 准备参数 - Long userId = dbUser.getId(); - - // 调用 - AdminUserDO user = userService.getUser(userId); - // 断言 - assertPojoEquals(dbUser, user); - } - - @Test - public void testGetUserListByDeptIds() { - // mock 数据 - AdminUserDO dbUser = randomAdminUserDO(o -> o.setDeptId(1L)); - userMapper.insert(dbUser); - // 测试 deptId 不匹配 - userMapper.insert(cloneIgnoreId(dbUser, o -> o.setDeptId(2L))); - // 准备参数 - Collection deptIds = singleton(1L); - - // 调用 - List list = userService.getUserListByDeptIds(deptIds); - // 断言 - assertEquals(1, list.size()); - assertEquals(dbUser, list.get(0)); - } - - /** - * 情况一,校验不通过,导致插入失败 - */ - @Test - public void testImportUserList_01() { - // 准备参数 - UserImportExcelVO importUser = randomPojo(UserImportExcelVO.class, o -> { - }); - // mock 方法,模拟失败 - doThrow(new ServiceException(DEPT_NOT_FOUND)).when(deptService).validateDeptList(any()); - - // 调用 - UserImportRespVO respVO = userService.importUserList(newArrayList(importUser), true); - // 断言 - assertEquals(0, respVO.getCreateUsernames().size()); - assertEquals(0, respVO.getUpdateUsernames().size()); - assertEquals(1, respVO.getFailureUsernames().size()); - assertEquals(DEPT_NOT_FOUND.getMsg(), respVO.getFailureUsernames().get(importUser.getUsername())); - } - - /** - * 情况二,不存在,进行插入 - */ - @Test - public void testImportUserList_02() { - // 准备参数 - UserImportExcelVO importUser = randomPojo(UserImportExcelVO.class, o -> { - o.setStatus(randomEle(CommonStatusEnum.values()).getStatus()); // 保证 status 的范围 - o.setSex(randomEle(SexEnum.values()).getSex()); // 保证 sex 的范围 - }); - // mock deptService 的方法 - DeptDO dept = randomPojo(DeptDO.class, o -> { - o.setId(importUser.getDeptId()); - o.setStatus(CommonStatusEnum.ENABLE.getStatus()); - }); - when(deptService.getDept(eq(dept.getId()))).thenReturn(dept); - // mock passwordEncoder 的方法 - when(passwordEncoder.encode(eq("hangtagyuanma"))).thenReturn("java"); - - // 调用 - UserImportRespVO respVO = userService.importUserList(newArrayList(importUser), true); - // 断言 - assertEquals(1, respVO.getCreateUsernames().size()); - AdminUserDO user = userMapper.selectByUsername(respVO.getCreateUsernames().get(0)); - assertPojoEquals(importUser, user); - assertEquals("java", user.getPassword()); - assertEquals(0, respVO.getUpdateUsernames().size()); - assertEquals(0, respVO.getFailureUsernames().size()); - } - - /** - * 情况三,存在,但是不强制更新 - */ - @Test - public void testImportUserList_03() { - // mock 数据 - AdminUserDO dbUser = randomAdminUserDO(); - userMapper.insert(dbUser); - // 准备参数 - UserImportExcelVO importUser = randomPojo(UserImportExcelVO.class, o -> { - o.setStatus(randomEle(CommonStatusEnum.values()).getStatus()); // 保证 status 的范围 - o.setSex(randomEle(SexEnum.values()).getSex()); // 保证 sex 的范围 - o.setUsername(dbUser.getUsername()); - }); - // mock deptService 的方法 - DeptDO dept = randomPojo(DeptDO.class, o -> { - o.setId(importUser.getDeptId()); - o.setStatus(CommonStatusEnum.ENABLE.getStatus()); - }); - when(deptService.getDept(eq(dept.getId()))).thenReturn(dept); - - // 调用 - UserImportRespVO respVO = userService.importUserList(newArrayList(importUser), false); - // 断言 - assertEquals(0, respVO.getCreateUsernames().size()); - assertEquals(0, respVO.getUpdateUsernames().size()); - assertEquals(1, respVO.getFailureUsernames().size()); - assertEquals(USER_USERNAME_EXISTS.getMsg(), respVO.getFailureUsernames().get(importUser.getUsername())); - } - - /** - * 情况四,存在,强制更新 - */ - @Test - public void testImportUserList_04() { - // mock 数据 - AdminUserDO dbUser = randomAdminUserDO(); - userMapper.insert(dbUser); - // 准备参数 - UserImportExcelVO importUser = randomPojo(UserImportExcelVO.class, o -> { - o.setStatus(randomEle(CommonStatusEnum.values()).getStatus()); // 保证 status 的范围 - o.setSex(randomEle(SexEnum.values()).getSex()); // 保证 sex 的范围 - o.setUsername(dbUser.getUsername()); - }); - // mock deptService 的方法 - DeptDO dept = randomPojo(DeptDO.class, o -> { - o.setId(importUser.getDeptId()); - o.setStatus(CommonStatusEnum.ENABLE.getStatus()); - }); - when(deptService.getDept(eq(dept.getId()))).thenReturn(dept); - - // 调用 - UserImportRespVO respVO = userService.importUserList(newArrayList(importUser), true); - // 断言 - assertEquals(0, respVO.getCreateUsernames().size()); - assertEquals(1, respVO.getUpdateUsernames().size()); - AdminUserDO user = userMapper.selectByUsername(respVO.getUpdateUsernames().get(0)); - assertPojoEquals(importUser, user); - assertEquals(0, respVO.getFailureUsernames().size()); - } - - @Test - public void testValidateUserExists_notExists() { - assertServiceException(() -> userService.validateUserExists(randomLongId()), USER_NOT_EXISTS); - } - - @Test - public void testValidateUsernameUnique_usernameExistsForCreate() { - // 准备参数 - String username = randomString(); - // mock 数据 - userMapper.insert(randomAdminUserDO(o -> o.setUsername(username))); - - // 调用,校验异常 - assertServiceException(() -> userService.validateUsernameUnique(null, username), - USER_USERNAME_EXISTS); - } - - @Test - public void testValidateUsernameUnique_usernameExistsForUpdate() { - // 准备参数 - Long id = randomLongId(); - String username = randomString(); - // mock 数据 - userMapper.insert(randomAdminUserDO(o -> o.setUsername(username))); - - // 调用,校验异常 - assertServiceException(() -> userService.validateUsernameUnique(id, username), - USER_USERNAME_EXISTS); - } - - @Test - public void testValidateEmailUnique_emailExistsForCreate() { - // 准备参数 - String email = randomString(); - // mock 数据 - userMapper.insert(randomAdminUserDO(o -> o.setEmail(email))); - - // 调用,校验异常 - assertServiceException(() -> userService.validateEmailUnique(null, email), - USER_EMAIL_EXISTS); - } - - @Test - public void testValidateEmailUnique_emailExistsForUpdate() { - // 准备参数 - Long id = randomLongId(); - String email = randomString(); - // mock 数据 - userMapper.insert(randomAdminUserDO(o -> o.setEmail(email))); - - // 调用,校验异常 - assertServiceException(() -> userService.validateEmailUnique(id, email), - USER_EMAIL_EXISTS); - } - - @Test - public void testValidateMobileUnique_mobileExistsForCreate() { - // 准备参数 - String mobile = randomString(); - // mock 数据 - userMapper.insert(randomAdminUserDO(o -> o.setMobile(mobile))); - - // 调用,校验异常 - assertServiceException(() -> userService.validateMobileUnique(null, mobile), - USER_MOBILE_EXISTS); - } - - @Test - public void testValidateMobileUnique_mobileExistsForUpdate() { - // 准备参数 - Long id = randomLongId(); - String mobile = randomString(); - // mock 数据 - userMapper.insert(randomAdminUserDO(o -> o.setMobile(mobile))); - - // 调用,校验异常 - assertServiceException(() -> userService.validateMobileUnique(id, mobile), - USER_MOBILE_EXISTS); - } - - @Test - public void testValidateOldPassword_notExists() { - assertServiceException(() -> userService.validateOldPassword(randomLongId(), randomString()), - USER_NOT_EXISTS); - } - - @Test - public void testValidateOldPassword_passwordFailed() { - // mock 数据 - AdminUserDO user = randomAdminUserDO(); - userMapper.insert(user); - // 准备参数 - Long id = user.getId(); - String oldPassword = user.getPassword(); - - // 调用,校验异常 - assertServiceException(() -> userService.validateOldPassword(id, oldPassword), - USER_PASSWORD_FAILED); - // 校验调用 - verify(passwordEncoder, times(1)).matches(eq(oldPassword), eq(user.getPassword())); - } - - @Test - public void testUserListByPostIds() { - // 准备参数 - Collection postIds = asSet(10L, 20L); - // mock user1 数据 - AdminUserDO user1 = randomAdminUserDO(o -> o.setPostIds(asSet(10L, 30L))); - userMapper.insert(user1); - userPostMapper.insert(new UserPostDO().setUserId(user1.getId()).setPostId(10L)); - userPostMapper.insert(new UserPostDO().setUserId(user1.getId()).setPostId(30L)); - // mock user2 数据 - AdminUserDO user2 = randomAdminUserDO(o -> o.setPostIds(singleton(100L))); - userMapper.insert(user2); - userPostMapper.insert(new UserPostDO().setUserId(user2.getId()).setPostId(100L)); - - // 调用 - List result = userService.getUserListByPostIds(postIds); - // 断言 - assertEquals(1, result.size()); - assertEquals(user1, result.get(0)); - } - - @Test - public void testGetUserList() { - // mock 数据 - AdminUserDO user = randomAdminUserDO(); - userMapper.insert(user); - // 测试 id 不匹配 - userMapper.insert(randomAdminUserDO()); - // 准备参数 - Collection ids = singleton(user.getId()); - - // 调用 - List result = userService.getUserList(ids); - // 断言 - assertEquals(1, result.size()); - assertEquals(user, result.get(0)); - } - - @Test - public void testGetUserMap() { - // mock 数据 - AdminUserDO user = randomAdminUserDO(); - userMapper.insert(user); - // 测试 id 不匹配 - userMapper.insert(randomAdminUserDO()); - // 准备参数 - Collection ids = singleton(user.getId()); - - // 调用 - Map result = userService.getUserMap(ids); - // 断言 - assertEquals(1, result.size()); - assertEquals(user, result.get(user.getId())); - } - - @Test - public void testGetUserListByNickname() { - // mock 数据 - AdminUserDO user = randomAdminUserDO(o -> o.setNickname("芋头")); - userMapper.insert(user); - // 测试 nickname 不匹配 - userMapper.insert(randomAdminUserDO(o -> o.setNickname("源码"))); - // 准备参数 - String nickname = "芋"; - - // 调用 - List result = userService.getUserListByNickname(nickname); - // 断言 - assertEquals(1, result.size()); - assertEquals(user, result.get(0)); - } - - @Test - public void testGetUserListByStatus() { - // mock 数据 - AdminUserDO user = randomAdminUserDO(o -> o.setStatus(CommonStatusEnum.DISABLE.getStatus())); - userMapper.insert(user); - // 测试 status 不匹配 - userMapper.insert(randomAdminUserDO(o -> o.setStatus(CommonStatusEnum.ENABLE.getStatus()))); - // 准备参数 - Integer status = CommonStatusEnum.DISABLE.getStatus(); - - // 调用 - List result = userService.getUserListByStatus(status); - // 断言 - assertEquals(1, result.size()); - assertEquals(user, result.get(0)); - } - - @Test - public void testValidateUserList_success() { - // mock 数据 - AdminUserDO userDO = randomAdminUserDO().setStatus(CommonStatusEnum.ENABLE.getStatus()); - userMapper.insert(userDO); - // 准备参数 - List ids = singletonList(userDO.getId()); - - // 调用,无需断言 - userService.validateUserList(ids); - } - - @Test - public void testValidateUserList_notFound() { - // 准备参数 - List ids = singletonList(randomLongId()); - - // 调用, 并断言异常 - assertServiceException(() -> userService.validateUserList(ids), USER_NOT_EXISTS); - } - - @Test - public void testValidateUserList_notEnable() { - // mock 数据 - AdminUserDO userDO = randomAdminUserDO().setStatus(CommonStatusEnum.DISABLE.getStatus()); - userMapper.insert(userDO); - // 准备参数 - List ids = singletonList(userDO.getId()); - - // 调用, 并断言异常 - assertServiceException(() -> userService.validateUserList(ids), USER_IS_DISABLE, - userDO.getNickname()); - } - - // ========== 随机对象 ========== - - @SafeVarargs - private static AdminUserDO randomAdminUserDO(Consumer... consumers) { - Consumer consumer = (o) -> { - o.setStatus(randomEle(CommonStatusEnum.values()).getStatus()); // 保证 status 的范围 - o.setSex(randomEle(SexEnum.values()).getSex()); // 保证 sex 的范围 - }; - return randomPojo(AdminUserDO.class, ArrayUtils.append(consumer, consumers)); - } - -} diff --git a/hangtag-module-system/hangtag-module-system-biz/target/generated-sources/annotations/cn/hangtag/module/system/convert/oauth2/OAuth2OpenConvertImpl.java b/hangtag-module-system/hangtag-module-system-biz/target/generated-sources/annotations/cn/hangtag/module/system/convert/oauth2/OAuth2OpenConvertImpl.java index 02d311a..91741ff 100644 --- a/hangtag-module-system/hangtag-module-system-biz/target/generated-sources/annotations/cn/hangtag/module/system/convert/oauth2/OAuth2OpenConvertImpl.java +++ b/hangtag-module-system/hangtag-module-system-biz/target/generated-sources/annotations/cn/hangtag/module/system/convert/oauth2/OAuth2OpenConvertImpl.java @@ -4,7 +4,7 @@ import javax.annotation.Generated; @Generated( value = "org.mapstruct.ap.MappingProcessor", - date = "2024-08-10T18:18:46+0800", + date = "2024-08-27T23:26:02+0800", comments = "version: 1.5.5.Final, compiler: javac, environment: Java 1.8.0_401 (Oracle Corporation)" ) public class OAuth2OpenConvertImpl implements OAuth2OpenConvert { diff --git a/hangtag-module-system/hangtag-module-system-biz/target/generated-sources/annotations/cn/hangtag/module/system/convert/social/SocialUserConvertImpl.java b/hangtag-module-system/hangtag-module-system-biz/target/generated-sources/annotations/cn/hangtag/module/system/convert/social/SocialUserConvertImpl.java index 5c030d7..1c1ebc8 100644 --- a/hangtag-module-system/hangtag-module-system-biz/target/generated-sources/annotations/cn/hangtag/module/system/convert/social/SocialUserConvertImpl.java +++ b/hangtag-module-system/hangtag-module-system-biz/target/generated-sources/annotations/cn/hangtag/module/system/convert/social/SocialUserConvertImpl.java @@ -6,7 +6,7 @@ import javax.annotation.Generated; @Generated( value = "org.mapstruct.ap.MappingProcessor", - date = "2024-08-10T18:18:46+0800", + date = "2024-08-27T23:26:02+0800", comments = "version: 1.5.5.Final, compiler: javac, environment: Java 1.8.0_401 (Oracle Corporation)" ) public class SocialUserConvertImpl implements SocialUserConvert { diff --git a/hangtag-server/.flattened-pom.xml b/hangtag-server/.flattened-pom.xml new file mode 100644 index 0000000..0b3023a --- /dev/null +++ b/hangtag-server/.flattened-pom.xml @@ -0,0 +1,61 @@ + + + 4.0.0 + + cn.hangtag + hangtag + 2.1.0-jdk8-snapshot + + cn.hangtag + hangtag-server + 2.1.0-jdk8-snapshot + ${project.artifactId} + 后端 Server 的主项目,通过引入需要 hangtag-module-xxx 的依赖, + 从而实现提供 RESTful API 给 hangtag-ui-admin、hangtag-ui-user 等前端项目。 + 本质上来说,它就是个空壳(容器)! + https://github.com/YunaiV/ruoyi-vue-pro + + + cn.hangtag + hangtag-module-system-biz + ${revision} + + + cn.hangtag + hangtag-module-infra-biz + ${revision} + + + cn.hangtag + hangtag-module-oms-biz + ${revision} + + + org.springframework.boot + spring-boot-configuration-processor + true + + + cn.hangtag + hangtag-spring-boot-starter-protection + + + + ${project.artifactId} + + + org.springframework.boot + spring-boot-maven-plugin + ${spring.boot.version} + + + + repackage + + + + + + + diff --git a/hangtag-ui/hangtag-ui-admin/pnpm-lock.yaml b/hangtag-ui/hangtag-ui-admin/pnpm-lock.yaml new file mode 100644 index 0000000..a35d6b0 --- /dev/null +++ b/hangtag-ui/hangtag-ui-admin/pnpm-lock.yaml @@ -0,0 +1,11019 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + '@antv/x6': + specifier: ^2.18.1 + version: 2.18.1 + '@antv/x6-plugin-clipboard': + specifier: ^2.1.6 + version: 2.1.6(@antv/x6@2.18.1) + '@antv/x6-plugin-dnd': + specifier: ^2.1.1 + version: 2.1.1(@antv/x6@2.18.1) + '@antv/x6-plugin-export': + specifier: ^2.1.6 + version: 2.1.6(@antv/x6@2.18.1) + '@antv/x6-plugin-history': + specifier: ^2.2.4 + version: 2.2.4(@antv/x6@2.18.1) + '@antv/x6-plugin-keyboard': + specifier: ^2.2.3 + version: 2.2.3(@antv/x6@2.18.1) + '@antv/x6-plugin-scroller': + specifier: ^2.0.10 + version: 2.0.10(@antv/x6@2.18.1) + '@antv/x6-plugin-selection': + specifier: ^2.2.2 + version: 2.2.2(@antv/x6@2.18.1) + '@antv/x6-plugin-snapline': + specifier: ^2.1.7 + version: 2.1.7(@antv/x6@2.18.1) + '@antv/x6-plugin-transform': + specifier: ^2.1.8 + version: 2.1.8(@antv/x6@2.18.1) + '@antv/x6-vue-shape': + specifier: ^2.1.2 + version: 2.1.2(@antv/x6@2.18.1)(vue@3.4.21(typescript@5.3.3)) + '@element-plus/icons-vue': + specifier: ^2.1.0 + version: 2.3.1(vue@3.4.21(typescript@5.3.3)) + '@form-create/designer': + specifier: ^3.1.3 + version: 3.2.5(vue@3.4.21(typescript@5.3.3)) + '@form-create/element-ui': + specifier: ^3.1.24 + version: 3.2.7(vue@3.4.21(typescript@5.3.3)) + '@iconify/iconify': + specifier: ^3.1.1 + version: 3.1.1 + '@videojs-player/vue': + specifier: ^1.0.0 + version: 1.0.0(@types/video.js@7.3.58)(video.js@7.21.6)(vue@3.4.21(typescript@5.3.3)) + '@vueuse/core': + specifier: ^10.9.0 + version: 10.11.1(vue@3.4.21(typescript@5.3.3)) + '@wangeditor/editor': + specifier: ^5.1.23 + version: 5.1.23 + '@wangeditor/editor-for-vue': + specifier: ^5.1.10 + version: 5.1.12(@wangeditor/editor@5.1.23)(vue@3.4.21(typescript@5.3.3)) + '@zxcvbn-ts/core': + specifier: ^3.0.4 + version: 3.0.4 + animate.css: + specifier: ^4.1.1 + version: 4.1.1 + axios: + specifier: ^1.6.8 + version: 1.7.5 + benz-amr-recorder: + specifier: ^1.1.5 + version: 1.1.5 + bpmn-js-token-simulation: + specifier: ^0.10.0 + version: 0.10.0 + camunda-bpmn-moddle: + specifier: ^7.0.1 + version: 7.0.1 + cropperjs: + specifier: ^1.6.1 + version: 1.6.2 + crypto-js: + specifier: ^4.2.0 + version: 4.2.0 + dayjs: + specifier: ^1.11.10 + version: 1.11.13 + diagram-js: + specifier: ^12.8.0 + version: 12.8.1 + driver.js: + specifier: ^1.3.1 + version: 1.3.1 + echarts: + specifier: ^5.5.0 + version: 5.5.1 + echarts-wordcloud: + specifier: ^2.1.0 + version: 2.1.0(echarts@5.5.1) + element-plus: + specifier: 2.6.1 + version: 2.6.1(vue@3.4.21(typescript@5.3.3)) + fast-xml-parser: + specifier: ^4.3.2 + version: 4.4.1 + highlight.js: + specifier: ^11.9.0 + version: 11.10.0 + jsencrypt: + specifier: ^3.3.2 + version: 3.3.2 + lodash-es: + specifier: ^4.17.21 + version: 4.17.21 + min-dash: + specifier: ^4.1.1 + version: 4.2.1 + mitt: + specifier: ^3.0.1 + version: 3.0.1 + nprogress: + specifier: ^0.2.0 + version: 0.2.0 + pinia: + specifier: ^2.1.7 + version: 2.2.2(typescript@5.3.3)(vue@3.4.21(typescript@5.3.3)) + pinia-plugin-persistedstate: + specifier: ^3.2.1 + version: 3.2.1(pinia@2.2.2(typescript@5.3.3)(vue@3.4.21(typescript@5.3.3))) + qrcode: + specifier: ^1.5.3 + version: 1.5.4 + qs: + specifier: ^6.12.0 + version: 6.13.0 + steady-xml: + specifier: ^0.1.0 + version: 0.1.0 + url: + specifier: ^0.11.3 + version: 0.11.4 + video.js: + specifier: ^7.21.5 + version: 7.21.6 + vue: + specifier: 3.4.21 + version: 3.4.21(typescript@5.3.3) + vue-dompurify-html: + specifier: ^4.1.4 + version: 4.1.4(vue@3.4.21(typescript@5.3.3)) + vue-i18n: + specifier: 9.10.2 + version: 9.10.2(vue@3.4.21(typescript@5.3.3)) + vue-router: + specifier: ^4.3.0 + version: 4.4.3(vue@3.4.21(typescript@5.3.3)) + vue-types: + specifier: ^5.1.1 + version: 5.1.3(vue@3.4.21(typescript@5.3.3)) + vuedraggable: + specifier: ^4.1.0 + version: 4.1.0(vue@3.4.21(typescript@5.3.3)) + web-storage-cache: + specifier: ^1.1.1 + version: 1.1.1 + xml-js: + specifier: ^1.6.11 + version: 1.6.11 + devDependencies: + '@commitlint/cli': + specifier: ^19.0.1 + version: 19.4.0(@types/node@20.16.1)(typescript@5.3.3) + '@commitlint/config-conventional': + specifier: ^19.0.0 + version: 19.2.2 + '@iconify/json': + specifier: ^2.2.187 + version: 2.2.241 + '@intlify/unplugin-vue-i18n': + specifier: ^2.0.0 + version: 2.0.0(rollup@4.21.0)(vue-i18n@9.10.2(vue@3.4.21(typescript@5.3.3))) + '@purge-icons/generated': + specifier: ^0.9.0 + version: 0.9.0 + '@types/lodash-es': + specifier: ^4.17.12 + version: 4.17.12 + '@types/node': + specifier: ^20.11.21 + version: 20.16.1 + '@types/nprogress': + specifier: ^0.2.3 + version: 0.2.3 + '@types/qrcode': + specifier: ^1.5.5 + version: 1.5.5 + '@types/qs': + specifier: ^6.9.12 + version: 6.9.15 + '@typescript-eslint/eslint-plugin': + specifier: ^7.1.0 + version: 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.3.3))(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/parser': + specifier: ^7.1.0 + version: 7.18.0(eslint@8.57.0)(typescript@5.3.3) + '@unocss/eslint-config': + specifier: ^0.57.4 + version: 0.57.7(eslint@8.57.0)(typescript@5.3.3) + '@unocss/transformer-variant-group': + specifier: ^0.58.5 + version: 0.58.9 + '@vitejs/plugin-legacy': + specifier: ^5.3.1 + version: 5.4.2(terser@5.31.6)(vite@5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6)) + '@vitejs/plugin-vue': + specifier: ^5.0.4 + version: 5.1.2(vite@5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6))(vue@3.4.21(typescript@5.3.3)) + '@vitejs/plugin-vue-jsx': + specifier: ^3.1.0 + version: 3.1.0(vite@5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6))(vue@3.4.21(typescript@5.3.3)) + autoprefixer: + specifier: ^10.4.17 + version: 10.4.20(postcss@8.4.41) + bpmn-js: + specifier: 8.9.0 + version: 8.9.0 + bpmn-js-properties-panel: + specifier: 0.46.0 + version: 0.46.0(bpmn-js@8.9.0) + consola: + specifier: ^3.2.3 + version: 3.2.3 + eslint: + specifier: ^8.57.0 + version: 8.57.0 + eslint-config-prettier: + specifier: ^9.1.0 + version: 9.1.0(eslint@8.57.0) + eslint-define-config: + specifier: ^2.1.0 + version: 2.1.0 + eslint-plugin-prettier: + specifier: ^5.1.3 + version: 5.2.1(@types/eslint@8.56.11)(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.3.3) + eslint-plugin-vue: + specifier: ^9.22.0 + version: 9.27.0(eslint@8.57.0) + lint-staged: + specifier: ^15.2.2 + version: 15.2.9 + postcss: + specifier: ^8.4.35 + version: 8.4.41 + postcss-html: + specifier: ^1.6.0 + version: 1.7.0 + postcss-scss: + specifier: ^4.0.9 + version: 4.0.9(postcss@8.4.41) + prettier: + specifier: ^3.2.5 + version: 3.3.3 + prettier-eslint: + specifier: ^16.3.0 + version: 16.3.0 + rimraf: + specifier: ^5.0.5 + version: 5.0.10 + rollup: + specifier: ^4.12.0 + version: 4.21.0 + sass: + specifier: ^1.69.5 + version: 1.77.8 + stylelint: + specifier: ^16.2.1 + version: 16.8.2(typescript@5.3.3) + stylelint-config-html: + specifier: ^1.1.0 + version: 1.1.0(postcss-html@1.7.0)(stylelint@16.8.2(typescript@5.3.3)) + stylelint-config-recommended: + specifier: ^14.0.0 + version: 14.0.1(stylelint@16.8.2(typescript@5.3.3)) + stylelint-config-standard: + specifier: ^36.0.0 + version: 36.0.1(stylelint@16.8.2(typescript@5.3.3)) + stylelint-order: + specifier: ^6.0.4 + version: 6.0.4(stylelint@16.8.2(typescript@5.3.3)) + terser: + specifier: ^5.28.1 + version: 5.31.6 + typescript: + specifier: 5.3.3 + version: 5.3.3 + unocss: + specifier: ^0.58.5 + version: 0.58.9(postcss@8.4.41)(rollup@4.21.0)(vite@5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6)) + unplugin-auto-import: + specifier: ^0.16.7 + version: 0.16.7(@vueuse/core@10.11.1(vue@3.4.21(typescript@5.3.3)))(rollup@4.21.0) + unplugin-element-plus: + specifier: ^0.8.0 + version: 0.8.0(rollup@4.21.0) + unplugin-vue-components: + specifier: ^0.25.2 + version: 0.25.2(@babel/parser@7.25.4)(rollup@4.21.0)(vue@3.4.21(typescript@5.3.3)) + vite: + specifier: 5.1.4 + version: 5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6) + vite-plugin-compression: + specifier: ^0.5.1 + version: 0.5.1(vite@5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6)) + vite-plugin-ejs: + specifier: ^1.7.0 + version: 1.7.0(vite@5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6)) + vite-plugin-eslint: + specifier: ^1.8.1 + version: 1.8.1(eslint@8.57.0)(vite@5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6)) + vite-plugin-progress: + specifier: ^0.0.7 + version: 0.0.7(vite@5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6)) + vite-plugin-purge-icons: + specifier: ^0.10.0 + version: 0.10.0(vite@5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6)) + vite-plugin-svg-icons: + specifier: ^2.0.1 + version: 2.0.1(vite@5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6)) + vite-plugin-top-level-await: + specifier: ^1.3.1 + version: 1.4.4(rollup@4.21.0)(vite@5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6)) + vue-eslint-parser: + specifier: ^9.3.2 + version: 9.4.3(eslint@8.57.0) + vue-tsc: + specifier: ^1.8.27 + version: 1.8.27(typescript@5.3.3) + +packages: + + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + + '@antfu/install-pkg@0.4.0': + resolution: {integrity: sha512-vI73C0pFA9L+5v+djh0WSLXb8qYQGH5fX8nczaFe1OTI/8Fh03JS1Mov1V7urb6P3A2cBlBqZNjJIKv54+zVRw==} + + '@antfu/utils@0.7.10': + resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==} + + '@antv/x6-common@2.0.17': + resolution: {integrity: sha512-37g7vmRkNdYzZPdwjaMSZEGv/MMH0S4r70/Jwoab1mioycmuIBN73iyziX8m56BvJSDucZ3J/6DU07otWqzS6A==} + + '@antv/x6-geometry@2.0.5': + resolution: {integrity: sha512-MId6riEQkxphBpVeTcL4ZNXL4lScyvDEPLyIafvWMcWNTGK0jgkK7N20XSzqt8ltJb0mGUso5s56mrk8ysHu2A==} + + '@antv/x6-plugin-clipboard@2.1.6': + resolution: {integrity: sha512-roZPLnZx6PK8MBvee0QMo90fz/TXeF0WNe4EGin2NBq5M1I5XTWrYvA6N2XVIiWAAI67gjQeEE8TpkL7f8QdqA==} + peerDependencies: + '@antv/x6': ^2.x + + '@antv/x6-plugin-dnd@2.1.1': + resolution: {integrity: sha512-v0szzik1RkadPDn4Qi5mOSaB2AeI78D40/YuCYbPVzplG+HydGsHwO3MLTgJPQ+R5n0eM0W5F850p1VfTOHR7g==} + peerDependencies: + '@antv/x6': ^2.x + + '@antv/x6-plugin-export@2.1.6': + resolution: {integrity: sha512-m0ukMmZhrFE5n7uCR43DVQBdiUfpjGN+vm1mc+6RTZdHK8pa6Mxr0RZztaxPy34YA4tli+bGY3ePslsNPfh6PQ==} + peerDependencies: + '@antv/x6': ^2.x + + '@antv/x6-plugin-history@2.2.4': + resolution: {integrity: sha512-9gHHvEW4Fla+1hxUV49zNgJyIMoV9CjVM52MrFgAJcvyRn1Kvxz4MfxiKlG+DEZUs+/zvfjl9pS6gJOd8laRkg==} + peerDependencies: + '@antv/x6': ^2.x + + '@antv/x6-plugin-keyboard@2.2.3': + resolution: {integrity: sha512-pnCIC+mDyKKfkcDyLePfGxKVIqXBcldTgannITkHC1kc0IafRS1GMvzpvuDGrM5haRYd6Nwz8kjkJyHkJE4GPA==} + peerDependencies: + '@antv/x6': ^2.x + + '@antv/x6-plugin-scroller@2.0.10': + resolution: {integrity: sha512-CrC5zCbtPe7LJEKK8ucLcDN+9lMtTJNApFmFObAiR/y2LO1QFCHz8GGLVeNOZaIEmJbR/Z/etpJkvc1LE7WhTg==} + peerDependencies: + '@antv/x6': ^2.x + + '@antv/x6-plugin-selection@2.2.2': + resolution: {integrity: sha512-s2gtR9Onlhr7HOHqyqg0d+4sG76JCcQEbvrZZ64XmSChlvieIPlC3YtH4dg1KMNhYIuBmBmpSum6S0eVTEiPQw==} + peerDependencies: + '@antv/x6': ^2.x + + '@antv/x6-plugin-snapline@2.1.7': + resolution: {integrity: sha512-AsysoCb9vES0U2USNhEpYuO/W8I0aYfkhlbee5Kt4NYiMfQfZKQyqW/YjDVaS2pm38C1NKu1LdPVk/BBr4CasA==} + peerDependencies: + '@antv/x6': ^2.x + + '@antv/x6-plugin-transform@2.1.8': + resolution: {integrity: sha512-GvJuiJ4BKp0H7+qx3R1I+Vzbw5gXp9+oByXo/WyVxE3urOC7LC5sqnaDfIjyYMN6ROLPYPZraLSeSyYBgMgcDw==} + peerDependencies: + '@antv/x6': ^2.x + + '@antv/x6-vue-shape@2.1.2': + resolution: {integrity: sha512-lfLNJ2ztK8NP2JBAWTD6m5Wol0u6tOqj2KdOhWZoT8EtEw9rMmAdxsr8uTi9MRJO9pDMM0nbsR3cidnMh7VeDQ==} + peerDependencies: + '@antv/x6': ^2.x + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^2.0.0 || >=3.0.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + + '@antv/x6@2.18.1': + resolution: {integrity: sha512-FkWdbLOpN9J7dfJ+kiBxzowSx2N6syBily13NMVdMs+wqC6Eo5sLXWCZjQHateTFWgFw7ZGi2y9o3Pmdov1sXw==} + + '@babel/code-frame@7.24.7': + resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.25.4': + resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.25.2': + resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.25.5': + resolution: {integrity: sha512-abd43wyLfbWoxC6ahM8xTkqLpGB2iWBVyuKC9/srhFunCd1SDNrV1s72bBpK4hLj8KLzHBBcOblvLQZBNw9r3w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-annotate-as-pure@7.24.7': + resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-builder-binary-assignment-operator-visitor@7.24.7': + resolution: {integrity: sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.25.2': + resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-create-class-features-plugin@7.25.4': + resolution: {integrity: sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-create-regexp-features-plugin@7.25.2': + resolution: {integrity: sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-define-polyfill-provider@0.6.2': + resolution: {integrity: sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + '@babel/helper-member-expression-to-functions@7.24.8': + resolution: {integrity: sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.22.15': + resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.24.7': + resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.25.2': + resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-optimise-call-expression@7.24.7': + resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==} + engines: {node: '>=6.9.0'} + + '@babel/helper-plugin-utils@7.24.8': + resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-remap-async-to-generator@7.25.0': + resolution: {integrity: sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-replace-supers@7.25.0': + resolution: {integrity: sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-simple-access@7.24.7': + resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-skip-transparent-expression-wrappers@7.24.7': + resolution: {integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.24.8': + resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.24.7': + resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.24.8': + resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} + engines: {node: '>=6.9.0'} + + '@babel/helper-wrap-function@7.25.0': + resolution: {integrity: sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.25.0': + resolution: {integrity: sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw==} + engines: {node: '>=6.9.0'} + + '@babel/highlight@7.24.7': + resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.25.4': + resolution: {integrity: sha512-nq+eWrOgdtu3jG5Os4TQP3x3cLA8hR8TvJNjD8vnPa20WGycimcparWnLK4jJhElTK6SDyuJo1weMKO/5LpmLA==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.3': + resolution: {integrity: sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.0': + resolution: {integrity: sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.0': + resolution: {integrity: sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7': + resolution: {integrity: sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.0': + resolution: {integrity: sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2': + resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-async-generators@7.8.4': + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-properties@7.12.13': + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-static-block@7.14.5': + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-dynamic-import@7.8.3': + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-export-namespace-from@7.8.3': + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-assertions@7.24.7': + resolution: {integrity: sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-attributes@7.24.7': + resolution: {integrity: sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-meta@7.10.4': + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-json-strings@7.8.3': + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-jsx@7.24.7': + resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4': + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-numeric-separator@7.10.4': + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-object-rest-spread@7.8.3': + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3': + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-chaining@7.8.3': + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-private-property-in-object@7.14.5': + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-top-level-await@7.14.5': + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-typescript@7.25.4': + resolution: {integrity: sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6': + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-arrow-functions@7.24.7': + resolution: {integrity: sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-generator-functions@7.25.4': + resolution: {integrity: sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-to-generator@7.24.7': + resolution: {integrity: sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoped-functions@7.24.7': + resolution: {integrity: sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoping@7.25.0': + resolution: {integrity: sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-properties@7.25.4': + resolution: {integrity: sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-class-static-block@7.24.7': + resolution: {integrity: sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + + '@babel/plugin-transform-classes@7.25.4': + resolution: {integrity: sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-computed-properties@7.24.7': + resolution: {integrity: sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-destructuring@7.24.8': + resolution: {integrity: sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-dotall-regex@7.24.7': + resolution: {integrity: sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-keys@7.24.7': + resolution: {integrity: sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.0': + resolution: {integrity: sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-dynamic-import@7.24.7': + resolution: {integrity: sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-exponentiation-operator@7.24.7': + resolution: {integrity: sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-export-namespace-from@7.24.7': + resolution: {integrity: sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-for-of@7.24.7': + resolution: {integrity: sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-function-name@7.25.1': + resolution: {integrity: sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-json-strings@7.24.7': + resolution: {integrity: sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-literals@7.25.2': + resolution: {integrity: sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-logical-assignment-operators@7.24.7': + resolution: {integrity: sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-member-expression-literals@7.24.7': + resolution: {integrity: sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-amd@7.24.7': + resolution: {integrity: sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-commonjs@7.24.8': + resolution: {integrity: sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-systemjs@7.25.0': + resolution: {integrity: sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-umd@7.24.7': + resolution: {integrity: sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-named-capturing-groups-regex@7.24.7': + resolution: {integrity: sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-new-target@7.24.7': + resolution: {integrity: sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-nullish-coalescing-operator@7.24.7': + resolution: {integrity: sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-numeric-separator@7.24.7': + resolution: {integrity: sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-rest-spread@7.24.7': + resolution: {integrity: sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-super@7.24.7': + resolution: {integrity: sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-catch-binding@7.24.7': + resolution: {integrity: sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-optional-chaining@7.24.8': + resolution: {integrity: sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-parameters@7.24.7': + resolution: {integrity: sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-methods@7.25.4': + resolution: {integrity: sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-private-property-in-object@7.24.7': + resolution: {integrity: sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-property-literals@7.24.7': + resolution: {integrity: sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-regenerator@7.24.7': + resolution: {integrity: sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-reserved-words@7.24.7': + resolution: {integrity: sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-shorthand-properties@7.24.7': + resolution: {integrity: sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-spread@7.24.7': + resolution: {integrity: sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-sticky-regex@7.24.7': + resolution: {integrity: sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-template-literals@7.24.7': + resolution: {integrity: sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typeof-symbol@7.24.8': + resolution: {integrity: sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typescript@7.25.2': + resolution: {integrity: sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-escapes@7.24.7': + resolution: {integrity: sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-property-regex@7.24.7': + resolution: {integrity: sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-regex@7.24.7': + resolution: {integrity: sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-sets-regex@7.25.4': + resolution: {integrity: sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/preset-env@7.25.4': + resolution: {integrity: sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-modules@0.1.6-no-external-plugins': + resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 + + '@babel/preset-typescript@7.24.7': + resolution: {integrity: sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/regjsgen@0.8.0': + resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} + + '@babel/runtime-corejs3@7.25.0': + resolution: {integrity: sha512-BOehWE7MgQ8W8Qn0CQnMtg2tHPHPulcS/5AVpFvs2KCK1ET+0WqZqPvnpRpFN81gYoFopdIEJX9Sgjw3ZBccPg==} + engines: {node: '>=6.9.0'} + + '@babel/runtime@7.25.4': + resolution: {integrity: sha512-DSgLeL/FNcpXuzav5wfYvHCGvynXkJbn3Zvc3823AEe9nPwW9IK4UoCSS5yGymmQzN0pCPvivtgS6/8U2kkm1w==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.25.0': + resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.25.4': + resolution: {integrity: sha512-VJ4XsrD+nOvlXyLzmLzUs/0qjFS4sK30te5yEFlvbbUNEgKaVb2BHZUpAL+ttLPQAHNrsI3zZisbfha5Cvr8vg==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.25.4': + resolution: {integrity: sha512-zQ1ijeeCXVEh+aNL0RlmkPkG8HUiDcU2pzQQFjtbntgAczRASFzj4H+6+bV+dy1ntKR14I/DypeuRG1uma98iQ==} + engines: {node: '>=6.9.0'} + + '@bpmn-io/diagram-js-ui@0.2.3': + resolution: {integrity: sha512-OGyjZKvGK8tHSZ0l7RfeKhilGoOGtFDcoqSGYkX0uhFlo99OVZ9Jn1K7TJGzcE9BdKwvA5Y5kGqHEhdTxHvFfw==} + + '@bpmn-io/element-templates-validator@0.2.0': + resolution: {integrity: sha512-/ogp0+6zUFdoiY09NYaHL5JtapB8zN1spG8hpML96qetXDCODRxnsqlHTvSwxtZHUDcgun+lxcK8b4wgtCP+6Q==} + + '@bpmn-io/extract-process-variables@0.4.5': + resolution: {integrity: sha512-LtHx5b9xqS8avRLrq/uTlKhWzMeV3bWQKIdDic2bdo5n9roitX13GRb01u2S0hSsKDWEhXQtydFYN2b6G7bqfw==} + + '@camunda/element-templates-json-schema@0.4.0': + resolution: {integrity: sha512-M5xW61ba7z2maBxfoT4c1bjuLD8OIL7863et/hULiNG6+R/B9CZ4Qze1juuIfXv4zpF2fYSuUsTPkTtiZrcspQ==} + + '@commitlint/cli@19.4.0': + resolution: {integrity: sha512-sJX4J9UioVwZHq7JWM9tjT5bgWYaIN3rC4FP7YwfEwBYiIO+wMyRttRvQLNkow0vCdM0D67r9NEWU0Ui03I4Eg==} + engines: {node: '>=v18'} + hasBin: true + + '@commitlint/config-conventional@19.2.2': + resolution: {integrity: sha512-mLXjsxUVLYEGgzbxbxicGPggDuyWNkf25Ht23owXIH+zV2pv1eJuzLK3t1gDY5Gp6pxdE60jZnWUY5cvgL3ufw==} + engines: {node: '>=v18'} + + '@commitlint/config-validator@19.0.3': + resolution: {integrity: sha512-2D3r4PKjoo59zBc2auodrSCaUnCSALCx54yveOFwwP/i2kfEAQrygwOleFWswLqK0UL/F9r07MFi5ev2ohyM4Q==} + engines: {node: '>=v18'} + + '@commitlint/ensure@19.0.3': + resolution: {integrity: sha512-SZEpa/VvBLoT+EFZVb91YWbmaZ/9rPH3ESrINOl0HD2kMYsjvl0tF7nMHh0EpTcv4+gTtZBAe1y/SS6/OhfZzQ==} + engines: {node: '>=v18'} + + '@commitlint/execute-rule@19.0.0': + resolution: {integrity: sha512-mtsdpY1qyWgAO/iOK0L6gSGeR7GFcdW7tIjcNFxcWkfLDF5qVbPHKuGATFqRMsxcO8OUKNj0+3WOHB7EHm4Jdw==} + engines: {node: '>=v18'} + + '@commitlint/format@19.3.0': + resolution: {integrity: sha512-luguk5/aF68HiF4H23ACAfk8qS8AHxl4LLN5oxPc24H+2+JRPsNr1OS3Gaea0CrH7PKhArBMKBz5RX9sA5NtTg==} + engines: {node: '>=v18'} + + '@commitlint/is-ignored@19.2.2': + resolution: {integrity: sha512-eNX54oXMVxncORywF4ZPFtJoBm3Tvp111tg1xf4zWXGfhBPKpfKG6R+G3G4v5CPlRROXpAOpQ3HMhA9n1Tck1g==} + engines: {node: '>=v18'} + + '@commitlint/lint@19.2.2': + resolution: {integrity: sha512-xrzMmz4JqwGyKQKTpFzlN0dx0TAiT7Ran1fqEBgEmEj+PU98crOFtysJgY+QdeSagx6EDRigQIXJVnfrI0ratA==} + engines: {node: '>=v18'} + + '@commitlint/load@19.4.0': + resolution: {integrity: sha512-I4lCWaEZYQJ1y+Y+gdvbGAx9pYPavqZAZ3/7/8BpWh+QjscAn8AjsUpLV2PycBsEx7gupq5gM4BViV9xwTIJuw==} + engines: {node: '>=v18'} + + '@commitlint/message@19.0.0': + resolution: {integrity: sha512-c9czf6lU+9oF9gVVa2lmKaOARJvt4soRsVmbR7Njwp9FpbBgste5i7l/2l5o8MmbwGh4yE1snfnsy2qyA2r/Fw==} + engines: {node: '>=v18'} + + '@commitlint/parse@19.0.3': + resolution: {integrity: sha512-Il+tNyOb8VDxN3P6XoBBwWJtKKGzHlitEuXA5BP6ir/3loWlsSqDr5aecl6hZcC/spjq4pHqNh0qPlfeWu38QA==} + engines: {node: '>=v18'} + + '@commitlint/read@19.4.0': + resolution: {integrity: sha512-r95jLOEZzKDakXtnQub+zR3xjdnrl2XzerPwm7ch1/cc5JGq04tyaNpa6ty0CRCWdVrk4CZHhqHozb8yZwy2+g==} + engines: {node: '>=v18'} + + '@commitlint/resolve-extends@19.1.0': + resolution: {integrity: sha512-z2riI+8G3CET5CPgXJPlzftH+RiWYLMYv4C9tSLdLXdr6pBNimSKukYP9MS27ejmscqCTVA4almdLh0ODD2KYg==} + engines: {node: '>=v18'} + + '@commitlint/rules@19.0.3': + resolution: {integrity: sha512-TspKb9VB6svklxNCKKwxhELn7qhtY1rFF8ls58DcFd0F97XoG07xugPjjbVnLqmMkRjZDbDIwBKt9bddOfLaPw==} + engines: {node: '>=v18'} + + '@commitlint/to-lines@19.0.0': + resolution: {integrity: sha512-vkxWo+VQU5wFhiP9Ub9Sre0FYe019JxFikrALVoD5UGa8/t3yOJEpEhxC5xKiENKKhUkTpEItMTRAjHw2SCpZw==} + engines: {node: '>=v18'} + + '@commitlint/top-level@19.0.0': + resolution: {integrity: sha512-KKjShd6u1aMGNkCkaX4aG1jOGdn7f8ZI8TR1VEuNqUOjWTOdcDSsmglinglJ18JTjuBX5I1PtjrhQCRcixRVFQ==} + engines: {node: '>=v18'} + + '@commitlint/types@19.0.3': + resolution: {integrity: sha512-tpyc+7i6bPG9mvaBbtKUeghfyZSDgWquIDfMgqYtTbmZ9Y9VzEm2je9EYcQ0aoz5o7NvGS+rcDec93yO08MHYA==} + engines: {node: '>=v18'} + + '@csstools/css-parser-algorithms@3.0.1': + resolution: {integrity: sha512-lSquqZCHxDfuTg/Sk2hiS0mcSFCEBuj49JfzPHJogDBT0mGCyY5A1AQzBWngitrp7i1/HAZpIgzF/VjhOEIJIg==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-tokenizer': ^3.0.1 + + '@csstools/css-tokenizer@3.0.1': + resolution: {integrity: sha512-UBqaiu7kU0lfvaP982/o3khfXccVlHPWp0/vwwiIgDF0GmqqqxoiXC/6FCjlS9u92f7CoEz6nXKQnrn1kIAkOw==} + engines: {node: '>=18'} + + '@csstools/media-query-list-parser@3.0.1': + resolution: {integrity: sha512-HNo8gGD02kHmcbX6PvCoUuOQvn4szyB9ca63vZHKX5A81QytgDG4oxG4IaEfHTlEZSZ6MjPEMWIVU+zF2PZcgw==} + engines: {node: '>=18'} + peerDependencies: + '@csstools/css-parser-algorithms': ^3.0.1 + '@csstools/css-tokenizer': ^3.0.1 + + '@csstools/selector-specificity@4.0.0': + resolution: {integrity: sha512-189nelqtPd8++phaHNwYovKZI0FOzH1vQEE3QhHHkNIGrg5fSs9CbYP3RvfEH5geztnIA9Jwq91wyOIwAW5JIQ==} + engines: {node: '>=18'} + peerDependencies: + postcss-selector-parser: ^6.1.0 + + '@ctrl/tinycolor@3.6.1': + resolution: {integrity: sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==} + engines: {node: '>=10'} + + '@dual-bundle/import-meta-resolve@4.1.0': + resolution: {integrity: sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg==} + + '@element-plus/icons-vue@2.3.1': + resolution: {integrity: sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==} + peerDependencies: + vue: ^3.2.0 + + '@esbuild/aix-ppc64@0.19.12': + resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.19.12': + resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.19.12': + resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.19.12': + resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.19.12': + resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.19.12': + resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.19.12': + resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.19.12': + resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.19.12': + resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.19.12': + resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.19.12': + resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.19.12': + resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.19.12': + resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.19.12': + resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.19.12': + resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.19.12': + resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.19.12': + resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-x64@0.19.12': + resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-x64@0.19.12': + resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.19.12': + resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.19.12': + resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.19.12': + resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.19.12': + resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@eslint-community/eslint-utils@4.4.0': + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint-community/regexpp@4.11.0': + resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/eslintrc@2.1.4': + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@eslint/js@8.57.0': + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@floating-ui/core@1.6.7': + resolution: {integrity: sha512-yDzVT/Lm101nQ5TCVeK65LtdN7Tj4Qpr9RTXJ2vPFLqtLxwOrpoxAHAJI8J3yYWUc40J0BDBheaitK5SJmno2g==} + + '@floating-ui/dom@1.6.10': + resolution: {integrity: sha512-fskgCFv8J8OamCmyun8MfjB1Olfn+uZKjOKZ0vhYF3gRmEUXcGOjxWL8bBr7i4kIuPZ2KD2S3EUIOxnjC8kl2A==} + + '@floating-ui/utils@0.2.7': + resolution: {integrity: sha512-X8R8Oj771YRl/w+c1HqAC1szL8zWQRwFvgDwT129k9ACdBoud/+/rX9V0qiMl6LWUdP9voC2nDVZYPMQQsb6eA==} + + '@form-create/component-elm-checkbox@3.2.0': + resolution: {integrity: sha512-6F6iWzTf0+km4cGKTS8GGe8vXl7Goao2GdmwZWBOG0tsMrx52m/ZGgcWCYHqKx3zkibPpXdqyxuMnLYvb1epfw==} + + '@form-create/component-elm-frame@3.2.0': + resolution: {integrity: sha512-XJnYRwZBaViqSF4oQpPucmQiMctG9mAPeNpggUJG8rYZv/IxPb4qNovWaZsqfiCY8wyKtRTkWqqZFe9r9ubGUg==} + + '@form-create/component-elm-group@3.2.4': + resolution: {integrity: sha512-7mc5YajkR0GF+W3nlZO3GnYv/HUR04BVkl6PciBNqCpe+/mBaflJryHl+7/5ESqZb6bHoENKgJ3zPBYumkXgrg==} + + '@form-create/component-elm-radio@3.2.0': + resolution: {integrity: sha512-oIdkRxFQmwcN2fZDZul0qgIPHjb/0RvrmnZsDU2PYG7aJjxfGY1ZTdtyW21q3Un1ug7FircwqZK7zlbrVXMOWw==} + + '@form-create/component-elm-select@3.2.0': + resolution: {integrity: sha512-jzrrUyLSVDRZHTap3MYVqNub/A00X+hpLn2DCiFj6hNPZC63fuScHhIKWjkQSF4KBDGPYNfi69kFI7SCYPhhjQ==} + + '@form-create/component-elm-tree@3.2.0': + resolution: {integrity: sha512-7Cc6XaRcIc88XuOVs8pVHg9uuoByGqa56f8bQy05GsyQTBESV7tIXY78qWXCuDvc+MzE9BtTD7EEdK1YONqYmQ==} + + '@form-create/component-elm-upload@3.2.7': + resolution: {integrity: sha512-ywYKYWZIuFQwv15wXEYgdP9q9m2Zoux1rMHNnOiiOjo/1dHOJJUAWaFivVn/iLRDkaii0xJcC3Ik7jTlJSyijA==} + + '@form-create/component-subform@3.1.34': + resolution: {integrity: sha512-OJcFH/7MTHx7JLEjDK/weS27qfuFWAI+OK+gXTJ2jIt9aZkGWF/EWkjetiJLt5a0KMw4Z15wOS2XCY9pVK9vlA==} + + '@form-create/component-wangeditor@3.2.4': + resolution: {integrity: sha512-r/lPMClbbygqd2C6wpPHGEoiKJ3m0gZtUeQ8vzZ5Wfnn/LUkStgIZS6Jncvd7ANJxXtlKTj5+r0xrAhM5QbRjQ==} + + '@form-create/core@3.2.7': + resolution: {integrity: sha512-PQGf8Bfjcct2yNkMXrwnht5I8Ry1wiibZB8OdW0V2c3nPZylKubDTZFP/pEzVtkho2m5CKPXREvUdLrqhPXZHg==} + peerDependencies: + vue: ^3.1.0 + + '@form-create/designer@3.2.5': + resolution: {integrity: sha512-ZtjBHETwv/0dsG6pkMtRQUNZy7E2Vxt62bc/2WJzygM2ClWs6bfNjf3q9Z/lvt6W84Y53y1O47AXOCdiIhLYDQ==} + + '@form-create/element-ui@3.2.7': + resolution: {integrity: sha512-SE69Y7+iIY00g82vQm/PY5R6dYYPWowHt5JUwAMIwB+FqqThBVcxi3C2akSq0ThQyoBnPnF/hsftxwbRERbCWA==} + peerDependencies: + vue: ^3.1.0 + + '@form-create/utils@3.2.0': + resolution: {integrity: sha512-fqc7/l+US76NhloxMF3xE7UafYgxA8jU+t5WrAhmjaIAJ0vUNp6ScL/kdwN4nfOvjByZ/Q8BFQT0wqrp4lcgtw==} + + '@humanwhocodes/config-array@0.11.14': + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} + deprecated: Use @eslint/config-array instead + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/object-schema@2.0.3': + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + deprecated: Use @eslint/object-schema instead + + '@iconify/iconify@2.1.2': + resolution: {integrity: sha512-QcUzFeEWkE/mW+BVtEGmcWATClcCOIJFiYUD/PiCWuTcdEA297o8D4oN6Ra44WrNOHu1wqNW4J0ioaDIiqaFOQ==} + deprecated: no longer maintained, switch to modern iconify-icon web component + + '@iconify/iconify@3.1.1': + resolution: {integrity: sha512-1nemfyD/OJzh9ALepH7YfuuP8BdEB24Skhd8DXWh0hzcOxImbb1ZizSZkpCzAwSZSGcJFmscIBaBQu+yLyWaxQ==} + deprecated: no longer maintained, switch to modern iconify-icon web component + + '@iconify/json@2.2.241': + resolution: {integrity: sha512-zpeIjmIrTjl0ra6BYTYDfoK/hXn++xT5Hllc87K5SQwnqKs9RJeToSBzjF1gAsrxia+ilkhtGCcqbFF0ppDXiw==} + + '@iconify/types@2.0.0': + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + + '@iconify/utils@2.1.32': + resolution: {integrity: sha512-LeifFZPPKu28O3AEDpYJNdEbvS4/ojAPyIW+pF/vUpJTYnbTiXUHkCh0bwgFRzKvdpb8H4Fbfd/742++MF4fPQ==} + + '@intlify/bundle-utils@7.5.1': + resolution: {integrity: sha512-UovJl10oBIlmYEcWw+VIHdKY5Uv5sdPG0b/b6bOYxGLln3UwB75+2dlc0F3Fsa0RhoznQ5Rp589/BZpABpE4Xw==} + engines: {node: '>= 14.16'} + peerDependencies: + petite-vue-i18n: '*' + vue-i18n: '*' + peerDependenciesMeta: + petite-vue-i18n: + optional: true + vue-i18n: + optional: true + + '@intlify/core-base@9.10.2': + resolution: {integrity: sha512-HGStVnKobsJL0DoYIyRCGXBH63DMQqEZxDUGrkNI05FuTcruYUtOAxyL3zoAZu/uDGO6mcUvm3VXBaHG2GdZCg==} + engines: {node: '>= 16'} + + '@intlify/message-compiler@9.10.2': + resolution: {integrity: sha512-ntY/kfBwQRtX5Zh6wL8cSATujPzWW2ZQd1QwKyWwAy5fMqJyyixHMeovN4fmEyCqSu+hFfYOE63nU94evsy4YA==} + engines: {node: '>= 16'} + + '@intlify/message-compiler@9.14.0': + resolution: {integrity: sha512-sXNsoMI0YsipSXW8SR75drmVK56tnJHoYbPXUv2Cf9lz6FzvwsosFm6JtC1oQZI/kU+n7qx0qRrEWkeYFTgETA==} + engines: {node: '>= 16'} + + '@intlify/shared@9.10.2': + resolution: {integrity: sha512-ttHCAJkRy7R5W2S9RVnN9KYQYPIpV2+GiS79T4EE37nrPyH6/1SrOh3bmdCRC1T3ocL8qCDx7x2lBJ0xaITU7Q==} + engines: {node: '>= 16'} + + '@intlify/shared@9.14.0': + resolution: {integrity: sha512-r+N8KRQL7LgN1TMTs1A2svfuAU0J94Wu9wWdJVJqYsoMMLIeJxrPjazihfHpmJqfgZq0ah3Y9Q4pgWV2O90Fyg==} + engines: {node: '>= 16'} + + '@intlify/unplugin-vue-i18n@2.0.0': + resolution: {integrity: sha512-1oKvm92L9l2od2H9wKx2ZvR4tzn7gUtd7bPLI7AWUmm7U9H1iEypndt5d985ypxGsEs0gToDaKTrytbBIJwwSg==} + engines: {node: '>= 14.16'} + peerDependencies: + petite-vue-i18n: '*' + vue-i18n: '*' + vue-i18n-bridge: '*' + peerDependenciesMeta: + petite-vue-i18n: + optional: true + vue-i18n: + optional: true + vue-i18n-bridge: + optional: true + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jridgewell/gen-mapping@0.3.5': + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/source-map@0.3.6': + resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==} + + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@pkgr/core@0.1.1': + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + + '@polka/url@1.0.0-next.25': + resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} + + '@purge-icons/core@0.10.0': + resolution: {integrity: sha512-AtJbZv5Yy+vWX5v32DPTr+CW7AkSK8HJx52orDbrYt/9s4lGM2t4KKAmwaTQEH2HYr2HVh1mlqs54/S1s3WT1g==} + + '@purge-icons/generated@0.10.0': + resolution: {integrity: sha512-I+1yN7/yDy/eZzfhAZqKF8Z6FM8D/O1vempbPrHJ0m9HlZwvf8sWXOArPJ2qRQGB6mJUVSpaXkoGBuoz1GQX5A==} + + '@purge-icons/generated@0.9.0': + resolution: {integrity: sha512-s2t+1oVtGDV6KtqfCXtUOhxfeYvOdDF90IVm+nMs/6bUP0HeGZLslguuL/AibpwtfL4FA/oCsIu/RhwapgAdJw==} + + '@rollup/plugin-virtual@3.0.2': + resolution: {integrity: sha512-10monEYsBp3scM4/ND4LNH5Rxvh3e/cVeL3jWTgZ2SrQ+BmUoQcopVQvnaMcOnykb1VkxUFuDAN+0FnpTFRy2A==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/pluginutils@4.2.1': + resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} + engines: {node: '>= 8.0.0'} + + '@rollup/pluginutils@5.1.0': + resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/rollup-android-arm-eabi@4.21.0': + resolution: {integrity: sha512-WTWD8PfoSAJ+qL87lE7votj3syLavxunWhzCnx3XFxFiI/BA/r3X7MUM8dVrH8rb2r4AiO8jJsr3ZjdaftmnfA==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.21.0': + resolution: {integrity: sha512-a1sR2zSK1B4eYkiZu17ZUZhmUQcKjk2/j9Me2IDjk1GHW7LB5Z35LEzj9iJch6gtUfsnvZs1ZNyDW2oZSThrkA==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.21.0': + resolution: {integrity: sha512-zOnKWLgDld/svhKO5PD9ozmL6roy5OQ5T4ThvdYZLpiOhEGY+dp2NwUmxK0Ld91LrbjrvtNAE0ERBwjqhZTRAA==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.21.0': + resolution: {integrity: sha512-7doS8br0xAkg48SKE2QNtMSFPFUlRdw9+votl27MvT46vo44ATBmdZdGysOevNELmZlfd+NEa0UYOA8f01WSrg==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-linux-arm-gnueabihf@4.21.0': + resolution: {integrity: sha512-pWJsfQjNWNGsoCq53KjMtwdJDmh/6NubwQcz52aEwLEuvx08bzcy6tOUuawAOncPnxz/3siRtd8hiQ32G1y8VA==} + cpu: [arm] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-arm-musleabihf@4.21.0': + resolution: {integrity: sha512-efRIANsz3UHZrnZXuEvxS9LoCOWMGD1rweciD6uJQIx2myN3a8Im1FafZBzh7zk1RJ6oKcR16dU3UPldaKd83w==} + cpu: [arm] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-arm64-gnu@4.21.0': + resolution: {integrity: sha512-ZrPhydkTVhyeGTW94WJ8pnl1uroqVHM3j3hjdquwAcWnmivjAwOYjTEAuEDeJvGX7xv3Z9GAvrBkEzCgHq9U1w==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-arm64-musl@4.21.0': + resolution: {integrity: sha512-cfaupqd+UEFeURmqNP2eEvXqgbSox/LHOyN9/d2pSdV8xTrjdg3NgOFJCtc1vQ/jEke1qD0IejbBfxleBPHnPw==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@rollup/rollup-linux-powerpc64le-gnu@4.21.0': + resolution: {integrity: sha512-ZKPan1/RvAhrUylwBXC9t7B2hXdpb/ufeu22pG2psV7RN8roOfGurEghw1ySmX/CmDDHNTDDjY3lo9hRlgtaHg==} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-riscv64-gnu@4.21.0': + resolution: {integrity: sha512-H1eRaCwd5E8eS8leiS+o/NqMdljkcb1d6r2h4fKSsCXQilLKArq6WS7XBLDu80Yz+nMqHVFDquwcVrQmGr28rg==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-s390x-gnu@4.21.0': + resolution: {integrity: sha512-zJ4hA+3b5tu8u7L58CCSI0A9N1vkfwPhWd/puGXwtZlsB5bTkwDNW/+JCU84+3QYmKpLi+XvHdmrlwUwDA6kqw==} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-x64-gnu@4.21.0': + resolution: {integrity: sha512-e2hrvElFIh6kW/UNBQK/kzqMNY5mO+67YtEh9OA65RM5IJXYTWiXjX6fjIiPaqOkBthYF1EqgiZ6OXKcQsM0hg==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@rollup/rollup-linux-x64-musl@4.21.0': + resolution: {integrity: sha512-1vvmgDdUSebVGXWX2lIcgRebqfQSff0hMEkLJyakQ9JQUbLDkEaMsPTLOmyccyC6IJ/l3FZuJbmrBw/u0A0uCQ==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@rollup/rollup-win32-arm64-msvc@4.21.0': + resolution: {integrity: sha512-s5oFkZ/hFcrlAyBTONFY1TWndfyre1wOMwU+6KCpm/iatybvrRgmZVM+vCFwxmC5ZhdlgfE0N4XorsDpi7/4XQ==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.21.0': + resolution: {integrity: sha512-G9+TEqRnAA6nbpqyUqgTiopmnfgnMkR3kMukFBDsiyy23LZvUCpiUwjTRx6ezYCjJODXrh52rBR9oXvm+Fp5wg==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.21.0': + resolution: {integrity: sha512-2jsCDZwtQvRhejHLfZ1JY6w6kEuEtfF9nzYsZxzSlNVKDX+DpsDJ+Rbjkm74nvg2rdx0gwBS+IMdvwJuq3S9pQ==} + cpu: [x64] + os: [win32] + + '@sinclair/typebox@0.27.8': + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + + '@swc/core-darwin-arm64@1.7.18': + resolution: {integrity: sha512-MwLc5U+VGPMZm8MjlFBjEB2wyT1EK0NNJ3tn+ps9fmxdFP+PL8EpMiY1O1F2t1ydy2OzBtZz81sycjM9RieFBg==} + engines: {node: '>=10'} + cpu: [arm64] + os: [darwin] + + '@swc/core-darwin-x64@1.7.18': + resolution: {integrity: sha512-IkukOQUw7/14VkHp446OkYGCZEHqZg9pTmTdBawlUyz2JwZMSn2VodCl7aFSdGCsU4Cwni8zKA8CCgkCCAELhw==} + engines: {node: '>=10'} + cpu: [x64] + os: [darwin] + + '@swc/core-linux-arm-gnueabihf@1.7.18': + resolution: {integrity: sha512-ATnb6jJaBeXCqrTUawWdoOy7eP9SCI7UMcfXlYIMxX4otKKspLPAEuGA5RaNxlCcj9ObyO0J3YGbtZ6hhD2pjg==} + engines: {node: '>=10'} + cpu: [arm] + os: [linux] + + '@swc/core-linux-arm64-gnu@1.7.18': + resolution: {integrity: sha512-poHtH7zL7lEp9K2inY90lGHJABWxURAOgWNeZqrcR5+jwIe7q5KBisysH09Zf/JNF9+6iNns+U0xgWTNJzBuGA==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@swc/core-linux-arm64-musl@1.7.18': + resolution: {integrity: sha512-qnNI1WmcOV7Wz1ZDyK6WrOlzLvJ01rnni8ec950mMHWkLRMP53QvCvhF3S+7gFplWBwWJTOOPPUqJp/PlSxWyQ==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@swc/core-linux-x64-gnu@1.7.18': + resolution: {integrity: sha512-x9SCqCLzwtlqtD5At3I1a7Gco+EuXnzrJGoucmkpeQohshHuwa+cskqsXO6u1Dz0jXJEuHbBZB9va1wYYfjgFg==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@swc/core-linux-x64-musl@1.7.18': + resolution: {integrity: sha512-qtj8iOpMMgKjzxTv+islmEY0JBsbd93nka0gzcTTmGZxKtL5jSUsYQvkxwNPZr5M9NU1fgaR3n1vE6lFmtY0IQ==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@swc/core-win32-arm64-msvc@1.7.18': + resolution: {integrity: sha512-ltX/Ol9+Qu4SXmISCeuwVgAjSa8nzHTymknpozzVMgjXUoZMoz6lcynfKL1nCh5XLgqh0XNHUKLti5YFF8LrrA==} + engines: {node: '>=10'} + cpu: [arm64] + os: [win32] + + '@swc/core-win32-ia32-msvc@1.7.18': + resolution: {integrity: sha512-RgTcFP3wgyxnQbTCJrlgBJmgpeTXo8t807GU9GxApAXfpLZJ3swJ2GgFUmIJVdLWyffSHF5BEkF3FmF6mtH5AQ==} + engines: {node: '>=10'} + cpu: [ia32] + os: [win32] + + '@swc/core-win32-x64-msvc@1.7.18': + resolution: {integrity: sha512-XbZ0wAgzR757+DhQcnv60Y/bK9yuWPhDNRQVFFQVRsowvK3+c6EblyfUSytIidpXgyYFzlprq/9A9ZlO/wvDWw==} + engines: {node: '>=10'} + cpu: [x64] + os: [win32] + + '@swc/core@1.7.18': + resolution: {integrity: sha512-qL9v5N5S38ijmqiQRvCFUUx2vmxWT/JJ2rswElnyaHkOHuVoAFhBB90Ywj4RKjh3R0zOjhEcemENTyF3q3G6WQ==} + engines: {node: '>=10'} + peerDependencies: + '@swc/helpers': '*' + peerDependenciesMeta: + '@swc/helpers': + optional: true + + '@swc/counter@0.1.3': + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + + '@swc/types@0.1.12': + resolution: {integrity: sha512-wBJA+SdtkbFhHjTMYH+dEH1y4VpfGdAc2Kw/LK09i9bXd/K6j6PkDcFCEzb6iVfZMkPRrl/q0e3toqTAJdkIVA==} + + '@sxzz/popperjs-es@2.11.7': + resolution: {integrity: sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==} + + '@transloadit/prettier-bytes@0.0.7': + resolution: {integrity: sha512-VeJbUb0wEKbcwaSlj5n+LscBl9IPgLPkHVGBkh00cztv6X4L/TJXK58LzFuBKX7/GAfiGhIwH67YTLTlzvIzBA==} + + '@trysound/sax@0.2.0': + resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} + engines: {node: '>=10.13.0'} + + '@types/conventional-commits-parser@5.0.0': + resolution: {integrity: sha512-loB369iXNmAZglwWATL+WRe+CRMmmBPtpolYzIebFaX4YA3x+BEfLqhUAV9WanycKI3TG1IMr5bMJDajDKLlUQ==} + + '@types/eslint@8.56.11': + resolution: {integrity: sha512-sVBpJMf7UPo/wGecYOpk2aQya2VUGeHhe38WG7/mN5FufNSubf5VT9Uh9Uyp8/eLJpu1/tuhJ/qTo4mhSB4V4Q==} + + '@types/estree@1.0.5': + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + + '@types/event-emitter@0.3.5': + resolution: {integrity: sha512-zx2/Gg0Eg7gwEiOIIh5w9TrhKKTeQh7CPCOPNc0el4pLSwzebA8SmnHwZs2dWlLONvyulykSwGSQxQHLhjGLvQ==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/lodash-es@4.17.12': + resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} + + '@types/lodash@4.17.7': + resolution: {integrity: sha512-8wTvZawATi/lsmNu10/j2hk1KEP0IvjubqPE3cu1Xz7xfXXt5oCq3SNUz4fMIP4XGF9Ky+Ue2tBA3hcS7LSBlA==} + + '@types/node@10.17.60': + resolution: {integrity: sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==} + + '@types/node@20.16.1': + resolution: {integrity: sha512-zJDo7wEadFtSyNz5QITDfRcrhqDvQI1xQNQ0VoizPjM/dVAODqqIUWbJPkvsxmTI0MYRGRikcdjMPhOssnPejQ==} + + '@types/nprogress@0.2.3': + resolution: {integrity: sha512-k7kRA033QNtC+gLc4VPlfnue58CM1iQLgn1IMAU8VPHGOj7oIHPp9UlhedEnD/Gl8evoCjwkZjlBORtZ3JByUA==} + + '@types/qrcode@1.5.5': + resolution: {integrity: sha512-CdfBi/e3Qk+3Z/fXYShipBT13OJ2fDO2Q2w5CIP5anLTLIndQG9z6P1cnm+8zCWSpm5dnxMFd/uREtb0EXuQzg==} + + '@types/qs@6.9.15': + resolution: {integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==} + + '@types/semver@7.5.8': + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} + + '@types/svgo@2.6.4': + resolution: {integrity: sha512-l4cmyPEckf8moNYHdJ+4wkHvFxjyW6ulm9l4YGaOxeyBWPhBOT0gvni1InpFPdzx1dKf/2s62qGITwxNWnPQng==} + + '@types/video.js@7.3.58': + resolution: {integrity: sha512-1CQjuSrgbv1/dhmcfQ83eVyYbvGyqhTvb2Opxr0QCV+iJ4J6/J+XWQ3Om59WiwCd1MN3rDUHasx5XRrpUtewYQ==} + + '@types/web-bluetooth@0.0.16': + resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} + + '@types/web-bluetooth@0.0.20': + resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} + + '@typescript-eslint/eslint-plugin@7.18.0': + resolution: {integrity: sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/parser@6.21.0': + resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/parser@7.18.0': + resolution: {integrity: sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/scope-manager@6.21.0': + resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} + engines: {node: ^16.0.0 || >=18.0.0} + + '@typescript-eslint/scope-manager@7.18.0': + resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@typescript-eslint/type-utils@7.18.0': + resolution: {integrity: sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/types@6.21.0': + resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} + engines: {node: ^16.0.0 || >=18.0.0} + + '@typescript-eslint/types@7.18.0': + resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@typescript-eslint/typescript-estree@6.21.0': + resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/typescript-estree@7.18.0': + resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/utils@6.21.0': + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + + '@typescript-eslint/utils@7.18.0': + resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + + '@typescript-eslint/visitor-keys@6.21.0': + resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} + engines: {node: ^16.0.0 || >=18.0.0} + + '@typescript-eslint/visitor-keys@7.18.0': + resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@ungap/structured-clone@1.2.0': + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + + '@unocss/astro@0.58.9': + resolution: {integrity: sha512-VWfHNC0EfawFxLfb3uI+QcMGBN+ju+BYtutzeZTjilLKj31X2UpqIh8fepixL6ljgZzB3fweqg2xtUMC0gMnoQ==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 + peerDependenciesMeta: + vite: + optional: true + + '@unocss/cli@0.58.9': + resolution: {integrity: sha512-q7qlwX3V6UaqljWUQ5gMj36yTA9eLuuRywahdQWt1ioy4aPF/MEEfnMBZf/ntrqf5tIT5TO8fE11nvCco2Q/sA==} + engines: {node: '>=14'} + hasBin: true + + '@unocss/config@0.57.7': + resolution: {integrity: sha512-UG8G9orWEdk/vyDvGUToXYn/RZy/Qjpx66pLsaf5wQK37hkYsBoReAU5v8Ia/6PL1ueJlkcNXLaNpN6/yVoJvg==} + engines: {node: '>=14'} + + '@unocss/config@0.58.9': + resolution: {integrity: sha512-90wRXIyGNI8UenWxvHUcH4l4rgq813MsTzYWsf6ZKyLLvkFjV2b2EfGXI27GPvZ7fVE1OAqx+wJNTw8CyQxwag==} + engines: {node: '>=14'} + + '@unocss/core@0.57.7': + resolution: {integrity: sha512-1d36M0CV3yC80J0pqOa5rH1BX6g2iZdtKmIb3oSBN4AWnMCSrrJEPBrUikyMq2TEQTrYWJIVDzv5A9hBUat3TA==} + + '@unocss/core@0.58.9': + resolution: {integrity: sha512-wYpPIPPsOIbIoMIDuH8ihehJk5pAZmyFKXIYO/Kro98GEOFhz6lJoLsy6/PZuitlgp2/TSlubUuWGjHWvp5osw==} + + '@unocss/eslint-config@0.57.7': + resolution: {integrity: sha512-EJlI6rV0ZfDCphIiddHSWZVeoHdYDTVohVXGo+NfNOuRuvYWGna3n4hY3VEAiT3mWLK0/0anzHF7X0PNzCR5lQ==} + engines: {node: '>=14'} + + '@unocss/eslint-plugin@0.57.7': + resolution: {integrity: sha512-nwj7UJF7wCfPVl5B7cUB0xrSk6yuVMdMgABnsy4N5xBlds8cclrUO+boaTB9qzh8Lg9nfJVLB3+cW3po2SJoew==} + engines: {node: '>=14'} + + '@unocss/extractor-arbitrary-variants@0.58.9': + resolution: {integrity: sha512-M/BvPdbEEMdhcFQh/z2Bf9gylO1Ky/ZnpIvKWS1YJPLt4KA7UWXSUf+ZNTFxX+X58Is5qAb5hNh/XBQmL3gbXg==} + + '@unocss/inspector@0.58.9': + resolution: {integrity: sha512-uRzqkCNeBmEvFePXcfIFcQPMlCXd9/bLwa5OkBthiOILwQdH1uRIW3GWAa2SWspu+kZLP0Ly3SjZ9Wqi+5ZtTw==} + + '@unocss/postcss@0.58.9': + resolution: {integrity: sha512-PnKmH6Qhimw35yO6u6yx9SHaX2NmvbRNPDvMDHA/1xr3M8L0o8U88tgKbWfm65NEGF3R1zJ9A8rjtZn/LPkgPA==} + engines: {node: '>=14'} + peerDependencies: + postcss: ^8.4.21 + + '@unocss/preset-attributify@0.58.9': + resolution: {integrity: sha512-ucP+kXRFcwmBmHohUVv31bE/SejMAMo7Hjb0QcKVLyHlzRWUJsfNR+jTAIGIUSYxN7Q8MeigYsongGo3nIeJnQ==} + + '@unocss/preset-icons@0.58.9': + resolution: {integrity: sha512-9dS48+yAunsbS0ylOW2Wisozwpn3nGY1CqTiidkUnrMnrZK3al579A7srUX9NyPWWDjprO7eU/JkWbdDQSmFFA==} + + '@unocss/preset-mini@0.58.9': + resolution: {integrity: sha512-m4aDGYtueP8QGsU3FsyML63T/w5Mtr4htme2jXy6m50+tzC1PPHaIBstMTMQfLc6h8UOregPJyGHB5iYQZGEvQ==} + + '@unocss/preset-tagify@0.58.9': + resolution: {integrity: sha512-obh75XrRmxYwrQMflzvhQUMeHwd/R9bEDhTWUW9aBTolBy4eNypmQwOhHCKh5Xi4Dg6o0xj6GWC/jcCj1SPLog==} + + '@unocss/preset-typography@0.58.9': + resolution: {integrity: sha512-hrsaqKlcZni3Vh4fwXC+lP9e92FQYbqtmlZw2jpxlVwwH5aLzwk4d4MiFQGyhCfzuSDYm0Zd52putFVV02J7bA==} + + '@unocss/preset-uno@0.58.9': + resolution: {integrity: sha512-Fze+X2Z/EegCkRdDRgwwvFBmXBenNR1AG8KxAyz8iPeWbhOBaRra2sn2ScryrfH6SbJHpw26ZyJXycAdS0Fq3A==} + + '@unocss/preset-web-fonts@0.58.9': + resolution: {integrity: sha512-XtiO+Z+RYnNYomNkS2XxaQiY++CrQZKOfNGw5htgIrb32QtYVQSkyYQ3jDw7JmMiCWlZ4E72cV/zUb++WrZLxg==} + + '@unocss/preset-wind@0.58.9': + resolution: {integrity: sha512-7l+7Vx5UoN80BmJKiqDXaJJ6EUqrnUQYv8NxCThFi5lYuHzxsYWZPLU3k3XlWRUQt8XL+6rYx7mMBmD7EUSHyw==} + + '@unocss/reset@0.58.9': + resolution: {integrity: sha512-nA2pg3tnwlquq+FDOHyKwZvs20A6iBsKPU7Yjb48JrNnzoaXqE+O9oN6782IG2yKVW4AcnsAnAnM4cxXhGzy1w==} + + '@unocss/rule-utils@0.58.9': + resolution: {integrity: sha512-45bDa+elmlFLthhJmKr2ltKMAB0yoXnDMQ6Zp5j3OiRB7dDMBkwYRPvHLvIe+34Ey7tDt/kvvDPtWMpPl2quUQ==} + engines: {node: '>=14'} + + '@unocss/scope@0.58.9': + resolution: {integrity: sha512-BIwcpx0R3bE0rYa9JVDJTk0GX32EBvnbvufBpNkWfC5tb7g+B7nMkVq9ichanksYCCxrIQQo0mrIz5PNzu9sGA==} + + '@unocss/transformer-attributify-jsx-babel@0.58.9': + resolution: {integrity: sha512-UGaQoGZg+3QrsPtnGHPECmsGn4EQb2KSdZ4eGEn2YssjKv+CcQhzRvpEUgnuF/F+jGPkCkS/G/YEQBHRWBY54Q==} + + '@unocss/transformer-attributify-jsx@0.58.9': + resolution: {integrity: sha512-jpL3PRwf8t43v1agUdQn2EHGgfdWfvzsMxFtoybO88xzOikzAJaaouteNtojc/fQat2T9iBduDxVj5egdKmhdQ==} + + '@unocss/transformer-compile-class@0.58.9': + resolution: {integrity: sha512-l2VpCqelJ6Tgc1kfSODxBtg7fCGPVRr2EUzTg1LrGYKa2McbKuc/wV/2DWKHGxL6+voWi7a2C9XflqGDXXutuQ==} + + '@unocss/transformer-directives@0.58.9': + resolution: {integrity: sha512-pLOUsdoY2ugVntJXg0xuGjO9XZ2xCiMxTPRtpZ4TsEzUtdEzMswR06Y8VWvNciTB/Zqxcz9ta8rD0DKePOfSuw==} + + '@unocss/transformer-variant-group@0.58.9': + resolution: {integrity: sha512-3A6voHSnFcyw6xpcZT6oxE+KN4SHRnG4z862tdtWvRGcN+jGyNr20ylEZtnbk4xj0VNMeGHHQRZ0WLvmrAwvOQ==} + + '@unocss/vite@0.58.9': + resolution: {integrity: sha512-mmppBuulAHCal+sC0Qz36Y99t0HicAmznpj70Kzwl7g/yvXwm58/DW2OnpCWw+uA8/JBft/+z3zE+XvrI+T1HA==} + peerDependencies: + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 + + '@uppy/companion-client@2.2.2': + resolution: {integrity: sha512-5mTp2iq97/mYSisMaBtFRry6PTgZA6SIL7LePteOV5x0/DxKfrZW3DEiQERJmYpHzy7k8johpm2gHnEKto56Og==} + + '@uppy/core@2.3.4': + resolution: {integrity: sha512-iWAqppC8FD8mMVqewavCz+TNaet6HPXitmGXpGGREGrakZ4FeuWytVdrelydzTdXx6vVKkOmI2FLztGg73sENQ==} + + '@uppy/store-default@2.1.1': + resolution: {integrity: sha512-xnpTxvot2SeAwGwbvmJ899ASk5tYXhmZzD/aCFsXePh/v8rNvR2pKlcQUH7cF/y4baUGq3FHO/daKCok/mpKqQ==} + + '@uppy/utils@4.1.3': + resolution: {integrity: sha512-nTuMvwWYobnJcytDO3t+D6IkVq/Qs4Xv3vyoEZ+Iaf8gegZP+rEyoaFT2CK5XLRMienPyqRqNbIfRuFaOWSIFw==} + + '@uppy/xhr-upload@2.1.3': + resolution: {integrity: sha512-YWOQ6myBVPs+mhNjfdWsQyMRWUlrDLMoaG7nvf/G6Y3GKZf8AyjFDjvvJ49XWQ+DaZOftGkHmF1uh/DBeGivJQ==} + peerDependencies: + '@uppy/core': ^2.3.3 + + '@videojs-player/vue@1.0.0': + resolution: {integrity: sha512-WonTezRfKu3fYdQLt/ta+nuKH6gMZUv8l40Jke/j4Lae7IqeO/+lLAmBnh3ni88bwR+vkFXIlZ2Ci7VKInIYJg==} + peerDependencies: + '@types/video.js': 7.x + video.js: 7.x + vue: 3.x + + '@videojs/http-streaming@2.16.3': + resolution: {integrity: sha512-91CJv5PnFBzNBvyEjt+9cPzTK/xoVixARj2g7ZAvItA+5bx8VKdk5RxCz/PP2kdzz9W+NiDUMPkdmTsosmy69Q==} + engines: {node: '>=8', npm: '>=5'} + peerDependencies: + video.js: ^6 || ^7 + + '@videojs/vhs-utils@3.0.5': + resolution: {integrity: sha512-PKVgdo8/GReqdx512F+ombhS+Bzogiofy1LgAj4tN8PfdBx3HSS7V5WfJotKTqtOWGwVfSWsrYN/t09/DSryrw==} + engines: {node: '>=8', npm: '>=5'} + + '@videojs/xhr@2.6.0': + resolution: {integrity: sha512-7J361GiN1tXpm+gd0xz2QWr3xNWBE+rytvo8J3KuggFaLg+U37gZQ2BuPLcnkfGffy2e+ozY70RHC8jt7zjA6Q==} + + '@vitejs/plugin-legacy@5.4.2': + resolution: {integrity: sha512-hlyyQL+wEIyOWdwsUKX+0g3kBU4AbHmVzHarLvVKiGGGqLIYjttMvvjk6zGY8RD9dab6QuFNhDoxg0YFhQ26xA==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + terser: ^5.4.0 + vite: ^5.0.0 + + '@vitejs/plugin-vue-jsx@3.1.0': + resolution: {integrity: sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.0.0 || ^5.0.0 + vue: ^3.0.0 + + '@vitejs/plugin-vue@5.1.2': + resolution: {integrity: sha512-nY9IwH12qeiJqumTCLJLE7IiNx7HZ39cbHaysEUd+Myvbz9KAqd2yq+U01Kab1R/H1BmiyM2ShTYlNH32Fzo3A==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 + vue: ^3.2.25 + + '@volar/language-core@1.11.1': + resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==} + + '@volar/source-map@1.11.1': + resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==} + + '@volar/typescript@1.11.1': + resolution: {integrity: sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==} + + '@vue/babel-helper-vue-transform-on@1.2.2': + resolution: {integrity: sha512-nOttamHUR3YzdEqdM/XXDyCSdxMA9VizUKoroLX6yTyRtggzQMHXcmwh8a7ZErcJttIBIc9s68a1B8GZ+Dmvsw==} + + '@vue/babel-plugin-jsx@1.2.2': + resolution: {integrity: sha512-nYTkZUVTu4nhP199UoORePsql0l+wj7v/oyQjtThUVhJl1U+6qHuoVhIvR3bf7eVKjbCK+Cs2AWd7mi9Mpz9rA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + peerDependenciesMeta: + '@babel/core': + optional: true + + '@vue/babel-plugin-resolve-type@1.2.2': + resolution: {integrity: sha512-EntyroPwNg5IPVdUJupqs0CFzuf6lUrVvCspmv2J1FITLeGnUCuoGNNk78dgCusxEiYj6RMkTJflGSxk5aIC4A==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@vue/compiler-core@3.4.21': + resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==} + + '@vue/compiler-core@3.4.38': + resolution: {integrity: sha512-8IQOTCWnLFqfHzOGm9+P8OPSEDukgg3Huc92qSG49if/xI2SAwLHQO2qaPQbjCWPBcQoO1WYfXfTACUrWV3c5A==} + + '@vue/compiler-dom@3.4.21': + resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==} + + '@vue/compiler-dom@3.4.38': + resolution: {integrity: sha512-Osc/c7ABsHXTsETLgykcOwIxFktHfGSUDkb05V61rocEfsFDcjDLH/IHJSNJP+/Sv9KeN2Lx1V6McZzlSb9EhQ==} + + '@vue/compiler-sfc@3.4.21': + resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==} + + '@vue/compiler-sfc@3.4.38': + resolution: {integrity: sha512-s5QfZ+9PzPh3T5H4hsQDJtI8x7zdJaew/dCGgqZ2630XdzaZ3AD8xGZfBqpT8oaD/p2eedd+pL8tD5vvt5ZYJQ==} + + '@vue/compiler-ssr@3.4.21': + resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==} + + '@vue/compiler-ssr@3.4.38': + resolution: {integrity: sha512-YXznKFQ8dxYpAz9zLuVvfcXhc31FSPFDcqr0kyujbOwNhlmaNvL2QfIy+RZeJgSn5Fk54CWoEUeW+NVBAogGaw==} + + '@vue/devtools-api@6.6.3': + resolution: {integrity: sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw==} + + '@vue/language-core@1.8.27': + resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@vue/reactivity@3.4.21': + resolution: {integrity: sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==} + + '@vue/runtime-core@3.4.21': + resolution: {integrity: sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==} + + '@vue/runtime-dom@3.4.21': + resolution: {integrity: sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==} + + '@vue/server-renderer@3.4.21': + resolution: {integrity: sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==} + peerDependencies: + vue: 3.4.21 + + '@vue/shared@3.4.21': + resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} + + '@vue/shared@3.4.38': + resolution: {integrity: sha512-q0xCiLkuWWQLzVrecPb0RMsNWyxICOjPrcrwxTUEHb1fsnvni4dcuyG7RT/Ie7VPTvnjzIaWzRMUBsrqNj/hhw==} + + '@vueuse/core@10.11.1': + resolution: {integrity: sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==} + + '@vueuse/core@9.13.0': + resolution: {integrity: sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==} + + '@vueuse/metadata@10.11.1': + resolution: {integrity: sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw==} + + '@vueuse/metadata@9.13.0': + resolution: {integrity: sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==} + + '@vueuse/shared@10.11.1': + resolution: {integrity: sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==} + + '@vueuse/shared@9.13.0': + resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==} + + '@wangeditor/basic-modules@1.1.7': + resolution: {integrity: sha512-cY9CPkLJaqF05STqfpZKWG4LpxTMeGSIIF1fHvfm/mz+JXatCagjdkbxdikOuKYlxDdeqvOeBmsUBItufDLXZg==} + peerDependencies: + '@wangeditor/core': 1.x + dom7: ^3.0.0 + lodash.throttle: ^4.1.1 + nanoid: ^3.2.0 + slate: ^0.72.0 + snabbdom: ^3.1.0 + + '@wangeditor/code-highlight@1.0.3': + resolution: {integrity: sha512-iazHwO14XpCuIWJNTQTikqUhGKyqj+dUNWJ9288Oym9M2xMVHvnsOmDU2sgUDWVy+pOLojReMPgXCsvvNlOOhw==} + peerDependencies: + '@wangeditor/core': 1.x + dom7: ^3.0.0 + slate: ^0.72.0 + snabbdom: ^3.1.0 + + '@wangeditor/core@1.1.19': + resolution: {integrity: sha512-KevkB47+7GhVszyYF2pKGKtCSj/YzmClsD03C3zTt+9SR2XWT5T0e3yQqg8baZpcMvkjs1D8Dv4fk8ok/UaS2Q==} + peerDependencies: + '@uppy/core': ^2.1.1 + '@uppy/xhr-upload': ^2.0.3 + dom7: ^3.0.0 + is-hotkey: ^0.2.0 + lodash.camelcase: ^4.3.0 + lodash.clonedeep: ^4.5.0 + lodash.debounce: ^4.0.8 + lodash.foreach: ^4.5.0 + lodash.isequal: ^4.5.0 + lodash.throttle: ^4.1.1 + lodash.toarray: ^4.4.0 + nanoid: ^3.2.0 + slate: ^0.72.0 + snabbdom: ^3.1.0 + + '@wangeditor/editor-for-vue@5.1.12': + resolution: {integrity: sha512-0Ds3D8I+xnpNWezAeO7HmPRgTfUxHLMd9JKcIw+QzvSmhC5xUHbpCcLU+KLmeBKTR/zffnS5GQo6qi3GhTMJWQ==} + peerDependencies: + '@wangeditor/editor': '>=5.1.0' + vue: ^3.0.5 + + '@wangeditor/editor@5.1.23': + resolution: {integrity: sha512-0RxfeVTuK1tktUaPROnCoFfaHVJpRAIE2zdS0mpP+vq1axVQpLjM8+fCvKzqYIkH0Pg+C+44hJpe3VVroSkEuQ==} + + '@wangeditor/list-module@1.0.5': + resolution: {integrity: sha512-uDuYTP6DVhcYf7mF1pTlmNn5jOb4QtcVhYwSSAkyg09zqxI1qBqsfUnveeDeDqIuptSJhkh81cyxi+MF8sEPOQ==} + peerDependencies: + '@wangeditor/core': 1.x + dom7: ^3.0.0 + slate: ^0.72.0 + snabbdom: ^3.1.0 + + '@wangeditor/table-module@1.1.4': + resolution: {integrity: sha512-5saanU9xuEocxaemGdNi9t8MCDSucnykEC6jtuiT72kt+/Hhh4nERYx1J20OPsTCCdVr7hIyQenFD1iSRkIQ6w==} + peerDependencies: + '@wangeditor/core': 1.x + dom7: ^3.0.0 + lodash.isequal: ^4.5.0 + lodash.throttle: ^4.1.1 + nanoid: ^3.2.0 + slate: ^0.72.0 + snabbdom: ^3.1.0 + + '@wangeditor/upload-image-module@1.0.2': + resolution: {integrity: sha512-z81lk/v71OwPDYeQDxj6cVr81aDP90aFuywb8nPD6eQeECtOymrqRODjpO6VGvCVxVck8nUxBHtbxKtjgcwyiA==} + peerDependencies: + '@uppy/core': ^2.0.3 + '@uppy/xhr-upload': ^2.0.3 + '@wangeditor/basic-modules': 1.x + '@wangeditor/core': 1.x + dom7: ^3.0.0 + lodash.foreach: ^4.5.0 + slate: ^0.72.0 + snabbdom: ^3.1.0 + + '@wangeditor/video-module@1.1.4': + resolution: {integrity: sha512-ZdodDPqKQrgx3IwWu4ZiQmXI8EXZ3hm2/fM6E3t5dB8tCaIGWQZhmqd6P5knfkRAd3z2+YRSRbxOGfoRSp/rLg==} + peerDependencies: + '@uppy/core': ^2.1.4 + '@uppy/xhr-upload': ^2.0.7 + '@wangeditor/core': 1.x + dom7: ^3.0.0 + nanoid: ^3.2.0 + slate: ^0.72.0 + snabbdom: ^3.1.0 + + '@xmldom/xmldom@0.8.10': + resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==} + engines: {node: '>=10.0.0'} + + '@zxcvbn-ts/core@3.0.4': + resolution: {integrity: sha512-aQeiT0F09FuJaAqNrxynlAwZ2mW/1MdXakKWNmGM1Qp/VaY6CnB/GfnMS2T8gB2231Esp1/maCWd8vTG4OuShw==} + + JSONStream@1.3.5: + resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} + hasBin: true + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} + engines: {node: '>=0.4.0'} + hasBin: true + + aes-decrypter@3.1.3: + resolution: {integrity: sha512-VkG9g4BbhMBy+N5/XodDeV6F02chEk9IpgRTq/0bS80y4dzy79VH2Gtms02VXomf3HmyRe3yyJYkJ990ns+d6A==} + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + ajv@8.17.1: + resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + + animate.css@4.1.1: + resolution: {integrity: sha512-+mRmCTv6SbCmtYJCN4faJMNFVNN5EuCTTprDTAo7YzIGji2KADmakjVA3+8mVDkZ2Bf09vayB35lSQIex2+QaQ==} + + ansi-escapes@7.0.0: + resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} + engines: {node: '>=18'} + + ansi-regex@2.1.1: + resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} + engines: {node: '>=0.10.0'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + + ansi-styles@2.2.1: + resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} + engines: {node: '>=0.10.0'} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + arr-diff@4.0.0: + resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==} + engines: {node: '>=0.10.0'} + + arr-flatten@1.1.0: + resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==} + engines: {node: '>=0.10.0'} + + arr-union@3.1.0: + resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==} + engines: {node: '>=0.10.0'} + + array-buffer-byte-length@1.0.1: + resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} + engines: {node: '>= 0.4'} + + array-ify@1.0.0: + resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} + + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + array-unique@0.3.2: + resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==} + engines: {node: '>=0.10.0'} + + arraybuffer.prototype.slice@1.0.3: + resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} + engines: {node: '>= 0.4'} + + assign-symbols@1.0.0: + resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} + engines: {node: '>=0.10.0'} + + astral-regex@2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} + + async-validator@4.2.5: + resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==} + + async@3.2.6: + resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} + + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + atob@2.1.2: + resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} + engines: {node: '>= 4.5.0'} + hasBin: true + + autoprefixer@10.4.20: + resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + + axios@0.26.1: + resolution: {integrity: sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==} + + axios@1.7.5: + resolution: {integrity: sha512-fZu86yCo+svH3uqJ/yTdQ0QHpQu5oL+/QE+QPSv6BZSkDAoky9vytxp7u5qk83OJFS3kEBcesWni9WTZAv3tSw==} + + babel-plugin-polyfill-corejs2@0.4.11: + resolution: {integrity: sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-corejs3@0.10.6: + resolution: {integrity: sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + babel-plugin-polyfill-regenerator@0.6.2: + resolution: {integrity: sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==} + peerDependencies: + '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + balanced-match@2.0.0: + resolution: {integrity: sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==} + + base@0.11.2: + resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==} + engines: {node: '>=0.10.0'} + + benz-amr-recorder@1.1.5: + resolution: {integrity: sha512-NepctcNTsZHK8NxBb5uKO5p8S+xkbm+vD6GLSkCYdJeEsriexvgumLHpDkanX4QJBcLRMVtg16buWMs+gUPB3g==} + + benz-recorderjs@1.0.5: + resolution: {integrity: sha512-EwedOQo9KLti7HxDi/eZY51PSRbAXnOdEZmLvJ6ro3QQSoF9Y3AXBt57MIllGvVz5vtFYMeikG+GD7qTm3+p9w==} + + big.js@5.2.2: + resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + bluebird@3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + + bpmn-js-properties-panel@0.46.0: + resolution: {integrity: sha512-8MlNvHklIZZQH9vtoKf0A0A1v0sHO4Iz19jGhHeX15czOOiCfdavjo+q23GHWNKzQA9347F91XYFcrnM6FO8zw==} + peerDependencies: + bpmn-js: ^3.x || ^4.x || ^5.x || ^6.x || ^7.x || ^8.x + + bpmn-js-token-simulation@0.10.0: + resolution: {integrity: sha512-QuZQ/KVXKt9Vl+XENyOBoTW2Aw+uKjuBlKdCJL6El7AyM7DkJ5bZkSYURshId1SkBDdYg2mJ1flSmsrhGuSfwg==} + + bpmn-js@8.9.0: + resolution: {integrity: sha512-cthSxiJUpEHspiUKiL0YA8/mRCYngNKwALWieLKPtFo42n+vWTFgmxnASNRwhxpPEbSXjYuTah1lZ0lSyLWPpw==} + + bpmn-moddle@7.1.3: + resolution: {integrity: sha512-ZcBfw0NSOdYTSXFKEn7MOXHItz7VfLZTrFYKO8cK6V8ZzGjCcdiLIOiw7Lctw1PJsihhLiZQS8Htj2xKf+NwCg==} + + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + + braces@2.3.2: + resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==} + engines: {node: '>=0.10.0'} + + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + + browserslist-to-esbuild@2.1.1: + resolution: {integrity: sha512-KN+mty6C3e9AN8Z5dI1xeN15ExcRNeISoC3g7V0Kax/MMF9MSoYA2G7lkTTcVUFntiEjkpI0HNgqJC1NjdyNUw==} + engines: {node: '>=18'} + hasBin: true + peerDependencies: + browserslist: '*' + + browserslist@4.23.3: + resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + + cache-base@1.0.1: + resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==} + engines: {node: '>=0.10.0'} + + call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + camunda-bpmn-moddle@7.0.1: + resolution: {integrity: sha512-Br8Diu6roMpziHdpl66Dhnm0DTnCFMrSD9zwLV08LpD52QA0UsXxU87XfHf08HjuB7ly0Hd1bvajZRpf9hbmYQ==} + + caniuse-lite@1.0.30001653: + resolution: {integrity: sha512-XGWQVB8wFQ2+9NZwZ10GxTYC5hk0Fa+q8cSkr0tgvMhYhMHP/QC+WTgrePMDBWiWc/pV+1ik82Al20XOK25Gcw==} + + chalk@1.1.3: + resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} + engines: {node: '>=0.10.0'} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + class-utils@0.3.6: + resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==} + engines: {node: '>=0.10.0'} + + cli-cursor@5.0.0: + resolution: {integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==} + engines: {node: '>=18'} + + cli-truncate@4.0.0: + resolution: {integrity: sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==} + engines: {node: '>=18'} + + cliui@6.0.0: + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + clone@2.1.2: + resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} + engines: {node: '>=0.8'} + + clsx@2.1.1: + resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} + engines: {node: '>=6'} + + collection-visit@1.0.0: + resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==} + engines: {node: '>=0.10.0'} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + colord@2.9.3: + resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} + + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + + commander@12.1.0: + resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} + engines: {node: '>=18'} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + + common-tags@1.8.2: + resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} + engines: {node: '>=4.0.0'} + + compare-func@2.0.0: + resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} + + component-classes@1.2.6: + resolution: {integrity: sha512-hPFGULxdwugu1QWW3SvVOCUHLzO34+a2J6Wqy0c5ASQkfi9/8nZcBB0ZohaEbXOQlCflMAEMmEWk7u7BVs4koA==} + + component-closest@0.1.4: + resolution: {integrity: sha512-NF9hMj6JKGM5sb6wP/dg7GdJOttaIH9PcTsUNdWcrvu7Kw/5R5swQAFpgaYEHlARrNMyn4Wf7O1PlRej+pt76Q==} + + component-delegate@0.2.4: + resolution: {integrity: sha512-OlpcB/6Fi+kXQPh/TfXnSvvmrU04ghz7vcJh/jgLF0Ni+I+E3WGlKJQbBGDa5X+kVUG8WxOgjP+8iWbz902fPg==} + + component-emitter@1.3.1: + resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==} + + component-event@0.1.4: + resolution: {integrity: sha512-GMwOG8MnUHP1l8DZx1ztFO0SJTFnIzZnBDkXAj8RM2ntV2A6ALlDxgbMY1Fvxlg6WPQ+5IM/a6vg4PEYbjg/Rw==} + + component-event@0.2.1: + resolution: {integrity: sha512-wGA++isMqiDq1jPYeyv2as/Bt/u+3iLW0rEa+8NQ82jAv3TgqMiCM+B2SaBdn2DfLilLjjq736YcezihRYhfxw==} + + component-indexof@0.0.3: + resolution: {integrity: sha512-puDQKvx/64HZXb4hBwIcvQLaLgux8o1CbWl39s41hrIIZDl1lJiD5jc22gj3RBeGK0ovxALDYpIbyjqDUUl0rw==} + + component-matches-selector@0.1.7: + resolution: {integrity: sha512-Yb2+pVBvrqkQVpPaDBF0DYXRreBveXJNrpJs9FnFu8PF6/5IIcz5oDZqiH9nB5hbD2/TmFVN5ZCxBzqu7yFFYQ==} + + component-query@0.0.3: + resolution: {integrity: sha512-VgebQseT1hz1Ps7vVp2uaSg+N/gsI5ts3AZUSnN6GMA2M82JH7o+qYifWhmVE/e8w/H48SJuA3nA9uX8zRe95Q==} + + compute-scroll-into-view@1.0.20: + resolution: {integrity: sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==} + + computeds@0.0.1: + resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + confbox@0.1.7: + resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} + + consola@3.2.3: + resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} + engines: {node: ^14.18.0 || >=16.10.0} + + conventional-changelog-angular@7.0.0: + resolution: {integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==} + engines: {node: '>=16'} + + conventional-changelog-conventionalcommits@7.0.2: + resolution: {integrity: sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w==} + engines: {node: '>=16'} + + conventional-commits-parser@5.0.0: + resolution: {integrity: sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==} + engines: {node: '>=16'} + hasBin: true + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + copy-descriptor@0.1.1: + resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==} + engines: {node: '>=0.10.0'} + + core-js-compat@3.38.1: + resolution: {integrity: sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==} + + core-js-pure@3.38.1: + resolution: {integrity: sha512-BY8Etc1FZqdw1glX0XNOq2FDwfrg/VGqoZOZCdaL+UmdaqDwQwYXkMJT4t6In+zfEfOJDcM9T0KdbBeJg8KKCQ==} + + core-js@3.38.1: + resolution: {integrity: sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==} + + cors@2.8.5: + resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} + engines: {node: '>= 0.10'} + + cosmiconfig-typescript-loader@5.0.0: + resolution: {integrity: sha512-+8cK7jRAReYkMwMiG+bxhcNKiHJDM6bR9FD/nGBXOWdMLuYawjF5cGrtLilJ+LGd3ZjCXnJjR5DkfWPoIVlqJA==} + engines: {node: '>=v16'} + peerDependencies: + '@types/node': '*' + cosmiconfig: '>=8.2' + typescript: '>=4' + + cosmiconfig@9.0.0: + resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + + cropperjs@1.6.2: + resolution: {integrity: sha512-nhymn9GdnV3CqiEHJVai54TULFAE3VshJTXSqSJKa8yXAKyBKDWdhHarnlIPrshJ0WMFTGuFvG02YjLXfPiuOA==} + + cross-fetch@3.1.8: + resolution: {integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==} + + cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + + crypto-js@4.2.0: + resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==} + + css-functions-list@3.2.2: + resolution: {integrity: sha512-c+N0v6wbKVxTu5gOBBFkr9BEdBWaqqjQeiJ8QvSRIJOf+UxlJh930m8e6/WNeODIK0mYLFkoONrnj16i2EcvfQ==} + engines: {node: '>=12 || >=16'} + + css-select@4.3.0: + resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + + css-tree@1.1.3: + resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} + engines: {node: '>=8.0.0'} + + css-tree@2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + + css-what@6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + + css.escape@1.5.1: + resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} + + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + + csso@4.2.0: + resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} + engines: {node: '>=8.0.0'} + + csstype@3.1.3: + resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + + d@1.0.2: + resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==} + engines: {node: '>=0.12'} + + dargs@8.1.0: + resolution: {integrity: sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==} + engines: {node: '>=12'} + + data-view-buffer@1.0.1: + resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} + engines: {node: '>= 0.4'} + + data-view-byte-length@1.0.1: + resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} + engines: {node: '>= 0.4'} + + data-view-byte-offset@1.0.0: + resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} + engines: {node: '>= 0.4'} + + dayjs@1.11.13: + resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} + + de-indent@1.0.2: + resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} + + debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.3.6: + resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + + decode-uri-component@0.2.2: + resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} + engines: {node: '>=0.10'} + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + define-property@0.2.5: + resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==} + engines: {node: '>=0.10.0'} + + define-property@1.0.0: + resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==} + engines: {node: '>=0.10.0'} + + define-property@2.0.2: + resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==} + engines: {node: '>=0.10.0'} + + defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + destr@2.0.3: + resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} + + diagram-js-direct-editing@1.8.0: + resolution: {integrity: sha512-B4Xj+PJfgBjbPEzT3uZQEkZI5xHFB0Izc+7BhDFuHidzrEMzQKZrFGdA3PqfWhReHf3dp+iB6Tt11G9eGNjKMw==} + peerDependencies: + diagram-js: '*' + + diagram-js@12.8.1: + resolution: {integrity: sha512-LF9BiwjbOPpZd0ez5VSlYRbdbEA59YQX43bWvNDp1rLMv0xwZ5yIg4oaYDK82nIQ0kH1tjvoQRpNevMTCgQVyw==} + + diagram-js@7.9.0: + resolution: {integrity: sha512-o1yUtX5TXV1pmpevP55gxU/AEG6nCidOXGs/HLuxNXG0zMZ3jQta7kMqRxTK93rNw/XuHmP1eMOwdvdJ2RP5qA==} + + didi@5.2.1: + resolution: {integrity: sha512-IKNnajUlD4lWMy/Q9Emkk7H1qnzREgY4UyE3IhmOi/9IKua0JYtYldk928bOdt1yNxN8EiOy1sqtSozEYsmjCg==} + + didi@9.0.2: + resolution: {integrity: sha512-q2+aj+lnJcUweV7A9pdUrwFr4LHVmRPwTmQLtHPFz4aT7IBoryN6Iy+jmFku+oIzr5ebBkvtBCOb87+dJhb7bg==} + + dijkstrajs@1.0.3: + resolution: {integrity: sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==} + + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + + dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + + doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + + dom-serializer@0.2.2: + resolution: {integrity: sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==} + + dom-serializer@1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + + dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + + dom-walk@0.1.2: + resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==} + + dom7@3.0.0: + resolution: {integrity: sha512-oNlcUdHsC4zb7Msx7JN3K0Nro1dzJ48knvBOnDPKJ2GV9wl1i5vydJZUSyOfrkKFDZEud/jBsTk92S/VGSAe/g==} + + domelementtype@1.3.1: + resolution: {integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==} + + domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + + domhandler@2.4.2: + resolution: {integrity: sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==} + + domhandler@4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + + domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + + domify@1.4.2: + resolution: {integrity: sha512-m4yreHcUWHBncGVV7U+yQzc12vIlq0jMrtHZ5mW6dQMiL/7skSYNVX9wqKwOtyO9SGCgevrAFEgOCAHmamHTUA==} + + dompurify@3.1.6: + resolution: {integrity: sha512-cTOAhc36AalkjtBpfG6O8JimdTMWNXjiePT2xQH/ppBGi/4uIpmj8eKyIkMJErXWARyINV/sB38yf8JCLF5pbQ==} + + domutils@1.7.0: + resolution: {integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==} + + domutils@2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + + domutils@3.1.0: + resolution: {integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==} + + dot-prop@5.3.0: + resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} + engines: {node: '>=8'} + + driver.js@1.3.1: + resolution: {integrity: sha512-MvUdXbqSgEsgS/H9KyWb5Rxy0aE6BhOVT4cssi2x2XjmXea6qQfgdx32XKVLLSqTaIw7q/uxU5Xl3NV7+cN6FQ==} + + duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + echarts-wordcloud@2.1.0: + resolution: {integrity: sha512-Kt1JmbcROgb+3IMI48KZECK2AP5lG6bSsOEs+AsuwaWJxQom31RTNd6NFYI01E/YaI1PFZeueaupjlmzSQasjQ==} + peerDependencies: + echarts: ^5.0.1 + + echarts@5.5.1: + resolution: {integrity: sha512-Fce8upazaAXUVUVsjgV6mBnGuqgO+JNDlcgF79Dksy4+wgGpQB2lmYoO4TSweFg/mZITdpGHomw/cNBJZj1icA==} + + ejs@3.1.10: + resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} + engines: {node: '>=0.10.0'} + hasBin: true + + electron-to-chromium@1.5.13: + resolution: {integrity: sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==} + + element-plus@2.6.1: + resolution: {integrity: sha512-6VRpLjwtIVdtUuITJPPKtpOH1NM6nuAkRE3q5O4Lrx0N1bYMhTkiqb2Jy7zfQuDPbOIkkF2OABTzegpNnzgsnQ==} + peerDependencies: + vue: ^3.2.0 + + emoji-regex@10.3.0: + resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + emojis-list@3.0.0: + resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} + engines: {node: '>= 4'} + + entities@1.1.2: + resolution: {integrity: sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==} + + entities@2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + + entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + + env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + + environment@1.1.0: + resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} + engines: {node: '>=18'} + + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + + es-abstract@1.23.3: + resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} + engines: {node: '>= 0.4'} + + es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-module-lexer@1.5.4: + resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} + + es-object-atoms@1.0.0: + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.0.3: + resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} + engines: {node: '>= 0.4'} + + es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + + es5-ext@0.10.64: + resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} + engines: {node: '>=0.10'} + + es6-iterator@2.0.3: + resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} + + es6-symbol@3.1.4: + resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==} + engines: {node: '>=0.12'} + + esbuild@0.19.12: + resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} + engines: {node: '>=12'} + hasBin: true + + escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} + + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + + escodegen@2.1.0: + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} + hasBin: true + + eslint-config-prettier@9.1.0: + resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + + eslint-define-config@2.1.0: + resolution: {integrity: sha512-QUp6pM9pjKEVannNAbSJNeRuYwW3LshejfyBBpjeMGaJjaDUpVps4C6KVR8R7dWZnD3i0synmrE36znjTkJvdQ==} + engines: {node: '>=18.0.0', npm: '>=9.0.0', pnpm: '>=8.6.0'} + + eslint-plugin-prettier@5.2.1: + resolution: {integrity: sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + '@types/eslint': '>=8.0.0' + eslint: '>=8.0.0' + eslint-config-prettier: '*' + prettier: '>=3.0.0' + peerDependenciesMeta: + '@types/eslint': + optional: true + eslint-config-prettier: + optional: true + + eslint-plugin-vue@9.27.0: + resolution: {integrity: sha512-5Dw3yxEyuBSXTzT5/Ge1X5kIkRTQ3nvBn/VwPwInNiZBSJOO/timWMUaflONnFBzU6NhB68lxnCda7ULV5N7LA==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 + + eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + + esniff@2.0.1: + resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==} + engines: {node: '>=0.10'} + + espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + esquery@1.6.0: + resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + event-emitter@0.3.5: + resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} + + eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + + execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + + expand-brackets@2.1.4: + resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==} + engines: {node: '>=0.10.0'} + + ext@1.7.0: + resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} + + extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + + extend-shallow@3.0.2: + resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==} + engines: {node: '>=0.10.0'} + + extglob@2.0.4: + resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==} + engines: {node: '>=0.10.0'} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + + fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fast-uri@3.0.1: + resolution: {integrity: sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==} + + fast-xml-parser@4.4.1: + resolution: {integrity: sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==} + hasBin: true + + fastest-levenshtein@1.0.16: + resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} + engines: {node: '>= 4.9.1'} + + fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + + file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + + file-entry-cache@9.0.0: + resolution: {integrity: sha512-6MgEugi8p2tiUhqO7GnPsmbCCzj0YRCwwaTbpGRyKZesjRSzkqkAE9fPp7V2yMs5hwfgbQLgdvSSkGNg1s5Uvw==} + engines: {node: '>=18'} + + filelist@1.0.4: + resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} + + fill-range@4.0.0: + resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==} + engines: {node: '>=0.10.0'} + + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + find-up@7.0.0: + resolution: {integrity: sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==} + engines: {node: '>=18'} + + flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + + flat-cache@5.0.0: + resolution: {integrity: sha512-JrqFmyUl2PnPi1OvLyTVHnQvwQ0S+e6lGSwu8OkAZlSaNIZciTY2H/cOOROxsBA1m/LZNHDsqAgDZt6akWcjsQ==} + engines: {node: '>=18'} + + flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + + follow-redirects@1.15.6: + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + + for-in@1.0.2: + resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==} + engines: {node: '>=0.10.0'} + + foreground-child@3.3.0: + resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} + engines: {node: '>=14'} + + form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + + fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + + fragment-cache@0.2.1: + resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==} + engines: {node: '>=0.10.0'} + + fs-extra@10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} + + functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-east-asian-width@1.2.0: + resolution: {integrity: sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==} + engines: {node: '>=18'} + + get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} + + get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + + get-symbol-description@1.0.2: + resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} + engines: {node: '>= 0.4'} + + get-value@2.0.6: + resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} + engines: {node: '>=0.10.0'} + + git-raw-commits@4.0.0: + resolution: {integrity: sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ==} + engines: {node: '>=16'} + hasBin: true + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} + hasBin: true + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported + + global-directory@4.0.1: + resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} + engines: {node: '>=18'} + + global-modules@2.0.0: + resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} + engines: {node: '>=6'} + + global-object@1.0.0: + resolution: {integrity: sha512-mSPSkY6UsHv6hgW0V2dfWBWTS8TnPnLx3ECVNoWp6rBI2Bg66VYoqGoTFlH/l7XhAZ/l+StYlntXlt87BEeCcg==} + + global-prefix@3.0.0: + resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} + engines: {node: '>=6'} + + global@4.4.0: + resolution: {integrity: sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==} + + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + + globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} + + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + globjoin@0.1.4: + resolution: {integrity: sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==} + + gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + + gzip-size@6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} + + hammerjs@2.0.8: + resolution: {integrity: sha512-tSQXBXS/MWQOn/RKckawJ61vvsDpCom87JgxiYdGwHdOa0ht0vzUWDlfioofFCRU0L+6NGDt6XzbgoJvZkMeRQ==} + engines: {node: '>=0.8.0'} + + has-ansi@2.0.0: + resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} + engines: {node: '>=0.10.0'} + + has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + + has-flag@1.0.0: + resolution: {integrity: sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==} + engines: {node: '>=0.10.0'} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + engines: {node: '>= 0.4'} + + has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + has-value@0.3.1: + resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==} + engines: {node: '>=0.10.0'} + + has-value@1.0.0: + resolution: {integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==} + engines: {node: '>=0.10.0'} + + has-values@0.1.4: + resolution: {integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==} + engines: {node: '>=0.10.0'} + + has-values@1.0.0: + resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==} + engines: {node: '>=0.10.0'} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + + highlight.js@11.10.0: + resolution: {integrity: sha512-SYVnVFswQER+zu1laSya563s+F8VDGt7o35d4utbamowvUNLLMovFqwCLSocpZTz3MgaSRA1IbqRWZv97dtErQ==} + engines: {node: '>=12.0.0'} + + htm@3.1.1: + resolution: {integrity: sha512-983Vyg8NwUE7JkZ6NmOqpCZ+sh1bKv2iYTlUkzlWmA5JD2acKoxd4KVxbMmxX/85mtfdnDmTFoNKcg5DGAvxNQ==} + + html-tags@3.3.1: + resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} + engines: {node: '>=8'} + + html-void-elements@2.0.1: + resolution: {integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==} + + htmlparser2@3.10.1: + resolution: {integrity: sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==} + + htmlparser2@8.0.2: + resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + + human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + + i18next@20.6.1: + resolution: {integrity: sha512-yCMYTMEJ9ihCwEQQ3phLo7I/Pwycf8uAx+sRHwwk5U9Aui/IZYgQRyMqXafQOw5QQ7DM1Z+WyEXWIqSuJHhG2A==} + + ids@1.0.5: + resolution: {integrity: sha512-XQ0yom/4KWTL29sLG+tyuycy7UmeaM/79GRtSJq6IG9cJGIPeBz5kwDCguie3TwxaMNIc3WtPi0cTa1XYHicpw==} + + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} + engines: {node: '>= 4'} + + image-size@0.5.5: + resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} + engines: {node: '>=0.10.0'} + hasBin: true + + immer@9.0.21: + resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} + + immutable@4.3.7: + resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==} + + import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + + import-meta-resolve@4.1.0: + resolution: {integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + indexof@0.0.1: + resolution: {integrity: sha512-i0G7hLJ1z0DE8dsqJa2rycj9dBmNKgXBvotXtZYXakU9oivfB9Uj2ZBC27qqef2U58/ZLwalxa1X/RDCdkHtVg==} + + individual@2.0.0: + resolution: {integrity: sha512-pWt8hBCqJsUWI/HtcfWod7+N9SgAqyPEaF7JQjwzjn5vGrpg6aQ5qeAFQ7dx//UH4J1O+7xqew+gCeeFt6xN/g==} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits-browser@0.1.0: + resolution: {integrity: sha512-CJHHvW3jQ6q7lzsXPpapLdMx5hDpSF3FSh45pwsj6bKxJJ8Nl8v43i5yXnr3BdfOimGHKyniewQtnAIp3vyJJw==} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + + ini@4.1.1: + resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + internal-slot@1.0.7: + resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} + engines: {node: '>= 0.4'} + + is-accessor-descriptor@1.0.1: + resolution: {integrity: sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==} + engines: {node: '>= 0.10'} + + is-array-buffer@3.0.4: + resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} + engines: {node: '>= 0.4'} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + + is-buffer@1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + is-core-module@2.15.1: + resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} + engines: {node: '>= 0.4'} + + is-data-descriptor@1.0.1: + resolution: {integrity: sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==} + engines: {node: '>= 0.4'} + + is-data-view@1.0.1: + resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} + engines: {node: '>= 0.4'} + + is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + + is-descriptor@0.1.7: + resolution: {integrity: sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==} + engines: {node: '>= 0.4'} + + is-descriptor@1.0.3: + resolution: {integrity: sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==} + engines: {node: '>= 0.4'} + + is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + + is-extendable@1.0.1: + resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} + engines: {node: '>=0.10.0'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-fullwidth-code-point@4.0.0: + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} + + is-fullwidth-code-point@5.0.0: + resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} + engines: {node: '>=18'} + + is-function@1.0.2: + resolution: {integrity: sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-hotkey@0.2.0: + resolution: {integrity: sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw==} + + is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} + + is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + + is-number@3.0.0: + resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==} + engines: {node: '>=0.10.0'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-obj@2.0.0: + resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} + engines: {node: '>=8'} + + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + is-plain-obj@1.1.0: + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} + + is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + + is-plain-object@5.0.0: + resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} + engines: {node: '>=0.10.0'} + + is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + + is-shared-array-buffer@1.0.3: + resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} + engines: {node: '>= 0.4'} + + is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + + is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + + is-text-path@2.0.0: + resolution: {integrity: sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==} + engines: {node: '>=8'} + + is-typed-array@1.1.13: + resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} + engines: {node: '>= 0.4'} + + is-url@1.2.4: + resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} + + is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + + is-windows@1.0.2: + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} + + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isobject@2.1.0: + resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} + engines: {node: '>=0.10.0'} + + isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + + jake@10.9.2: + resolution: {integrity: sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==} + engines: {node: '>=10'} + hasBin: true + + jiti@1.21.6: + resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} + hasBin: true + + js-base64@2.6.4: + resolution: {integrity: sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-tokens@9.0.0: + resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==} + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + jsencrypt@3.3.2: + resolution: {integrity: sha512-arQR1R1ESGdAxY7ZheWr12wCaF2yF47v5qpB76TtV64H1pyGudk9Hvw8Y9tb/FiTIaaTRUyaSnm5T/Y53Ghm/A==} + + jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + + jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + + json-source-map@0.6.1: + resolution: {integrity: sha512-1QoztHPsMQqhDq0hlXY5ZqcEdUzxQEIxgFkKl4WUp2pgShObl+9ovi4kRh2TfvAfxAoHOJ9vIMEqk3k4iex7tg==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonc-eslint-parser@2.4.0: + resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + + jsonparse@1.3.1: + resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} + engines: {'0': node >= 0.2.0} + + keycode@2.2.1: + resolution: {integrity: sha512-Rdgz9Hl9Iv4QKi8b0OlCRQEzp4AgVxyCtz5S/+VIHezDmrDhkp2N2TqBWOLz0/gbeREXOOiI9/4b8BY9uw2vFg==} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + kind-of@3.2.2: + resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} + engines: {node: '>=0.10.0'} + + kind-of@4.0.0: + resolution: {integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==} + engines: {node: '>=0.10.0'} + + kind-of@5.1.0: + resolution: {integrity: sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==} + engines: {node: '>=0.10.0'} + + kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + known-css-properties@0.34.0: + resolution: {integrity: sha512-tBECoUqNFbyAY4RrbqsBQqDFpGXAEbdD5QKr8kACx3+rnArmuuR22nKQWKazvp07N9yjTyDZaw/20UIH8tL9DQ==} + + kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + lilconfig@3.1.2: + resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} + engines: {node: '>=14'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + lint-staged@15.2.9: + resolution: {integrity: sha512-BZAt8Lk3sEnxw7tfxM7jeZlPRuT4M68O0/CwZhhaw6eeWu0Lz5eERE3m386InivXB64fp/mDID452h48tvKlRQ==} + engines: {node: '>=18.12.0'} + hasBin: true + + listr2@8.2.4: + resolution: {integrity: sha512-opevsywziHd3zHCVQGAj8zu+Z3yHNkkoYhWIGnq54RrCVwLz0MozotJEDnKsIBLvkfLGN6BLOyAeRrYI0pKA4g==} + engines: {node: '>=18.0.0'} + + loader-utils@1.4.2: + resolution: {integrity: sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==} + engines: {node: '>=4.0.0'} + + local-pkg@0.4.3: + resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} + engines: {node: '>=14'} + + local-pkg@0.5.0: + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + engines: {node: '>=14'} + + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + locate-path@7.2.0: + resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + + lodash-unified@1.0.3: + resolution: {integrity: sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==} + peerDependencies: + '@types/lodash-es': '*' + lodash: '*' + lodash-es: '*' + + lodash.camelcase@4.3.0: + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + + lodash.clonedeep@4.5.0: + resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} + + lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + + lodash.foreach@4.5.0: + resolution: {integrity: sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==} + + lodash.isequal@4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + + lodash.isplainobject@4.0.6: + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + + lodash.kebabcase@4.1.1: + resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lodash.mergewith@4.6.2: + resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} + + lodash.snakecase@4.1.1: + resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} + + lodash.startcase@4.4.0: + resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} + + lodash.throttle@4.1.1: + resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==} + + lodash.toarray@4.4.0: + resolution: {integrity: sha512-QyffEA3i5dma5q2490+SgCvDN0pXLmRGSyAANuVi0HQ01Pkfr9fuoKQW8wm1wGBnJITs/mS7wQvS6VshUEBFCw==} + + lodash.truncate@4.4.2: + resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} + + lodash.uniq@4.5.0: + resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} + + lodash.upperfirst@4.3.1: + resolution: {integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + log-update@6.1.0: + resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} + engines: {node: '>=18'} + + loglevel-colored-level-prefix@1.0.0: + resolution: {integrity: sha512-u45Wcxxc+SdAlh4yeF/uKlC1SPUPCy0gullSNKXod5I4bmifzk+Q4lSLExNEVn19tGaJipbZ4V4jbFn79/6mVA==} + + loglevel@1.9.1: + resolution: {integrity: sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==} + engines: {node: '>= 0.6.0'} + + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + m3u8-parser@4.8.0: + resolution: {integrity: sha512-UqA2a/Pw3liR6Df3gwxrqghCP17OpPlQj6RBPLYygf/ZSQ4MoSgvdvhvt35qV+3NaaA0FSZx93Ix+2brT1U7cA==} + + magic-string@0.30.11: + resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} + + map-cache@0.2.2: + resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} + engines: {node: '>=0.10.0'} + + map-visit@1.0.0: + resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==} + engines: {node: '>=0.10.0'} + + matches-selector@1.2.0: + resolution: {integrity: sha512-c4vLwYWyl+Ji+U43eU/G5FwxWd4ZH0ePUsFs5y0uwD9HUEFBXUQ1zUUan+78IpRD+y4pUfG0nAzNM292K7ItvA==} + + mathml-tag-names@2.1.3: + resolution: {integrity: sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==} + + mdn-data@2.0.14: + resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} + + mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + + memoize-one@6.0.0: + resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==} + + meow@12.1.1: + resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==} + engines: {node: '>=16.10'} + + meow@13.2.0: + resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} + engines: {node: '>=18'} + + merge-options@1.0.1: + resolution: {integrity: sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==} + engines: {node: '>=4'} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + micromatch@3.1.0: + resolution: {integrity: sha512-3StSelAE+hnRvMs8IdVW7Uhk8CVed5tp+kLLGlBP6WiRAXS21GPGu/Nat4WNPXj2Eoc24B02SaeoyozPMfj0/g==} + engines: {node: '>=0.10.0'} + + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-match@1.0.2: + resolution: {integrity: sha512-VXp/ugGDVh3eCLOBCiHZMYWQaTNUHv2IJrut+yXA6+JbLPXHglHwfS/5A5L0ll+jkCY7fIzRJcH6OIunF+c6Cg==} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + + mimic-function@5.0.1: + resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} + engines: {node: '>=18'} + + min-dash@3.8.1: + resolution: {integrity: sha512-evumdlmIlg9mbRVPbC4F5FuRhNmcMS5pvuBUbqb1G9v09Ro0ImPEgz5n3khir83lFok1inKqVDjnKEg3GpDxQg==} + + min-dash@4.2.1: + resolution: {integrity: sha512-to+unsToePnm7cUeR9TrMzFlETHd/UXmU+ELTRfWZj5XGT41KF6X3L233o3E/GdEs3sk2Tbw/lOLD1avmWkg8A==} + + min-document@2.19.0: + resolution: {integrity: sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==} + + min-dom@0.2.0: + resolution: {integrity: sha512-VmxugbnAcVZGqvepjhOA4d4apmrpX8mMaRS+/jo0dI5Yorzrr4Ru9zc9KVALlY/+XakVCb8iQ+PYXljihQcsNw==} + + min-dom@3.2.1: + resolution: {integrity: sha512-v6YCmnDzxk4rRJntWTUiwggLupPw/8ZSRqUq0PDaBwVZEO/wYzCH4SKVBV+KkEvf3u0XaWHly5JEosPtqRATZA==} + + min-dom@4.2.1: + resolution: {integrity: sha512-TMoL8SEEIhUWYgkj7XMSgxmwSyGI+4fP2KFFGnN3FbHfbGHVdsLYSz8LoIsgPhz4dWRmLvxWWSMgzZMJW5sZuA==} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + + minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + + mitt@1.2.0: + resolution: {integrity: sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw==} + + mitt@3.0.1: + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + + mixin-deep@1.3.2: + resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==} + engines: {node: '>=0.10.0'} + + mlly@1.7.1: + resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} + + moddle-xml@9.0.6: + resolution: {integrity: sha512-tl0reHpsY/aKlLGhXeFlQWlYAQHFxTkFqC8tq8jXRYpQSnLVw13T6swMaourLd7EXqHdWsc+5ggsB+fEep6xZQ==} + + moddle@5.0.4: + resolution: {integrity: sha512-Kjb+hjuzO+YlojNGxEUXvdhLYTHTtAABDlDcJTtTcn5MbJF9Zkv4I1Fyvp3Ypmfgg1EfHDZ3PsCQTuML9JD6wg==} + + mousetrap@1.6.5: + resolution: {integrity: sha512-QNo4kEepaIBwiT8CDhP98umTetp+JNfQYBWvC1pc6/OAibuXtRcxZ58Qz8skvEHYvURne/7R8T5VoOI7rDsEUA==} + + mpd-parser@0.22.1: + resolution: {integrity: sha512-fwBebvpyPUU8bOzvhX0VQZgSohncbgYwUyJJoTSNpmy7ccD2ryiCvM7oRkn/xQH5cv73/xU7rJSNCLjdGFor0Q==} + hasBin: true + + mrmime@2.0.0: + resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} + engines: {node: '>=10'} + + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + + ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + muggle-string@0.3.1: + resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==} + + mux.js@6.0.1: + resolution: {integrity: sha512-22CHb59rH8pWGcPGW5Og7JngJ9s+z4XuSlYvnxhLuc58cA1WqGDQPzuG8I+sPm1/p0CdgpzVTaKW408k5DNn8w==} + engines: {node: '>=8', npm: '>=5'} + hasBin: true + + namespace-emitter@2.0.1: + resolution: {integrity: sha512-N/sMKHniSDJBjfrkbS/tpkPj4RAbvW3mr8UAzvlMHyun93XEm83IAvhWtJVHo+RHn/oO8Job5YN4b+wRjSVp5g==} + + nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + nanomatch@1.2.13: + resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==} + engines: {node: '>=0.10.0'} + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + next-tick@1.1.0: + resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} + + node-fetch-native@1.6.4: + resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} + + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-releases@2.0.18: + resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + + normalize-wheel-es@1.2.0: + resolution: {integrity: sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==} + + npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + nprogress@0.2.0: + resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==} + + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-copy@0.1.0: + resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==} + engines: {node: '>=0.10.0'} + + object-inspect@1.13.2: + resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} + engines: {node: '>= 0.4'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object-refs@0.3.0: + resolution: {integrity: sha512-eP0ywuoWOaDoiake/6kTJlPJhs+k0qNm4nYRzXLNHj6vh+5M3i9R1epJTdxIPGlhWc4fNRQ7a6XJNCX+/L4FOQ==} + + object-visit@1.0.1: + resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==} + engines: {node: '>=0.10.0'} + + object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + engines: {node: '>= 0.4'} + + object.pick@1.3.0: + resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} + engines: {node: '>=0.10.0'} + + ofetch@1.3.4: + resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + + onetime@7.0.0: + resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} + engines: {node: '>=18'} + + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-limit@4.0.0: + resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + p-locate@6.0.0: + resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + package-json-from-dist@1.0.0: + resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} + + package-manager-detector@0.1.2: + resolution: {integrity: sha512-iePyefLTOm2gEzbaZKSW+eBMjg+UYsQvUKxmvGXAQ987K16efBg10MxIjZs08iyX+DY2/owKY9DIdu193kX33w==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + pascalcase@0.1.1: + resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} + engines: {node: '>=0.10.0'} + + path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-exists@5.0.0: + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + path-intersection@2.2.1: + resolution: {integrity: sha512-9u8xvMcSfuOiStv9bPdnRJQhGQXLKurew94n4GPQCdH1nj9QKC9ObbNoIpiRq8skiOBxKkt277PgOoFgAt3/rA==} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + pathe@0.2.0: + resolution: {integrity: sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==} + + pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + + perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} + + picocolors@1.0.1: + resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pidtree@0.6.0: + resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} + engines: {node: '>=0.10'} + hasBin: true + + pinia-plugin-persistedstate@3.2.1: + resolution: {integrity: sha512-MK++8LRUsGF7r45PjBFES82ISnPzyO6IZx3CH5vyPseFLZCk1g2kgx6l/nW8pEBKxxd4do0P6bJw+mUSZIEZUQ==} + peerDependencies: + pinia: ^2.0.0 + + pinia@2.2.2: + resolution: {integrity: sha512-ja2XqFWZC36mupU4z1ZzxeTApV7DOw44cV4dhQ9sGwun+N89v/XP7+j7q6TanS1u1tdbK4r+1BUx7heMaIdagA==} + peerDependencies: + '@vue/composition-api': ^1.4.0 + typescript: '>=4.4.4' + vue: ^2.6.14 || ^3.3.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + typescript: + optional: true + + pkcs7@1.0.4: + resolution: {integrity: sha512-afRERtHn54AlwaF2/+LFszyAANTCggGilmcmILUzEjvs3XgFZT+xE6+QWQcAGmu4xajy+Xtj7acLOPdx5/eXWQ==} + hasBin: true + + pkg-types@1.2.0: + resolution: {integrity: sha512-+ifYuSSqOQ8CqP4MbZA5hDpb97n3E8SVWdJe+Wms9kj745lmd3b7EZJiqvmLwAlmRfjrI7Hi5z3kdBJ93lFNPA==} + + pngjs@5.0.0: + resolution: {integrity: sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==} + engines: {node: '>=10.13.0'} + + posix-character-classes@0.1.1: + resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==} + engines: {node: '>=0.10.0'} + + possible-typed-array-names@1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} + + postcss-html@1.7.0: + resolution: {integrity: sha512-MfcMpSUIaR/nNgeVS8AyvyDugXlADjN9AcV7e5rDfrF1wduIAGSkL4q2+wgrZgA3sHVAHLDO9FuauHhZYW2nBw==} + engines: {node: ^12 || >=14} + + postcss-prefix-selector@1.16.1: + resolution: {integrity: sha512-Umxu+FvKMwlY6TyDzGFoSUnzW+NOfMBLyC1tAkIjgX+Z/qGspJeRjVC903D7mx7TuBpJlwti2ibXtWuA7fKMeQ==} + peerDependencies: + postcss: '>4 <9' + + postcss-resolve-nested-selector@0.1.6: + resolution: {integrity: sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==} + + postcss-safe-parser@6.0.0: + resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.3.3 + + postcss-safe-parser@7.0.0: + resolution: {integrity: sha512-ovehqRNVCpuFzbXoTb4qLtyzK3xn3t/CUBxOs8LsnQjQrShaB4lKiHoVqY8ANaC0hBMHq5QVWk77rwGklFUDrg==} + engines: {node: '>=18.0'} + peerDependencies: + postcss: ^8.4.31 + + postcss-scss@4.0.9: + resolution: {integrity: sha512-AjKOeiwAitL/MXxQW2DliT28EKukvvbEWx3LBmJIRN8KfBGZbRTxNYW0kSqi1COiTZ57nZ9NW06S6ux//N1c9A==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.4.29 + + postcss-selector-parser@6.1.2: + resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} + engines: {node: '>=4'} + + postcss-sorting@8.0.2: + resolution: {integrity: sha512-M9dkSrmU00t/jK7rF6BZSZauA5MAaBW4i5EnJXspMwt4iqTh/L9j6fgMnbElEOfyRyfLfVbIHj/R52zHzAPe1Q==} + peerDependencies: + postcss: ^8.4.20 + + postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + + postcss@5.2.18: + resolution: {integrity: sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==} + engines: {node: '>=0.12'} + + postcss@8.4.41: + resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==} + engines: {node: ^10 || ^12 || >=14} + + posthtml-parser@0.2.1: + resolution: {integrity: sha512-nPC53YMqJnc/+1x4fRYFfm81KV2V+G9NZY+hTohpYg64Ay7NemWWcV4UWuy/SgMupqQ3kJ88M/iRfZmSnxT+pw==} + + posthtml-rename-id@1.0.12: + resolution: {integrity: sha512-UKXf9OF/no8WZo9edRzvuMenb6AD5hDLzIepJW+a4oJT+T/Lx7vfMYWT4aWlGNQh0WMhnUx1ipN9OkZ9q+ddEw==} + + posthtml-render@1.4.0: + resolution: {integrity: sha512-W1779iVHGfq0Fvh2PROhCe2QhB8mEErgqzo1wpIt36tCgChafP+hbXIhLDOM8ePJrZcFs0vkNEtdibEWVqChqw==} + engines: {node: '>=10'} + + posthtml-svg-mode@1.0.3: + resolution: {integrity: sha512-hEqw9NHZ9YgJ2/0G7CECOeuLQKZi8HjWLkBaSVtOWjygQ9ZD8P7tqeowYs7WrFdKsWEKG7o+IlsPY8jrr0CJpQ==} + + posthtml@0.9.2: + resolution: {integrity: sha512-spBB5sgC4cv2YcW03f/IAUN1pgDJWNWD8FzkyY4mArLUMJW+KlQhlmUdKAHQuPfb00Jl5xIfImeOsf6YL8QK7Q==} + engines: {node: '>=0.10.0'} + + preact@10.23.2: + resolution: {integrity: sha512-kKYfePf9rzKnxOAKDpsWhg/ysrHPqT+yQ7UW4JjdnqjFIeNUnNcEJvhuA8fDenxAGWzUqtd51DfVg7xp/8T9NA==} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + prettier-eslint@16.3.0: + resolution: {integrity: sha512-Lh102TIFCr11PJKUMQ2kwNmxGhTsv/KzUg9QYF2Gkw259g/kPgndZDWavk7/ycbRvj2oz4BPZ1gCU8bhfZH/Xg==} + engines: {node: '>=16.10.0'} + peerDependencies: + prettier-plugin-svelte: ^3.0.0 + svelte-eslint-parser: '*' + peerDependenciesMeta: + prettier-plugin-svelte: + optional: true + svelte-eslint-parser: + optional: true + + prettier-linter-helpers@1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + + prettier@3.3.3: + resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==} + engines: {node: '>=14'} + hasBin: true + + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + prismjs@1.29.0: + resolution: {integrity: sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==} + engines: {node: '>=6'} + + process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + + progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + + proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + + punycode@1.4.1: + resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + qrcode@1.5.4: + resolution: {integrity: sha512-1ca71Zgiu6ORjHqFBDpnSMTR2ReToX4l1Au1VFLyVeBTFavzQnv5JxMFr3ukHVKpSrSA2MCk0lNJSykjUfz7Zg==} + engines: {node: '>=10.13.0'} + hasBin: true + + qs@6.13.0: + resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} + engines: {node: '>=0.6'} + + query-string@4.3.4: + resolution: {integrity: sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==} + engines: {node: '>=0.10.0'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + rd@2.0.1: + resolution: {integrity: sha512-/XdKU4UazUZTXFmI0dpABt8jSXPWcEyaGdk340KdHnsEOdkTctlX23aAK7ChQDn39YGNlAJr1M5uvaKt4QnpNw==} + + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + regenerate-unicode-properties@10.1.1: + resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==} + engines: {node: '>=4'} + + regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + + regenerator-transform@0.15.2: + resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} + + regex-not@1.0.2: + resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==} + engines: {node: '>=0.10.0'} + + regexp.prototype.flags@1.5.2: + resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} + engines: {node: '>= 0.4'} + + regexpu-core@5.3.2: + resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} + engines: {node: '>=4'} + + regjsparser@0.9.1: + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} + hasBin: true + + repeat-element@1.1.4: + resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==} + engines: {node: '>=0.10.0'} + + repeat-string@1.6.1: + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + + require-main-filename@2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + + require-relative@0.8.7: + resolution: {integrity: sha512-AKGr4qvHiryxRb19m3PsLRGuKVAbJLUD7E6eOaHkfKhwc+vSgVOCY5xNvm9EkolBKTOf0GrQAZKLimOCz81Khg==} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + + resolve-url@0.2.1: + resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} + deprecated: https://github.com/lydell/resolve-url#deprecated + + resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + + restore-cursor@5.1.0: + resolution: {integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==} + engines: {node: '>=18'} + + ret@0.1.15: + resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} + engines: {node: '>=0.12'} + + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rfdc@1.4.1: + resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + rimraf@5.0.10: + resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==} + hasBin: true + + rollup-plugin-purge-icons@0.10.0: + resolution: {integrity: sha512-GD2ftg4L9G/sagIhtCmBn5vdyzePOisniythubpbywP0Q3ix9rZuDeFvgXTPemOsc22pvH7t22ryYQIl0rwGog==} + engines: {node: '>= 12'} + + rollup@2.79.1: + resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} + engines: {node: '>=10.0.0'} + hasBin: true + + rollup@4.21.0: + resolution: {integrity: sha512-vo+S/lfA2lMS7rZ2Qoubi6I5hwZwzXeUIctILZLbHI+laNtvhhOIon2S1JksA5UEDQ7l3vberd0fxK44lTYjbQ==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + rust-result@1.0.0: + resolution: {integrity: sha512-6cJzSBU+J/RJCF063onnQf0cDUOHs9uZI1oroSGnHOph+CQTIJ5Pp2hK5kEQq1+7yE/EEWfulSNXAQ2jikPthA==} + + safe-array-concat@1.1.2: + resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} + engines: {node: '>=0.4'} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safe-json-parse@4.0.0: + resolution: {integrity: sha512-RjZPPHugjK0TOzFrLZ8inw44s9bKox99/0AZW9o/BEQVrJfhI+fIHMErnPyRa89/yRXUUr93q+tiN6zhoVV4wQ==} + + safe-regex-test@1.0.3: + resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} + engines: {node: '>= 0.4'} + + safe-regex@1.1.0: + resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==} + + sass@1.77.8: + resolution: {integrity: sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ==} + engines: {node: '>=14.0.0'} + hasBin: true + + sax@1.4.1: + resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} + + saxen@8.1.2: + resolution: {integrity: sha512-xUOiiFbc3Ow7p8KMxwsGICPx46ZQvy3+qfNVhrkwfz3Vvq45eGt98Ft5IQaA1R/7Tb5B5MKh9fUR9x3c3nDTxw==} + + scroll-into-view-if-needed@2.2.31: + resolution: {integrity: sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==} + + scroll-tabs@1.0.1: + resolution: {integrity: sha512-W4xjEwNS4QAyQnaJ450vQTcKpbnalBAfsTDV926WrxEMOqjyj2To8uv2d0Cp0oxMdk5TkygtzXmctPNc2zgBcg==} + + scule@1.3.0: + resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==} + + selection-update@0.1.2: + resolution: {integrity: sha512-4jzoJNh7VT2s2tvm/kUSskSw7pD0BVcrrGccbfOMK+3AXLBPz6nIy1yo+pbXgvNoTNII96Pq92+sAY+rF0LUAA==} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + + set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + + set-value@2.0.1: + resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} + engines: {node: '>=0.10.0'} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} + engines: {node: '>= 0.4'} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + sirv@2.0.4: + resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} + engines: {node: '>= 10'} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + slate-history@0.66.0: + resolution: {integrity: sha512-6MWpxGQZiMvSINlCbMW43E2YBSVMCMCIwQfBzGssjWw4kb0qfvj0pIdblWNRQZD0hR6WHP+dHHgGSeVdMWzfng==} + peerDependencies: + slate: '>=0.65.3' + + slate@0.72.8: + resolution: {integrity: sha512-/nJwTswQgnRurpK+bGJFH1oM7naD5qDmHd89JyiKNT2oOKD8marW0QSBtuFnwEbL5aGCS8AmrhXQgNOsn4osAw==} + + slice-ansi@4.0.0: + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} + + slice-ansi@5.0.0: + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} + + slice-ansi@7.1.0: + resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} + engines: {node: '>=18'} + + snabbdom@3.6.2: + resolution: {integrity: sha512-ig5qOnCDbugFntKi6c7Xlib8bA6xiJVk8O+WdFrV3wxbMqeHO0hXFQC4nAhPVWfZfi8255lcZkNhtIBINCc4+Q==} + engines: {node: '>=12.17.0'} + + snapdragon-node@2.1.1: + resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==} + engines: {node: '>=0.10.0'} + + snapdragon-util@3.0.1: + resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==} + engines: {node: '>=0.10.0'} + + snapdragon@0.8.2: + resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==} + engines: {node: '>=0.10.0'} + + sortablejs@1.14.0: + resolution: {integrity: sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w==} + + source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + + source-map-resolve@0.5.3: + resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==} + deprecated: See https://github.com/lydell/source-map-resolve#deprecated + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map-url@0.4.1: + resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==} + deprecated: See https://github.com/lydell/source-map-url#deprecated + + source-map@0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + split-string@3.1.0: + resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} + engines: {node: '>=0.10.0'} + + split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + + ssr-window@3.0.0: + resolution: {integrity: sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA==} + + stable@0.1.8: + resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} + deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' + + static-extend@0.1.2: + resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==} + engines: {node: '>=0.10.0'} + + steady-xml@0.1.0: + resolution: {integrity: sha512-5sk17qO2wWRtonTNoBhoKAB35OSsGJOa3+NEa6D+1GS+de+ujDWxnflMkXBrviOfkNrPTUqduAdXhrMJs89nAw==} + engines: {node: '>=12.0.0'} + + strict-uri-encode@1.1.0: + resolution: {integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==} + engines: {node: '>=0.10.0'} + + string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string-width@7.2.0: + resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} + engines: {node: '>=18'} + + string.prototype.trim@1.2.9: + resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} + engines: {node: '>= 0.4'} + + string.prototype.trimend@1.0.8: + resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} + + string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + strip-ansi@3.0.1: + resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} + engines: {node: '>=0.10.0'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + strip-literal@2.1.0: + resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==} + + strnum@1.0.5: + resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} + + stylelint-config-html@1.1.0: + resolution: {integrity: sha512-IZv4IVESjKLumUGi+HWeb7skgO6/g4VMuAYrJdlqQFndgbj6WJAXPhaysvBiXefX79upBdQVumgYcdd17gCpjQ==} + engines: {node: ^12 || >=14} + peerDependencies: + postcss-html: ^1.0.0 + stylelint: '>=14.0.0' + + stylelint-config-recommended@14.0.1: + resolution: {integrity: sha512-bLvc1WOz/14aPImu/cufKAZYfXs/A/owZfSMZ4N+16WGXLoX5lOir53M6odBxvhgmgdxCVnNySJmZKx73T93cg==} + engines: {node: '>=18.12.0'} + peerDependencies: + stylelint: ^16.1.0 + + stylelint-config-standard@36.0.1: + resolution: {integrity: sha512-8aX8mTzJ6cuO8mmD5yon61CWuIM4UD8Q5aBcWKGSf6kg+EC3uhB+iOywpTK4ca6ZL7B49en8yanOFtUW0qNzyw==} + engines: {node: '>=18.12.0'} + peerDependencies: + stylelint: ^16.1.0 + + stylelint-order@6.0.4: + resolution: {integrity: sha512-0UuKo4+s1hgQ/uAxlYU4h0o0HS4NiQDud0NAUNI0aa8FJdmYHA5ZZTFHiV5FpmE3071e9pZx5j0QpVJW5zOCUA==} + peerDependencies: + stylelint: ^14.0.0 || ^15.0.0 || ^16.0.1 + + stylelint@16.8.2: + resolution: {integrity: sha512-fInKATippQhcSm7AB+T32GpI+626yohrg33GkFT/5jzliUw5qhlwZq2UQQwgl3HsHrf09oeARi0ZwgY/UWEv9A==} + engines: {node: '>=18.12.0'} + hasBin: true + + supports-color@2.0.0: + resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} + engines: {node: '>=0.8.0'} + + supports-color@3.2.3: + resolution: {integrity: sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==} + engines: {node: '>=0.8.0'} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-hyperlinks@3.1.0: + resolution: {integrity: sha512-2rn0BZ+/f7puLOHZm1HOJfwBggfaHXUpPUSSG/SWM4TWp5KCfmNYwnC3hruy2rZlMnmWZ+QAGpZfchu3f3695A==} + engines: {node: '>=14.18'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + svg-baker@1.7.0: + resolution: {integrity: sha512-nibslMbkXOIkqKVrfcncwha45f97fGuAOn1G99YwnwTj8kF9YiM6XexPcUso97NxOm6GsP0SIvYVIosBis1xLg==} + + svg-tags@1.0.0: + resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} + + svg.js@2.7.1: + resolution: {integrity: sha512-ycbxpizEQktk3FYvn/8BH+6/EuWXg7ZpQREJvgacqn46gIddG24tNNe4Son6omdXCnSOaApnpZw6MPCBA1dODA==} + + svgo@2.8.0: + resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==} + engines: {node: '>=10.13.0'} + hasBin: true + + synckit@0.8.8: + resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} + engines: {node: ^14.18.0 || >=16.0.0} + + synckit@0.9.1: + resolution: {integrity: sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==} + engines: {node: ^14.18.0 || >=16.0.0} + + systemjs@6.15.1: + resolution: {integrity: sha512-Nk8c4lXvMB98MtbmjX7JwJRgJOL8fluecYCfCeYBznwmpOs8Bf15hLM6z4z71EDAhQVrQrI+wt1aLWSXZq+hXA==} + + table@6.8.2: + resolution: {integrity: sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==} + engines: {node: '>=10.0.0'} + + terser@5.31.6: + resolution: {integrity: sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==} + engines: {node: '>=10'} + hasBin: true + + text-extensions@2.4.0: + resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==} + engines: {node: '>=8'} + + text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + + tiny-svg@2.2.4: + resolution: {integrity: sha512-NOi39lBknf4UdDEahNkbEAJnzhu1ZcN2j75IS2vLRmIhsfxdZpTChfLKBcN1ShplVmPIXJAIafk6YY5/Aa80lQ==} + + tiny-svg@3.1.2: + resolution: {integrity: sha512-qvNlv/4N48HqbNpwAhzQ9HKHlBUKgA4091x+aVfsrRXHIcQ9NA3W6ZYwdmYAIdwT+vfAAksrc9L/3RQBj5KwPw==} + + tiny-warning@1.0.3: + resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} + + tinyexec@0.2.0: + resolution: {integrity: sha512-au8dwv4xKSDR+Fw52csDo3wcDztPdne2oM1o/7LFro4h6bdFmvyUAeAfX40pwDtzHgRFqz1XWaUqgKS2G83/ig==} + + to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + to-object-path@0.3.0: + resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==} + engines: {node: '>=0.10.0'} + + to-regex-range@2.1.1: + resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==} + engines: {node: '>=0.10.0'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + to-regex@3.0.2: + resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==} + engines: {node: '>=0.10.0'} + + totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + + traverse@0.6.9: + resolution: {integrity: sha512-7bBrcF+/LQzSgFmT0X5YclVqQxtv7TDJ1f8Wj7ibBu/U6BMLeOpUxuZjV7rMc44UtKxlnMFigdhFAIszSX1DMg==} + engines: {node: '>= 0.4'} + + ts-api-utils@1.3.0: + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + + tslib@2.3.0: + resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==} + + tslib@2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + type@2.7.3: + resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==} + + typed-array-buffer@1.0.2: + resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} + engines: {node: '>= 0.4'} + + typed-array-byte-length@1.0.1: + resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} + engines: {node: '>= 0.4'} + + typed-array-byte-offset@1.0.2: + resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} + engines: {node: '>= 0.4'} + + typed-array-length@1.0.6: + resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} + engines: {node: '>= 0.4'} + + typedarray.prototype.slice@1.0.3: + resolution: {integrity: sha512-8WbVAQAUlENo1q3c3zZYuy5k9VzBQvp8AX9WOtbvyWlLM1v5JaSRmjubLjzHF4JFtptjH/5c/i95yaElvcjC0A==} + engines: {node: '>= 0.4'} + + typescript@5.3.3: + resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} + engines: {node: '>=14.17'} + hasBin: true + + ufo@1.5.4: + resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} + + unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + + unconfig@0.3.13: + resolution: {integrity: sha512-N9Ph5NC4+sqtcOjPfHrRcHekBCadCXWTBzp2VYYbySOHW0PfD9XLCeXshTXjkPYwLrBr9AtSeU0CZmkYECJhng==} + + undici-types@6.19.8: + resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} + + unicode-canonical-property-names-ecmascript@2.0.0: + resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + engines: {node: '>=4'} + + unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + + unicode-match-property-value-ecmascript@2.1.0: + resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + engines: {node: '>=4'} + + unicode-property-aliases-ecmascript@2.1.0: + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} + + unicorn-magic@0.1.0: + resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} + engines: {node: '>=18'} + + unimport@3.11.1: + resolution: {integrity: sha512-DuB1Uoq01LrrXTScxnwOoMSlTXxyKcULguFxbLrMDFcE/CO0ZWHpEiyhovN0mycPt7K6luAHe8laqvwvuoeUPg==} + + union-value@1.0.1: + resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} + engines: {node: '>=0.10.0'} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + unocss@0.58.9: + resolution: {integrity: sha512-aqANXXP0RrtN4kSaTLn/7I6wh8o45LUdVgPzGu7Fan2DfH2+wpIs6frlnlHlOymnb+52dp6kXluQinddaUKW1A==} + engines: {node: '>=14'} + peerDependencies: + '@unocss/webpack': 0.58.9 + vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 + peerDependenciesMeta: + '@unocss/webpack': + optional: true + vite: + optional: true + + unplugin-auto-import@0.16.7: + resolution: {integrity: sha512-w7XmnRlchq6YUFJVFGSvG1T/6j8GrdYN6Em9Wf0Ye+HXgD/22kont+WnuCAA0UaUoxtuvRR1u/mXKy63g/hfqQ==} + engines: {node: '>=14'} + peerDependencies: + '@nuxt/kit': ^3.2.2 + '@vueuse/core': '*' + peerDependenciesMeta: + '@nuxt/kit': + optional: true + '@vueuse/core': + optional: true + + unplugin-element-plus@0.8.0: + resolution: {integrity: sha512-jByUGY3FG2B8RJKFryqxx4eNtSTj+Hjlo8edcOdJymewndDQjThZ1pRUQHRjQsbKhTV2jEctJV7t7RJ405UL4g==} + engines: {node: '>=14.19.0'} + + unplugin-vue-components@0.25.2: + resolution: {integrity: sha512-OVmLFqILH6w+eM8fyt/d/eoJT9A6WO51NZLf1vC5c1FZ4rmq2bbGxTy8WP2Jm7xwFdukaIdv819+UI7RClPyCA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/parser': ^7.15.8 + '@nuxt/kit': ^3.2.2 + vue: 2 || 3 + peerDependenciesMeta: + '@babel/parser': + optional: true + '@nuxt/kit': + optional: true + + unplugin@1.12.2: + resolution: {integrity: sha512-bEqQxeC7rxtxPZ3M5V4Djcc4lQqKPgGe3mAWZvxcSmX5jhGxll19NliaRzQSQPrk4xJZSGniK3puLWpRuZN7VQ==} + engines: {node: '>=14.0.0'} + + unset-value@1.0.0: + resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==} + engines: {node: '>=0.10.0'} + + update-browserslist-db@1.1.0: + resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + urix@0.1.0: + resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==} + deprecated: Please see https://github.com/lydell/urix#deprecated + + url-toolkit@2.2.5: + resolution: {integrity: sha512-mtN6xk+Nac+oyJ/PrI7tzfmomRVNFIWKUbG8jdYFt52hxbiReFAXIjYskvu64/dvuW71IcB7lV8l0HvZMac6Jg==} + + url@0.11.4: + resolution: {integrity: sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==} + engines: {node: '>= 0.4'} + + use@3.1.1: + resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==} + engines: {node: '>=0.10.0'} + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + utility-types@3.11.0: + resolution: {integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==} + engines: {node: '>= 4'} + + uuid@10.0.0: + resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==} + hasBin: true + + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + + video.js@7.21.6: + resolution: {integrity: sha512-m41TbODrUCToVfK1aljVd296CwDQnCRewpIm5tTXMuV87YYSGw1H+VDOaV45HlpcWSsTWWLF++InDgGJfthfUw==} + + videojs-font@3.2.0: + resolution: {integrity: sha512-g8vHMKK2/JGorSfqAZQUmYYNnXmfec4MLhwtEFS+mMs2IDY398GLysy6BH6K+aS1KMNu/xWZ8Sue/X/mdQPliA==} + + videojs-vtt.js@0.15.5: + resolution: {integrity: sha512-yZbBxvA7QMYn15Lr/ZfhhLPrNpI/RmCSCqgIff57GC2gIrV5YfyzLfLyZMj0NnZSAz8syB4N0nHXpZg9MyrMOQ==} + + vite-plugin-compression@0.5.1: + resolution: {integrity: sha512-5QJKBDc+gNYVqL/skgFAP81Yuzo9R+EAf19d+EtsMF/i8kFUpNi3J/H01QD3Oo8zBQn+NzoCIFkpPLynoOzaJg==} + peerDependencies: + vite: '>=2.0.0' + + vite-plugin-ejs@1.7.0: + resolution: {integrity: sha512-JNP3zQDC4mSbfoJ3G73s5mmZITD8NGjUmLkq4swxyahy/W0xuokK9U9IJGXw7KCggq6UucT6hJ0p+tQrNtqTZw==} + peerDependencies: + vite: '>=5.0.0' + + vite-plugin-eslint@1.8.1: + resolution: {integrity: sha512-PqdMf3Y2fLO9FsNPmMX+//2BF5SF8nEWspZdgl4kSt7UvHDRHVVfHvxsD7ULYzZrJDGRxR81Nq7TOFgwMnUang==} + peerDependencies: + eslint: '>=7' + vite: '>=2' + + vite-plugin-progress@0.0.7: + resolution: {integrity: sha512-zyvKdcc/X+6hnw3J1HVV1TKrlFKC4Rh8GnDnWG/2qhRXjqytTcM++xZ+SAPnoDsSyWl8O93ymK0wZRgHAoglEQ==} + engines: {node: '>=14', pnpm: '>=7.0.0'} + peerDependencies: + vite: '>2.0.0-0' + + vite-plugin-purge-icons@0.10.0: + resolution: {integrity: sha512-4fMJKQuBu9lAPJWjqGEytRaxty1pP9bWgQLA68dwbbaCXu6NBrOUb/3kMaUc7TP09kerEk+qTriCk05OZXpjwA==} + engines: {node: '>= 12'} + peerDependencies: + vite: '>=2' + + vite-plugin-svg-icons@2.0.1: + resolution: {integrity: sha512-6ktD+DhV6Rz3VtedYvBKKVA2eXF+sAQVaKkKLDSqGUfnhqXl3bj5PPkVTl3VexfTuZy66PmINi8Q6eFnVfRUmA==} + peerDependencies: + vite: '>=2.0.0' + + vite-plugin-top-level-await@1.4.4: + resolution: {integrity: sha512-QyxQbvcMkgt+kDb12m2P8Ed35Sp6nXP+l8ptGrnHV9zgYDUpraO0CPdlqLSeBqvY2DToR52nutDG7mIHuysdiw==} + peerDependencies: + vite: '>=2.8' + + vite@5.1.4: + resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + + vue-demi@0.14.10: + resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==} + engines: {node: '>=12'} + hasBin: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + + vue-dompurify-html@4.1.4: + resolution: {integrity: sha512-K0XDSZA4dmMMvAgW8yaCx1kAYQldmgXeHJaLPS0mlSKOu8B+onE06X4KfB5LGyX4jR3rlVosyWJczRBzR0sZ/g==} + peerDependencies: + vue: ^2.7.0 || ^3.0.0 + + vue-eslint-parser@9.4.3: + resolution: {integrity: sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + + vue-i18n@9.10.2: + resolution: {integrity: sha512-ECJ8RIFd+3c1d3m1pctQ6ywG5Yj8Efy1oYoAKQ9neRdkLbuKLVeW4gaY5HPkD/9ssf1pOnUrmIFjx2/gkGxmEw==} + engines: {node: '>= 16'} + peerDependencies: + vue: ^3.0.0 + + vue-router@4.4.3: + resolution: {integrity: sha512-sv6wmNKx2j3aqJQDMxLFzs/u/mjA9Z5LCgy6BE0f7yFWMjrPLnS/sPNn8ARY/FXw6byV18EFutn5lTO6+UsV5A==} + peerDependencies: + vue: ^3.2.0 + + vue-template-compiler@2.7.16: + resolution: {integrity: sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==} + + vue-tsc@1.8.27: + resolution: {integrity: sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==} + hasBin: true + peerDependencies: + typescript: '*' + + vue-types@5.1.3: + resolution: {integrity: sha512-3Wy6QcZl0VusCCHX3vYrWSILFlrOB2EQDoySnuYmASM5cUp1FivJGfkS5lp1CutDgyRb41g32r/1QCmiBj5i1Q==} + engines: {node: '>=14.0.0'} + peerDependencies: + vue: ^2.0.0 || ^3.0.0 + peerDependenciesMeta: + vue: + optional: true + + vue@3.4.21: + resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + vuedraggable@4.1.0: + resolution: {integrity: sha512-FU5HCWBmsf20GpP3eudURW3WdWTKIbEIQxh9/8GE806hydR9qZqRRxRE3RjqX7PkuLuMQG/A7n3cfj9rCEchww==} + peerDependencies: + vue: ^3.0.1 + + wangeditor@4.7.15: + resolution: {integrity: sha512-aPTdREd8BxXVyJ5MI+LU83FQ7u1EPd341iXIorRNYSOvoimNoZ4nPg+yn3FGbB93/owEa6buLw8wdhYnMCJQLg==} + + web-storage-cache@1.1.1: + resolution: {integrity: sha512-D0MieGooOs8RpsrK+vnejXnvh4OOv/+lTFB35JRkJJQt+uOjPE08XpaE0QBLMTRu47B1KGT/Nq3Gbag3Orinzw==} + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + webpack-sources@3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + + webpack-virtual-modules@0.6.2: + resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + + which-module@2.0.1: + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} + + which-typed-array@1.1.15: + resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} + engines: {node: '>= 0.4'} + + which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + wildcard@1.1.2: + resolution: {integrity: sha512-DXukZJxpHA8LuotRwL0pP1+rS6CS7FF2qStDDE1C7DDg2rLud2PXRMuEDYIPhgEezwnlHNL4c+N6MfMTjCGTng==} + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrap-ansi@9.0.0: + resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} + engines: {node: '>=18'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + write-file-atomic@5.0.1: + resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + xml-js@1.6.11: + resolution: {integrity: sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==} + hasBin: true + + xml-name-validator@4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} + + y18n@4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yaml-eslint-parser@1.2.3: + resolution: {integrity: sha512-4wZWvE398hCP7O8n3nXKu/vdq1HcH01ixYlCREaJL5NUMwQ0g3MaGFUBNSlmBtKmhbtVG/Cm6lyYmSVTEVil8A==} + engines: {node: ^14.17.0 || >=16.0.0} + + yaml@2.5.0: + resolution: {integrity: sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==} + engines: {node: '>= 14'} + hasBin: true + + yargs-parser@18.1.3: + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@15.4.1: + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + yocto-queue@1.1.1: + resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==} + engines: {node: '>=12.20'} + + zrender@5.6.0: + resolution: {integrity: sha512-uzgraf4njmmHAbEUxMJ8Oxg+P3fT04O+9p7gY+wJRVxo8Ge+KmYv0WJev945EH4wFuc4OY2NLXz46FZrWS9xJg==} + +snapshots: + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + '@antfu/install-pkg@0.4.0': + dependencies: + package-manager-detector: 0.1.2 + tinyexec: 0.2.0 + + '@antfu/utils@0.7.10': {} + + '@antv/x6-common@2.0.17': + dependencies: + lodash-es: 4.17.21 + utility-types: 3.11.0 + + '@antv/x6-geometry@2.0.5': {} + + '@antv/x6-plugin-clipboard@2.1.6(@antv/x6@2.18.1)': + dependencies: + '@antv/x6': 2.18.1 + + '@antv/x6-plugin-dnd@2.1.1(@antv/x6@2.18.1)': + dependencies: + '@antv/x6': 2.18.1 + + '@antv/x6-plugin-export@2.1.6(@antv/x6@2.18.1)': + dependencies: + '@antv/x6': 2.18.1 + + '@antv/x6-plugin-history@2.2.4(@antv/x6@2.18.1)': + dependencies: + '@antv/x6': 2.18.1 + + '@antv/x6-plugin-keyboard@2.2.3(@antv/x6@2.18.1)': + dependencies: + '@antv/x6': 2.18.1 + mousetrap: 1.6.5 + + '@antv/x6-plugin-scroller@2.0.10(@antv/x6@2.18.1)': + dependencies: + '@antv/x6': 2.18.1 + + '@antv/x6-plugin-selection@2.2.2(@antv/x6@2.18.1)': + dependencies: + '@antv/x6': 2.18.1 + + '@antv/x6-plugin-snapline@2.1.7(@antv/x6@2.18.1)': + dependencies: + '@antv/x6': 2.18.1 + + '@antv/x6-plugin-transform@2.1.8(@antv/x6@2.18.1)': + dependencies: + '@antv/x6': 2.18.1 + + '@antv/x6-vue-shape@2.1.2(@antv/x6@2.18.1)(vue@3.4.21(typescript@5.3.3))': + dependencies: + '@antv/x6': 2.18.1 + vue: 3.4.21(typescript@5.3.3) + vue-demi: 0.14.10(vue@3.4.21(typescript@5.3.3)) + + '@antv/x6@2.18.1': + dependencies: + '@antv/x6-common': 2.0.17 + '@antv/x6-geometry': 2.0.5 + utility-types: 3.11.0 + + '@babel/code-frame@7.24.7': + dependencies: + '@babel/highlight': 7.24.7 + picocolors: 1.0.1 + + '@babel/compat-data@7.25.4': {} + + '@babel/core@7.25.2': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.25.5 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helpers': 7.25.0 + '@babel/parser': 7.25.4 + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.4 + '@babel/types': 7.25.4 + convert-source-map: 2.0.0 + debug: 4.3.6 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.25.5': + dependencies: + '@babel/types': 7.25.4 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + + '@babel/helper-annotate-as-pure@7.24.7': + dependencies: + '@babel/types': 7.25.4 + + '@babel/helper-builder-binary-assignment-operator-visitor@7.24.7': + dependencies: + '@babel/traverse': 7.25.4 + '@babel/types': 7.25.4 + transitivePeerDependencies: + - supports-color + + '@babel/helper-compilation-targets@7.25.2': + dependencies: + '@babel/compat-data': 7.25.4 + '@babel/helper-validator-option': 7.24.8 + browserslist: 4.23.3 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-create-class-features-plugin@7.25.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-member-expression-to-functions': 7.24.8 + '@babel/helper-optimise-call-expression': 7.24.7 + '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/traverse': 7.25.4 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/helper-create-regexp-features-plugin@7.25.2(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.24.7 + regexpu-core: 5.3.2 + semver: 6.3.1 + + '@babel/helper-define-polyfill-provider@0.6.2(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + debug: 4.3.6 + lodash.debounce: 4.0.8 + resolve: 1.22.8 + transitivePeerDependencies: + - supports-color + + '@babel/helper-member-expression-to-functions@7.24.8': + dependencies: + '@babel/traverse': 7.25.4 + '@babel/types': 7.25.4 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-imports@7.22.15': + dependencies: + '@babel/types': 7.25.4 + + '@babel/helper-module-imports@7.24.7': + dependencies: + '@babel/traverse': 7.25.4 + '@babel/types': 7.25.4 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-simple-access': 7.24.7 + '@babel/helper-validator-identifier': 7.24.7 + '@babel/traverse': 7.25.4 + transitivePeerDependencies: + - supports-color + + '@babel/helper-optimise-call-expression@7.24.7': + dependencies: + '@babel/types': 7.25.4 + + '@babel/helper-plugin-utils@7.24.8': {} + + '@babel/helper-remap-async-to-generator@7.25.0(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-wrap-function': 7.25.0 + '@babel/traverse': 7.25.4 + transitivePeerDependencies: + - supports-color + + '@babel/helper-replace-supers@7.25.0(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-member-expression-to-functions': 7.24.8 + '@babel/helper-optimise-call-expression': 7.24.7 + '@babel/traverse': 7.25.4 + transitivePeerDependencies: + - supports-color + + '@babel/helper-simple-access@7.24.7': + dependencies: + '@babel/traverse': 7.25.4 + '@babel/types': 7.25.4 + transitivePeerDependencies: + - supports-color + + '@babel/helper-skip-transparent-expression-wrappers@7.24.7': + dependencies: + '@babel/traverse': 7.25.4 + '@babel/types': 7.25.4 + transitivePeerDependencies: + - supports-color + + '@babel/helper-string-parser@7.24.8': {} + + '@babel/helper-validator-identifier@7.24.7': {} + + '@babel/helper-validator-option@7.24.8': {} + + '@babel/helper-wrap-function@7.25.0': + dependencies: + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.4 + '@babel/types': 7.25.4 + transitivePeerDependencies: + - supports-color + + '@babel/helpers@7.25.0': + dependencies: + '@babel/template': 7.25.0 + '@babel/types': 7.25.4 + + '@babel/highlight@7.24.7': + dependencies: + '@babel/helper-validator-identifier': 7.24.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.0.1 + + '@babel/parser@7.25.4': + dependencies: + '@babel/types': 7.25.4 + + '@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/traverse': 7.25.4 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.0(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.0(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.25.0(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/traverse': 7.25.4 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-import-assertions@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-import-attributes@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-typescript@7.25.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-async-generator-functions@7.25.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) + '@babel/traverse': 7.25.4 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-async-to-generator@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-module-imports': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-block-scoped-functions@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-block-scoping@7.25.0(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-class-properties@7.25.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-class-static-block@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-classes@7.25.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) + '@babel/traverse': 7.25.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-computed-properties@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/template': 7.25.0 + + '@babel/plugin-transform-destructuring@7.24.8(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-dotall-regex@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-duplicate-keys@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.0(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-dynamic-import@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) + + '@babel/plugin-transform-exponentiation-operator@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.24.7 + '@babel/helper-plugin-utils': 7.24.8 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-export-namespace-from@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.2) + + '@babel/plugin-transform-for-of@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-function-name@7.25.1(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/traverse': 7.25.4 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-json-strings@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) + + '@babel/plugin-transform-literals@7.25.2(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-logical-assignment-operators@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) + + '@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-modules-amd@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-commonjs@7.24.8(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-simple-access': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-systemjs@7.25.0(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-validator-identifier': 7.24.7 + '@babel/traverse': 7.25.4 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-umd@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-named-capturing-groups-regex@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-new-target@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-nullish-coalescing-operator@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) + + '@babel/plugin-transform-numeric-separator@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) + + '@babel/plugin-transform-object-rest-spread@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) + + '@babel/plugin-transform-object-super@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-optional-catch-binding@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) + + '@babel/plugin-transform-optional-chaining@7.24.8(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-parameters@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-private-methods@7.25.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-private-property-in-object@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-property-literals@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-regenerator@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + regenerator-transform: 0.15.2 + + '@babel/plugin-transform-reserved-words@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-spread@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-template-literals@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-typeof-symbol@7.24.8(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-typescript@7.25.2(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 + '@babel/plugin-syntax-typescript': 7.25.4(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-unicode-escapes@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-unicode-property-regex@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-unicode-regex@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/plugin-transform-unicode-sets-regex@7.25.4(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) + '@babel/helper-plugin-utils': 7.24.8 + + '@babel/preset-env@7.25.4(@babel/core@7.25.2)': + dependencies: + '@babel/compat-data': 7.25.4 + '@babel/core': 7.25.2 + '@babel/helper-compilation-targets': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-validator-option': 7.24.8 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.3(@babel/core@7.25.2) + '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.25.2) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.25.2) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-import-assertions': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-import-attributes': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.25.2) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.25.2) + '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-async-generator-functions': 7.25.4(@babel/core@7.25.2) + '@babel/plugin-transform-async-to-generator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-block-scoped-functions': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-block-scoping': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-class-properties': 7.25.4(@babel/core@7.25.2) + '@babel/plugin-transform-class-static-block': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-classes': 7.25.4(@babel/core@7.25.2) + '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-destructuring': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-dotall-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-duplicate-keys': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-duplicate-named-capturing-groups-regex': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-dynamic-import': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-exponentiation-operator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-export-namespace-from': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-for-of': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-function-name': 7.25.1(@babel/core@7.25.2) + '@babel/plugin-transform-json-strings': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-literals': 7.25.2(@babel/core@7.25.2) + '@babel/plugin-transform-logical-assignment-operators': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-member-expression-literals': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-modules-amd': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-modules-systemjs': 7.25.0(@babel/core@7.25.2) + '@babel/plugin-transform-modules-umd': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-named-capturing-groups-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-new-target': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-numeric-separator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-object-rest-spread': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-object-super': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-optional-catch-binding': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-private-methods': 7.25.4(@babel/core@7.25.2) + '@babel/plugin-transform-private-property-in-object': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-property-literals': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-regenerator': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-reserved-words': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-shorthand-properties': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-spread': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-sticky-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-template-literals': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-typeof-symbol': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-unicode-escapes': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-unicode-property-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-unicode-regex': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-unicode-sets-regex': 7.25.4(@babel/core@7.25.2) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.25.2) + babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.25.2) + babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.25.2) + babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.25.2) + core-js-compat: 3.38.1 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/types': 7.25.4 + esutils: 2.0.3 + + '@babel/preset-typescript@7.24.7(@babel/core@7.25.2)': + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-validator-option': 7.24.8 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) + '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color + + '@babel/regjsgen@0.8.0': {} + + '@babel/runtime-corejs3@7.25.0': + dependencies: + core-js-pure: 3.38.1 + regenerator-runtime: 0.14.1 + + '@babel/runtime@7.25.4': + dependencies: + regenerator-runtime: 0.14.1 + + '@babel/template@7.25.0': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/parser': 7.25.4 + '@babel/types': 7.25.4 + + '@babel/traverse@7.25.4': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.25.5 + '@babel/parser': 7.25.4 + '@babel/template': 7.25.0 + '@babel/types': 7.25.4 + debug: 4.3.6 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.25.4': + dependencies: + '@babel/helper-string-parser': 7.24.8 + '@babel/helper-validator-identifier': 7.24.7 + to-fast-properties: 2.0.0 + + '@bpmn-io/diagram-js-ui@0.2.3': + dependencies: + htm: 3.1.1 + preact: 10.23.2 + + '@bpmn-io/element-templates-validator@0.2.0': + dependencies: + '@camunda/element-templates-json-schema': 0.4.0 + json-source-map: 0.6.1 + min-dash: 3.8.1 + + '@bpmn-io/extract-process-variables@0.4.5': + dependencies: + min-dash: 3.8.1 + + '@camunda/element-templates-json-schema@0.4.0': {} + + '@commitlint/cli@19.4.0(@types/node@20.16.1)(typescript@5.3.3)': + dependencies: + '@commitlint/format': 19.3.0 + '@commitlint/lint': 19.2.2 + '@commitlint/load': 19.4.0(@types/node@20.16.1)(typescript@5.3.3) + '@commitlint/read': 19.4.0 + '@commitlint/types': 19.0.3 + execa: 8.0.1 + yargs: 17.7.2 + transitivePeerDependencies: + - '@types/node' + - typescript + + '@commitlint/config-conventional@19.2.2': + dependencies: + '@commitlint/types': 19.0.3 + conventional-changelog-conventionalcommits: 7.0.2 + + '@commitlint/config-validator@19.0.3': + dependencies: + '@commitlint/types': 19.0.3 + ajv: 8.17.1 + + '@commitlint/ensure@19.0.3': + dependencies: + '@commitlint/types': 19.0.3 + lodash.camelcase: 4.3.0 + lodash.kebabcase: 4.1.1 + lodash.snakecase: 4.1.1 + lodash.startcase: 4.4.0 + lodash.upperfirst: 4.3.1 + + '@commitlint/execute-rule@19.0.0': {} + + '@commitlint/format@19.3.0': + dependencies: + '@commitlint/types': 19.0.3 + chalk: 5.3.0 + + '@commitlint/is-ignored@19.2.2': + dependencies: + '@commitlint/types': 19.0.3 + semver: 7.6.3 + + '@commitlint/lint@19.2.2': + dependencies: + '@commitlint/is-ignored': 19.2.2 + '@commitlint/parse': 19.0.3 + '@commitlint/rules': 19.0.3 + '@commitlint/types': 19.0.3 + + '@commitlint/load@19.4.0(@types/node@20.16.1)(typescript@5.3.3)': + dependencies: + '@commitlint/config-validator': 19.0.3 + '@commitlint/execute-rule': 19.0.0 + '@commitlint/resolve-extends': 19.1.0 + '@commitlint/types': 19.0.3 + chalk: 5.3.0 + cosmiconfig: 9.0.0(typescript@5.3.3) + cosmiconfig-typescript-loader: 5.0.0(@types/node@20.16.1)(cosmiconfig@9.0.0(typescript@5.3.3))(typescript@5.3.3) + lodash.isplainobject: 4.0.6 + lodash.merge: 4.6.2 + lodash.uniq: 4.5.0 + transitivePeerDependencies: + - '@types/node' + - typescript + + '@commitlint/message@19.0.0': {} + + '@commitlint/parse@19.0.3': + dependencies: + '@commitlint/types': 19.0.3 + conventional-changelog-angular: 7.0.0 + conventional-commits-parser: 5.0.0 + + '@commitlint/read@19.4.0': + dependencies: + '@commitlint/top-level': 19.0.0 + '@commitlint/types': 19.0.3 + execa: 8.0.1 + git-raw-commits: 4.0.0 + minimist: 1.2.8 + + '@commitlint/resolve-extends@19.1.0': + dependencies: + '@commitlint/config-validator': 19.0.3 + '@commitlint/types': 19.0.3 + global-directory: 4.0.1 + import-meta-resolve: 4.1.0 + lodash.mergewith: 4.6.2 + resolve-from: 5.0.0 + + '@commitlint/rules@19.0.3': + dependencies: + '@commitlint/ensure': 19.0.3 + '@commitlint/message': 19.0.0 + '@commitlint/to-lines': 19.0.0 + '@commitlint/types': 19.0.3 + execa: 8.0.1 + + '@commitlint/to-lines@19.0.0': {} + + '@commitlint/top-level@19.0.0': + dependencies: + find-up: 7.0.0 + + '@commitlint/types@19.0.3': + dependencies: + '@types/conventional-commits-parser': 5.0.0 + chalk: 5.3.0 + + '@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1)': + dependencies: + '@csstools/css-tokenizer': 3.0.1 + + '@csstools/css-tokenizer@3.0.1': {} + + '@csstools/media-query-list-parser@3.0.1(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.1(@csstools/css-tokenizer@3.0.1) + '@csstools/css-tokenizer': 3.0.1 + + '@csstools/selector-specificity@4.0.0(postcss-selector-parser@6.1.2)': + dependencies: + postcss-selector-parser: 6.1.2 + + '@ctrl/tinycolor@3.6.1': {} + + '@dual-bundle/import-meta-resolve@4.1.0': {} + + '@element-plus/icons-vue@2.3.1(vue@3.4.21(typescript@5.3.3))': + dependencies: + vue: 3.4.21(typescript@5.3.3) + + '@esbuild/aix-ppc64@0.19.12': + optional: true + + '@esbuild/android-arm64@0.19.12': + optional: true + + '@esbuild/android-arm@0.19.12': + optional: true + + '@esbuild/android-x64@0.19.12': + optional: true + + '@esbuild/darwin-arm64@0.19.12': + optional: true + + '@esbuild/darwin-x64@0.19.12': + optional: true + + '@esbuild/freebsd-arm64@0.19.12': + optional: true + + '@esbuild/freebsd-x64@0.19.12': + optional: true + + '@esbuild/linux-arm64@0.19.12': + optional: true + + '@esbuild/linux-arm@0.19.12': + optional: true + + '@esbuild/linux-ia32@0.19.12': + optional: true + + '@esbuild/linux-loong64@0.19.12': + optional: true + + '@esbuild/linux-mips64el@0.19.12': + optional: true + + '@esbuild/linux-ppc64@0.19.12': + optional: true + + '@esbuild/linux-riscv64@0.19.12': + optional: true + + '@esbuild/linux-s390x@0.19.12': + optional: true + + '@esbuild/linux-x64@0.19.12': + optional: true + + '@esbuild/netbsd-x64@0.19.12': + optional: true + + '@esbuild/openbsd-x64@0.19.12': + optional: true + + '@esbuild/sunos-x64@0.19.12': + optional: true + + '@esbuild/win32-arm64@0.19.12': + optional: true + + '@esbuild/win32-ia32@0.19.12': + optional: true + + '@esbuild/win32-x64@0.19.12': + optional: true + + '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.11.0': {} + + '@eslint/eslintrc@2.1.4': + dependencies: + ajv: 6.12.6 + debug: 4.3.6 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.2 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/js@8.57.0': {} + + '@floating-ui/core@1.6.7': + dependencies: + '@floating-ui/utils': 0.2.7 + + '@floating-ui/dom@1.6.10': + dependencies: + '@floating-ui/core': 1.6.7 + '@floating-ui/utils': 0.2.7 + + '@floating-ui/utils@0.2.7': {} + + '@form-create/component-elm-checkbox@3.2.0': + dependencies: + '@form-create/utils': 3.2.0 + + '@form-create/component-elm-frame@3.2.0': + dependencies: + '@form-create/utils': 3.2.0 + + '@form-create/component-elm-group@3.2.4': + dependencies: + '@form-create/utils': 3.2.0 + + '@form-create/component-elm-radio@3.2.0': + dependencies: + '@form-create/utils': 3.2.0 + + '@form-create/component-elm-select@3.2.0': + dependencies: + '@form-create/utils': 3.2.0 + + '@form-create/component-elm-tree@3.2.0': + dependencies: + '@form-create/utils': 3.2.0 + + '@form-create/component-elm-upload@3.2.7': + dependencies: + '@form-create/utils': 3.2.0 + + '@form-create/component-subform@3.1.34': {} + + '@form-create/component-wangeditor@3.2.4': + dependencies: + wangeditor: 4.7.15 + + '@form-create/core@3.2.7(vue@3.4.21(typescript@5.3.3))': + dependencies: + '@form-create/utils': 3.2.0 + vue: 3.4.21(typescript@5.3.3) + + '@form-create/designer@3.2.5(vue@3.4.21(typescript@5.3.3))': + dependencies: + '@form-create/component-wangeditor': 3.2.4 + '@form-create/element-ui': 3.2.7(vue@3.4.21(typescript@5.3.3)) + '@form-create/utils': 3.2.0 + vuedraggable: 4.1.0(vue@3.4.21(typescript@5.3.3)) + transitivePeerDependencies: + - vue + + '@form-create/element-ui@3.2.7(vue@3.4.21(typescript@5.3.3))': + dependencies: + '@form-create/component-elm-checkbox': 3.2.0 + '@form-create/component-elm-frame': 3.2.0 + '@form-create/component-elm-group': 3.2.4 + '@form-create/component-elm-radio': 3.2.0 + '@form-create/component-elm-select': 3.2.0 + '@form-create/component-elm-tree': 3.2.0 + '@form-create/component-elm-upload': 3.2.7 + '@form-create/component-subform': 3.1.34 + '@form-create/core': 3.2.7(vue@3.4.21(typescript@5.3.3)) + '@form-create/utils': 3.2.0 + vue: 3.4.21(typescript@5.3.3) + + '@form-create/utils@3.2.0': {} + + '@humanwhocodes/config-array@0.11.14': + dependencies: + '@humanwhocodes/object-schema': 2.0.3 + debug: 4.3.6 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/object-schema@2.0.3': {} + + '@iconify/iconify@2.1.2': + dependencies: + cross-fetch: 3.1.8 + transitivePeerDependencies: + - encoding + + '@iconify/iconify@3.1.1': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify/json@2.2.241': + dependencies: + '@iconify/types': 2.0.0 + pathe: 1.1.2 + + '@iconify/types@2.0.0': {} + + '@iconify/utils@2.1.32': + dependencies: + '@antfu/install-pkg': 0.4.0 + '@antfu/utils': 0.7.10 + '@iconify/types': 2.0.0 + debug: 4.3.6 + kolorist: 1.8.0 + local-pkg: 0.5.0 + mlly: 1.7.1 + transitivePeerDependencies: + - supports-color + + '@intlify/bundle-utils@7.5.1(vue-i18n@9.10.2(vue@3.4.21(typescript@5.3.3)))': + dependencies: + '@intlify/message-compiler': 9.14.0 + '@intlify/shared': 9.14.0 + acorn: 8.12.1 + escodegen: 2.1.0 + estree-walker: 2.0.2 + jsonc-eslint-parser: 2.4.0 + magic-string: 0.30.11 + mlly: 1.7.1 + source-map-js: 1.2.0 + yaml-eslint-parser: 1.2.3 + optionalDependencies: + vue-i18n: 9.10.2(vue@3.4.21(typescript@5.3.3)) + + '@intlify/core-base@9.10.2': + dependencies: + '@intlify/message-compiler': 9.10.2 + '@intlify/shared': 9.10.2 + + '@intlify/message-compiler@9.10.2': + dependencies: + '@intlify/shared': 9.10.2 + source-map-js: 1.2.0 + + '@intlify/message-compiler@9.14.0': + dependencies: + '@intlify/shared': 9.14.0 + source-map-js: 1.2.0 + + '@intlify/shared@9.10.2': {} + + '@intlify/shared@9.14.0': {} + + '@intlify/unplugin-vue-i18n@2.0.0(rollup@4.21.0)(vue-i18n@9.10.2(vue@3.4.21(typescript@5.3.3)))': + dependencies: + '@intlify/bundle-utils': 7.5.1(vue-i18n@9.10.2(vue@3.4.21(typescript@5.3.3))) + '@intlify/shared': 9.14.0 + '@rollup/pluginutils': 5.1.0(rollup@4.21.0) + '@vue/compiler-sfc': 3.4.38 + debug: 4.3.6 + fast-glob: 3.3.2 + js-yaml: 4.1.0 + json5: 2.2.3 + pathe: 1.1.2 + picocolors: 1.0.1 + source-map-js: 1.2.0 + unplugin: 1.12.2 + optionalDependencies: + vue-i18n: 9.10.2(vue@3.4.21(typescript@5.3.3)) + transitivePeerDependencies: + - rollup + - supports-color + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jridgewell/gen-mapping@0.3.5': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/source-map@0.3.6': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/sourcemap-codec@1.5.0': {} + + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.17.1 + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@pkgr/core@0.1.1': {} + + '@polka/url@1.0.0-next.25': {} + + '@purge-icons/core@0.10.0': + dependencies: + '@iconify/iconify': 2.1.2 + axios: 0.26.1(debug@4.3.6) + debug: 4.3.6 + fast-glob: 3.3.2 + fs-extra: 10.1.0 + transitivePeerDependencies: + - encoding + - supports-color + + '@purge-icons/generated@0.10.0': + dependencies: + '@iconify/iconify': 3.1.1 + + '@purge-icons/generated@0.9.0': + dependencies: + '@iconify/iconify': 3.1.1 + + '@rollup/plugin-virtual@3.0.2(rollup@4.21.0)': + optionalDependencies: + rollup: 4.21.0 + + '@rollup/pluginutils@4.2.1': + dependencies: + estree-walker: 2.0.2 + picomatch: 2.3.1 + + '@rollup/pluginutils@5.1.0(rollup@4.21.0)': + dependencies: + '@types/estree': 1.0.5 + estree-walker: 2.0.2 + picomatch: 2.3.1 + optionalDependencies: + rollup: 4.21.0 + + '@rollup/rollup-android-arm-eabi@4.21.0': + optional: true + + '@rollup/rollup-android-arm64@4.21.0': + optional: true + + '@rollup/rollup-darwin-arm64@4.21.0': + optional: true + + '@rollup/rollup-darwin-x64@4.21.0': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.21.0': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.21.0': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.21.0': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.21.0': + optional: true + + '@rollup/rollup-linux-powerpc64le-gnu@4.21.0': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.21.0': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.21.0': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.21.0': + optional: true + + '@rollup/rollup-linux-x64-musl@4.21.0': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.21.0': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.21.0': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.21.0': + optional: true + + '@sinclair/typebox@0.27.8': {} + + '@swc/core-darwin-arm64@1.7.18': + optional: true + + '@swc/core-darwin-x64@1.7.18': + optional: true + + '@swc/core-linux-arm-gnueabihf@1.7.18': + optional: true + + '@swc/core-linux-arm64-gnu@1.7.18': + optional: true + + '@swc/core-linux-arm64-musl@1.7.18': + optional: true + + '@swc/core-linux-x64-gnu@1.7.18': + optional: true + + '@swc/core-linux-x64-musl@1.7.18': + optional: true + + '@swc/core-win32-arm64-msvc@1.7.18': + optional: true + + '@swc/core-win32-ia32-msvc@1.7.18': + optional: true + + '@swc/core-win32-x64-msvc@1.7.18': + optional: true + + '@swc/core@1.7.18': + dependencies: + '@swc/counter': 0.1.3 + '@swc/types': 0.1.12 + optionalDependencies: + '@swc/core-darwin-arm64': 1.7.18 + '@swc/core-darwin-x64': 1.7.18 + '@swc/core-linux-arm-gnueabihf': 1.7.18 + '@swc/core-linux-arm64-gnu': 1.7.18 + '@swc/core-linux-arm64-musl': 1.7.18 + '@swc/core-linux-x64-gnu': 1.7.18 + '@swc/core-linux-x64-musl': 1.7.18 + '@swc/core-win32-arm64-msvc': 1.7.18 + '@swc/core-win32-ia32-msvc': 1.7.18 + '@swc/core-win32-x64-msvc': 1.7.18 + + '@swc/counter@0.1.3': {} + + '@swc/types@0.1.12': + dependencies: + '@swc/counter': 0.1.3 + + '@sxzz/popperjs-es@2.11.7': {} + + '@transloadit/prettier-bytes@0.0.7': {} + + '@trysound/sax@0.2.0': {} + + '@types/conventional-commits-parser@5.0.0': + dependencies: + '@types/node': 20.16.1 + + '@types/eslint@8.56.11': + dependencies: + '@types/estree': 1.0.5 + '@types/json-schema': 7.0.15 + + '@types/estree@1.0.5': {} + + '@types/event-emitter@0.3.5': {} + + '@types/json-schema@7.0.15': {} + + '@types/lodash-es@4.17.12': + dependencies: + '@types/lodash': 4.17.7 + + '@types/lodash@4.17.7': {} + + '@types/node@10.17.60': {} + + '@types/node@20.16.1': + dependencies: + undici-types: 6.19.8 + + '@types/nprogress@0.2.3': {} + + '@types/qrcode@1.5.5': + dependencies: + '@types/node': 20.16.1 + + '@types/qs@6.9.15': {} + + '@types/semver@7.5.8': {} + + '@types/svgo@2.6.4': + dependencies: + '@types/node': 20.16.1 + + '@types/video.js@7.3.58': {} + + '@types/web-bluetooth@0.0.16': {} + + '@types/web-bluetooth@0.0.20': {} + + '@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.3.3))(eslint@8.57.0)(typescript@5.3.3)': + dependencies: + '@eslint-community/regexpp': 4.11.0 + '@typescript-eslint/parser': 7.18.0(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/scope-manager': 7.18.0 + '@typescript-eslint/type-utils': 7.18.0(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/utils': 7.18.0(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 7.18.0 + eslint: 8.57.0 + graphemer: 1.4.0 + ignore: 5.3.2 + natural-compare: 1.4.0 + ts-api-utils: 1.3.0(typescript@5.3.3) + optionalDependencies: + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3)': + dependencies: + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.3.6 + eslint: 8.57.0 + optionalDependencies: + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.3.3)': + dependencies: + '@typescript-eslint/scope-manager': 7.18.0 + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 7.18.0 + debug: 4.3.6 + eslint: 8.57.0 + optionalDependencies: + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@6.21.0': + dependencies: + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 + + '@typescript-eslint/scope-manager@7.18.0': + dependencies: + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/visitor-keys': 7.18.0 + + '@typescript-eslint/type-utils@7.18.0(eslint@8.57.0)(typescript@5.3.3)': + dependencies: + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.3.3) + '@typescript-eslint/utils': 7.18.0(eslint@8.57.0)(typescript@5.3.3) + debug: 4.3.6 + eslint: 8.57.0 + ts-api-utils: 1.3.0(typescript@5.3.3) + optionalDependencies: + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/types@6.21.0': {} + + '@typescript-eslint/types@7.18.0': {} + + '@typescript-eslint/typescript-estree@6.21.0(typescript@5.3.3)': + dependencies: + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.3.6 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.3 + semver: 7.6.3 + ts-api-utils: 1.3.0(typescript@5.3.3) + optionalDependencies: + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/typescript-estree@7.18.0(typescript@5.3.3)': + dependencies: + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/visitor-keys': 7.18.0 + debug: 4.3.6 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.6.3 + ts-api-utils: 1.3.0(typescript@5.3.3) + optionalDependencies: + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.3.3)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) + eslint: 8.57.0 + semver: 7.6.3 + transitivePeerDependencies: + - supports-color + - typescript + + '@typescript-eslint/utils@7.18.0(eslint@8.57.0)(typescript@5.3.3)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@typescript-eslint/scope-manager': 7.18.0 + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.3.3) + eslint: 8.57.0 + transitivePeerDependencies: + - supports-color + - typescript + + '@typescript-eslint/visitor-keys@6.21.0': + dependencies: + '@typescript-eslint/types': 6.21.0 + eslint-visitor-keys: 3.4.3 + + '@typescript-eslint/visitor-keys@7.18.0': + dependencies: + '@typescript-eslint/types': 7.18.0 + eslint-visitor-keys: 3.4.3 + + '@ungap/structured-clone@1.2.0': {} + + '@unocss/astro@0.58.9(rollup@4.21.0)(vite@5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6))': + dependencies: + '@unocss/core': 0.58.9 + '@unocss/reset': 0.58.9 + '@unocss/vite': 0.58.9(rollup@4.21.0)(vite@5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6)) + optionalDependencies: + vite: 5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6) + transitivePeerDependencies: + - rollup + + '@unocss/cli@0.58.9(rollup@4.21.0)': + dependencies: + '@ampproject/remapping': 2.3.0 + '@rollup/pluginutils': 5.1.0(rollup@4.21.0) + '@unocss/config': 0.58.9 + '@unocss/core': 0.58.9 + '@unocss/preset-uno': 0.58.9 + cac: 6.7.14 + chokidar: 3.6.0 + colorette: 2.0.20 + consola: 3.2.3 + fast-glob: 3.3.2 + magic-string: 0.30.11 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + transitivePeerDependencies: + - rollup + + '@unocss/config@0.57.7': + dependencies: + '@unocss/core': 0.57.7 + unconfig: 0.3.13 + + '@unocss/config@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + unconfig: 0.3.13 + + '@unocss/core@0.57.7': {} + + '@unocss/core@0.58.9': {} + + '@unocss/eslint-config@0.57.7(eslint@8.57.0)(typescript@5.3.3)': + dependencies: + '@unocss/eslint-plugin': 0.57.7(eslint@8.57.0)(typescript@5.3.3) + transitivePeerDependencies: + - eslint + - supports-color + - typescript + + '@unocss/eslint-plugin@0.57.7(eslint@8.57.0)(typescript@5.3.3)': + dependencies: + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.3.3) + '@unocss/config': 0.57.7 + '@unocss/core': 0.57.7 + magic-string: 0.30.11 + synckit: 0.8.8 + transitivePeerDependencies: + - eslint + - supports-color + - typescript + + '@unocss/extractor-arbitrary-variants@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + + '@unocss/inspector@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + '@unocss/rule-utils': 0.58.9 + gzip-size: 6.0.0 + sirv: 2.0.4 + + '@unocss/postcss@0.58.9(postcss@8.4.41)': + dependencies: + '@unocss/config': 0.58.9 + '@unocss/core': 0.58.9 + '@unocss/rule-utils': 0.58.9 + css-tree: 2.3.1 + fast-glob: 3.3.2 + magic-string: 0.30.11 + postcss: 8.4.41 + + '@unocss/preset-attributify@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + + '@unocss/preset-icons@0.58.9': + dependencies: + '@iconify/utils': 2.1.32 + '@unocss/core': 0.58.9 + ofetch: 1.3.4 + transitivePeerDependencies: + - supports-color + + '@unocss/preset-mini@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + '@unocss/extractor-arbitrary-variants': 0.58.9 + '@unocss/rule-utils': 0.58.9 + + '@unocss/preset-tagify@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + + '@unocss/preset-typography@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + '@unocss/preset-mini': 0.58.9 + + '@unocss/preset-uno@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + '@unocss/preset-mini': 0.58.9 + '@unocss/preset-wind': 0.58.9 + '@unocss/rule-utils': 0.58.9 + + '@unocss/preset-web-fonts@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + ofetch: 1.3.4 + + '@unocss/preset-wind@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + '@unocss/preset-mini': 0.58.9 + '@unocss/rule-utils': 0.58.9 + + '@unocss/reset@0.58.9': {} + + '@unocss/rule-utils@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + magic-string: 0.30.11 + + '@unocss/scope@0.58.9': {} + + '@unocss/transformer-attributify-jsx-babel@0.58.9': + dependencies: + '@babel/core': 7.25.2 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) + '@babel/preset-typescript': 7.24.7(@babel/core@7.25.2) + '@unocss/core': 0.58.9 + transitivePeerDependencies: + - supports-color + + '@unocss/transformer-attributify-jsx@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + + '@unocss/transformer-compile-class@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + + '@unocss/transformer-directives@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + '@unocss/rule-utils': 0.58.9 + css-tree: 2.3.1 + + '@unocss/transformer-variant-group@0.58.9': + dependencies: + '@unocss/core': 0.58.9 + + '@unocss/vite@0.58.9(rollup@4.21.0)(vite@5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6))': + dependencies: + '@ampproject/remapping': 2.3.0 + '@rollup/pluginutils': 5.1.0(rollup@4.21.0) + '@unocss/config': 0.58.9 + '@unocss/core': 0.58.9 + '@unocss/inspector': 0.58.9 + '@unocss/scope': 0.58.9 + '@unocss/transformer-directives': 0.58.9 + chokidar: 3.6.0 + fast-glob: 3.3.2 + magic-string: 0.30.11 + vite: 5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6) + transitivePeerDependencies: + - rollup + + '@uppy/companion-client@2.2.2': + dependencies: + '@uppy/utils': 4.1.3 + namespace-emitter: 2.0.1 + + '@uppy/core@2.3.4': + dependencies: + '@transloadit/prettier-bytes': 0.0.7 + '@uppy/store-default': 2.1.1 + '@uppy/utils': 4.1.3 + lodash.throttle: 4.1.1 + mime-match: 1.0.2 + namespace-emitter: 2.0.1 + nanoid: 3.3.7 + preact: 10.23.2 + + '@uppy/store-default@2.1.1': {} + + '@uppy/utils@4.1.3': + dependencies: + lodash.throttle: 4.1.1 + + '@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4)': + dependencies: + '@uppy/companion-client': 2.2.2 + '@uppy/core': 2.3.4 + '@uppy/utils': 4.1.3 + nanoid: 3.3.7 + + '@videojs-player/vue@1.0.0(@types/video.js@7.3.58)(video.js@7.21.6)(vue@3.4.21(typescript@5.3.3))': + dependencies: + '@types/video.js': 7.3.58 + video.js: 7.21.6 + vue: 3.4.21(typescript@5.3.3) + + '@videojs/http-streaming@2.16.3(video.js@7.21.6)': + dependencies: + '@babel/runtime': 7.25.4 + '@videojs/vhs-utils': 3.0.5 + aes-decrypter: 3.1.3 + global: 4.4.0 + m3u8-parser: 4.8.0 + mpd-parser: 0.22.1 + mux.js: 6.0.1 + video.js: 7.21.6 + + '@videojs/vhs-utils@3.0.5': + dependencies: + '@babel/runtime': 7.25.4 + global: 4.4.0 + url-toolkit: 2.2.5 + + '@videojs/xhr@2.6.0': + dependencies: + '@babel/runtime': 7.25.4 + global: 4.4.0 + is-function: 1.0.2 + + '@vitejs/plugin-legacy@5.4.2(terser@5.31.6)(vite@5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6))': + dependencies: + '@babel/core': 7.25.2 + '@babel/preset-env': 7.25.4(@babel/core@7.25.2) + browserslist: 4.23.3 + browserslist-to-esbuild: 2.1.1(browserslist@4.23.3) + core-js: 3.38.1 + magic-string: 0.30.11 + regenerator-runtime: 0.14.1 + systemjs: 6.15.1 + terser: 5.31.6 + vite: 5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6) + transitivePeerDependencies: + - supports-color + + '@vitejs/plugin-vue-jsx@3.1.0(vite@5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6))(vue@3.4.21(typescript@5.3.3))': + dependencies: + '@babel/core': 7.25.2 + '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2) + '@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.25.2) + vite: 5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6) + vue: 3.4.21(typescript@5.3.3) + transitivePeerDependencies: + - supports-color + + '@vitejs/plugin-vue@5.1.2(vite@5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6))(vue@3.4.21(typescript@5.3.3))': + dependencies: + vite: 5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6) + vue: 3.4.21(typescript@5.3.3) + + '@volar/language-core@1.11.1': + dependencies: + '@volar/source-map': 1.11.1 + + '@volar/source-map@1.11.1': + dependencies: + muggle-string: 0.3.1 + + '@volar/typescript@1.11.1': + dependencies: + '@volar/language-core': 1.11.1 + path-browserify: 1.0.1 + + '@vue/babel-helper-vue-transform-on@1.2.2': {} + + '@vue/babel-plugin-jsx@1.2.2(@babel/core@7.25.2)': + dependencies: + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.4 + '@babel/types': 7.25.4 + '@vue/babel-helper-vue-transform-on': 1.2.2 + '@vue/babel-plugin-resolve-type': 1.2.2(@babel/core@7.25.2) + camelcase: 6.3.0 + html-tags: 3.3.1 + svg-tags: 1.0.0 + optionalDependencies: + '@babel/core': 7.25.2 + transitivePeerDependencies: + - supports-color + + '@vue/babel-plugin-resolve-type@1.2.2(@babel/core@7.25.2)': + dependencies: + '@babel/code-frame': 7.24.7 + '@babel/core': 7.25.2 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.24.8 + '@babel/parser': 7.25.4 + '@vue/compiler-sfc': 3.4.38 + + '@vue/compiler-core@3.4.21': + dependencies: + '@babel/parser': 7.25.4 + '@vue/shared': 3.4.21 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.2.0 + + '@vue/compiler-core@3.4.38': + dependencies: + '@babel/parser': 7.25.4 + '@vue/shared': 3.4.38 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.2.0 + + '@vue/compiler-dom@3.4.21': + dependencies: + '@vue/compiler-core': 3.4.21 + '@vue/shared': 3.4.21 + + '@vue/compiler-dom@3.4.38': + dependencies: + '@vue/compiler-core': 3.4.38 + '@vue/shared': 3.4.38 + + '@vue/compiler-sfc@3.4.21': + dependencies: + '@babel/parser': 7.25.4 + '@vue/compiler-core': 3.4.21 + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-ssr': 3.4.21 + '@vue/shared': 3.4.21 + estree-walker: 2.0.2 + magic-string: 0.30.11 + postcss: 8.4.41 + source-map-js: 1.2.0 + + '@vue/compiler-sfc@3.4.38': + dependencies: + '@babel/parser': 7.25.4 + '@vue/compiler-core': 3.4.38 + '@vue/compiler-dom': 3.4.38 + '@vue/compiler-ssr': 3.4.38 + '@vue/shared': 3.4.38 + estree-walker: 2.0.2 + magic-string: 0.30.11 + postcss: 8.4.41 + source-map-js: 1.2.0 + + '@vue/compiler-ssr@3.4.21': + dependencies: + '@vue/compiler-dom': 3.4.21 + '@vue/shared': 3.4.21 + + '@vue/compiler-ssr@3.4.38': + dependencies: + '@vue/compiler-dom': 3.4.38 + '@vue/shared': 3.4.38 + + '@vue/devtools-api@6.6.3': {} + + '@vue/language-core@1.8.27(typescript@5.3.3)': + dependencies: + '@volar/language-core': 1.11.1 + '@volar/source-map': 1.11.1 + '@vue/compiler-dom': 3.4.38 + '@vue/shared': 3.4.38 + computeds: 0.0.1 + minimatch: 9.0.5 + muggle-string: 0.3.1 + path-browserify: 1.0.1 + vue-template-compiler: 2.7.16 + optionalDependencies: + typescript: 5.3.3 + + '@vue/reactivity@3.4.21': + dependencies: + '@vue/shared': 3.4.21 + + '@vue/runtime-core@3.4.21': + dependencies: + '@vue/reactivity': 3.4.21 + '@vue/shared': 3.4.21 + + '@vue/runtime-dom@3.4.21': + dependencies: + '@vue/runtime-core': 3.4.21 + '@vue/shared': 3.4.21 + csstype: 3.1.3 + + '@vue/server-renderer@3.4.21(vue@3.4.21(typescript@5.3.3))': + dependencies: + '@vue/compiler-ssr': 3.4.21 + '@vue/shared': 3.4.21 + vue: 3.4.21(typescript@5.3.3) + + '@vue/shared@3.4.21': {} + + '@vue/shared@3.4.38': {} + + '@vueuse/core@10.11.1(vue@3.4.21(typescript@5.3.3))': + dependencies: + '@types/web-bluetooth': 0.0.20 + '@vueuse/metadata': 10.11.1 + '@vueuse/shared': 10.11.1(vue@3.4.21(typescript@5.3.3)) + vue-demi: 0.14.10(vue@3.4.21(typescript@5.3.3)) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + + '@vueuse/core@9.13.0(vue@3.4.21(typescript@5.3.3))': + dependencies: + '@types/web-bluetooth': 0.0.16 + '@vueuse/metadata': 9.13.0 + '@vueuse/shared': 9.13.0(vue@3.4.21(typescript@5.3.3)) + vue-demi: 0.14.10(vue@3.4.21(typescript@5.3.3)) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + + '@vueuse/metadata@10.11.1': {} + + '@vueuse/metadata@9.13.0': {} + + '@vueuse/shared@10.11.1(vue@3.4.21(typescript@5.3.3))': + dependencies: + vue-demi: 0.14.10(vue@3.4.21(typescript@5.3.3)) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + + '@vueuse/shared@9.13.0(vue@3.4.21(typescript@5.3.3))': + dependencies: + vue-demi: 0.14.10(vue@3.4.21(typescript@5.3.3)) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + + '@wangeditor/basic-modules@1.1.7(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)': + dependencies: + '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2) + dom7: 3.0.0 + is-url: 1.2.4 + lodash.throttle: 4.1.1 + nanoid: 3.3.7 + slate: 0.72.8 + snabbdom: 3.6.2 + + '@wangeditor/code-highlight@1.0.3(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(slate@0.72.8)(snabbdom@3.6.2)': + dependencies: + '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2) + dom7: 3.0.0 + prismjs: 1.29.0 + slate: 0.72.8 + snabbdom: 3.6.2 + + '@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)': + dependencies: + '@types/event-emitter': 0.3.5 + '@uppy/core': 2.3.4 + '@uppy/xhr-upload': 2.1.3(@uppy/core@2.3.4) + dom7: 3.0.0 + event-emitter: 0.3.5 + html-void-elements: 2.0.1 + i18next: 20.6.1 + is-hotkey: 0.2.0 + lodash.camelcase: 4.3.0 + lodash.clonedeep: 4.5.0 + lodash.debounce: 4.0.8 + lodash.foreach: 4.5.0 + lodash.isequal: 4.5.0 + lodash.throttle: 4.1.1 + lodash.toarray: 4.4.0 + nanoid: 3.3.7 + scroll-into-view-if-needed: 2.2.31 + slate: 0.72.8 + slate-history: 0.66.0(slate@0.72.8) + snabbdom: 3.6.2 + + '@wangeditor/editor-for-vue@5.1.12(@wangeditor/editor@5.1.23)(vue@3.4.21(typescript@5.3.3))': + dependencies: + '@wangeditor/editor': 5.1.23 + vue: 3.4.21(typescript@5.3.3) + + '@wangeditor/editor@5.1.23': + dependencies: + '@uppy/core': 2.3.4 + '@uppy/xhr-upload': 2.1.3(@uppy/core@2.3.4) + '@wangeditor/basic-modules': 1.1.7(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2) + '@wangeditor/code-highlight': 1.0.3(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(slate@0.72.8)(snabbdom@3.6.2) + '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2) + '@wangeditor/list-module': 1.0.5(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(slate@0.72.8)(snabbdom@3.6.2) + '@wangeditor/table-module': 1.1.4(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2) + '@wangeditor/upload-image-module': 1.0.2(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(@wangeditor/basic-modules@1.1.7(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(lodash.foreach@4.5.0)(slate@0.72.8)(snabbdom@3.6.2) + '@wangeditor/video-module': 1.1.4(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2) + dom7: 3.0.0 + is-hotkey: 0.2.0 + lodash.camelcase: 4.3.0 + lodash.clonedeep: 4.5.0 + lodash.debounce: 4.0.8 + lodash.foreach: 4.5.0 + lodash.isequal: 4.5.0 + lodash.throttle: 4.1.1 + lodash.toarray: 4.4.0 + nanoid: 3.3.7 + slate: 0.72.8 + snabbdom: 3.6.2 + + '@wangeditor/list-module@1.0.5(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(slate@0.72.8)(snabbdom@3.6.2)': + dependencies: + '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2) + dom7: 3.0.0 + slate: 0.72.8 + snabbdom: 3.6.2 + + '@wangeditor/table-module@1.1.4(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)': + dependencies: + '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2) + dom7: 3.0.0 + lodash.isequal: 4.5.0 + lodash.throttle: 4.1.1 + nanoid: 3.3.7 + slate: 0.72.8 + snabbdom: 3.6.2 + + '@wangeditor/upload-image-module@1.0.2(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(@wangeditor/basic-modules@1.1.7(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(lodash.foreach@4.5.0)(slate@0.72.8)(snabbdom@3.6.2)': + dependencies: + '@uppy/core': 2.3.4 + '@uppy/xhr-upload': 2.1.3(@uppy/core@2.3.4) + '@wangeditor/basic-modules': 1.1.7(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(lodash.throttle@4.1.1)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2) + '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2) + dom7: 3.0.0 + lodash.foreach: 4.5.0 + slate: 0.72.8 + snabbdom: 3.6.2 + + '@wangeditor/video-module@1.1.4(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(@wangeditor/core@1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2))(dom7@3.0.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2)': + dependencies: + '@uppy/core': 2.3.4 + '@uppy/xhr-upload': 2.1.3(@uppy/core@2.3.4) + '@wangeditor/core': 1.1.19(@uppy/core@2.3.4)(@uppy/xhr-upload@2.1.3(@uppy/core@2.3.4))(dom7@3.0.0)(is-hotkey@0.2.0)(lodash.camelcase@4.3.0)(lodash.clonedeep@4.5.0)(lodash.debounce@4.0.8)(lodash.foreach@4.5.0)(lodash.isequal@4.5.0)(lodash.throttle@4.1.1)(lodash.toarray@4.4.0)(nanoid@3.3.7)(slate@0.72.8)(snabbdom@3.6.2) + dom7: 3.0.0 + nanoid: 3.3.7 + slate: 0.72.8 + snabbdom: 3.6.2 + + '@xmldom/xmldom@0.8.10': {} + + '@zxcvbn-ts/core@3.0.4': + dependencies: + fastest-levenshtein: 1.0.16 + + JSONStream@1.3.5: + dependencies: + jsonparse: 1.3.1 + through: 2.3.8 + + acorn-jsx@5.3.2(acorn@8.12.1): + dependencies: + acorn: 8.12.1 + + acorn@8.12.1: {} + + aes-decrypter@3.1.3: + dependencies: + '@babel/runtime': 7.25.4 + '@videojs/vhs-utils': 3.0.5 + global: 4.4.0 + pkcs7: 1.0.4 + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ajv@8.17.1: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.0.1 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + + animate.css@4.1.1: {} + + ansi-escapes@7.0.0: + dependencies: + environment: 1.1.0 + + ansi-regex@2.1.1: {} + + ansi-regex@5.0.1: {} + + ansi-regex@6.0.1: {} + + ansi-styles@2.2.1: {} + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + ansi-styles@6.2.1: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + argparse@2.0.1: {} + + arr-diff@4.0.0: {} + + arr-flatten@1.1.0: {} + + arr-union@3.1.0: {} + + array-buffer-byte-length@1.0.1: + dependencies: + call-bind: 1.0.7 + is-array-buffer: 3.0.4 + + array-ify@1.0.0: {} + + array-union@2.1.0: {} + + array-unique@0.3.2: {} + + arraybuffer.prototype.slice@1.0.3: + dependencies: + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + is-array-buffer: 3.0.4 + is-shared-array-buffer: 1.0.3 + + assign-symbols@1.0.0: {} + + astral-regex@2.0.0: {} + + async-validator@4.2.5: {} + + async@3.2.6: {} + + asynckit@0.4.0: {} + + atob@2.1.2: {} + + autoprefixer@10.4.20(postcss@8.4.41): + dependencies: + browserslist: 4.23.3 + caniuse-lite: 1.0.30001653 + fraction.js: 4.3.7 + normalize-range: 0.1.2 + picocolors: 1.0.1 + postcss: 8.4.41 + postcss-value-parser: 4.2.0 + + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.0.0 + + axios@0.26.1(debug@4.3.6): + dependencies: + follow-redirects: 1.15.6(debug@4.3.6) + transitivePeerDependencies: + - debug + + axios@1.7.5: + dependencies: + follow-redirects: 1.15.6(debug@4.3.6) + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + + babel-plugin-polyfill-corejs2@0.4.11(@babel/core@7.25.2): + dependencies: + '@babel/compat-data': 7.25.4 + '@babel/core': 7.25.2 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-corejs3@0.10.6(@babel/core@7.25.2): + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) + core-js-compat: 3.38.1 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-regenerator@0.6.2(@babel/core@7.25.2): + dependencies: + '@babel/core': 7.25.2 + '@babel/helper-define-polyfill-provider': 0.6.2(@babel/core@7.25.2) + transitivePeerDependencies: + - supports-color + + balanced-match@1.0.2: {} + + balanced-match@2.0.0: {} + + base@0.11.2: + dependencies: + cache-base: 1.0.1 + class-utils: 0.3.6 + component-emitter: 1.3.1 + define-property: 1.0.0 + isobject: 3.0.1 + mixin-deep: 1.3.2 + pascalcase: 0.1.1 + + benz-amr-recorder@1.1.5: + dependencies: + benz-recorderjs: 1.0.5 + + benz-recorderjs@1.0.5: {} + + big.js@5.2.2: {} + + binary-extensions@2.3.0: {} + + bluebird@3.7.2: {} + + boolbase@1.0.0: {} + + bpmn-js-properties-panel@0.46.0(bpmn-js@8.9.0): + dependencies: + '@bpmn-io/element-templates-validator': 0.2.0 + '@bpmn-io/extract-process-variables': 0.4.5 + bpmn-js: 8.9.0 + ids: 1.0.5 + inherits: 2.0.4 + lodash: 4.17.21 + min-dom: 3.2.1 + scroll-tabs: 1.0.1 + selection-update: 0.1.2 + semver: 6.3.1 + + bpmn-js-token-simulation@0.10.0: + dependencies: + min-dash: 3.8.1 + min-dom: 0.2.0 + svg.js: 2.7.1 + + bpmn-js@8.9.0: + dependencies: + bpmn-moddle: 7.1.3 + css.escape: 1.5.1 + diagram-js: 7.9.0 + diagram-js-direct-editing: 1.8.0(diagram-js@7.9.0) + ids: 1.0.5 + inherits: 2.0.4 + min-dash: 3.8.1 + min-dom: 3.2.1 + object-refs: 0.3.0 + tiny-svg: 2.2.4 + + bpmn-moddle@7.1.3: + dependencies: + min-dash: 3.8.1 + moddle: 5.0.4 + moddle-xml: 9.0.6 + + brace-expansion@1.1.11: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.1: + dependencies: + balanced-match: 1.0.2 + + braces@2.3.2: + dependencies: + 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.4 + snapdragon: 0.8.2 + snapdragon-node: 2.1.1 + split-string: 3.1.0 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist-to-esbuild@2.1.1(browserslist@4.23.3): + dependencies: + browserslist: 4.23.3 + meow: 13.2.0 + + browserslist@4.23.3: + dependencies: + caniuse-lite: 1.0.30001653 + electron-to-chromium: 1.5.13 + node-releases: 2.0.18 + update-browserslist-db: 1.1.0(browserslist@4.23.3) + + buffer-from@1.1.2: {} + + cac@6.7.14: {} + + cache-base@1.0.1: + dependencies: + collection-visit: 1.0.0 + component-emitter: 1.3.1 + get-value: 2.0.6 + has-value: 1.0.0 + isobject: 3.0.1 + set-value: 2.0.1 + to-object-path: 0.3.0 + union-value: 1.0.1 + unset-value: 1.0.0 + + call-bind@1.0.7: + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + set-function-length: 1.2.2 + + callsites@3.1.0: {} + + camelcase@5.3.1: {} + + camelcase@6.3.0: {} + + camunda-bpmn-moddle@7.0.1: {} + + caniuse-lite@1.0.30001653: {} + + chalk@1.1.3: + dependencies: + ansi-styles: 2.2.1 + escape-string-regexp: 1.0.5 + has-ansi: 2.0.0 + strip-ansi: 3.0.1 + supports-color: 2.0.0 + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chalk@5.3.0: {} + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.3 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + class-utils@0.3.6: + dependencies: + arr-union: 3.1.0 + define-property: 0.2.5 + isobject: 3.0.1 + static-extend: 0.1.2 + + cli-cursor@5.0.0: + dependencies: + restore-cursor: 5.1.0 + + cli-truncate@4.0.0: + dependencies: + slice-ansi: 5.0.0 + string-width: 7.2.0 + + cliui@6.0.0: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + clone@2.1.2: {} + + clsx@2.1.1: {} + + collection-visit@1.0.0: + dependencies: + map-visit: 1.0.0 + object-visit: 1.0.1 + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + colord@2.9.3: {} + + colorette@2.0.20: {} + + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + + commander@12.1.0: {} + + commander@2.20.3: {} + + commander@7.2.0: {} + + common-tags@1.8.2: {} + + compare-func@2.0.0: + dependencies: + array-ify: 1.0.0 + dot-prop: 5.3.0 + + component-classes@1.2.6: + dependencies: + component-indexof: 0.0.3 + + component-closest@0.1.4: + dependencies: + component-matches-selector: 0.1.7 + + component-delegate@0.2.4: + dependencies: + component-closest: 0.1.4 + component-event: 0.1.4 + + component-emitter@1.3.1: {} + + component-event@0.1.4: {} + + component-event@0.2.1: {} + + component-indexof@0.0.3: {} + + component-matches-selector@0.1.7: + dependencies: + component-query: 0.0.3 + global-object: 1.0.0 + + component-query@0.0.3: {} + + compute-scroll-into-view@1.0.20: {} + + computeds@0.0.1: {} + + concat-map@0.0.1: {} + + confbox@0.1.7: {} + + consola@3.2.3: {} + + conventional-changelog-angular@7.0.0: + dependencies: + compare-func: 2.0.0 + + conventional-changelog-conventionalcommits@7.0.2: + dependencies: + compare-func: 2.0.0 + + conventional-commits-parser@5.0.0: + dependencies: + JSONStream: 1.3.5 + is-text-path: 2.0.0 + meow: 12.1.1 + split2: 4.2.0 + + convert-source-map@2.0.0: {} + + copy-descriptor@0.1.1: {} + + core-js-compat@3.38.1: + dependencies: + browserslist: 4.23.3 + + core-js-pure@3.38.1: {} + + core-js@3.38.1: {} + + cors@2.8.5: + dependencies: + object-assign: 4.1.1 + vary: 1.1.2 + + cosmiconfig-typescript-loader@5.0.0(@types/node@20.16.1)(cosmiconfig@9.0.0(typescript@5.3.3))(typescript@5.3.3): + dependencies: + '@types/node': 20.16.1 + cosmiconfig: 9.0.0(typescript@5.3.3) + jiti: 1.21.6 + typescript: 5.3.3 + + cosmiconfig@9.0.0(typescript@5.3.3): + dependencies: + env-paths: 2.2.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + optionalDependencies: + typescript: 5.3.3 + + cropperjs@1.6.2: {} + + cross-fetch@3.1.8: + dependencies: + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + + cross-spawn@7.0.3: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + crypto-js@4.2.0: {} + + css-functions-list@3.2.2: {} + + css-select@4.3.0: + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 4.3.1 + domutils: 2.8.0 + nth-check: 2.1.1 + + css-tree@1.1.3: + dependencies: + mdn-data: 2.0.14 + source-map: 0.6.1 + + css-tree@2.3.1: + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.2.0 + + css-what@6.1.0: {} + + css.escape@1.5.1: {} + + cssesc@3.0.0: {} + + csso@4.2.0: + dependencies: + css-tree: 1.1.3 + + csstype@3.1.3: {} + + d@1.0.2: + dependencies: + es5-ext: 0.10.64 + type: 2.7.3 + + dargs@8.1.0: {} + + data-view-buffer@1.0.1: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + + data-view-byte-length@1.0.1: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + + data-view-byte-offset@1.0.0: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + + dayjs@1.11.13: {} + + de-indent@1.0.2: {} + + debug@2.6.9: + dependencies: + ms: 2.0.0 + + debug@4.3.6: + dependencies: + ms: 2.1.2 + + decamelize@1.2.0: {} + + decode-uri-component@0.2.2: {} + + deep-is@0.1.4: {} + + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + gopd: 1.0.1 + + define-properties@1.2.1: + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + + define-property@0.2.5: + dependencies: + is-descriptor: 0.1.7 + + define-property@1.0.0: + dependencies: + is-descriptor: 1.0.3 + + define-property@2.0.2: + dependencies: + is-descriptor: 1.0.3 + isobject: 3.0.1 + + defu@6.1.4: {} + + delayed-stream@1.0.0: {} + + destr@2.0.3: {} + + diagram-js-direct-editing@1.8.0(diagram-js@7.9.0): + dependencies: + diagram-js: 7.9.0 + min-dash: 3.8.1 + min-dom: 3.2.1 + + diagram-js@12.8.1: + dependencies: + '@bpmn-io/diagram-js-ui': 0.2.3 + clsx: 2.1.1 + didi: 9.0.2 + hammerjs: 2.0.8 + inherits-browser: 0.1.0 + min-dash: 4.2.1 + min-dom: 4.2.1 + object-refs: 0.3.0 + path-intersection: 2.2.1 + tiny-svg: 3.1.2 + + diagram-js@7.9.0: + dependencies: + css.escape: 1.5.1 + didi: 5.2.1 + hammerjs: 2.0.8 + inherits: 2.0.4 + min-dash: 3.8.1 + min-dom: 3.2.1 + object-refs: 0.3.0 + path-intersection: 2.2.1 + tiny-svg: 2.2.4 + + didi@5.2.1: {} + + didi@9.0.2: {} + + dijkstrajs@1.0.3: {} + + dir-glob@3.0.1: + dependencies: + path-type: 4.0.0 + + dlv@1.1.3: {} + + doctrine@3.0.0: + dependencies: + esutils: 2.0.3 + + dom-serializer@0.2.2: + dependencies: + domelementtype: 2.3.0 + entities: 2.2.0 + + dom-serializer@1.4.1: + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + entities: 2.2.0 + + dom-serializer@2.0.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + + dom-walk@0.1.2: {} + + dom7@3.0.0: + dependencies: + ssr-window: 3.0.0 + + domelementtype@1.3.1: {} + + domelementtype@2.3.0: {} + + domhandler@2.4.2: + dependencies: + domelementtype: 1.3.1 + + domhandler@4.3.1: + dependencies: + domelementtype: 2.3.0 + + domhandler@5.0.3: + dependencies: + domelementtype: 2.3.0 + + domify@1.4.2: {} + + dompurify@3.1.6: {} + + domutils@1.7.0: + dependencies: + dom-serializer: 0.2.2 + domelementtype: 1.3.1 + + domutils@2.8.0: + dependencies: + dom-serializer: 1.4.1 + domelementtype: 2.3.0 + domhandler: 4.3.1 + + domutils@3.1.0: + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + + dot-prop@5.3.0: + dependencies: + is-obj: 2.0.0 + + driver.js@1.3.1: {} + + duplexer@0.1.2: {} + + eastasianwidth@0.2.0: {} + + echarts-wordcloud@2.1.0(echarts@5.5.1): + dependencies: + echarts: 5.5.1 + + echarts@5.5.1: + dependencies: + tslib: 2.3.0 + zrender: 5.6.0 + + ejs@3.1.10: + dependencies: + jake: 10.9.2 + + electron-to-chromium@1.5.13: {} + + element-plus@2.6.1(vue@3.4.21(typescript@5.3.3)): + dependencies: + '@ctrl/tinycolor': 3.6.1 + '@element-plus/icons-vue': 2.3.1(vue@3.4.21(typescript@5.3.3)) + '@floating-ui/dom': 1.6.10 + '@popperjs/core': '@sxzz/popperjs-es@2.11.7' + '@types/lodash': 4.17.7 + '@types/lodash-es': 4.17.12 + '@vueuse/core': 9.13.0(vue@3.4.21(typescript@5.3.3)) + async-validator: 4.2.5 + dayjs: 1.11.13 + escape-html: 1.0.3 + lodash: 4.17.21 + lodash-es: 4.17.21 + lodash-unified: 1.0.3(@types/lodash-es@4.17.12)(lodash-es@4.17.21)(lodash@4.17.21) + memoize-one: 6.0.0 + normalize-wheel-es: 1.2.0 + vue: 3.4.21(typescript@5.3.3) + transitivePeerDependencies: + - '@vue/composition-api' + + emoji-regex@10.3.0: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + emojis-list@3.0.0: {} + + entities@1.1.2: {} + + entities@2.2.0: {} + + entities@4.5.0: {} + + env-paths@2.2.1: {} + + environment@1.1.0: {} + + error-ex@1.3.2: + dependencies: + is-arrayish: 0.2.1 + + es-abstract@1.23.3: + dependencies: + array-buffer-byte-length: 1.0.1 + arraybuffer.prototype.slice: 1.0.3 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + data-view-buffer: 1.0.1 + data-view-byte-length: 1.0.1 + data-view-byte-offset: 1.0.0 + es-define-property: 1.0.0 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-set-tostringtag: 2.0.3 + es-to-primitive: 1.2.1 + function.prototype.name: 1.1.6 + get-intrinsic: 1.2.4 + get-symbol-description: 1.0.2 + globalthis: 1.0.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.2 + internal-slot: 1.0.7 + is-array-buffer: 3.0.4 + is-callable: 1.2.7 + is-data-view: 1.0.1 + is-negative-zero: 2.0.3 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.3 + is-string: 1.0.7 + is-typed-array: 1.1.13 + is-weakref: 1.0.2 + object-inspect: 1.13.2 + object-keys: 1.1.1 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.2 + safe-array-concat: 1.1.2 + safe-regex-test: 1.0.3 + string.prototype.trim: 1.2.9 + string.prototype.trimend: 1.0.8 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.2 + typed-array-byte-length: 1.0.1 + typed-array-byte-offset: 1.0.2 + typed-array-length: 1.0.6 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.15 + + es-define-property@1.0.0: + dependencies: + get-intrinsic: 1.2.4 + + es-errors@1.3.0: {} + + es-module-lexer@1.5.4: {} + + es-object-atoms@1.0.0: + dependencies: + es-errors: 1.3.0 + + es-set-tostringtag@2.0.3: + dependencies: + get-intrinsic: 1.2.4 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + + es-to-primitive@1.2.1: + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + + es5-ext@0.10.64: + dependencies: + es6-iterator: 2.0.3 + es6-symbol: 3.1.4 + esniff: 2.0.1 + next-tick: 1.1.0 + + es6-iterator@2.0.3: + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + es6-symbol: 3.1.4 + + es6-symbol@3.1.4: + dependencies: + d: 1.0.2 + ext: 1.7.0 + + esbuild@0.19.12: + optionalDependencies: + '@esbuild/aix-ppc64': 0.19.12 + '@esbuild/android-arm': 0.19.12 + '@esbuild/android-arm64': 0.19.12 + '@esbuild/android-x64': 0.19.12 + '@esbuild/darwin-arm64': 0.19.12 + '@esbuild/darwin-x64': 0.19.12 + '@esbuild/freebsd-arm64': 0.19.12 + '@esbuild/freebsd-x64': 0.19.12 + '@esbuild/linux-arm': 0.19.12 + '@esbuild/linux-arm64': 0.19.12 + '@esbuild/linux-ia32': 0.19.12 + '@esbuild/linux-loong64': 0.19.12 + '@esbuild/linux-mips64el': 0.19.12 + '@esbuild/linux-ppc64': 0.19.12 + '@esbuild/linux-riscv64': 0.19.12 + '@esbuild/linux-s390x': 0.19.12 + '@esbuild/linux-x64': 0.19.12 + '@esbuild/netbsd-x64': 0.19.12 + '@esbuild/openbsd-x64': 0.19.12 + '@esbuild/sunos-x64': 0.19.12 + '@esbuild/win32-arm64': 0.19.12 + '@esbuild/win32-ia32': 0.19.12 + '@esbuild/win32-x64': 0.19.12 + + escalade@3.1.2: {} + + escape-html@1.0.3: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@4.0.0: {} + + escape-string-regexp@5.0.0: {} + + escodegen@2.1.0: + dependencies: + esprima: 4.0.1 + estraverse: 5.3.0 + esutils: 2.0.3 + optionalDependencies: + source-map: 0.6.1 + + eslint-config-prettier@9.1.0(eslint@8.57.0): + dependencies: + eslint: 8.57.0 + + eslint-define-config@2.1.0: {} + + eslint-plugin-prettier@5.2.1(@types/eslint@8.56.11)(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.3.3): + dependencies: + eslint: 8.57.0 + prettier: 3.3.3 + prettier-linter-helpers: 1.0.0 + synckit: 0.9.1 + optionalDependencies: + '@types/eslint': 8.56.11 + eslint-config-prettier: 9.1.0(eslint@8.57.0) + + eslint-plugin-vue@9.27.0(eslint@8.57.0): + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + eslint: 8.57.0 + globals: 13.24.0 + natural-compare: 1.4.0 + nth-check: 2.1.1 + postcss-selector-parser: 6.1.2 + semver: 7.6.3 + vue-eslint-parser: 9.4.3(eslint@8.57.0) + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - supports-color + + eslint-scope@7.2.2: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-visitor-keys@3.4.3: {} + + eslint@8.57.0: + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/regexpp': 4.11.0 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.57.0 + '@humanwhocodes/config-array': 0.11.14 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.6 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.6.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.4 + strip-ansi: 6.0.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + + esniff@2.0.1: + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + event-emitter: 0.3.5 + type: 2.7.3 + + espree@9.6.1: + dependencies: + acorn: 8.12.1 + acorn-jsx: 5.3.2(acorn@8.12.1) + eslint-visitor-keys: 3.4.3 + + esprima@4.0.1: {} + + esquery@1.6.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@5.3.0: {} + + estree-walker@2.0.2: {} + + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.5 + + esutils@2.0.3: {} + + etag@1.8.1: {} + + event-emitter@0.3.5: + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + + eventemitter3@5.0.1: {} + + execa@8.0.1: + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + + expand-brackets@2.1.4: + dependencies: + debug: 2.6.9 + define-property: 0.2.5 + extend-shallow: 2.0.1 + posix-character-classes: 0.1.1 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + + ext@1.7.0: + dependencies: + type: 2.7.3 + + extend-shallow@2.0.1: + dependencies: + is-extendable: 0.1.1 + + extend-shallow@3.0.2: + dependencies: + assign-symbols: 1.0.0 + is-extendable: 1.0.1 + + extglob@2.0.4: + dependencies: + 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.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + + fast-deep-equal@3.1.3: {} + + fast-diff@1.3.0: {} + + fast-glob@3.3.2: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} + + fast-uri@3.0.1: {} + + fast-xml-parser@4.4.1: + dependencies: + strnum: 1.0.5 + + fastest-levenshtein@1.0.16: {} + + fastq@1.17.1: + dependencies: + reusify: 1.0.4 + + file-entry-cache@6.0.1: + dependencies: + flat-cache: 3.2.0 + + file-entry-cache@9.0.0: + dependencies: + flat-cache: 5.0.0 + + filelist@1.0.4: + dependencies: + minimatch: 5.1.6 + + fill-range@4.0.0: + dependencies: + extend-shallow: 2.0.1 + is-number: 3.0.0 + repeat-string: 1.6.1 + to-regex-range: 2.1.1 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + find-up@4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + find-up@7.0.0: + dependencies: + locate-path: 7.2.0 + path-exists: 5.0.0 + unicorn-magic: 0.1.0 + + flat-cache@3.2.0: + dependencies: + flatted: 3.3.1 + keyv: 4.5.4 + rimraf: 3.0.2 + + flat-cache@5.0.0: + dependencies: + flatted: 3.3.1 + keyv: 4.5.4 + + flatted@3.3.1: {} + + follow-redirects@1.15.6(debug@4.3.6): + optionalDependencies: + debug: 4.3.6 + + for-each@0.3.3: + dependencies: + is-callable: 1.2.7 + + for-in@1.0.2: {} + + foreground-child@3.3.0: + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.1.0 + + form-data@4.0.0: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + + fraction.js@4.3.7: {} + + fragment-cache@0.2.1: + dependencies: + map-cache: 0.2.2 + + fs-extra@10.1.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + + fs.realpath@1.0.0: {} + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + function.prototype.name@1.1.6: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + functions-have-names: 1.2.3 + + functions-have-names@1.2.3: {} + + gensync@1.0.0-beta.2: {} + + get-caller-file@2.0.5: {} + + get-east-asian-width@1.2.0: {} + + get-intrinsic@1.2.4: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.2 + + get-stream@8.0.1: {} + + get-symbol-description@1.0.2: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + + get-value@2.0.6: {} + + git-raw-commits@4.0.0: + dependencies: + dargs: 8.1.0 + meow: 12.1.1 + split2: 4.2.0 + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob@10.4.5: + dependencies: + foreground-child: 3.3.0 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.0 + path-scurry: 1.11.1 + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + global-directory@4.0.1: + dependencies: + ini: 4.1.1 + + global-modules@2.0.0: + dependencies: + global-prefix: 3.0.0 + + global-object@1.0.0: {} + + global-prefix@3.0.0: + dependencies: + ini: 1.3.8 + kind-of: 6.0.3 + which: 1.3.1 + + global@4.4.0: + dependencies: + min-document: 2.19.0 + process: 0.11.10 + + globals@11.12.0: {} + + globals@13.24.0: + dependencies: + type-fest: 0.20.2 + + globalthis@1.0.4: + dependencies: + define-properties: 1.2.1 + gopd: 1.0.1 + + globby@11.1.0: + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.2 + ignore: 5.3.2 + merge2: 1.4.1 + slash: 3.0.0 + + globjoin@0.1.4: {} + + gopd@1.0.1: + dependencies: + get-intrinsic: 1.2.4 + + graceful-fs@4.2.11: {} + + graphemer@1.4.0: {} + + gzip-size@6.0.0: + dependencies: + duplexer: 0.1.2 + + hammerjs@2.0.8: {} + + has-ansi@2.0.0: + dependencies: + ansi-regex: 2.1.1 + + has-bigints@1.0.2: {} + + has-flag@1.0.0: {} + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.0 + + has-proto@1.0.3: {} + + has-symbols@1.0.3: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.0.3 + + has-value@0.3.1: + dependencies: + get-value: 2.0.6 + has-values: 0.1.4 + isobject: 2.1.0 + + has-value@1.0.0: + dependencies: + get-value: 2.0.6 + has-values: 1.0.0 + isobject: 3.0.1 + + has-values@0.1.4: {} + + has-values@1.0.0: + dependencies: + is-number: 3.0.0 + kind-of: 4.0.0 + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + he@1.2.0: {} + + highlight.js@11.10.0: {} + + htm@3.1.1: {} + + html-tags@3.3.1: {} + + html-void-elements@2.0.1: {} + + htmlparser2@3.10.1: + dependencies: + domelementtype: 1.3.1 + domhandler: 2.4.2 + domutils: 1.7.0 + entities: 1.1.2 + inherits: 2.0.4 + readable-stream: 3.6.2 + + htmlparser2@8.0.2: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.1.0 + entities: 4.5.0 + + human-signals@5.0.0: {} + + i18next@20.6.1: + dependencies: + '@babel/runtime': 7.25.4 + + ids@1.0.5: {} + + ignore@5.3.2: {} + + image-size@0.5.5: {} + + immer@9.0.21: {} + + immutable@4.3.7: {} + + import-fresh@3.3.0: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + import-meta-resolve@4.1.0: {} + + imurmurhash@0.1.4: {} + + indent-string@4.0.0: {} + + indexof@0.0.1: {} + + individual@2.0.0: {} + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits-browser@0.1.0: {} + + inherits@2.0.4: {} + + ini@1.3.8: {} + + ini@4.1.1: {} + + internal-slot@1.0.7: + dependencies: + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.0.6 + + is-accessor-descriptor@1.0.1: + dependencies: + hasown: 2.0.2 + + is-array-buffer@3.0.4: + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + + is-arrayish@0.2.1: {} + + is-bigint@1.0.4: + dependencies: + has-bigints: 1.0.2 + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.3.0 + + is-boolean-object@1.1.2: + dependencies: + call-bind: 1.0.7 + has-tostringtag: 1.0.2 + + is-buffer@1.1.6: {} + + is-callable@1.2.7: {} + + is-core-module@2.15.1: + dependencies: + hasown: 2.0.2 + + is-data-descriptor@1.0.1: + dependencies: + hasown: 2.0.2 + + is-data-view@1.0.1: + dependencies: + is-typed-array: 1.1.13 + + is-date-object@1.0.5: + dependencies: + has-tostringtag: 1.0.2 + + is-descriptor@0.1.7: + dependencies: + is-accessor-descriptor: 1.0.1 + is-data-descriptor: 1.0.1 + + is-descriptor@1.0.3: + dependencies: + is-accessor-descriptor: 1.0.1 + is-data-descriptor: 1.0.1 + + is-extendable@0.1.1: {} + + is-extendable@1.0.1: + dependencies: + is-plain-object: 2.0.4 + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@3.0.0: {} + + is-fullwidth-code-point@4.0.0: {} + + is-fullwidth-code-point@5.0.0: + dependencies: + get-east-asian-width: 1.2.0 + + is-function@1.0.2: {} + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-hotkey@0.2.0: {} + + is-negative-zero@2.0.3: {} + + is-number-object@1.0.7: + dependencies: + has-tostringtag: 1.0.2 + + is-number@3.0.0: + dependencies: + kind-of: 3.2.2 + + is-number@7.0.0: {} + + is-obj@2.0.0: {} + + is-path-inside@3.0.3: {} + + is-plain-obj@1.1.0: {} + + is-plain-object@2.0.4: + dependencies: + isobject: 3.0.1 + + is-plain-object@5.0.0: {} + + is-regex@1.1.4: + dependencies: + call-bind: 1.0.7 + has-tostringtag: 1.0.2 + + is-shared-array-buffer@1.0.3: + dependencies: + call-bind: 1.0.7 + + is-stream@3.0.0: {} + + is-string@1.0.7: + dependencies: + has-tostringtag: 1.0.2 + + is-symbol@1.0.4: + dependencies: + has-symbols: 1.0.3 + + is-text-path@2.0.0: + dependencies: + text-extensions: 2.4.0 + + is-typed-array@1.1.13: + dependencies: + which-typed-array: 1.1.15 + + is-url@1.2.4: {} + + is-weakref@1.0.2: + dependencies: + call-bind: 1.0.7 + + is-windows@1.0.2: {} + + isarray@1.0.0: {} + + isarray@2.0.5: {} + + isexe@2.0.0: {} + + isobject@2.1.0: + dependencies: + isarray: 1.0.0 + + isobject@3.0.1: {} + + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + jake@10.9.2: + dependencies: + async: 3.2.6 + chalk: 4.1.2 + filelist: 1.0.4 + minimatch: 3.1.2 + + jiti@1.21.6: {} + + js-base64@2.6.4: {} + + js-tokens@4.0.0: {} + + js-tokens@9.0.0: {} + + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + + jsencrypt@3.3.2: {} + + jsesc@0.5.0: {} + + jsesc@2.5.2: {} + + json-buffer@3.0.1: {} + + json-parse-even-better-errors@2.3.1: {} + + json-schema-traverse@0.4.1: {} + + json-schema-traverse@1.0.0: {} + + json-source-map@0.6.1: {} + + json-stable-stringify-without-jsonify@1.0.1: {} + + json5@1.0.2: + dependencies: + minimist: 1.2.8 + + json5@2.2.3: {} + + jsonc-eslint-parser@2.4.0: + dependencies: + acorn: 8.12.1 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + semver: 7.6.3 + + jsonfile@6.1.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + jsonparse@1.3.1: {} + + keycode@2.2.1: {} + + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + + kind-of@3.2.2: + dependencies: + is-buffer: 1.1.6 + + kind-of@4.0.0: + dependencies: + is-buffer: 1.1.6 + + kind-of@5.1.0: {} + + kind-of@6.0.3: {} + + known-css-properties@0.34.0: {} + + kolorist@1.8.0: {} + + levn@0.4.1: + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + lilconfig@3.1.2: {} + + lines-and-columns@1.2.4: {} + + lint-staged@15.2.9: + dependencies: + chalk: 5.3.0 + commander: 12.1.0 + debug: 4.3.6 + execa: 8.0.1 + lilconfig: 3.1.2 + listr2: 8.2.4 + micromatch: 4.0.8 + pidtree: 0.6.0 + string-argv: 0.3.2 + yaml: 2.5.0 + transitivePeerDependencies: + - supports-color + + listr2@8.2.4: + dependencies: + cli-truncate: 4.0.0 + colorette: 2.0.20 + eventemitter3: 5.0.1 + log-update: 6.1.0 + rfdc: 1.4.1 + wrap-ansi: 9.0.0 + + loader-utils@1.4.2: + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 1.0.2 + + local-pkg@0.4.3: {} + + local-pkg@0.5.0: + dependencies: + mlly: 1.7.1 + pkg-types: 1.2.0 + + locate-path@5.0.0: + dependencies: + p-locate: 4.1.0 + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + locate-path@7.2.0: + dependencies: + p-locate: 6.0.0 + + lodash-es@4.17.21: {} + + lodash-unified@1.0.3(@types/lodash-es@4.17.12)(lodash-es@4.17.21)(lodash@4.17.21): + dependencies: + '@types/lodash-es': 4.17.12 + lodash: 4.17.21 + lodash-es: 4.17.21 + + lodash.camelcase@4.3.0: {} + + lodash.clonedeep@4.5.0: {} + + lodash.debounce@4.0.8: {} + + lodash.foreach@4.5.0: {} + + lodash.isequal@4.5.0: {} + + lodash.isplainobject@4.0.6: {} + + lodash.kebabcase@4.1.1: {} + + lodash.merge@4.6.2: {} + + lodash.mergewith@4.6.2: {} + + lodash.snakecase@4.1.1: {} + + lodash.startcase@4.4.0: {} + + lodash.throttle@4.1.1: {} + + lodash.toarray@4.4.0: {} + + lodash.truncate@4.4.2: {} + + lodash.uniq@4.5.0: {} + + lodash.upperfirst@4.3.1: {} + + lodash@4.17.21: {} + + log-update@6.1.0: + dependencies: + ansi-escapes: 7.0.0 + cli-cursor: 5.0.0 + slice-ansi: 7.1.0 + strip-ansi: 7.1.0 + wrap-ansi: 9.0.0 + + loglevel-colored-level-prefix@1.0.0: + dependencies: + chalk: 1.1.3 + loglevel: 1.9.1 + + loglevel@1.9.1: {} + + lru-cache@10.4.3: {} + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + m3u8-parser@4.8.0: + dependencies: + '@babel/runtime': 7.25.4 + '@videojs/vhs-utils': 3.0.5 + global: 4.4.0 + + magic-string@0.30.11: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.0 + + map-cache@0.2.2: {} + + map-visit@1.0.0: + dependencies: + object-visit: 1.0.1 + + matches-selector@1.2.0: {} + + mathml-tag-names@2.1.3: {} + + mdn-data@2.0.14: {} + + mdn-data@2.0.30: {} + + memoize-one@6.0.0: {} + + meow@12.1.1: {} + + meow@13.2.0: {} + + merge-options@1.0.1: + dependencies: + is-plain-obj: 1.1.0 + + merge-stream@2.0.0: {} + + merge2@1.4.1: {} + + micromatch@3.1.0: + dependencies: + arr-diff: 4.0.0 + array-unique: 0.3.2 + braces: 2.3.2 + define-property: 1.0.0 + extend-shallow: 2.0.1 + extglob: 2.0.4 + fragment-cache: 0.2.1 + kind-of: 5.1.0 + nanomatch: 1.2.13 + object.pick: 1.3.0 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mime-db@1.52.0: {} + + mime-match@1.0.2: + dependencies: + wildcard: 1.1.2 + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mimic-fn@4.0.0: {} + + mimic-function@5.0.1: {} + + min-dash@3.8.1: {} + + min-dash@4.2.1: {} + + min-document@2.19.0: + dependencies: + dom-walk: 0.1.2 + + min-dom@0.2.0: + dependencies: + component-classes: 1.2.6 + component-closest: 0.1.4 + component-delegate: 0.2.4 + component-event: 0.1.4 + component-matches-selector: 0.1.7 + component-query: 0.0.3 + domify: 1.4.2 + + min-dom@3.2.1: + dependencies: + component-event: 0.1.4 + domify: 1.4.2 + indexof: 0.0.1 + matches-selector: 1.2.0 + min-dash: 3.8.1 + + min-dom@4.2.1: + dependencies: + component-event: 0.2.1 + domify: 1.4.2 + min-dash: 4.2.1 + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.11 + + minimatch@5.1.6: + dependencies: + brace-expansion: 2.0.1 + + minimatch@9.0.3: + dependencies: + brace-expansion: 2.0.1 + + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.1 + + minimist@1.2.8: {} + + minipass@7.1.2: {} + + mitt@1.2.0: {} + + mitt@3.0.1: {} + + mixin-deep@1.3.2: + dependencies: + for-in: 1.0.2 + is-extendable: 1.0.1 + + mlly@1.7.1: + dependencies: + acorn: 8.12.1 + pathe: 1.1.2 + pkg-types: 1.2.0 + ufo: 1.5.4 + + moddle-xml@9.0.6: + dependencies: + min-dash: 3.8.1 + moddle: 5.0.4 + saxen: 8.1.2 + + moddle@5.0.4: + dependencies: + min-dash: 3.8.1 + + mousetrap@1.6.5: {} + + mpd-parser@0.22.1: + dependencies: + '@babel/runtime': 7.25.4 + '@videojs/vhs-utils': 3.0.5 + '@xmldom/xmldom': 0.8.10 + global: 4.4.0 + + mrmime@2.0.0: {} + + ms@2.0.0: {} + + ms@2.1.2: {} + + muggle-string@0.3.1: {} + + mux.js@6.0.1: + dependencies: + '@babel/runtime': 7.25.4 + global: 4.4.0 + + namespace-emitter@2.0.1: {} + + nanoid@3.3.7: {} + + nanomatch@1.2.13: + dependencies: + 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.3 + object.pick: 1.3.0 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + transitivePeerDependencies: + - supports-color + + natural-compare@1.4.0: {} + + next-tick@1.1.0: {} + + node-fetch-native@1.6.4: {} + + node-fetch@2.7.0: + dependencies: + whatwg-url: 5.0.0 + + node-releases@2.0.18: {} + + normalize-path@3.0.0: {} + + normalize-range@0.1.2: {} + + normalize-wheel-es@1.2.0: {} + + npm-run-path@5.3.0: + dependencies: + path-key: 4.0.0 + + nprogress@0.2.0: {} + + nth-check@2.1.1: + dependencies: + boolbase: 1.0.0 + + object-assign@4.1.1: {} + + object-copy@0.1.0: + dependencies: + copy-descriptor: 0.1.1 + define-property: 0.2.5 + kind-of: 3.2.2 + + object-inspect@1.13.2: {} + + object-keys@1.1.1: {} + + object-refs@0.3.0: {} + + object-visit@1.0.1: + dependencies: + isobject: 3.0.1 + + object.assign@4.1.5: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + has-symbols: 1.0.3 + object-keys: 1.1.1 + + object.pick@1.3.0: + dependencies: + isobject: 3.0.1 + + ofetch@1.3.4: + dependencies: + destr: 2.0.3 + node-fetch-native: 1.6.4 + ufo: 1.5.4 + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + onetime@6.0.0: + dependencies: + mimic-fn: 4.0.0 + + onetime@7.0.0: + dependencies: + mimic-function: 5.0.1 + + optionator@0.9.4: + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.5 + + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-limit@4.0.0: + dependencies: + yocto-queue: 1.1.1 + + p-locate@4.1.0: + dependencies: + p-limit: 2.3.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + p-locate@6.0.0: + dependencies: + p-limit: 4.0.0 + + p-try@2.2.0: {} + + package-json-from-dist@1.0.0: {} + + package-manager-detector@0.1.2: {} + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.24.7 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + pascalcase@0.1.1: {} + + path-browserify@1.0.1: {} + + path-exists@4.0.0: {} + + path-exists@5.0.0: {} + + path-intersection@2.2.1: {} + + path-is-absolute@1.0.1: {} + + path-key@3.1.1: {} + + path-key@4.0.0: {} + + path-parse@1.0.7: {} + + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.2 + + path-type@4.0.0: {} + + pathe@0.2.0: {} + + pathe@1.1.2: {} + + perfect-debounce@1.0.0: {} + + picocolors@1.0.1: {} + + picomatch@2.3.1: {} + + pidtree@0.6.0: {} + + pinia-plugin-persistedstate@3.2.1(pinia@2.2.2(typescript@5.3.3)(vue@3.4.21(typescript@5.3.3))): + dependencies: + pinia: 2.2.2(typescript@5.3.3)(vue@3.4.21(typescript@5.3.3)) + + pinia@2.2.2(typescript@5.3.3)(vue@3.4.21(typescript@5.3.3)): + dependencies: + '@vue/devtools-api': 6.6.3 + vue: 3.4.21(typescript@5.3.3) + vue-demi: 0.14.10(vue@3.4.21(typescript@5.3.3)) + optionalDependencies: + typescript: 5.3.3 + + pkcs7@1.0.4: + dependencies: + '@babel/runtime': 7.25.4 + + pkg-types@1.2.0: + dependencies: + confbox: 0.1.7 + mlly: 1.7.1 + pathe: 1.1.2 + + pngjs@5.0.0: {} + + posix-character-classes@0.1.1: {} + + possible-typed-array-names@1.0.0: {} + + postcss-html@1.7.0: + dependencies: + htmlparser2: 8.0.2 + js-tokens: 9.0.0 + postcss: 8.4.41 + postcss-safe-parser: 6.0.0(postcss@8.4.41) + + postcss-prefix-selector@1.16.1(postcss@5.2.18): + dependencies: + postcss: 5.2.18 + + postcss-resolve-nested-selector@0.1.6: {} + + postcss-safe-parser@6.0.0(postcss@8.4.41): + dependencies: + postcss: 8.4.41 + + postcss-safe-parser@7.0.0(postcss@8.4.41): + dependencies: + postcss: 8.4.41 + + postcss-scss@4.0.9(postcss@8.4.41): + dependencies: + postcss: 8.4.41 + + postcss-selector-parser@6.1.2: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + + postcss-sorting@8.0.2(postcss@8.4.41): + dependencies: + postcss: 8.4.41 + + postcss-value-parser@4.2.0: {} + + postcss@5.2.18: + dependencies: + chalk: 1.1.3 + js-base64: 2.6.4 + source-map: 0.5.7 + supports-color: 3.2.3 + + postcss@8.4.41: + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.1 + source-map-js: 1.2.0 + + posthtml-parser@0.2.1: + dependencies: + htmlparser2: 3.10.1 + isobject: 2.1.0 + + posthtml-rename-id@1.0.12: + dependencies: + escape-string-regexp: 1.0.5 + + posthtml-render@1.4.0: {} + + posthtml-svg-mode@1.0.3: + dependencies: + merge-options: 1.0.1 + posthtml: 0.9.2 + posthtml-parser: 0.2.1 + posthtml-render: 1.4.0 + + posthtml@0.9.2: + dependencies: + posthtml-parser: 0.2.1 + posthtml-render: 1.4.0 + + preact@10.23.2: {} + + prelude-ls@1.2.1: {} + + prettier-eslint@16.3.0: + dependencies: + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.3.3) + common-tags: 1.8.2 + dlv: 1.1.3 + eslint: 8.57.0 + indent-string: 4.0.0 + lodash.merge: 4.6.2 + loglevel-colored-level-prefix: 1.0.0 + prettier: 3.3.3 + pretty-format: 29.7.0 + require-relative: 0.8.7 + typescript: 5.3.3 + vue-eslint-parser: 9.4.3(eslint@8.57.0) + transitivePeerDependencies: + - supports-color + + prettier-linter-helpers@1.0.0: + dependencies: + fast-diff: 1.3.0 + + prettier@3.3.3: {} + + pretty-format@29.7.0: + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.3.1 + + prismjs@1.29.0: {} + + process@0.11.10: {} + + progress@2.0.3: {} + + proxy-from-env@1.1.0: {} + + punycode@1.4.1: {} + + punycode@2.3.1: {} + + qrcode@1.5.4: + dependencies: + dijkstrajs: 1.0.3 + pngjs: 5.0.0 + yargs: 15.4.1 + + qs@6.13.0: + dependencies: + side-channel: 1.0.6 + + query-string@4.3.4: + dependencies: + object-assign: 4.1.1 + strict-uri-encode: 1.1.0 + + queue-microtask@1.2.3: {} + + rd@2.0.1: + dependencies: + '@types/node': 10.17.60 + + react-is@18.3.1: {} + + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + + regenerate-unicode-properties@10.1.1: + dependencies: + regenerate: 1.4.2 + + regenerate@1.4.2: {} + + regenerator-runtime@0.14.1: {} + + regenerator-transform@0.15.2: + dependencies: + '@babel/runtime': 7.25.4 + + regex-not@1.0.2: + dependencies: + extend-shallow: 3.0.2 + safe-regex: 1.1.0 + + regexp.prototype.flags@1.5.2: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-errors: 1.3.0 + set-function-name: 2.0.2 + + regexpu-core@5.3.2: + dependencies: + '@babel/regjsgen': 0.8.0 + regenerate: 1.4.2 + regenerate-unicode-properties: 10.1.1 + regjsparser: 0.9.1 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.1.0 + + regjsparser@0.9.1: + dependencies: + jsesc: 0.5.0 + + repeat-element@1.1.4: {} + + repeat-string@1.6.1: {} + + require-directory@2.1.1: {} + + require-from-string@2.0.2: {} + + require-main-filename@2.0.0: {} + + require-relative@0.8.7: {} + + resolve-from@4.0.0: {} + + resolve-from@5.0.0: {} + + resolve-url@0.2.1: {} + + resolve@1.22.8: + dependencies: + is-core-module: 2.15.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + restore-cursor@5.1.0: + dependencies: + onetime: 7.0.0 + signal-exit: 4.1.0 + + ret@0.1.15: {} + + reusify@1.0.4: {} + + rfdc@1.4.1: {} + + rimraf@3.0.2: + dependencies: + glob: 7.2.3 + + rimraf@5.0.10: + dependencies: + glob: 10.4.5 + + rollup-plugin-purge-icons@0.10.0: + dependencies: + '@purge-icons/core': 0.10.0 + '@purge-icons/generated': 0.10.0 + transitivePeerDependencies: + - encoding + - supports-color + + rollup@2.79.1: + optionalDependencies: + fsevents: 2.3.3 + + rollup@4.21.0: + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.21.0 + '@rollup/rollup-android-arm64': 4.21.0 + '@rollup/rollup-darwin-arm64': 4.21.0 + '@rollup/rollup-darwin-x64': 4.21.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.21.0 + '@rollup/rollup-linux-arm-musleabihf': 4.21.0 + '@rollup/rollup-linux-arm64-gnu': 4.21.0 + '@rollup/rollup-linux-arm64-musl': 4.21.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.21.0 + '@rollup/rollup-linux-riscv64-gnu': 4.21.0 + '@rollup/rollup-linux-s390x-gnu': 4.21.0 + '@rollup/rollup-linux-x64-gnu': 4.21.0 + '@rollup/rollup-linux-x64-musl': 4.21.0 + '@rollup/rollup-win32-arm64-msvc': 4.21.0 + '@rollup/rollup-win32-ia32-msvc': 4.21.0 + '@rollup/rollup-win32-x64-msvc': 4.21.0 + fsevents: 2.3.3 + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + rust-result@1.0.0: + dependencies: + individual: 2.0.0 + + safe-array-concat@1.1.2: + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + has-symbols: 1.0.3 + isarray: 2.0.5 + + safe-buffer@5.2.1: {} + + safe-json-parse@4.0.0: + dependencies: + rust-result: 1.0.0 + + safe-regex-test@1.0.3: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-regex: 1.1.4 + + safe-regex@1.1.0: + dependencies: + ret: 0.1.15 + + sass@1.77.8: + dependencies: + chokidar: 3.6.0 + immutable: 4.3.7 + source-map-js: 1.2.0 + + sax@1.4.1: {} + + saxen@8.1.2: {} + + scroll-into-view-if-needed@2.2.31: + dependencies: + compute-scroll-into-view: 1.0.20 + + scroll-tabs@1.0.1: + dependencies: + min-dash: 3.8.1 + min-dom: 3.2.1 + mitt: 1.2.0 + + scule@1.3.0: {} + + selection-update@0.1.2: {} + + semver@6.3.1: {} + + semver@7.6.3: {} + + set-blocking@2.0.0: {} + + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + + set-function-name@2.0.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 + + set-value@2.0.1: + dependencies: + extend-shallow: 2.0.1 + is-extendable: 0.1.1 + is-plain-object: 2.0.4 + split-string: 3.1.0 + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + side-channel@1.0.6: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + object-inspect: 1.13.2 + + signal-exit@4.1.0: {} + + sirv@2.0.4: + dependencies: + '@polka/url': 1.0.0-next.25 + mrmime: 2.0.0 + totalist: 3.0.1 + + slash@3.0.0: {} + + slate-history@0.66.0(slate@0.72.8): + dependencies: + is-plain-object: 5.0.0 + slate: 0.72.8 + + slate@0.72.8: + dependencies: + immer: 9.0.21 + is-plain-object: 5.0.0 + tiny-warning: 1.0.3 + + slice-ansi@4.0.0: + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + + slice-ansi@5.0.0: + dependencies: + ansi-styles: 6.2.1 + is-fullwidth-code-point: 4.0.0 + + slice-ansi@7.1.0: + dependencies: + ansi-styles: 6.2.1 + is-fullwidth-code-point: 5.0.0 + + snabbdom@3.6.2: {} + + snapdragon-node@2.1.1: + dependencies: + define-property: 1.0.0 + isobject: 3.0.1 + snapdragon-util: 3.0.1 + + snapdragon-util@3.0.1: + dependencies: + kind-of: 3.2.2 + + snapdragon@0.8.2: + dependencies: + base: 0.11.2 + debug: 2.6.9 + define-property: 0.2.5 + extend-shallow: 2.0.1 + map-cache: 0.2.2 + source-map: 0.5.7 + source-map-resolve: 0.5.3 + use: 3.1.1 + transitivePeerDependencies: + - supports-color + + sortablejs@1.14.0: {} + + source-map-js@1.2.0: {} + + source-map-resolve@0.5.3: + dependencies: + atob: 2.1.2 + decode-uri-component: 0.2.2 + resolve-url: 0.2.1 + source-map-url: 0.4.1 + urix: 0.1.0 + + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map-url@0.4.1: {} + + source-map@0.5.7: {} + + source-map@0.6.1: {} + + split-string@3.1.0: + dependencies: + extend-shallow: 3.0.2 + + split2@4.2.0: {} + + ssr-window@3.0.0: {} + + stable@0.1.8: {} + + static-extend@0.1.2: + dependencies: + define-property: 0.2.5 + object-copy: 0.1.0 + + steady-xml@0.1.0: {} + + strict-uri-encode@1.1.0: {} + + string-argv@0.3.2: {} + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + + string-width@7.2.0: + dependencies: + emoji-regex: 10.3.0 + get-east-asian-width: 1.2.0 + strip-ansi: 7.1.0 + + string.prototype.trim@1.2.9: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-object-atoms: 1.0.0 + + string.prototype.trimend@1.0.8: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + + string.prototype.trimstart@1.0.8: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + + strip-ansi@3.0.1: + dependencies: + ansi-regex: 2.1.1 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.0: + dependencies: + ansi-regex: 6.0.1 + + strip-final-newline@3.0.0: {} + + strip-json-comments@3.1.1: {} + + strip-literal@2.1.0: + dependencies: + js-tokens: 9.0.0 + + strnum@1.0.5: {} + + stylelint-config-html@1.1.0(postcss-html@1.7.0)(stylelint@16.8.2(typescript@5.3.3)): + dependencies: + postcss-html: 1.7.0 + stylelint: 16.8.2(typescript@5.3.3) + + stylelint-config-recommended@14.0.1(stylelint@16.8.2(typescript@5.3.3)): + dependencies: + stylelint: 16.8.2(typescript@5.3.3) + + stylelint-config-standard@36.0.1(stylelint@16.8.2(typescript@5.3.3)): + dependencies: + stylelint: 16.8.2(typescript@5.3.3) + stylelint-config-recommended: 14.0.1(stylelint@16.8.2(typescript@5.3.3)) + + stylelint-order@6.0.4(stylelint@16.8.2(typescript@5.3.3)): + dependencies: + postcss: 8.4.41 + postcss-sorting: 8.0.2(postcss@8.4.41) + stylelint: 16.8.2(typescript@5.3.3) + + stylelint@16.8.2(typescript@5.3.3): + dependencies: + '@csstools/css-parser-algorithms': 3.0.1(@csstools/css-tokenizer@3.0.1) + '@csstools/css-tokenizer': 3.0.1 + '@csstools/media-query-list-parser': 3.0.1(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1) + '@csstools/selector-specificity': 4.0.0(postcss-selector-parser@6.1.2) + '@dual-bundle/import-meta-resolve': 4.1.0 + balanced-match: 2.0.0 + colord: 2.9.3 + cosmiconfig: 9.0.0(typescript@5.3.3) + css-functions-list: 3.2.2 + css-tree: 2.3.1 + debug: 4.3.6 + fast-glob: 3.3.2 + fastest-levenshtein: 1.0.16 + file-entry-cache: 9.0.0 + global-modules: 2.0.0 + globby: 11.1.0 + globjoin: 0.1.4 + html-tags: 3.3.1 + ignore: 5.3.2 + imurmurhash: 0.1.4 + is-plain-object: 5.0.0 + known-css-properties: 0.34.0 + mathml-tag-names: 2.1.3 + meow: 13.2.0 + micromatch: 4.0.8 + normalize-path: 3.0.0 + picocolors: 1.0.1 + postcss: 8.4.41 + postcss-resolve-nested-selector: 0.1.6 + postcss-safe-parser: 7.0.0(postcss@8.4.41) + postcss-selector-parser: 6.1.2 + postcss-value-parser: 4.2.0 + resolve-from: 5.0.0 + string-width: 4.2.3 + strip-ansi: 7.1.0 + supports-hyperlinks: 3.1.0 + svg-tags: 1.0.0 + table: 6.8.2 + write-file-atomic: 5.0.1 + transitivePeerDependencies: + - supports-color + - typescript + + supports-color@2.0.0: {} + + supports-color@3.2.3: + dependencies: + has-flag: 1.0.0 + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-hyperlinks@3.1.0: + dependencies: + has-flag: 4.0.0 + supports-color: 7.2.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + svg-baker@1.7.0: + dependencies: + bluebird: 3.7.2 + clone: 2.1.2 + he: 1.2.0 + image-size: 0.5.5 + loader-utils: 1.4.2 + merge-options: 1.0.1 + micromatch: 3.1.0 + postcss: 5.2.18 + postcss-prefix-selector: 1.16.1(postcss@5.2.18) + posthtml-rename-id: 1.0.12 + posthtml-svg-mode: 1.0.3 + query-string: 4.3.4 + traverse: 0.6.9 + transitivePeerDependencies: + - supports-color + + svg-tags@1.0.0: {} + + svg.js@2.7.1: {} + + svgo@2.8.0: + dependencies: + '@trysound/sax': 0.2.0 + commander: 7.2.0 + css-select: 4.3.0 + css-tree: 1.1.3 + csso: 4.2.0 + picocolors: 1.0.1 + stable: 0.1.8 + + synckit@0.8.8: + dependencies: + '@pkgr/core': 0.1.1 + tslib: 2.7.0 + + synckit@0.9.1: + dependencies: + '@pkgr/core': 0.1.1 + tslib: 2.7.0 + + systemjs@6.15.1: {} + + table@6.8.2: + dependencies: + ajv: 8.17.1 + lodash.truncate: 4.4.2 + slice-ansi: 4.0.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + terser@5.31.6: + dependencies: + '@jridgewell/source-map': 0.3.6 + acorn: 8.12.1 + commander: 2.20.3 + source-map-support: 0.5.21 + + text-extensions@2.4.0: {} + + text-table@0.2.0: {} + + through@2.3.8: {} + + tiny-svg@2.2.4: {} + + tiny-svg@3.1.2: {} + + tiny-warning@1.0.3: {} + + tinyexec@0.2.0: {} + + to-fast-properties@2.0.0: {} + + to-object-path@0.3.0: + dependencies: + kind-of: 3.2.2 + + to-regex-range@2.1.1: + dependencies: + is-number: 3.0.0 + repeat-string: 1.6.1 + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + to-regex@3.0.2: + dependencies: + define-property: 2.0.2 + extend-shallow: 3.0.2 + regex-not: 1.0.2 + safe-regex: 1.1.0 + + totalist@3.0.1: {} + + tr46@0.0.3: {} + + traverse@0.6.9: + dependencies: + gopd: 1.0.1 + typedarray.prototype.slice: 1.0.3 + which-typed-array: 1.1.15 + + ts-api-utils@1.3.0(typescript@5.3.3): + dependencies: + typescript: 5.3.3 + + tslib@2.3.0: {} + + tslib@2.7.0: {} + + type-check@0.4.0: + dependencies: + prelude-ls: 1.2.1 + + type-fest@0.20.2: {} + + type@2.7.3: {} + + typed-array-buffer@1.0.2: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-typed-array: 1.1.13 + + typed-array-byte-length@1.0.1: + dependencies: + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + + typed-array-byte-offset@1.0.2: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + + typed-array-length@1.0.6: + dependencies: + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + possible-typed-array-names: 1.0.0 + + typedarray.prototype.slice@1.0.3: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + typed-array-buffer: 1.0.2 + typed-array-byte-offset: 1.0.2 + + typescript@5.3.3: {} + + ufo@1.5.4: {} + + unbox-primitive@1.0.2: + dependencies: + call-bind: 1.0.7 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 + + unconfig@0.3.13: + dependencies: + '@antfu/utils': 0.7.10 + defu: 6.1.4 + jiti: 1.21.6 + + undici-types@6.19.8: {} + + unicode-canonical-property-names-ecmascript@2.0.0: {} + + unicode-match-property-ecmascript@2.0.0: + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.0 + unicode-property-aliases-ecmascript: 2.1.0 + + unicode-match-property-value-ecmascript@2.1.0: {} + + unicode-property-aliases-ecmascript@2.1.0: {} + + unicorn-magic@0.1.0: {} + + unimport@3.11.1(rollup@4.21.0): + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.21.0) + acorn: 8.12.1 + escape-string-regexp: 5.0.0 + estree-walker: 3.0.3 + fast-glob: 3.3.2 + local-pkg: 0.5.0 + magic-string: 0.30.11 + mlly: 1.7.1 + pathe: 1.1.2 + pkg-types: 1.2.0 + scule: 1.3.0 + strip-literal: 2.1.0 + unplugin: 1.12.2 + transitivePeerDependencies: + - rollup + + union-value@1.0.1: + dependencies: + arr-union: 3.1.0 + get-value: 2.0.6 + is-extendable: 0.1.1 + set-value: 2.0.1 + + universalify@2.0.1: {} + + unocss@0.58.9(postcss@8.4.41)(rollup@4.21.0)(vite@5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6)): + dependencies: + '@unocss/astro': 0.58.9(rollup@4.21.0)(vite@5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6)) + '@unocss/cli': 0.58.9(rollup@4.21.0) + '@unocss/core': 0.58.9 + '@unocss/extractor-arbitrary-variants': 0.58.9 + '@unocss/postcss': 0.58.9(postcss@8.4.41) + '@unocss/preset-attributify': 0.58.9 + '@unocss/preset-icons': 0.58.9 + '@unocss/preset-mini': 0.58.9 + '@unocss/preset-tagify': 0.58.9 + '@unocss/preset-typography': 0.58.9 + '@unocss/preset-uno': 0.58.9 + '@unocss/preset-web-fonts': 0.58.9 + '@unocss/preset-wind': 0.58.9 + '@unocss/reset': 0.58.9 + '@unocss/transformer-attributify-jsx': 0.58.9 + '@unocss/transformer-attributify-jsx-babel': 0.58.9 + '@unocss/transformer-compile-class': 0.58.9 + '@unocss/transformer-directives': 0.58.9 + '@unocss/transformer-variant-group': 0.58.9 + '@unocss/vite': 0.58.9(rollup@4.21.0)(vite@5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6)) + optionalDependencies: + vite: 5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6) + transitivePeerDependencies: + - postcss + - rollup + - supports-color + + unplugin-auto-import@0.16.7(@vueuse/core@10.11.1(vue@3.4.21(typescript@5.3.3)))(rollup@4.21.0): + dependencies: + '@antfu/utils': 0.7.10 + '@rollup/pluginutils': 5.1.0(rollup@4.21.0) + fast-glob: 3.3.2 + local-pkg: 0.5.0 + magic-string: 0.30.11 + minimatch: 9.0.5 + unimport: 3.11.1(rollup@4.21.0) + unplugin: 1.12.2 + optionalDependencies: + '@vueuse/core': 10.11.1(vue@3.4.21(typescript@5.3.3)) + transitivePeerDependencies: + - rollup + + unplugin-element-plus@0.8.0(rollup@4.21.0): + dependencies: + '@rollup/pluginutils': 5.1.0(rollup@4.21.0) + es-module-lexer: 1.5.4 + magic-string: 0.30.11 + unplugin: 1.12.2 + transitivePeerDependencies: + - rollup + + unplugin-vue-components@0.25.2(@babel/parser@7.25.4)(rollup@4.21.0)(vue@3.4.21(typescript@5.3.3)): + dependencies: + '@antfu/utils': 0.7.10 + '@rollup/pluginutils': 5.1.0(rollup@4.21.0) + chokidar: 3.6.0 + debug: 4.3.6 + fast-glob: 3.3.2 + local-pkg: 0.4.3 + magic-string: 0.30.11 + minimatch: 9.0.5 + resolve: 1.22.8 + unplugin: 1.12.2 + vue: 3.4.21(typescript@5.3.3) + optionalDependencies: + '@babel/parser': 7.25.4 + transitivePeerDependencies: + - rollup + - supports-color + + unplugin@1.12.2: + dependencies: + acorn: 8.12.1 + chokidar: 3.6.0 + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.6.2 + + unset-value@1.0.0: + dependencies: + has-value: 0.3.1 + isobject: 3.0.1 + + update-browserslist-db@1.1.0(browserslist@4.23.3): + dependencies: + browserslist: 4.23.3 + escalade: 3.1.2 + picocolors: 1.0.1 + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + urix@0.1.0: {} + + url-toolkit@2.2.5: {} + + url@0.11.4: + dependencies: + punycode: 1.4.1 + qs: 6.13.0 + + use@3.1.1: {} + + util-deprecate@1.0.2: {} + + utility-types@3.11.0: {} + + uuid@10.0.0: {} + + vary@1.1.2: {} + + video.js@7.21.6: + dependencies: + '@babel/runtime': 7.25.4 + '@videojs/http-streaming': 2.16.3(video.js@7.21.6) + '@videojs/vhs-utils': 3.0.5 + '@videojs/xhr': 2.6.0 + aes-decrypter: 3.1.3 + global: 4.4.0 + keycode: 2.2.1 + m3u8-parser: 4.8.0 + mpd-parser: 0.22.1 + mux.js: 6.0.1 + safe-json-parse: 4.0.0 + videojs-font: 3.2.0 + videojs-vtt.js: 0.15.5 + + videojs-font@3.2.0: {} + + videojs-vtt.js@0.15.5: + dependencies: + global: 4.4.0 + + vite-plugin-compression@0.5.1(vite@5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6)): + dependencies: + chalk: 4.1.2 + debug: 4.3.6 + fs-extra: 10.1.0 + vite: 5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6) + transitivePeerDependencies: + - supports-color + + vite-plugin-ejs@1.7.0(vite@5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6)): + dependencies: + ejs: 3.1.10 + vite: 5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6) + + vite-plugin-eslint@1.8.1(eslint@8.57.0)(vite@5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6)): + dependencies: + '@rollup/pluginutils': 4.2.1 + '@types/eslint': 8.56.11 + eslint: 8.57.0 + rollup: 2.79.1 + vite: 5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6) + + vite-plugin-progress@0.0.7(vite@5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6)): + dependencies: + picocolors: 1.0.1 + progress: 2.0.3 + rd: 2.0.1 + vite: 5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6) + + vite-plugin-purge-icons@0.10.0(vite@5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6)): + dependencies: + '@purge-icons/core': 0.10.0 + '@purge-icons/generated': 0.10.0 + rollup-plugin-purge-icons: 0.10.0 + vite: 5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6) + transitivePeerDependencies: + - encoding + - supports-color + + vite-plugin-svg-icons@2.0.1(vite@5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6)): + dependencies: + '@types/svgo': 2.6.4 + cors: 2.8.5 + debug: 4.3.6 + etag: 1.8.1 + fs-extra: 10.1.0 + pathe: 0.2.0 + svg-baker: 1.7.0 + svgo: 2.8.0 + vite: 5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6) + transitivePeerDependencies: + - supports-color + + vite-plugin-top-level-await@1.4.4(rollup@4.21.0)(vite@5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6)): + dependencies: + '@rollup/plugin-virtual': 3.0.2(rollup@4.21.0) + '@swc/core': 1.7.18 + uuid: 10.0.0 + vite: 5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6) + transitivePeerDependencies: + - '@swc/helpers' + - rollup + + vite@5.1.4(@types/node@20.16.1)(sass@1.77.8)(terser@5.31.6): + dependencies: + esbuild: 0.19.12 + postcss: 8.4.41 + rollup: 4.21.0 + optionalDependencies: + '@types/node': 20.16.1 + fsevents: 2.3.3 + sass: 1.77.8 + terser: 5.31.6 + + vue-demi@0.14.10(vue@3.4.21(typescript@5.3.3)): + dependencies: + vue: 3.4.21(typescript@5.3.3) + + vue-dompurify-html@4.1.4(vue@3.4.21(typescript@5.3.3)): + dependencies: + dompurify: 3.1.6 + vue: 3.4.21(typescript@5.3.3) + vue-demi: 0.14.10(vue@3.4.21(typescript@5.3.3)) + transitivePeerDependencies: + - '@vue/composition-api' + + vue-eslint-parser@9.4.3(eslint@8.57.0): + dependencies: + debug: 4.3.6 + eslint: 8.57.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.6.0 + lodash: 4.17.21 + semver: 7.6.3 + transitivePeerDependencies: + - supports-color + + vue-i18n@9.10.2(vue@3.4.21(typescript@5.3.3)): + dependencies: + '@intlify/core-base': 9.10.2 + '@intlify/shared': 9.10.2 + '@vue/devtools-api': 6.6.3 + vue: 3.4.21(typescript@5.3.3) + + vue-router@4.4.3(vue@3.4.21(typescript@5.3.3)): + dependencies: + '@vue/devtools-api': 6.6.3 + vue: 3.4.21(typescript@5.3.3) + + vue-template-compiler@2.7.16: + dependencies: + de-indent: 1.0.2 + he: 1.2.0 + + vue-tsc@1.8.27(typescript@5.3.3): + dependencies: + '@volar/typescript': 1.11.1 + '@vue/language-core': 1.8.27(typescript@5.3.3) + semver: 7.6.3 + typescript: 5.3.3 + + vue-types@5.1.3(vue@3.4.21(typescript@5.3.3)): + dependencies: + is-plain-object: 5.0.0 + optionalDependencies: + vue: 3.4.21(typescript@5.3.3) + + vue@3.4.21(typescript@5.3.3): + dependencies: + '@vue/compiler-dom': 3.4.21 + '@vue/compiler-sfc': 3.4.21 + '@vue/runtime-dom': 3.4.21 + '@vue/server-renderer': 3.4.21(vue@3.4.21(typescript@5.3.3)) + '@vue/shared': 3.4.21 + optionalDependencies: + typescript: 5.3.3 + + vuedraggable@4.1.0(vue@3.4.21(typescript@5.3.3)): + dependencies: + sortablejs: 1.14.0 + vue: 3.4.21(typescript@5.3.3) + + wangeditor@4.7.15: + dependencies: + '@babel/runtime': 7.25.4 + '@babel/runtime-corejs3': 7.25.0 + tslib: 2.7.0 + + web-storage-cache@1.1.1: {} + + webidl-conversions@3.0.1: {} + + webpack-sources@3.2.3: {} + + webpack-virtual-modules@0.6.2: {} + + whatwg-url@5.0.0: + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + + which-boxed-primitive@1.0.2: + dependencies: + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.7 + is-string: 1.0.7 + is-symbol: 1.0.4 + + which-module@2.0.1: {} + + which-typed-array@1.1.15: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.2 + + which@1.3.1: + dependencies: + isexe: 2.0.0 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + wildcard@1.1.2: {} + + word-wrap@1.2.5: {} + + wrap-ansi@6.2.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + + wrap-ansi@9.0.0: + dependencies: + ansi-styles: 6.2.1 + string-width: 7.2.0 + strip-ansi: 7.1.0 + + wrappy@1.0.2: {} + + write-file-atomic@5.0.1: + dependencies: + imurmurhash: 0.1.4 + signal-exit: 4.1.0 + + xml-js@1.6.11: + dependencies: + sax: 1.4.1 + + xml-name-validator@4.0.0: {} + + y18n@4.0.3: {} + + y18n@5.0.8: {} + + yallist@3.1.1: {} + + yaml-eslint-parser@1.2.3: + dependencies: + eslint-visitor-keys: 3.4.3 + lodash: 4.17.21 + yaml: 2.5.0 + + yaml@2.5.0: {} + + yargs-parser@18.1.3: + dependencies: + camelcase: 5.3.1 + decamelize: 1.2.0 + + yargs-parser@21.1.1: {} + + yargs@15.4.1: + dependencies: + cliui: 6.0.0 + decamelize: 1.2.0 + find-up: 4.1.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + require-main-filename: 2.0.0 + set-blocking: 2.0.0 + string-width: 4.2.3 + which-module: 2.0.1 + y18n: 4.0.3 + yargs-parser: 18.1.3 + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.1.2 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + + yocto-queue@0.1.0: {} + + yocto-queue@1.1.1: {} + + zrender@5.6.0: + dependencies: + tslib: 2.3.0 diff --git a/hangtag-ui/hangtag-ui-admin/src/api/oms/brand/index.ts b/hangtag-ui/hangtag-ui-admin/src/api/oms/brand/index.ts index d3eeccb..cd731b8 100644 --- a/hangtag-ui/hangtag-ui-admin/src/api/oms/brand/index.ts +++ b/hangtag-ui/hangtag-ui-admin/src/api/oms/brand/index.ts @@ -1,47 +1,56 @@ -import request from '@/config/axios' - -// 品牌管理 VO -export interface BrandVO { - id: number // id - code: string // 系统编码 - name: string // 名称 - logo: string // logo - brandField: string // 品牌领域 字典brand_industry_field - website: string // 官网 - intro: string // 品牌介绍 富文本内容 - locale: string // 语言标识 字典-language_locale - remark: string // 备注 -} - -// 品牌管理 API -export const BrandApi = { - // 查询品牌管理 分页 - getBrandPage: async (params: any) => { - return await request.get({ url: `/oms/brand/page`, params }) - }, - - // 查询品牌管理 详情 - getBrand: async (id: number) => { - return await request.get({ url: `/oms/brand/get?id=` + id }) - }, - - // 新增品牌管理 - createBrand: async (data: BrandVO) => { - return await request.post({ url: `/oms/brand/create`, data }) - }, - - // 修改品牌管理 - updateBrand: async (data: BrandVO) => { - return await request.put({ url: `/oms/brand/update`, data }) - }, - - // 删除品牌管理 - deleteBrand: async (id: number) => { - return await request.delete({ url: `/oms/brand/delete?id=` + id }) - }, - - // 导出品牌管理 Excel - exportBrand: async (params) => { - return await request.download({ url: `/oms/brand/export-excel`, params }) - }, -} \ No newline at end of file +import request from '@/config/axios' +import {getSimpleMenusList} from "@/api/system/menu"; + +// 品牌管理 VO +export interface BrandVO { + id: number // id + code: string // 系统编码 + name: string // 名称 + logo: string // logo + brandField: string // 品牌领域 字典brand_industry_field + website: string // 官网 + intro: string // 品牌介绍 富文本内容 + locale: string // 语言标识 字典-language_locale + remark: string // 备注 +} + + + + +// 品牌管理 API +export const BrandApi = { + // 查询品牌管理 分页 + getBrandPage: async (params: any) => { + return await request.get({ url: `/oms/brand/page`, params }) + }, + + // 查询品牌管理 详情 + getBrand: async (id: number) => { + return await request.get({ url: `/oms/brand/get?id=` + id }) + }, + + // 新增品牌管理 + createBrand: async (data: BrandVO) => { + return await request.post({ url: `/oms/brand/create`, data }) + }, + + // 修改品牌管理 + updateBrand: async (data: BrandVO) => { + return await request.put({ url: `/oms/brand/update`, data }) + }, + + // 删除品牌管理 + deleteBrand: async (id: number) => { + return await request.delete({ url: `/oms/brand/delete?id=` + id }) + }, + + // 导出品牌管理 Excel + exportBrand: async (params) => { + return await request.download({ url: `/oms/brand/export-excel`, params }) + }, +} + +// 查询品牌(精简)列表 +export const getSimpleBrandList = async () => { + return await request.get({ url: `/oms/brand/simple-list`}) +} diff --git a/hangtag-ui/hangtag-ui-admin/src/api/oms/customer/index.ts b/hangtag-ui/hangtag-ui-admin/src/api/oms/customer/index.ts index 7bcb205..6dbac2b 100644 --- a/hangtag-ui/hangtag-ui-admin/src/api/oms/customer/index.ts +++ b/hangtag-ui/hangtag-ui-admin/src/api/oms/customer/index.ts @@ -3,6 +3,7 @@ import request from '@/config/axios' // 客户 VO export interface CustomerVO { name: string // 名称 + company: string // 公司 email: string // 邮箱 contacts: string // 联系人 phone: string // 联系人手机号 diff --git a/hangtag-ui/hangtag-ui-admin/src/api/oms/customerbrand/index.ts b/hangtag-ui/hangtag-ui-admin/src/api/oms/customerbrand/index.ts new file mode 100644 index 0000000..392f88e --- /dev/null +++ b/hangtag-ui/hangtag-ui-admin/src/api/oms/customerbrand/index.ts @@ -0,0 +1,59 @@ +import request from '@/config/axios' + +// 客户和品牌关联 VO +export interface CustomerBrandVO { + customerId: number // 客户ID + brandId: number // 品牌ID +} + +export interface PermissionAssignCustomerBrandReqVO { + customerId: number + brandIds: number[] +} + + +// 客户和品牌关联 API +export const CustomerBrandApi = { + // 查询客户和品牌关联分页 + getCustomerBrandPage: async (params: any) => { + return await request.get({ url: `/oms/customer-brand/page`, params }) + }, + + // 查询客户和品牌关联详情 + getCustomerBrand: async (id: number) => { + return await request.get({ url: `/oms/customer-brand/get?id=` + id }) + }, + + // 新增客户和品牌关联 + createCustomerBrand: async (data: CustomerBrandVO) => { + return await request.post({ url: `/oms/customer-brand/create`, data }) + }, + + // 修改客户和品牌关联 + updateCustomerBrand: async (data: CustomerBrandVO) => { + return await request.put({ url: `/oms/customer-brand/update`, data }) + }, + + // 删除客户和品牌关联 + deleteCustomerBrand: async (id: number) => { + return await request.delete({ url: `/oms/customer-brand/delete?id=` + id }) + }, + + // 导出客户和品牌关联 Excel + exportCustomerBrand: async (params) => { + return await request.download({ url: `/oms/customer-brand/export-excel`, params }) + }, +} + + + +// 查询客户拥有的品牌权限 +export const getCustomerBrandList = async (customerId: number) => { + return await request.get({ url: '/oms/brand/list-customer-brand?customerId=' + customerId }) +} + + // 赋予角色菜单权限 +export const assignCustomerBrand = async (data: PermissionAssignCustomerBrandReqVO) => { + return await request.post({ url: '/oms/customer-brand/assign-customer-brand', data }) +} + diff --git a/hangtag-ui/hangtag-ui-admin/src/api/oms/saleorder/index.ts b/hangtag-ui/hangtag-ui-admin/src/api/oms/saleorder/index.ts index 241f895..3b828e6 100644 --- a/hangtag-ui/hangtag-ui-admin/src/api/oms/saleorder/index.ts +++ b/hangtag-ui/hangtag-ui-admin/src/api/oms/saleorder/index.ts @@ -1,19 +1,13 @@ import request from '@/config/axios' -// OMS销售订单主表 VO +// 销售订单 VO export interface SaleOrderVO { - id: number // ID - billno: string // 单据编号 customerId: number // 客户id bizdate: Date // 业务日期 remark: string // 备注 - udate: Date // 更新时间 - cdate: Date // 创建时间 confirmdate: Date // 确认日期 plansenddate: Date // 计划日期 - orderType: string // 订单类型 phone: string // 手机 - fax: string // 传真 remarks: string // 备注 emails: string // 邮件列表,数据格式:xxx@xx.com;xxx@xx.com; invoiceCode: string // 发票抬头 @@ -23,61 +17,42 @@ export interface SaleOrderVO { invoiceRemarks: string // 发票备注 } -// OMS销售订单主表 API +// 销售订单 API export const SaleOrderApi = { - // 查询OMS销售订单主表分页 + // 查询销售订单分页 getSaleOrderPage: async (params: any) => { return await request.get({ url: `/oms/sale-order/page`, params }) }, - // 查询OMS销售订单主表详情 + // 查询销售订单详情 getSaleOrder: async (id: number) => { return await request.get({ url: `/oms/sale-order/get?id=` + id }) }, - // 新增OMS销售订单主表 + // 新增销售订单 createSaleOrder: async (data: SaleOrderVO) => { return await request.post({ url: `/oms/sale-order/create`, data }) }, - // 修改OMS销售订单主表 + // 修改销售订单 updateSaleOrder: async (data: SaleOrderVO) => { return await request.put({ url: `/oms/sale-order/update`, data }) }, - // 删除OMS销售订单主表 + // 删除销售订单 deleteSaleOrder: async (id: number) => { return await request.delete({ url: `/oms/sale-order/delete?id=` + id }) }, - // 导出OMS销售订单主表 Excel + // 导出销售订单 Excel exportSaleOrder: async (params) => { return await request.download({ url: `/oms/sale-order/export-excel`, params }) }, -// ==================== 子表(OMS销售订单明细) ==================== +// ==================== 子表(销售订单明细) ==================== - // 获得OMS销售订单明细分页 - getSaleOrderEntryPage: async (params) => { - return await request.get({ url: `/oms/sale-order/sale-order-entry/page`, params }) - }, - // 新增OMS销售订单明细 - createSaleOrderEntry: async (data) => { - return await request.post({ url: `/oms/sale-order/sale-order-entry/create`, data }) - }, - - // 修改OMS销售订单明细 - updateSaleOrderEntry: async (data) => { - return await request.put({ url: `/oms/sale-order/sale-order-entry/update`, data }) - }, - - // 删除OMS销售订单明细 - deleteSaleOrderEntry: async (id: number) => { - return await request.delete({ url: `/oms/sale-order/sale-order-entry/delete?id=` + id }) - }, - - // 获得OMS销售订单明细 - getSaleOrderEntry: async (id: number) => { - return await request.get({ url: `/oms/sale-order/sale-order-entry/get?id=` + id }) + // 获得销售订单明细列表 + getSaleOrderEntryListByParentId: async (parentId) => { + return await request.get({ url: `/oms/sale-order/sale-order-entry/list-by-parent-id?parentId=` + parentId }) }, } \ No newline at end of file diff --git a/hangtag-ui/hangtag-ui-admin/src/router/modules/remaining.ts b/hangtag-ui/hangtag-ui-admin/src/router/modules/remaining.ts index bc62a3c..5f497b9 100644 --- a/hangtag-ui/hangtag-ui-admin/src/router/modules/remaining.ts +++ b/hangtag-ui/hangtag-ui-admin/src/router/modules/remaining.ts @@ -234,346 +234,6 @@ const remainingRouter: AppRouteRecordRaw[] = [ noTagsView: true } }, - { - path: '/bpm', - component: Layout, - name: 'bpm', - meta: { - hidden: true - }, - children: [ - { - path: 'manager/form/edit', - component: () => import('@/views/bpm/form/editor/index.vue'), - name: 'BpmFormEditor', - meta: { - noCache: true, - hidden: true, - canTo: true, - title: '设计流程表单', - activeMenu: '/bpm/manager/form' - } - }, - { - path: 'manager/model/edit', - component: () => import('@/views/bpm/model/editor/index.vue'), - name: 'BpmModelEditor', - meta: { - noCache: true, - hidden: true, - canTo: true, - title: '设计流程', - activeMenu: '/bpm/manager/model' - } - }, - { - path: 'manager/simple/workflow/model/edit', - component: () => import('@/views/bpm/simpleWorkflow/index.vue'), - name: 'SimpleWorkflowDesignEditor', - meta: { - noCache: true, - hidden: true, - canTo: true, - title: '仿钉钉设计流程', - activeMenu: '/bpm/manager/model' - } - }, - { - path: 'manager/definition', - component: () => import('@/views/bpm/definition/index.vue'), - name: 'BpmProcessDefinition', - meta: { - noCache: true, - hidden: true, - canTo: true, - title: '流程定义', - activeMenu: '/bpm/manager/model' - } - }, - { - path: 'process-instance/detail', - component: () => import('@/views/bpm/processInstance/detail/index.vue'), - name: 'BpmProcessInstanceDetail', - meta: { - noCache: true, - hidden: true, - canTo: true, - title: '流程详情', - activeMenu: '/bpm/task/my' - } - }, - { - path: 'oa/leave/create', - component: () => import('@/views/bpm/oa/leave/create.vue'), - name: 'OALeaveCreate', - meta: { - noCache: true, - hidden: true, - canTo: true, - title: '发起 OA 请假', - activeMenu: '/bpm/oa/leave' - } - }, - { - path: 'oa/leave/detail', - component: () => import('@/views/bpm/oa/leave/detail.vue'), - name: 'OALeaveDetail', - meta: { - noCache: true, - hidden: true, - canTo: true, - title: '查看 OA 请假', - activeMenu: '/bpm/oa/leave' - } - } - ] - }, - { - path: '/mall/product', // 商品中心 - component: Layout, - name: 'ProductCenter', - meta: { - hidden: true - }, - children: [ - { - path: 'spu/add', - component: () => import('@/views/mall/product/spu/form/index.vue'), - name: 'ProductSpuAdd', - meta: { - noCache: true, - hidden: true, - canTo: true, - icon: 'ep:edit', - title: '商品添加', - activeMenu: '/mall/product/spu' - } - }, - { - path: 'spu/edit/:id(\\d+)', - component: () => import('@/views/mall/product/spu/form/index.vue'), - name: 'ProductSpuEdit', - meta: { - noCache: true, - hidden: true, - canTo: true, - icon: 'ep:edit', - title: '商品编辑', - activeMenu: '/mall/product/spu' - } - }, - { - path: 'spu/detail/:id(\\d+)', - component: () => import('@/views/mall/product/spu/form/index.vue'), - name: 'ProductSpuDetail', - meta: { - noCache: true, - hidden: true, - canTo: true, - icon: 'ep:view', - title: '商品详情', - activeMenu: '/mall/product/spu' - } - }, - { - path: 'property/value/:propertyId(\\d+)', - component: () => import('@/views/mall/product/property/value/index.vue'), - name: 'ProductPropertyValue', - meta: { - noCache: true, - hidden: true, - canTo: true, - icon: 'ep:view', - title: '商品属性值', - activeMenu: '/product/property' - } - } - ] - }, - { - path: '/mall/trade', // 交易中心 - component: Layout, - name: 'TradeCenter', - meta: { - hidden: true - }, - children: [ - { - path: 'order/detail/:id(\\d+)', - component: () => import('@/views/mall/trade/order/detail/index.vue'), - name: 'TradeOrderDetail', - meta: { title: '订单详情', icon: 'ep:view', activeMenu: '/mall/trade/order' } - }, - { - path: 'after-sale/detail/:id(\\d+)', - component: () => import('@/views/mall/trade/afterSale/detail/index.vue'), - name: 'TradeAfterSaleDetail', - meta: { title: '退款详情', icon: 'ep:view', activeMenu: '/mall/trade/after-sale' } - } - ] - }, - { - path: '/member', - component: Layout, - name: 'MemberCenter', - meta: { hidden: true }, - children: [ - { - path: 'user/detail/:id', - name: 'MemberUserDetail', - meta: { - title: '会员详情', - noCache: true, - hidden: true - }, - component: () => import('@/views/member/user/detail/index.vue') - } - ] - }, - { - path: '/pay', - component: Layout, - name: 'pay', - meta: { hidden: true }, - children: [ - { - path: 'cashier', - name: 'PayCashier', - meta: { - title: '收银台', - noCache: true, - hidden: true - }, - component: () => import('@/views/pay/cashier/index.vue') - } - ] - }, - { - path: '/diy', - name: 'DiyCenter', - meta: { hidden: true }, - component: Layout, - children: [ - { - path: 'template/decorate/:id', - name: 'DiyTemplateDecorate', - meta: { - title: '模板装修', - noCache: true, - hidden: true, - activeMenu: '/mall/promotion/diy/template' - }, - component: () => import('@/views/mall/promotion/diy/template/decorate.vue') - }, - { - path: 'page/decorate/:id', - name: 'DiyPageDecorate', - meta: { - title: '页面装修', - noCache: true, - hidden: true, - activeMenu: '/mall/promotion/diy/page' - }, - component: () => import('@/views/mall/promotion/diy/page/decorate.vue') - } - ] - }, - { - path: '/crm', - component: Layout, - name: 'CrmCenter', - meta: { hidden: true }, - children: [ - { - path: 'clue/detail/:id', - name: 'CrmClueDetail', - meta: { - title: '线索详情', - noCache: true, - hidden: true, - activeMenu: '/crm/clue' - }, - component: () => import('@/views/crm/clue/detail/index.vue') - }, - { - path: 'customer/detail/:id', - name: 'CrmCustomerDetail', - meta: { - title: '客户详情', - noCache: true, - hidden: true, - activeMenu: '/crm/customer' - }, - component: () => import('@/views/crm/customer/detail/index.vue') - }, - { - path: 'business/detail/:id', - name: 'CrmBusinessDetail', - meta: { - title: '商机详情', - noCache: true, - hidden: true, - activeMenu: '/crm/business' - }, - component: () => import('@/views/crm/business/detail/index.vue') - }, - { - path: 'contract/detail/:id', - name: 'CrmContractDetail', - meta: { - title: '合同详情', - noCache: true, - hidden: true, - activeMenu: '/crm/contract' - }, - component: () => import('@/views/crm/contract/detail/index.vue') - }, - { - path: 'receivable-plan/detail/:id', - name: 'CrmReceivablePlanDetail', - meta: { - title: '回款计划详情', - noCache: true, - hidden: true, - activeMenu: '/crm/receivable-plan' - }, - component: () => import('@/views/crm/receivable/plan/detail/index.vue') - }, - { - path: 'receivable/detail/:id', - name: 'CrmReceivableDetail', - meta: { - title: '回款详情', - noCache: true, - hidden: true, - activeMenu: '/crm/receivable' - }, - component: () => import('@/views/crm/receivable/detail/index.vue') - }, - { - path: 'contact/detail/:id', - name: 'CrmContactDetail', - meta: { - title: '联系人详情', - noCache: true, - hidden: true, - activeMenu: '/crm/contact' - }, - component: () => import('@/views/crm/contact/detail/index.vue') - }, - { - path: 'product/detail/:id', - name: 'CrmProductDetail', - meta: { - title: '产品详情', - noCache: true, - hidden: true, - activeMenu: '/crm/product' - }, - component: () => import('@/views/crm/product/detail/index.vue') - } - ] - } -] + ] export default remainingRouter diff --git a/hangtag-ui/hangtag-ui-admin/src/store/modules/app.ts b/hangtag-ui/hangtag-ui-admin/src/store/modules/app.ts index b1f0da7..555c1f6 100644 --- a/hangtag-ui/hangtag-ui-admin/src/store/modules/app.ts +++ b/hangtag-ui/hangtag-ui-admin/src/store/modules/app.ts @@ -41,7 +41,7 @@ interface AppState { export const useAppStore = defineStore('app', { state: (): AppState => { return { - userInfo: 'userInfo', // 登录信息存储字段-建议每个项目换一个字段,避免与其他项目冲突 + userInfo: 'userAdminInfo', // 登录信息存储字段-建议每个项目换一个字段,避免与其他项目冲突 sizeMap: ['default', 'large', 'small'], mobile: false, // 是否是移动端 title: import.meta.env.VITE_APP_TITLE, // 标题 diff --git a/hangtag-ui/hangtag-ui-admin/src/views/Login/components/LoginForm.vue b/hangtag-ui/hangtag-ui-admin/src/views/Login/components/LoginForm.vue index 5137d17..ca73045 100644 --- a/hangtag-ui/hangtag-ui-admin/src/views/Login/components/LoginForm.vue +++ b/hangtag-ui/hangtag-ui-admin/src/views/Login/components/LoginForm.vue @@ -184,9 +184,9 @@ const loginData = reactive({ captchaEnable: import.meta.env.VITE_APP_CAPTCHA_ENABLE, tenantEnable: import.meta.env.VITE_APP_TENANT_ENABLE, loginForm: { - tenantName: '芋道源码', - username: 'admin', - password: 'admin123', + tenantName: '', + username: '', + password: '', captchaVerification: '', rememberMe: true // 默认记录我。如果不需要,可手动修改 } diff --git a/hangtag-ui/hangtag-ui-admin/src/views/oms/customer/CustomerAssignBrandForm.vue b/hangtag-ui/hangtag-ui-admin/src/views/oms/customer/CustomerAssignBrandForm.vue new file mode 100644 index 0000000..3a5f88b --- /dev/null +++ b/hangtag-ui/hangtag-ui-admin/src/views/oms/customer/CustomerAssignBrandForm.vue @@ -0,0 +1,160 @@ + + + diff --git a/hangtag-ui/hangtag-ui-admin/src/views/oms/customer/CustomerForm.vue b/hangtag-ui/hangtag-ui-admin/src/views/oms/customer/CustomerForm.vue index 2d945de..da4f9d8 100644 --- a/hangtag-ui/hangtag-ui-admin/src/views/oms/customer/CustomerForm.vue +++ b/hangtag-ui/hangtag-ui-admin/src/views/oms/customer/CustomerForm.vue @@ -10,6 +10,9 @@ + + + @@ -33,7 +36,7 @@ @@ -78,6 +81,7 @@ const formLoading = ref(false) // 表单的加载中:1)修改时的数据加 const formType = ref('') // 表单的类型:create - 新增;update - 修改 const formData = ref({ name: undefined, + company: undefined, email: undefined, contacts: undefined, phone: undefined, @@ -88,6 +92,7 @@ const formData = ref({ }) const formRules = reactive({ name: [{ required: true, message: '名称不能为空', trigger: 'blur' }], + company: [{ required: true, message: '公司不能为空', trigger: 'blur' }], contacts: [{ required: true, message: '联系人不能为空', trigger: 'blur' }], phone: [{ required: true, message: '联系人手机号不能为空', trigger: 'blur' }, { @@ -168,6 +173,7 @@ const submitForm = async () => { const resetForm = () => { formData.value = { name: undefined, + company: undefined, email: undefined, contacts: undefined, phone: undefined, diff --git a/hangtag-ui/hangtag-ui-admin/src/views/oms/customer/index.vue b/hangtag-ui/hangtag-ui-admin/src/views/oms/customer/index.vue index f948723..ada0836 100644 --- a/hangtag-ui/hangtag-ui-admin/src/views/oms/customer/index.vue +++ b/hangtag-ui/hangtag-ui-admin/src/views/oms/customer/index.vue @@ -26,6 +26,15 @@ class="!w-240px" /> + + + + @@ -125,9 +135,9 @@ :formatter="dateFormatter" width="180px" /> - + \ No newline at end of file diff --git a/hangtag-ui/hangtag-ui-admin/src/views/oms/saleorder/index.vue b/hangtag-ui/hangtag-ui-admin/src/views/oms/saleorder/index.vue index 717c5a8..0dfe32b 100644 --- a/hangtag-ui/hangtag-ui-admin/src/views/oms/saleorder/index.vue +++ b/hangtag-ui/hangtag-ui-admin/src/views/oms/saleorder/index.vue @@ -37,37 +37,6 @@ class="!w-240px" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 搜索 重置 @@ -207,15 +103,7 @@ - - + - - - - - - - - - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/api/pay/app/index.ts b/hangtag-ui/hangtag-ui-front/src/api/pay/app/index.ts deleted file mode 100644 index 4bb06b3..0000000 --- a/hangtag-ui/hangtag-ui-front/src/api/pay/app/index.ts +++ /dev/null @@ -1,65 +0,0 @@ -import request from '@/config/axios' - -export interface AppVO { - id: number - name: string - status: number - remark: string - payNotifyUrl: string - refundNotifyUrl: string - merchantId: number - merchantName: string - createTime: Date -} - -export interface AppPageReqVO extends PageParam { - name?: string - status?: number - remark?: string - payNotifyUrl?: string - refundNotifyUrl?: string - merchantName?: string - createTime?: Date[] -} - -export interface AppUpdateStatusReqVO { - id: number - status: number -} - -// 查询列表支付应用 -export const getAppPage = (params: AppPageReqVO) => { - return request.get({ url: '/pay/app/page', params }) -} - -// 查询详情支付应用 -export const getApp = (id: number) => { - return request.get({ url: '/pay/app/get?id=' + id }) -} - -// 新增支付应用 -export const createApp = (data: AppVO) => { - return request.post({ url: '/pay/app/create', data }) -} - -// 修改支付应用 -export const updateApp = (data: AppVO) => { - return request.put({ url: '/pay/app/update', data }) -} - -// 支付应用信息状态修改 -export const changeAppStatus = (data: AppUpdateStatusReqVO) => { - return request.put({ url: '/pay/app/update-status', data: data }) -} - -// 删除支付应用 -export const deleteApp = (id: number) => { - return request.delete({ url: '/pay/app/delete?id=' + id }) -} - -// 获得支付应用列表 -export const getAppList = () => { - return request.get({ - url: '/pay/app/list' - }) -} diff --git a/hangtag-ui/hangtag-ui-front/src/api/pay/channel/index.ts b/hangtag-ui/hangtag-ui-front/src/api/pay/channel/index.ts deleted file mode 100644 index 0f4ff42..0000000 --- a/hangtag-ui/hangtag-ui-front/src/api/pay/channel/index.ts +++ /dev/null @@ -1,46 +0,0 @@ -import request from '@/config/axios' - -export interface ChannelVO { - id: number - code: string - config: string - status: number - remark: string - feeRate: number - appId: number - createTime: Date -} - -// 查询列表支付渠道 -export const getChannelPage = (params: PageParam) => { - return request.get({ url: '/pay/channel/page', params }) -} - -// 查询详情支付渠道 -export const getChannel = (appId: string, code: string) => { - const params = { - appId: appId, - code: code - } - return request.get({ url: '/pay/channel/get', params: params }) -} - -// 新增支付渠道 -export const createChannel = (data: ChannelVO) => { - return request.post({ url: '/pay/channel/create', data }) -} - -// 修改支付渠道 -export const updateChannel = (data: ChannelVO) => { - return request.put({ url: '/pay/channel/update', data }) -} - -// 删除支付渠道 -export const deleteChannel = (id: number) => { - return request.delete({ url: '/pay/channel/delete?id=' + id }) -} - -// 导出支付渠道 -export const exportChannel = (params) => { - return request.download({ url: '/pay/channel/export-excel', params }) -} diff --git a/hangtag-ui/hangtag-ui-front/src/api/pay/demo/index.ts b/hangtag-ui/hangtag-ui-front/src/api/pay/demo/index.ts deleted file mode 100644 index 3824a8b..0000000 --- a/hangtag-ui/hangtag-ui-front/src/api/pay/demo/index.ts +++ /dev/null @@ -1,36 +0,0 @@ -import request from '@/config/axios' - -export interface DemoOrderVO { - spuId: number - createTime: Date -} - -// 创建示例订单 -export function createDemoOrder(data: DemoOrderVO) { - return request.post({ - url: '/pay/demo-order/create', - data: data - }) -} - -// 获得示例订单 -export function getDemoOrder(id: number) { - return request.get({ - url: '/pay/demo-order/get?id=' + id - }) -} - -// 获得示例订单分页 -export function getDemoOrderPage(query: PageParam) { - return request.get({ - url: '/pay/demo-order/page', - params: query - }) -} - -// 退款示例订单 -export function refundDemoOrder(id) { - return request.put({ - url: '/pay/demo-order/refund?id=' + id - }) -} diff --git a/hangtag-ui/hangtag-ui-front/src/api/pay/demo/transfer/index.ts b/hangtag-ui/hangtag-ui-front/src/api/pay/demo/transfer/index.ts deleted file mode 100644 index a95b0d5..0000000 --- a/hangtag-ui/hangtag-ui-front/src/api/pay/demo/transfer/index.ts +++ /dev/null @@ -1,25 +0,0 @@ -import request from '@/config/axios' - -export interface DemoTransferVO { - price: number - type: number - userName: string - alipayLogonId: string - openid: string -} - -// 创建示例转账单 -export function createDemoTransfer(data: DemoTransferVO) { - return request.post({ - url: '/pay/demo-transfer/create', - data: data - }) -} - -// 获得示例订单分页 -export function getDemoTransferPage(query: PageParam) { - return request.get({ - url: '/pay/demo-transfer/page', - params: query - }) -} diff --git a/hangtag-ui/hangtag-ui-front/src/api/pay/notify/index.ts b/hangtag-ui/hangtag-ui-front/src/api/pay/notify/index.ts deleted file mode 100644 index dc8bd88..0000000 --- a/hangtag-ui/hangtag-ui-front/src/api/pay/notify/index.ts +++ /dev/null @@ -1,16 +0,0 @@ -import request from '@/config/axios' - -// 获得支付通知明细 -export const getNotifyTaskDetail = (id) => { - return request.get({ - url: '/pay/notify/get-detail?id=' + id - }) -} - -// 获得支付通知分页 -export const getNotifyTaskPage = (query) => { - return request.get({ - url: '/pay/notify/page', - params: query - }) -} diff --git a/hangtag-ui/hangtag-ui-front/src/api/pay/order/index.ts b/hangtag-ui/hangtag-ui-front/src/api/pay/order/index.ts deleted file mode 100644 index 71960a8..0000000 --- a/hangtag-ui/hangtag-ui-front/src/api/pay/order/index.ts +++ /dev/null @@ -1,104 +0,0 @@ -import request from '@/config/axios' - -export interface OrderVO { - id: number - merchantId: number - appId: number - channelId: number - channelCode: string - merchantOrderId: string - subject: string - body: string - notifyUrl: string - notifyStatus: number - amount: number - channelFeeRate: number - channelFeeAmount: number - status: number - userIp: string - expireTime: Date - successTime: Date - notifyTime: Date - successExtensionId: number - refundStatus: number - refundTimes: number - refundAmount: number - channelUserId: string - channelOrderNo: string - createTime: Date -} - -export interface OrderPageReqVO extends PageParam { - merchantId?: number - appId?: number - channelId?: number - channelCode?: string - merchantOrderId?: string - subject?: string - body?: string - notifyUrl?: string - notifyStatus?: number - amount?: number - channelFeeRate?: number - channelFeeAmount?: number - status?: number - expireTime?: Date[] - successTime?: Date[] - notifyTime?: Date[] - successExtensionId?: number - refundStatus?: number - refundTimes?: number - channelUserId?: string - channelOrderNo?: string - createTime?: Date[] -} - -export interface OrderExportReqVO { - merchantId?: number - appId?: number - channelId?: number - channelCode?: string - merchantOrderId?: string - subject?: string - body?: string - notifyUrl?: string - notifyStatus?: number - amount?: number - channelFeeRate?: number - channelFeeAmount?: number - status?: number - expireTime?: Date[] - successTime?: Date[] - notifyTime?: Date[] - successExtensionId?: number - refundStatus?: number - refundTimes?: number - channelUserId?: string - channelOrderNo?: string - createTime?: Date[] -} - -// 查询列表支付订单 -export const getOrderPage = async (params: OrderPageReqVO) => { - return await request.get({ url: '/pay/order/page', params }) -} - -// 查询详情支付订单 -export const getOrder = async (id: number) => { - return await request.get({ url: '/pay/order/get?id=' + id }) -} - -// 获得支付订单的明细 -export const getOrderDetail = async (id: number) => { - return await request.get({ url: '/pay/order/get-detail?id=' + id }) -} - -// 提交支付订单 -export const submitOrder = async (data: any) => { - return await request.post({ url: '/pay/order/submit', data }) -} - -// 导出支付订单 -export const exportOrder = async (params: OrderExportReqVO) => { - return await request.download({ url: '/pay/order/export-excel', params }) -} diff --git a/hangtag-ui/hangtag-ui-front/src/api/pay/refund/index.ts b/hangtag-ui/hangtag-ui-front/src/api/pay/refund/index.ts deleted file mode 100644 index 4b587f2..0000000 --- a/hangtag-ui/hangtag-ui-front/src/api/pay/refund/index.ts +++ /dev/null @@ -1,116 +0,0 @@ -import request from '@/config/axios' - -export interface RefundVO { - id: number - merchantId: number - appId: number - channelId: number - channelCode: string - orderId: string - tradeNo: string - merchantOrderId: string - merchantRefundNo: string - notifyUrl: string - notifyStatus: number - status: number - type: number - payAmount: number - refundAmount: number - reason: string - userIp: string - channelOrderNo: string - channelRefundNo: string - channelErrorCode: string - channelErrorMsg: string - channelExtras: string - expireTime: Date - successTime: Date - notifyTime: Date - createTime: Date -} - -export interface RefundPageReqVO extends PageParam { - merchantId?: number - appId?: number - channelId?: number - channelCode?: string - orderId?: string - tradeNo?: string - merchantOrderId?: string - merchantRefundNo?: string - notifyUrl?: string - notifyStatus?: number - status?: number - type?: number - payAmount?: number - refundAmount?: number - reason?: string - userIp?: string - channelOrderNo?: string - channelRefundNo?: string - channelErrorCode?: string - channelErrorMsg?: string - channelExtras?: string - expireTime?: Date[] - successTime?: Date[] - notifyTime?: Date[] - createTime?: Date[] -} - -export interface PayRefundExportReqVO { - merchantId?: number - appId?: number - channelId?: number - channelCode?: string - orderId?: string - tradeNo?: string - merchantOrderId?: string - merchantRefundNo?: string - notifyUrl?: string - notifyStatus?: number - status?: number - type?: number - payAmount?: number - refundAmount?: number - reason?: string - userIp?: string - channelOrderNo?: string - channelRefundNo?: string - channelErrorCode?: string - channelErrorMsg?: string - channelExtras?: string - expireTime?: Date[] - successTime?: Date[] - notifyTime?: Date[] - createTime?: Date[] -} - -// 查询列表退款订单 -export const getRefundPage = (params: RefundPageReqVO) => { - return request.get({ url: '/pay/refund/page', params }) -} - -// 查询详情退款订单 -export const getRefund = (id: number) => { - return request.get({ url: '/pay/refund/get?id=' + id }) -} - -// 新增退款订单 -export const createRefund = (data: RefundVO) => { - return request.post({ url: '/pay/refund/create', data }) -} - -// 修改退款订单 -export const updateRefund = (data: RefundVO) => { - return request.put({ url: '/pay/refund/update', data }) -} - -// 删除退款订单 -export const deleteRefund = (id: number) => { - return request.delete({ url: '/pay/refund/delete?id=' + id }) -} - -// 导出退款订单 -export const exportRefund = (params: PayRefundExportReqVO) => { - return request.download({ url: '/pay/refund/export-excel', params }) -} diff --git a/hangtag-ui/hangtag-ui-front/src/api/pay/transfer/index.ts b/hangtag-ui/hangtag-ui-front/src/api/pay/transfer/index.ts deleted file mode 100644 index 7a58abf..0000000 --- a/hangtag-ui/hangtag-ui-front/src/api/pay/transfer/index.ts +++ /dev/null @@ -1,27 +0,0 @@ -import request from '@/config/axios' - -export interface TransferVO { - appId: number - channelCode: string - merchantTransferId: string - type: number - price: number - subject: string - userName: string - alipayLogonId: string - openid: string -} - -// 新增转账单 -export const createTransfer = async (data: TransferVO) => { - return await request.post({ url: `/pay/transfer/create`, data }) -} - -// 查询转账单列表 -export const getTransferPage = async (params) => { - return await request.get({ url: `/pay/transfer/page`, params }) -} - -export const getTransfer = async (id: number) => { - return await request.get({ url: '/pay/transfer/get?id=' + id }) -} diff --git a/hangtag-ui/hangtag-ui-front/src/api/pay/wallet/balance/index.ts b/hangtag-ui/hangtag-ui-front/src/api/pay/wallet/balance/index.ts deleted file mode 100644 index 3e5ab36..0000000 --- a/hangtag-ui/hangtag-ui-front/src/api/pay/wallet/balance/index.ts +++ /dev/null @@ -1,26 +0,0 @@ -import request from '@/config/axios' - -/** 用户钱包查询参数 */ -export interface PayWalletUserReqVO { - userId: number -} -/** 钱包 VO */ -export interface WalletVO { - id: number - userId: number - userType: number - balance: number - totalExpense: number - totalRecharge: number - freezePrice: number -} - -/** 查询用户钱包详情 */ -export const getWallet = async (params: PayWalletUserReqVO) => { - return await request.get({ url: `/pay/wallet/get`, params }) -} - -// 查询会员钱包列表 -export const getWalletPage = async (params) => { - return await request.get({ url: `/pay/wallet/page`, params }) -} diff --git a/hangtag-ui/hangtag-ui-front/src/api/pay/wallet/rechargePackage/index.ts b/hangtag-ui/hangtag-ui-front/src/api/pay/wallet/rechargePackage/index.ts deleted file mode 100644 index c8e4cc9..0000000 --- a/hangtag-ui/hangtag-ui-front/src/api/pay/wallet/rechargePackage/index.ts +++ /dev/null @@ -1,34 +0,0 @@ -import request from '@/config/axios' - -export interface WalletRechargePackageVO { - id: number - name: string - payPrice: number - bonusPrice: number - status: number -} - -// 查询套餐充值列表 -export const getWalletRechargePackagePage = async (params) => { - return await request.get({ url: '/pay/wallet-recharge-package/page', params }) -} - -// 查询套餐充值详情 -export const getWalletRechargePackage = async (id: number) => { - return await request.get({ url: '/pay/wallet-recharge-package/get?id=' + id }) -} - -// 新增套餐充值 -export const createWalletRechargePackage = async (data: WalletRechargePackageVO) => { - return await request.post({ url: '/pay/wallet-recharge-package/create', data }) -} - -// 修改套餐充值 -export const updateWalletRechargePackage = async (data: WalletRechargePackageVO) => { - return await request.put({ url: '/pay/wallet-recharge-package/update', data }) -} - -// 删除套餐充值 -export const deleteWalletRechargePackage = async (id: number) => { - return await request.delete({ url: '/pay/wallet-recharge-package/delete?id=' + id }) -} diff --git a/hangtag-ui/hangtag-ui-front/src/api/pay/wallet/transaction/index.ts b/hangtag-ui/hangtag-ui-front/src/api/pay/wallet/transaction/index.ts deleted file mode 100644 index 3377ffa..0000000 --- a/hangtag-ui/hangtag-ui-front/src/api/pay/wallet/transaction/index.ts +++ /dev/null @@ -1,14 +0,0 @@ -import request from '@/config/axios' - -export interface WalletTransactionVO { - id: number - walletId: number - title: string - price: number - balance: number -} - -// 查询会员钱包流水列表 -export const getWalletTransactionPage = async (params) => { - return await request.get({ url: `/pay/wallet-transaction/page`, params }) -} diff --git a/hangtag-ui/hangtag-ui-front/src/router/modules/remaining.ts b/hangtag-ui/hangtag-ui-front/src/router/modules/remaining.ts index bc62a3c..28c5a39 100644 --- a/hangtag-ui/hangtag-ui-front/src/router/modules/remaining.ts +++ b/hangtag-ui/hangtag-ui-front/src/router/modules/remaining.ts @@ -233,346 +233,6 @@ const remainingRouter: AppRouteRecordRaw[] = [ title: '500', noTagsView: true } - }, - { - path: '/bpm', - component: Layout, - name: 'bpm', - meta: { - hidden: true - }, - children: [ - { - path: 'manager/form/edit', - component: () => import('@/views/bpm/form/editor/index.vue'), - name: 'BpmFormEditor', - meta: { - noCache: true, - hidden: true, - canTo: true, - title: '设计流程表单', - activeMenu: '/bpm/manager/form' - } - }, - { - path: 'manager/model/edit', - component: () => import('@/views/bpm/model/editor/index.vue'), - name: 'BpmModelEditor', - meta: { - noCache: true, - hidden: true, - canTo: true, - title: '设计流程', - activeMenu: '/bpm/manager/model' - } - }, - { - path: 'manager/simple/workflow/model/edit', - component: () => import('@/views/bpm/simpleWorkflow/index.vue'), - name: 'SimpleWorkflowDesignEditor', - meta: { - noCache: true, - hidden: true, - canTo: true, - title: '仿钉钉设计流程', - activeMenu: '/bpm/manager/model' - } - }, - { - path: 'manager/definition', - component: () => import('@/views/bpm/definition/index.vue'), - name: 'BpmProcessDefinition', - meta: { - noCache: true, - hidden: true, - canTo: true, - title: '流程定义', - activeMenu: '/bpm/manager/model' - } - }, - { - path: 'process-instance/detail', - component: () => import('@/views/bpm/processInstance/detail/index.vue'), - name: 'BpmProcessInstanceDetail', - meta: { - noCache: true, - hidden: true, - canTo: true, - title: '流程详情', - activeMenu: '/bpm/task/my' - } - }, - { - path: 'oa/leave/create', - component: () => import('@/views/bpm/oa/leave/create.vue'), - name: 'OALeaveCreate', - meta: { - noCache: true, - hidden: true, - canTo: true, - title: '发起 OA 请假', - activeMenu: '/bpm/oa/leave' - } - }, - { - path: 'oa/leave/detail', - component: () => import('@/views/bpm/oa/leave/detail.vue'), - name: 'OALeaveDetail', - meta: { - noCache: true, - hidden: true, - canTo: true, - title: '查看 OA 请假', - activeMenu: '/bpm/oa/leave' - } - } - ] - }, - { - path: '/mall/product', // 商品中心 - component: Layout, - name: 'ProductCenter', - meta: { - hidden: true - }, - children: [ - { - path: 'spu/add', - component: () => import('@/views/mall/product/spu/form/index.vue'), - name: 'ProductSpuAdd', - meta: { - noCache: true, - hidden: true, - canTo: true, - icon: 'ep:edit', - title: '商品添加', - activeMenu: '/mall/product/spu' - } - }, - { - path: 'spu/edit/:id(\\d+)', - component: () => import('@/views/mall/product/spu/form/index.vue'), - name: 'ProductSpuEdit', - meta: { - noCache: true, - hidden: true, - canTo: true, - icon: 'ep:edit', - title: '商品编辑', - activeMenu: '/mall/product/spu' - } - }, - { - path: 'spu/detail/:id(\\d+)', - component: () => import('@/views/mall/product/spu/form/index.vue'), - name: 'ProductSpuDetail', - meta: { - noCache: true, - hidden: true, - canTo: true, - icon: 'ep:view', - title: '商品详情', - activeMenu: '/mall/product/spu' - } - }, - { - path: 'property/value/:propertyId(\\d+)', - component: () => import('@/views/mall/product/property/value/index.vue'), - name: 'ProductPropertyValue', - meta: { - noCache: true, - hidden: true, - canTo: true, - icon: 'ep:view', - title: '商品属性值', - activeMenu: '/product/property' - } - } - ] - }, - { - path: '/mall/trade', // 交易中心 - component: Layout, - name: 'TradeCenter', - meta: { - hidden: true - }, - children: [ - { - path: 'order/detail/:id(\\d+)', - component: () => import('@/views/mall/trade/order/detail/index.vue'), - name: 'TradeOrderDetail', - meta: { title: '订单详情', icon: 'ep:view', activeMenu: '/mall/trade/order' } - }, - { - path: 'after-sale/detail/:id(\\d+)', - component: () => import('@/views/mall/trade/afterSale/detail/index.vue'), - name: 'TradeAfterSaleDetail', - meta: { title: '退款详情', icon: 'ep:view', activeMenu: '/mall/trade/after-sale' } - } - ] - }, - { - path: '/member', - component: Layout, - name: 'MemberCenter', - meta: { hidden: true }, - children: [ - { - path: 'user/detail/:id', - name: 'MemberUserDetail', - meta: { - title: '会员详情', - noCache: true, - hidden: true - }, - component: () => import('@/views/member/user/detail/index.vue') - } - ] - }, - { - path: '/pay', - component: Layout, - name: 'pay', - meta: { hidden: true }, - children: [ - { - path: 'cashier', - name: 'PayCashier', - meta: { - title: '收银台', - noCache: true, - hidden: true - }, - component: () => import('@/views/pay/cashier/index.vue') - } - ] - }, - { - path: '/diy', - name: 'DiyCenter', - meta: { hidden: true }, - component: Layout, - children: [ - { - path: 'template/decorate/:id', - name: 'DiyTemplateDecorate', - meta: { - title: '模板装修', - noCache: true, - hidden: true, - activeMenu: '/mall/promotion/diy/template' - }, - component: () => import('@/views/mall/promotion/diy/template/decorate.vue') - }, - { - path: 'page/decorate/:id', - name: 'DiyPageDecorate', - meta: { - title: '页面装修', - noCache: true, - hidden: true, - activeMenu: '/mall/promotion/diy/page' - }, - component: () => import('@/views/mall/promotion/diy/page/decorate.vue') - } - ] - }, - { - path: '/crm', - component: Layout, - name: 'CrmCenter', - meta: { hidden: true }, - children: [ - { - path: 'clue/detail/:id', - name: 'CrmClueDetail', - meta: { - title: '线索详情', - noCache: true, - hidden: true, - activeMenu: '/crm/clue' - }, - component: () => import('@/views/crm/clue/detail/index.vue') - }, - { - path: 'customer/detail/:id', - name: 'CrmCustomerDetail', - meta: { - title: '客户详情', - noCache: true, - hidden: true, - activeMenu: '/crm/customer' - }, - component: () => import('@/views/crm/customer/detail/index.vue') - }, - { - path: 'business/detail/:id', - name: 'CrmBusinessDetail', - meta: { - title: '商机详情', - noCache: true, - hidden: true, - activeMenu: '/crm/business' - }, - component: () => import('@/views/crm/business/detail/index.vue') - }, - { - path: 'contract/detail/:id', - name: 'CrmContractDetail', - meta: { - title: '合同详情', - noCache: true, - hidden: true, - activeMenu: '/crm/contract' - }, - component: () => import('@/views/crm/contract/detail/index.vue') - }, - { - path: 'receivable-plan/detail/:id', - name: 'CrmReceivablePlanDetail', - meta: { - title: '回款计划详情', - noCache: true, - hidden: true, - activeMenu: '/crm/receivable-plan' - }, - component: () => import('@/views/crm/receivable/plan/detail/index.vue') - }, - { - path: 'receivable/detail/:id', - name: 'CrmReceivableDetail', - meta: { - title: '回款详情', - noCache: true, - hidden: true, - activeMenu: '/crm/receivable' - }, - component: () => import('@/views/crm/receivable/detail/index.vue') - }, - { - path: 'contact/detail/:id', - name: 'CrmContactDetail', - meta: { - title: '联系人详情', - noCache: true, - hidden: true, - activeMenu: '/crm/contact' - }, - component: () => import('@/views/crm/contact/detail/index.vue') - }, - { - path: 'product/detail/:id', - name: 'CrmProductDetail', - meta: { - title: '产品详情', - noCache: true, - hidden: true, - activeMenu: '/crm/product' - }, - component: () => import('@/views/crm/product/detail/index.vue') - } - ] } ] diff --git a/hangtag-ui/hangtag-ui-front/src/store/modules/app.ts b/hangtag-ui/hangtag-ui-front/src/store/modules/app.ts index b1f0da7..0ee8cba 100644 --- a/hangtag-ui/hangtag-ui-front/src/store/modules/app.ts +++ b/hangtag-ui/hangtag-ui-front/src/store/modules/app.ts @@ -41,7 +41,7 @@ interface AppState { export const useAppStore = defineStore('app', { state: (): AppState => { return { - userInfo: 'userInfo', // 登录信息存储字段-建议每个项目换一个字段,避免与其他项目冲突 + userInfo: 'userFrontInfo', // 登录信息存储字段-建议每个项目换一个字段,避免与其他项目冲突 sizeMap: ['default', 'large', 'small'], mobile: false, // 是否是移动端 title: import.meta.env.VITE_APP_TITLE, // 标题 @@ -65,30 +65,30 @@ export const useAppStore = defineStore('app', { greyMode: false, // 是否开始灰色模式,用于特殊悼念日 fixedMenu: wsCache.get('fixedMenu') || false, // 是否固定菜单 - layout: wsCache.get(CACHE_KEY.LAYOUT) || 'classic', // layout布局 + layout: wsCache.get(CACHE_KEY.LAYOUT) || 'top', // layout布局 isDark: wsCache.get(CACHE_KEY.IS_DARK) || false, // 是否是暗黑模式 currentSize: wsCache.get('default') || 'default', // 组件尺寸 theme: wsCache.get(CACHE_KEY.THEME) || { // 主题色 elColorPrimary: '#409eff', // 左侧菜单边框颜色 - leftMenuBorderColor: 'inherit', + leftMenuBorderColor: '#eee', // 左侧菜单背景颜色 - leftMenuBgColor: '#001529', + leftMenuBgColor: '#fff', // 左侧菜单浅色背景颜色 - leftMenuBgLightColor: '#0f2438', + leftMenuBgLightColor: '#fff', // 左侧菜单选中背景颜色 - leftMenuBgActiveColor: 'var(--el-color-primary)', + leftMenuBgActiveColor: 'RGBA(64,158,255,0.1)', // 左侧菜单收起选中背景颜色 - leftMenuCollapseBgActiveColor: 'var(--el-color-primary)', + leftMenuCollapseBgActiveColor: 'RGBA(64,158,255,0.1)', // 左侧菜单字体颜色 - leftMenuTextColor: '#bfcbd9', + leftMenuTextColor: '#333', // 左侧菜单选中字体颜色 - leftMenuTextActiveColor: '#fff', + leftMenuTextActiveColor: 'var(--el-color-primary)', // logo字体颜色 - logoTitleTextColor: '#fff', + logoTitleTextColor: 'inherit', // logo边框颜色 - logoBorderColor: 'inherit', + logoBorderColor: '#eee', // 头部背景颜色 topHeaderBgColor: '#fff', // 头部字体颜色 diff --git a/hangtag-ui/hangtag-ui-front/src/utils/dict.ts b/hangtag-ui/hangtag-ui-front/src/utils/dict.ts index b1bea76..329a376 100644 --- a/hangtag-ui/hangtag-ui-front/src/utils/dict.ts +++ b/hangtag-ui/hangtag-ui-front/src/utils/dict.ts @@ -213,5 +213,5 @@ export enum DICT_TYPE { ERP_STOCK_RECORD_BIZ_TYPE = 'erp_stock_record_biz_type', // 库存明细的业务类型 // ========== OMS - 企业订单管理模块 ========== - OMS_DATA_STATUS = 'oms_data_status' // 库存明细的业务类型 + OMS_DATA_STATUS = 'oms_data_status' // 数据状态 } diff --git a/hangtag-ui/hangtag-ui-front/src/views/Login/components/LoginForm.vue b/hangtag-ui/hangtag-ui-front/src/views/Login/components/LoginForm.vue index 5137d17..7583fe8 100644 --- a/hangtag-ui/hangtag-ui-front/src/views/Login/components/LoginForm.vue +++ b/hangtag-ui/hangtag-ui-front/src/views/Login/components/LoginForm.vue @@ -184,9 +184,10 @@ const loginData = reactive({ captchaEnable: import.meta.env.VITE_APP_CAPTCHA_ENABLE, tenantEnable: import.meta.env.VITE_APP_TENANT_ENABLE, loginForm: { - tenantName: '芋道源码', - username: 'admin', - password: 'admin123', + tenantName: '', + username: '', + password: '', + type: '999999', captchaVerification: '', rememberMe: true // 默认记录我。如果不需要,可手动修改 } diff --git a/hangtag-ui/hangtag-ui-front/src/views/Profile/components/ProfileUser.vue b/hangtag-ui/hangtag-ui-front/src/views/Profile/components/ProfileUser.vue index 0d469ef..5af5499 100644 --- a/hangtag-ui/hangtag-ui-front/src/views/Profile/components/ProfileUser.vue +++ b/hangtag-ui/hangtag-ui-front/src/views/Profile/components/ProfileUser.vue @@ -19,7 +19,7 @@ {{ t('profile.user.email') }}
{{ userInfo?.email }}
-
  • +
  • {{ t('profile.user.createTime') }} diff --git a/hangtag-ui/hangtag-ui-front/src/views/ai/chat/index.vue b/hangtag-ui/hangtag-ui-front/src/views/ai/chat/index.vue deleted file mode 100644 index bc846a3..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/ai/chat/index.vue +++ /dev/null @@ -1,166 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/bpm/category/CategoryForm.vue b/hangtag-ui/hangtag-ui-front/src/views/bpm/category/CategoryForm.vue deleted file mode 100644 index 5b77153..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/bpm/category/CategoryForm.vue +++ /dev/null @@ -1,124 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/bpm/category/index.vue b/hangtag-ui/hangtag-ui-front/src/views/bpm/category/index.vue deleted file mode 100644 index 46fa6cf..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/bpm/category/index.vue +++ /dev/null @@ -1,200 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/bpm/definition/index.vue b/hangtag-ui/hangtag-ui-front/src/views/bpm/definition/index.vue deleted file mode 100644 index 1e7794b..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/bpm/definition/index.vue +++ /dev/null @@ -1,149 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/bpm/form/editor/index.vue b/hangtag-ui/hangtag-ui-front/src/views/bpm/form/editor/index.vue deleted file mode 100644 index 0d1230c..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/bpm/form/editor/index.vue +++ /dev/null @@ -1,121 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/bpm/form/index.vue b/hangtag-ui/hangtag-ui-front/src/views/bpm/form/index.vue deleted file mode 100644 index 3d542c8..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/bpm/form/index.vue +++ /dev/null @@ -1,195 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/bpm/group/UserGroupForm.vue b/hangtag-ui/hangtag-ui-front/src/views/bpm/group/UserGroupForm.vue deleted file mode 100644 index ac0cfcb..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/bpm/group/UserGroupForm.vue +++ /dev/null @@ -1,132 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/bpm/group/index.vue b/hangtag-ui/hangtag-ui-front/src/views/bpm/group/index.vue deleted file mode 100644 index 62785a9..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/bpm/group/index.vue +++ /dev/null @@ -1,191 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/bpm/model/ModelForm.vue b/hangtag-ui/hangtag-ui-front/src/views/bpm/model/ModelForm.vue deleted file mode 100644 index ce60edc..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/bpm/model/ModelForm.vue +++ /dev/null @@ -1,239 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/bpm/model/ModelImportForm.vue b/hangtag-ui/hangtag-ui-front/src/views/bpm/model/ModelImportForm.vue deleted file mode 100644 index 9a91e1d..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/bpm/model/ModelImportForm.vue +++ /dev/null @@ -1,141 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/bpm/model/editor/index.vue b/hangtag-ui/hangtag-ui-front/src/views/bpm/model/editor/index.vue deleted file mode 100644 index 29bca71..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/bpm/model/editor/index.vue +++ /dev/null @@ -1,115 +0,0 @@ - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/bpm/model/index.vue b/hangtag-ui/hangtag-ui-front/src/views/bpm/model/index.vue deleted file mode 100644 index e4ba6d4..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/bpm/model/index.vue +++ /dev/null @@ -1,415 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/bpm/oa/leave/create.vue b/hangtag-ui/hangtag-ui-front/src/views/bpm/oa/leave/create.vue deleted file mode 100644 index 28a15af..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/bpm/oa/leave/create.vue +++ /dev/null @@ -1,164 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/bpm/oa/leave/detail.vue b/hangtag-ui/hangtag-ui-front/src/views/bpm/oa/leave/detail.vue deleted file mode 100644 index 87036d8..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/bpm/oa/leave/detail.vue +++ /dev/null @@ -1,51 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/bpm/oa/leave/index.vue b/hangtag-ui/hangtag-ui-front/src/views/bpm/oa/leave/index.vue deleted file mode 100644 index 2cb5324..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/bpm/oa/leave/index.vue +++ /dev/null @@ -1,257 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/bpm/processExpression/ProcessExpressionForm.vue b/hangtag-ui/hangtag-ui-front/src/views/bpm/processExpression/ProcessExpressionForm.vue deleted file mode 100644 index acf0667..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/bpm/processExpression/ProcessExpressionForm.vue +++ /dev/null @@ -1,114 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/bpm/processExpression/index.vue b/hangtag-ui/hangtag-ui-front/src/views/bpm/processExpression/index.vue deleted file mode 100644 index ec2de5a..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/bpm/processExpression/index.vue +++ /dev/null @@ -1,182 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/create/index.vue b/hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/create/index.vue deleted file mode 100644 index cc58888..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/create/index.vue +++ /dev/null @@ -1,257 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/detail/ProcessInstanceBpmnViewer.vue b/hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/detail/ProcessInstanceBpmnViewer.vue deleted file mode 100644 index 8912593..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/detail/ProcessInstanceBpmnViewer.vue +++ /dev/null @@ -1,54 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/detail/ProcessInstanceTaskList.vue b/hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/detail/ProcessInstanceTaskList.vue deleted file mode 100644 index f82e800..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/detail/ProcessInstanceTaskList.vue +++ /dev/null @@ -1,175 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/detail/dialog/TaskDelegateForm.vue b/hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/detail/dialog/TaskDelegateForm.vue deleted file mode 100644 index 178b1b9..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/detail/dialog/TaskDelegateForm.vue +++ /dev/null @@ -1,89 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/detail/dialog/TaskReturnForm.vue b/hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/detail/dialog/TaskReturnForm.vue deleted file mode 100644 index a139169..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/detail/dialog/TaskReturnForm.vue +++ /dev/null @@ -1,90 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/detail/dialog/TaskSignCreateForm.vue b/hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/detail/dialog/TaskSignCreateForm.vue deleted file mode 100644 index 9e4998c..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/detail/dialog/TaskSignCreateForm.vue +++ /dev/null @@ -1,99 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/detail/dialog/TaskSignDeleteForm.vue b/hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/detail/dialog/TaskSignDeleteForm.vue deleted file mode 100644 index 19bb2dc..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/detail/dialog/TaskSignDeleteForm.vue +++ /dev/null @@ -1,89 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/detail/dialog/TaskSignList.vue b/hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/detail/dialog/TaskSignList.vue deleted file mode 100644 index 648e86b..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/detail/dialog/TaskSignList.vue +++ /dev/null @@ -1,106 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/detail/dialog/TaskTransferForm.vue b/hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/detail/dialog/TaskTransferForm.vue deleted file mode 100644 index c1012ac..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/detail/dialog/TaskTransferForm.vue +++ /dev/null @@ -1,89 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/detail/index.vue b/hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/detail/index.vue deleted file mode 100644 index da54769..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/detail/index.vue +++ /dev/null @@ -1,381 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/index.vue b/hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/index.vue deleted file mode 100644 index 7ca07f9..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/index.vue +++ /dev/null @@ -1,260 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/manager/index.vue b/hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/manager/index.vue deleted file mode 100644 index ab8da9c..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/bpm/processInstance/manager/index.vue +++ /dev/null @@ -1,255 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/bpm/processListener/ProcessListenerForm.vue b/hangtag-ui/hangtag-ui-front/src/views/bpm/processListener/ProcessListenerForm.vue deleted file mode 100644 index 8d4e979..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/bpm/processListener/ProcessListenerForm.vue +++ /dev/null @@ -1,162 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/bpm/processListener/index.vue b/hangtag-ui/hangtag-ui-front/src/views/bpm/processListener/index.vue deleted file mode 100644 index 8b5c36e..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/bpm/processListener/index.vue +++ /dev/null @@ -1,185 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/bpm/simpleWorkflow/index.vue b/hangtag-ui/hangtag-ui-front/src/views/bpm/simpleWorkflow/index.vue deleted file mode 100644 index 144615e..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/bpm/simpleWorkflow/index.vue +++ /dev/null @@ -1,28 +0,0 @@ - - - \ No newline at end of file diff --git a/hangtag-ui/hangtag-ui-front/src/views/bpm/task/copy/index.vue b/hangtag-ui/hangtag-ui-front/src/views/bpm/task/copy/index.vue deleted file mode 100644 index adc1fe3..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/bpm/task/copy/index.vue +++ /dev/null @@ -1,137 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/bpm/task/done/index.vue b/hangtag-ui/hangtag-ui-front/src/views/bpm/task/done/index.vue deleted file mode 100644 index a513719..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/bpm/task/done/index.vue +++ /dev/null @@ -1,170 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/bpm/task/manager/index.vue b/hangtag-ui/hangtag-ui-front/src/views/bpm/task/manager/index.vue deleted file mode 100644 index 688e515..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/bpm/task/manager/index.vue +++ /dev/null @@ -1,166 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/bpm/task/todo/index.vue b/hangtag-ui/hangtag-ui-front/src/views/bpm/task/todo/index.vue deleted file mode 100644 index 670fc68..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/bpm/task/todo/index.vue +++ /dev/null @@ -1,152 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/backlog/components/ClueFollowList.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/backlog/components/ClueFollowList.vue deleted file mode 100644 index 4ed37d4..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/backlog/components/ClueFollowList.vue +++ /dev/null @@ -1,153 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/backlog/components/ContractAuditList.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/backlog/components/ContractAuditList.vue deleted file mode 100644 index 9c13237..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/backlog/components/ContractAuditList.vue +++ /dev/null @@ -1,247 +0,0 @@ - - - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/backlog/components/ContractRemindList.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/backlog/components/ContractRemindList.vue deleted file mode 100644 index 0cacf35..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/backlog/components/ContractRemindList.vue +++ /dev/null @@ -1,246 +0,0 @@ - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/backlog/components/CustomerFollowList.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/backlog/components/CustomerFollowList.vue deleted file mode 100644 index 0f367a3..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/backlog/components/CustomerFollowList.vue +++ /dev/null @@ -1,170 +0,0 @@ - - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/backlog/components/CustomerPutPoolRemindList.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/backlog/components/CustomerPutPoolRemindList.vue deleted file mode 100644 index 17f8df6..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/backlog/components/CustomerPutPoolRemindList.vue +++ /dev/null @@ -1,169 +0,0 @@ - - - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/backlog/components/CustomerTodayContactList.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/backlog/components/CustomerTodayContactList.vue deleted file mode 100644 index 87aa31d..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/backlog/components/CustomerTodayContactList.vue +++ /dev/null @@ -1,180 +0,0 @@ - - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/backlog/components/ReceivableAuditList.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/backlog/components/ReceivableAuditList.vue deleted file mode 100644 index 2831d45..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/backlog/components/ReceivableAuditList.vue +++ /dev/null @@ -1,201 +0,0 @@ - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/backlog/components/ReceivablePlanRemindList.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/backlog/components/ReceivablePlanRemindList.vue deleted file mode 100644 index 9a3cf0c..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/backlog/components/ReceivablePlanRemindList.vue +++ /dev/null @@ -1,220 +0,0 @@ - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/backlog/components/common.ts b/hangtag-ui/hangtag-ui-front/src/views/crm/backlog/components/common.ts deleted file mode 100644 index 9ff6bfc..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/backlog/components/common.ts +++ /dev/null @@ -1,39 +0,0 @@ -/** 跟进状态 */ -export const FOLLOWUP_STATUS = [ - { label: '待跟进', value: false }, - { label: '已跟进', value: true } -] - -/** 归属范围 */ -export const SCENE_TYPES = [ - { label: '我负责的', value: 1 }, - { label: '我参与的', value: 2 }, - { label: '下属负责的', value: 3 } -] - -/** 联系状态 */ -export const CONTACT_STATUS = [ - { label: '今日需联系', value: 1 }, - { label: '已逾期', value: 2 }, - { label: '已联系', value: 3 } -] - -/** 审批状态 */ -export const AUDIT_STATUS = [ - { label: '待审批', value: 10 }, - { label: '审核通过', value: 20 }, - { label: '审核不通过', value: 30 } -] - -/** 回款提醒类型 */ -export const RECEIVABLE_REMIND_TYPE = [ - { label: '待回款', value: 1 }, - { label: '已逾期', value: 2 }, - { label: '已回款', value: 3 } -] - -/** 合同过期状态 */ -export const CONTRACT_EXPIRY_TYPE = [ - { label: '即将过期', value: 1 }, - { label: '已过期', value: 2 } -] diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/backlog/index.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/backlog/index.vue deleted file mode 100644 index 49a1d4c..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/backlog/index.vue +++ /dev/null @@ -1,177 +0,0 @@ - - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/business/BusinessForm.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/business/BusinessForm.vue deleted file mode 100644 index 6b03047..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/business/BusinessForm.vue +++ /dev/null @@ -1,287 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/business/BusinessUpdateStatusForm.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/business/BusinessUpdateStatusForm.vue deleted file mode 100644 index 4f2f761..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/business/BusinessUpdateStatusForm.vue +++ /dev/null @@ -1,108 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/business/components/BusinessList.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/business/components/BusinessList.vue deleted file mode 100644 index f990606..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/business/components/BusinessList.vue +++ /dev/null @@ -1,186 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/business/components/BusinessListModal.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/business/components/BusinessListModal.vue deleted file mode 100644 index 3c21f06..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/business/components/BusinessListModal.vue +++ /dev/null @@ -1,156 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/business/components/BusinessProductForm.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/business/components/BusinessProductForm.vue deleted file mode 100644 index fbba065..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/business/components/BusinessProductForm.vue +++ /dev/null @@ -1,183 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/business/detail/BusinessDetailsHeader.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/business/detail/BusinessDetailsHeader.vue deleted file mode 100644 index 50d1efe..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/business/detail/BusinessDetailsHeader.vue +++ /dev/null @@ -1,37 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/business/detail/BusinessDetailsInfo.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/business/detail/BusinessDetailsInfo.vue deleted file mode 100644 index a2c9ce1..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/business/detail/BusinessDetailsInfo.vue +++ /dev/null @@ -1,61 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/business/detail/BusinessProductList.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/business/detail/BusinessProductList.vue deleted file mode 100644 index 9a31665..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/business/detail/BusinessProductList.vue +++ /dev/null @@ -1,66 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/business/detail/index.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/business/detail/index.vue deleted file mode 100644 index dbab819..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/business/detail/index.vue +++ /dev/null @@ -1,146 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/business/index.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/business/index.vue deleted file mode 100644 index 84e447c..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/business/index.vue +++ /dev/null @@ -1,275 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/business/status/BusinessStatusForm.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/business/status/BusinessStatusForm.vue deleted file mode 100644 index d6a4d6f..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/business/status/BusinessStatusForm.vue +++ /dev/null @@ -1,194 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/business/status/index.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/business/status/index.vue deleted file mode 100644 index ef51488..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/business/status/index.vue +++ /dev/null @@ -1,150 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/clue/ClueForm.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/clue/ClueForm.vue deleted file mode 100644 index 82a1320..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/clue/ClueForm.vue +++ /dev/null @@ -1,259 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/clue/detail/ClueDetailsHeader.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/clue/detail/ClueDetailsHeader.vue deleted file mode 100644 index 41552c7..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/clue/detail/ClueDetailsHeader.vue +++ /dev/null @@ -1,43 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/clue/detail/ClueDetailsInfo.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/clue/detail/ClueDetailsInfo.vue deleted file mode 100644 index 5a1d01f..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/clue/detail/ClueDetailsInfo.vue +++ /dev/null @@ -1,72 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/clue/detail/index.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/clue/detail/index.vue deleted file mode 100644 index 4c211e6..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/clue/detail/index.vue +++ /dev/null @@ -1,130 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/clue/index.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/clue/index.vue deleted file mode 100644 index f90d497..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/clue/index.vue +++ /dev/null @@ -1,270 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/contact/ContactForm.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/contact/ContactForm.vue deleted file mode 100644 index ac749da..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/contact/ContactForm.vue +++ /dev/null @@ -1,310 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/contact/components/ContactList.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/contact/components/ContactList.vue deleted file mode 100644 index 1c12ca8..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/contact/components/ContactList.vue +++ /dev/null @@ -1,185 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/contact/components/ContactListModal.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/contact/components/ContactListModal.vue deleted file mode 100644 index 8b655c1..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/contact/components/ContactListModal.vue +++ /dev/null @@ -1,160 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/contact/detail/ContactDetailsHeader.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/contact/detail/ContactDetailsHeader.vue deleted file mode 100644 index 12fb3bc..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/contact/detail/ContactDetailsHeader.vue +++ /dev/null @@ -1,33 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/contact/detail/ContactDetailsInfo.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/contact/detail/ContactDetailsInfo.vue deleted file mode 100644 index 9e8bfff..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/contact/detail/ContactDetailsInfo.vue +++ /dev/null @@ -1,69 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/contact/detail/index.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/contact/detail/index.vue deleted file mode 100644 index 7989d56..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/contact/detail/index.vue +++ /dev/null @@ -1,121 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/contact/index.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/contact/index.vue deleted file mode 100644 index ec26f1e..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/contact/index.vue +++ /dev/null @@ -1,332 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/contract/ContractForm.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/contract/ContractForm.vue deleted file mode 100644 index 9c5b2c6..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/contract/ContractForm.vue +++ /dev/null @@ -1,369 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/contract/components/ContractList.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/contract/components/ContractList.vue deleted file mode 100644 index f693c9a..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/contract/components/ContractList.vue +++ /dev/null @@ -1,136 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/contract/components/ContractProductForm.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/contract/components/ContractProductForm.vue deleted file mode 100644 index c33b996..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/contract/components/ContractProductForm.vue +++ /dev/null @@ -1,183 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/contract/config/index.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/contract/config/index.vue deleted file mode 100644 index be654f7..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/contract/config/index.vue +++ /dev/null @@ -1,103 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/contract/detail/ContractDetailsHeader.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/contract/detail/ContractDetailsHeader.vue deleted file mode 100644 index 9cfbfc7..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/contract/detail/ContractDetailsHeader.vue +++ /dev/null @@ -1,45 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/contract/detail/ContractDetailsInfo.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/contract/detail/ContractDetailsInfo.vue deleted file mode 100644 index 73aa144..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/contract/detail/ContractDetailsInfo.vue +++ /dev/null @@ -1,76 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/contract/detail/ContractProductList.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/contract/detail/ContractProductList.vue deleted file mode 100644 index ea23d17..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/contract/detail/ContractProductList.vue +++ /dev/null @@ -1,66 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/contract/detail/index.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/contract/detail/index.vue deleted file mode 100644 index 0829e10..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/contract/detail/index.vue +++ /dev/null @@ -1,139 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/contract/index.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/contract/index.vue deleted file mode 100644 index 0c9d728..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/contract/index.vue +++ /dev/null @@ -1,398 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/customer/CustomerForm.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/customer/CustomerForm.vue deleted file mode 100644 index 8286971..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/customer/CustomerForm.vue +++ /dev/null @@ -1,259 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/customer/CustomerImportForm.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/customer/CustomerImportForm.vue deleted file mode 100644 index 17721a1..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/customer/CustomerImportForm.vue +++ /dev/null @@ -1,158 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/customer/detail/CustomerDetailsHeader.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/customer/detail/CustomerDetailsHeader.vue deleted file mode 100644 index 514ec61..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/customer/detail/CustomerDetailsHeader.vue +++ /dev/null @@ -1,43 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/customer/detail/CustomerDetailsInfo.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/customer/detail/CustomerDetailsInfo.vue deleted file mode 100644 index d9ea62a..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/customer/detail/CustomerDetailsInfo.vue +++ /dev/null @@ -1,72 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/customer/detail/index.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/customer/detail/index.vue deleted file mode 100644 index 6818f69..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/customer/detail/index.vue +++ /dev/null @@ -1,222 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/customer/index.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/customer/index.vue deleted file mode 100644 index 86bddc0..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/customer/index.vue +++ /dev/null @@ -1,343 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/customer/limitConfig/CustomerLimitConfigForm.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/customer/limitConfig/CustomerLimitConfigForm.vue deleted file mode 100644 index c7338a4..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/customer/limitConfig/CustomerLimitConfigForm.vue +++ /dev/null @@ -1,150 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/customer/limitConfig/CustomerLimitConfigList.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/customer/limitConfig/CustomerLimitConfigList.vue deleted file mode 100644 index f5c488c..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/customer/limitConfig/CustomerLimitConfigList.vue +++ /dev/null @@ -1,150 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/customer/limitConfig/index.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/customer/limitConfig/index.vue deleted file mode 100644 index 01f3ef6..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/customer/limitConfig/index.vue +++ /dev/null @@ -1,22 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/customer/pool/CustomerDistributeForm.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/customer/pool/CustomerDistributeForm.vue deleted file mode 100644 index 5fd80a1..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/customer/pool/CustomerDistributeForm.vue +++ /dev/null @@ -1,85 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/customer/pool/index.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/customer/pool/index.vue deleted file mode 100644 index eab90e0..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/customer/pool/index.vue +++ /dev/null @@ -1,270 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/customer/poolConfig/index.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/customer/poolConfig/index.vue deleted file mode 100644 index 2880887..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/customer/poolConfig/index.vue +++ /dev/null @@ -1,136 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/followup/FollowUpRecordForm.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/followup/FollowUpRecordForm.vue deleted file mode 100644 index eb626f0..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/followup/FollowUpRecordForm.vue +++ /dev/null @@ -1,188 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/followup/components/FollowUpRecordBusinessForm.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/followup/components/FollowUpRecordBusinessForm.vue deleted file mode 100644 index 620b5fb..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/followup/components/FollowUpRecordBusinessForm.vue +++ /dev/null @@ -1,42 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/followup/components/FollowUpRecordContactForm.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/followup/components/FollowUpRecordContactForm.vue deleted file mode 100644 index b3b5d3a..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/followup/components/FollowUpRecordContactForm.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/followup/index.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/followup/index.vue deleted file mode 100644 index d0b2271..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/followup/index.vue +++ /dev/null @@ -1,167 +0,0 @@ - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/permission/components/PermissionForm.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/permission/components/PermissionForm.vue deleted file mode 100644 index 9cf8867..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/permission/components/PermissionForm.vue +++ /dev/null @@ -1,137 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/permission/components/PermissionList.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/permission/components/PermissionList.vue deleted file mode 100644 index 39c7aab..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/permission/components/PermissionList.vue +++ /dev/null @@ -1,206 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/permission/components/TransferForm.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/permission/components/TransferForm.vue deleted file mode 100644 index 311071b..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/permission/components/TransferForm.vue +++ /dev/null @@ -1,162 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/product/ProductForm.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/product/ProductForm.vue deleted file mode 100644 index 1bc5aac..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/product/ProductForm.vue +++ /dev/null @@ -1,212 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/product/category/ProductCategoryForm.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/product/category/ProductCategoryForm.vue deleted file mode 100644 index 0373fc3..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/product/category/ProductCategoryForm.vue +++ /dev/null @@ -1,110 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/product/category/index.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/product/category/index.vue deleted file mode 100644 index 631c170..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/product/category/index.vue +++ /dev/null @@ -1,139 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/product/detail/ProductDetailsHeader.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/product/detail/ProductDetailsHeader.vue deleted file mode 100644 index 11286d6..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/product/detail/ProductDetailsHeader.vue +++ /dev/null @@ -1,46 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/product/detail/ProductDetailsInfo.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/product/detail/ProductDetailsInfo.vue deleted file mode 100644 index 52a11e9..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/product/detail/ProductDetailsInfo.vue +++ /dev/null @@ -1,38 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/product/detail/index.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/product/detail/index.vue deleted file mode 100644 index ff9efd9..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/product/detail/index.vue +++ /dev/null @@ -1,66 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/product/index.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/product/index.vue deleted file mode 100644 index 5d656df..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/product/index.vue +++ /dev/null @@ -1,230 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/receivable/ReceivableForm.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/receivable/ReceivableForm.vue deleted file mode 100644 index a44164a..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/receivable/ReceivableForm.vue +++ /dev/null @@ -1,293 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/receivable/components/ReceivableList.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/receivable/components/ReceivableList.vue deleted file mode 100644 index 67287ea..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/receivable/components/ReceivableList.vue +++ /dev/null @@ -1,164 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/receivable/detail/ReceivableDetailsHeader.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/receivable/detail/ReceivableDetailsHeader.vue deleted file mode 100644 index 62201de..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/receivable/detail/ReceivableDetailsHeader.vue +++ /dev/null @@ -1,43 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/receivable/detail/ReceivableDetailsInfo.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/receivable/detail/ReceivableDetailsInfo.vue deleted file mode 100644 index 003029f..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/receivable/detail/ReceivableDetailsInfo.vue +++ /dev/null @@ -1,62 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/receivable/detail/index.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/receivable/detail/index.vue deleted file mode 100644 index 3603572..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/receivable/detail/index.vue +++ /dev/null @@ -1,100 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/receivable/index.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/receivable/index.vue deleted file mode 100644 index 6928942..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/receivable/index.vue +++ /dev/null @@ -1,335 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/receivable/plan/ReceivablePlanForm.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/receivable/plan/ReceivablePlanForm.vue deleted file mode 100644 index 0d4ef17..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/receivable/plan/ReceivablePlanForm.vue +++ /dev/null @@ -1,239 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/receivable/plan/components/ReceivablePlanList.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/receivable/plan/components/ReceivablePlanList.vue deleted file mode 100644 index 3b80526..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/receivable/plan/components/ReceivablePlanList.vue +++ /dev/null @@ -1,173 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/receivable/plan/detail/ReceivablePlanDetailsHeader.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/receivable/plan/detail/ReceivablePlanDetailsHeader.vue deleted file mode 100644 index b0e0044..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/receivable/plan/detail/ReceivablePlanDetailsHeader.vue +++ /dev/null @@ -1,44 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/receivable/plan/detail/ReceivablePlanDetailsInfo.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/receivable/plan/detail/ReceivablePlanDetailsInfo.vue deleted file mode 100644 index c25259b..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/receivable/plan/detail/ReceivablePlanDetailsInfo.vue +++ /dev/null @@ -1,83 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/receivable/plan/detail/index.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/receivable/plan/detail/index.vue deleted file mode 100644 index fba8694..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/receivable/plan/detail/index.vue +++ /dev/null @@ -1,103 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/receivable/plan/index.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/receivable/plan/index.vue deleted file mode 100644 index 43abe15..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/receivable/plan/index.vue +++ /dev/null @@ -1,335 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/customer/components/CustomerConversionStat.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/customer/components/CustomerConversionStat.vue deleted file mode 100644 index 4f5c50c..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/customer/components/CustomerConversionStat.vue +++ /dev/null @@ -1,170 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/customer/components/CustomerDealCycleByArea.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/customer/components/CustomerDealCycleByArea.vue deleted file mode 100644 index 9aa6d5e..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/customer/components/CustomerDealCycleByArea.vue +++ /dev/null @@ -1,153 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/customer/components/CustomerDealCycleByProduct.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/customer/components/CustomerDealCycleByProduct.vue deleted file mode 100644 index 74558d1..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/customer/components/CustomerDealCycleByProduct.vue +++ /dev/null @@ -1,153 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/customer/components/CustomerDealCycleByUser.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/customer/components/CustomerDealCycleByUser.vue deleted file mode 100644 index e3d877e..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/customer/components/CustomerDealCycleByUser.vue +++ /dev/null @@ -1,154 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/customer/components/CustomerFollowUpSummary.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/customer/components/CustomerFollowUpSummary.vue deleted file mode 100644 index eeb0ff0..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/customer/components/CustomerFollowUpSummary.vue +++ /dev/null @@ -1,156 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/customer/components/CustomerFollowUpType.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/customer/components/CustomerFollowUpType.vue deleted file mode 100644 index 3d8d873..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/customer/components/CustomerFollowUpType.vue +++ /dev/null @@ -1,120 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/customer/components/CustomerPoolSummary.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/customer/components/CustomerPoolSummary.vue deleted file mode 100644 index 5f0606a..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/customer/components/CustomerPoolSummary.vue +++ /dev/null @@ -1,154 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/customer/components/CustomerSummary.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/customer/components/CustomerSummary.vue deleted file mode 100644 index d1429c2..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/customer/components/CustomerSummary.vue +++ /dev/null @@ -1,183 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/customer/index.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/customer/index.vue deleted file mode 100644 index 207dc35..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/customer/index.vue +++ /dev/null @@ -1,214 +0,0 @@ - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/funnel/components/BusinessInversionRateSummary.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/funnel/components/BusinessInversionRateSummary.vue deleted file mode 100644 index 541d6fc..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/funnel/components/BusinessInversionRateSummary.vue +++ /dev/null @@ -1,307 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/funnel/components/BusinessSummary.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/funnel/components/BusinessSummary.vue deleted file mode 100644 index 942a712..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/funnel/components/BusinessSummary.vue +++ /dev/null @@ -1,259 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/funnel/components/FunnelBusiness.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/funnel/components/FunnelBusiness.vue deleted file mode 100644 index c4e4bf6..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/funnel/components/FunnelBusiness.vue +++ /dev/null @@ -1,149 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/funnel/index.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/funnel/index.vue deleted file mode 100644 index 804cb49..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/funnel/index.vue +++ /dev/null @@ -1,171 +0,0 @@ - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/performance/components/ContractCountPerformance.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/performance/components/ContractCountPerformance.vue deleted file mode 100644 index f911bb2..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/performance/components/ContractCountPerformance.vue +++ /dev/null @@ -1,229 +0,0 @@ - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/performance/components/ContractPricePerformance.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/performance/components/ContractPricePerformance.vue deleted file mode 100644 index f97b612..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/performance/components/ContractPricePerformance.vue +++ /dev/null @@ -1,229 +0,0 @@ - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/performance/components/ReceivablePricePerformance.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/performance/components/ReceivablePricePerformance.vue deleted file mode 100644 index 14f5990..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/performance/components/ReceivablePricePerformance.vue +++ /dev/null @@ -1,232 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/performance/index.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/performance/index.vue deleted file mode 100644 index 4a443c5..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/performance/index.vue +++ /dev/null @@ -1,157 +0,0 @@ - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/portrait/components/PortraitCustomerArea.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/portrait/components/PortraitCustomerArea.vue deleted file mode 100644 index 513936c..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/portrait/components/PortraitCustomerArea.vue +++ /dev/null @@ -1,147 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/portrait/components/PortraitCustomerIndustry.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/portrait/components/PortraitCustomerIndustry.vue deleted file mode 100644 index d426993..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/portrait/components/PortraitCustomerIndustry.vue +++ /dev/null @@ -1,198 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/portrait/components/PortraitCustomerLevel.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/portrait/components/PortraitCustomerLevel.vue deleted file mode 100644 index 653feef..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/portrait/components/PortraitCustomerLevel.vue +++ /dev/null @@ -1,198 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/portrait/components/PortraitCustomerSource.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/portrait/components/PortraitCustomerSource.vue deleted file mode 100644 index ade6445..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/portrait/components/PortraitCustomerSource.vue +++ /dev/null @@ -1,198 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/portrait/index.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/portrait/index.vue deleted file mode 100644 index 71807e1..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/portrait/index.vue +++ /dev/null @@ -1,156 +0,0 @@ - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/rank/components/ContactCountRank.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/rank/components/ContactCountRank.vue deleted file mode 100644 index 5edc118..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/rank/components/ContactCountRank.vue +++ /dev/null @@ -1,98 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/rank/components/ContractCountRank.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/rank/components/ContractCountRank.vue deleted file mode 100644 index fc50a6d..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/rank/components/ContractCountRank.vue +++ /dev/null @@ -1,98 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/rank/components/ContractPriceRank.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/rank/components/ContractPriceRank.vue deleted file mode 100644 index b69ebd2..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/rank/components/ContractPriceRank.vue +++ /dev/null @@ -1,105 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/rank/components/CustomerCountRank.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/rank/components/CustomerCountRank.vue deleted file mode 100644 index b66a681..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/rank/components/CustomerCountRank.vue +++ /dev/null @@ -1,98 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/rank/components/FollowCountRank.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/rank/components/FollowCountRank.vue deleted file mode 100644 index 43352ab..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/rank/components/FollowCountRank.vue +++ /dev/null @@ -1,98 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/rank/components/FollowCustomerCountRank.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/rank/components/FollowCustomerCountRank.vue deleted file mode 100644 index 92a2205..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/rank/components/FollowCustomerCountRank.vue +++ /dev/null @@ -1,98 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/rank/components/ProductSalesRank.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/rank/components/ProductSalesRank.vue deleted file mode 100644 index e2a02b7..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/rank/components/ProductSalesRank.vue +++ /dev/null @@ -1,98 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/rank/components/ReceivablePriceRank.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/rank/components/ReceivablePriceRank.vue deleted file mode 100644 index 06d7d9f..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/rank/components/ReceivablePriceRank.vue +++ /dev/null @@ -1,106 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/rank/index.vue b/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/rank/index.vue deleted file mode 100644 index 98340cc..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/crm/statistics/rank/index.vue +++ /dev/null @@ -1,163 +0,0 @@ - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/finance/account/AccountForm.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/finance/account/AccountForm.vue deleted file mode 100644 index 2f2e6f4..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/finance/account/AccountForm.vue +++ /dev/null @@ -1,124 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/finance/account/index.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/finance/account/index.vue deleted file mode 100644 index 8d85ef3..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/finance/account/index.vue +++ /dev/null @@ -1,235 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/finance/payment/FinancePaymentForm.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/finance/payment/FinancePaymentForm.vue deleted file mode 100644 index 3da2e6e..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/finance/payment/FinancePaymentForm.vue +++ /dev/null @@ -1,278 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/finance/payment/components/FinancePaymentItemForm.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/finance/payment/components/FinancePaymentItemForm.vue deleted file mode 100644 index ea0e085..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/finance/payment/components/FinancePaymentItemForm.vue +++ /dev/null @@ -1,182 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/finance/payment/index.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/finance/payment/index.vue deleted file mode 100644 index 56bc83d..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/finance/payment/index.vue +++ /dev/null @@ -1,394 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/finance/receipt/FinanceReceiptForm.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/finance/receipt/FinanceReceiptForm.vue deleted file mode 100644 index 96826eb..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/finance/receipt/FinanceReceiptForm.vue +++ /dev/null @@ -1,278 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/finance/receipt/components/FinanceReceiptItemForm.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/finance/receipt/components/FinanceReceiptItemForm.vue deleted file mode 100644 index 1a48b41..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/finance/receipt/components/FinanceReceiptItemForm.vue +++ /dev/null @@ -1,176 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/finance/receipt/index.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/finance/receipt/index.vue deleted file mode 100644 index 1c8f82f..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/finance/receipt/index.vue +++ /dev/null @@ -1,394 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/home/components/SummaryCard.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/home/components/SummaryCard.vue deleted file mode 100644 index 21a02e2..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/home/components/SummaryCard.vue +++ /dev/null @@ -1,21 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/home/components/TimeSummaryChart.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/home/components/TimeSummaryChart.vue deleted file mode 100644 index 127fa87..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/home/components/TimeSummaryChart.vue +++ /dev/null @@ -1,86 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/home/index.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/home/index.vue deleted file mode 100644 index e399f9a..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/home/index.vue +++ /dev/null @@ -1,93 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/product/category/ProductCategoryForm.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/product/category/ProductCategoryForm.vue deleted file mode 100644 index cef420c..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/product/category/ProductCategoryForm.vue +++ /dev/null @@ -1,145 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/product/category/index.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/product/category/index.vue deleted file mode 100644 index 281835d..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/product/category/index.vue +++ /dev/null @@ -1,218 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/product/product/ProductForm.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/product/product/ProductForm.vue deleted file mode 100644 index 3f9de0a..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/product/product/ProductForm.vue +++ /dev/null @@ -1,242 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/product/product/index.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/product/product/index.vue deleted file mode 100644 index 4eeba1e..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/product/product/index.vue +++ /dev/null @@ -1,224 +0,0 @@ - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/product/unit/ProductUnitForm.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/product/unit/ProductUnitForm.vue deleted file mode 100644 index ca14ff4..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/product/unit/ProductUnitForm.vue +++ /dev/null @@ -1,108 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/product/unit/index.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/product/unit/index.vue deleted file mode 100644 index 04259ac..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/product/unit/index.vue +++ /dev/null @@ -1,198 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/in/PurchaseInForm.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/in/PurchaseInForm.vue deleted file mode 100644 index c59d7df..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/in/PurchaseInForm.vue +++ /dev/null @@ -1,325 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/in/components/PurchaseInItemForm.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/in/components/PurchaseInItemForm.vue deleted file mode 100644 index 64377bc..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/in/components/PurchaseInItemForm.vue +++ /dev/null @@ -1,300 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/in/components/PurchaseInPaymentEnableList.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/in/components/PurchaseInPaymentEnableList.vue deleted file mode 100644 index afaa644..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/in/components/PurchaseInPaymentEnableList.vue +++ /dev/null @@ -1,199 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/in/index.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/in/index.vue deleted file mode 100644 index ce8ecee..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/in/index.vue +++ /dev/null @@ -1,443 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/order/PurchaseOrderForm.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/order/PurchaseOrderForm.vue deleted file mode 100644 index a7a6eec..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/order/PurchaseOrderForm.vue +++ /dev/null @@ -1,269 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/order/components/PurchaseOrderInEnableList.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/order/components/PurchaseOrderInEnableList.vue deleted file mode 100644 index e10694a..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/order/components/PurchaseOrderInEnableList.vue +++ /dev/null @@ -1,205 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/order/components/PurchaseOrderItemForm.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/order/components/PurchaseOrderItemForm.vue deleted file mode 100644 index 265193e..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/order/components/PurchaseOrderItemForm.vue +++ /dev/null @@ -1,271 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/order/components/PurchaseOrderReturnEnableList.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/order/components/PurchaseOrderReturnEnableList.vue deleted file mode 100644 index cac2bbc..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/order/components/PurchaseOrderReturnEnableList.vue +++ /dev/null @@ -1,212 +0,0 @@ - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/order/index.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/order/index.vue deleted file mode 100644 index f179fa9..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/order/index.vue +++ /dev/null @@ -1,407 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/return/PurchaseReturnForm.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/return/PurchaseReturnForm.vue deleted file mode 100644 index e37fa09..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/return/PurchaseReturnForm.vue +++ /dev/null @@ -1,328 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/return/components/PurchaseReturnItemForm.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/return/components/PurchaseReturnItemForm.vue deleted file mode 100644 index 2d3e8c5..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/return/components/PurchaseReturnItemForm.vue +++ /dev/null @@ -1,300 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/return/components/PurchaseReturnRefundEnableList.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/return/components/PurchaseReturnRefundEnableList.vue deleted file mode 100644 index a95749e..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/return/components/PurchaseReturnRefundEnableList.vue +++ /dev/null @@ -1,200 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/return/index.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/return/index.vue deleted file mode 100644 index 545d18a..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/return/index.vue +++ /dev/null @@ -1,443 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/supplier/SupplierForm.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/supplier/SupplierForm.vue deleted file mode 100644 index d3c433c..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/supplier/SupplierForm.vue +++ /dev/null @@ -1,210 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/supplier/index.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/supplier/index.vue deleted file mode 100644 index 4d3a405..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/purchase/supplier/index.vue +++ /dev/null @@ -1,201 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/sale/customer/CustomerForm.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/sale/customer/CustomerForm.vue deleted file mode 100644 index da6e004..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/sale/customer/CustomerForm.vue +++ /dev/null @@ -1,210 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/sale/customer/index.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/sale/customer/index.vue deleted file mode 100644 index c79bbe8..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/sale/customer/index.vue +++ /dev/null @@ -1,201 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/sale/order/SaleOrderForm.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/sale/order/SaleOrderForm.vue deleted file mode 100644 index 30b2b30..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/sale/order/SaleOrderForm.vue +++ /dev/null @@ -1,289 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/sale/order/components/SaleOrderItemForm.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/sale/order/components/SaleOrderItemForm.vue deleted file mode 100644 index 3a579d5..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/sale/order/components/SaleOrderItemForm.vue +++ /dev/null @@ -1,271 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/sale/order/components/SaleOrderOutEnableList.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/sale/order/components/SaleOrderOutEnableList.vue deleted file mode 100644 index 55de745..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/sale/order/components/SaleOrderOutEnableList.vue +++ /dev/null @@ -1,206 +0,0 @@ - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/sale/order/components/SaleOrderReturnEnableList.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/sale/order/components/SaleOrderReturnEnableList.vue deleted file mode 100644 index a93a997..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/sale/order/components/SaleOrderReturnEnableList.vue +++ /dev/null @@ -1,212 +0,0 @@ - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/sale/order/index.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/sale/order/index.vue deleted file mode 100644 index deb03c0..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/sale/order/index.vue +++ /dev/null @@ -1,407 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/sale/out/SaleOutForm.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/sale/out/SaleOutForm.vue deleted file mode 100644 index 7d47713..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/sale/out/SaleOutForm.vue +++ /dev/null @@ -1,343 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/sale/out/components/SaleOutItemForm.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/sale/out/components/SaleOutItemForm.vue deleted file mode 100644 index 15cbef0..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/sale/out/components/SaleOutItemForm.vue +++ /dev/null @@ -1,300 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/sale/out/components/SaleOutReceiptEnableList.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/sale/out/components/SaleOutReceiptEnableList.vue deleted file mode 100644 index 0c4a21d..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/sale/out/components/SaleOutReceiptEnableList.vue +++ /dev/null @@ -1,199 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/sale/out/index.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/sale/out/index.vue deleted file mode 100644 index bd143b9..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/sale/out/index.vue +++ /dev/null @@ -1,438 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/sale/return/SaleReturnForm.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/sale/return/SaleReturnForm.vue deleted file mode 100644 index b10403b..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/sale/return/SaleReturnForm.vue +++ /dev/null @@ -1,341 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/sale/return/components/SaleReturnItemForm.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/sale/return/components/SaleReturnItemForm.vue deleted file mode 100644 index adb9fd4..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/sale/return/components/SaleReturnItemForm.vue +++ /dev/null @@ -1,300 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/sale/return/components/SaleReturnRefundEnableList.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/sale/return/components/SaleReturnRefundEnableList.vue deleted file mode 100644 index dc875e6..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/sale/return/components/SaleReturnRefundEnableList.vue +++ /dev/null @@ -1,199 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/sale/return/index.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/sale/return/index.vue deleted file mode 100644 index c88f584..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/sale/return/index.vue +++ /dev/null @@ -1,443 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/stock/check/StockCheckForm.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/stock/check/StockCheckForm.vue deleted file mode 100644 index 9e7f673..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/stock/check/StockCheckForm.vue +++ /dev/null @@ -1,148 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/stock/check/components/StockCheckItemForm.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/stock/check/components/StockCheckItemForm.vue deleted file mode 100644 index 6036311..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/stock/check/components/StockCheckItemForm.vue +++ /dev/null @@ -1,289 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/stock/check/index.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/stock/check/index.vue deleted file mode 100644 index f661ab7..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/stock/check/index.vue +++ /dev/null @@ -1,359 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/stock/in/StockInForm.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/stock/in/StockInForm.vue deleted file mode 100644 index f36bbb6..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/stock/in/StockInForm.vue +++ /dev/null @@ -1,170 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/stock/in/components/StockInItemForm.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/stock/in/components/StockInItemForm.vue deleted file mode 100644 index 53a2fd2..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/stock/in/components/StockInItemForm.vue +++ /dev/null @@ -1,267 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/stock/in/index.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/stock/in/index.vue deleted file mode 100644 index 5a8f6cf..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/stock/in/index.vue +++ /dev/null @@ -1,376 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/stock/move/StockMoveForm.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/stock/move/StockMoveForm.vue deleted file mode 100644 index df942c6..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/stock/move/StockMoveForm.vue +++ /dev/null @@ -1,148 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/stock/move/components/StockMoveItemForm.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/stock/move/components/StockMoveItemForm.vue deleted file mode 100644 index 8971956..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/stock/move/components/StockMoveItemForm.vue +++ /dev/null @@ -1,292 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/stock/move/index.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/stock/move/index.vue deleted file mode 100644 index 76ea653..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/stock/move/index.vue +++ /dev/null @@ -1,359 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/stock/out/StockOutForm.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/stock/out/StockOutForm.vue deleted file mode 100644 index 8ae8d63..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/stock/out/StockOutForm.vue +++ /dev/null @@ -1,170 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/stock/out/components/StockOutItemForm.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/stock/out/components/StockOutItemForm.vue deleted file mode 100644 index b09a569..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/stock/out/components/StockOutItemForm.vue +++ /dev/null @@ -1,267 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/stock/out/index.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/stock/out/index.vue deleted file mode 100644 index 555b985..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/stock/out/index.vue +++ /dev/null @@ -1,378 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/stock/record/index.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/stock/record/index.vue deleted file mode 100644 index 6946a19..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/stock/record/index.vue +++ /dev/null @@ -1,250 +0,0 @@ - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/stock/stock/index.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/stock/stock/index.vue deleted file mode 100644 index 4d80117..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/stock/stock/index.vue +++ /dev/null @@ -1,186 +0,0 @@ - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/stock/warehouse/WarehouseForm.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/stock/warehouse/WarehouseForm.vue deleted file mode 100644 index ea88a18..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/stock/warehouse/WarehouseForm.vue +++ /dev/null @@ -1,157 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/erp/stock/warehouse/index.vue b/hangtag-ui/hangtag-ui-front/src/views/erp/stock/warehouse/index.vue deleted file mode 100644 index 40bdebe..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/erp/stock/warehouse/index.vue +++ /dev/null @@ -1,242 +0,0 @@ - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/home/components/ComparisonCard.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/home/components/ComparisonCard.vue deleted file mode 100644 index ee1c2f0..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/home/components/ComparisonCard.vue +++ /dev/null @@ -1,42 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/home/components/MemberStatisticsCard.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/home/components/MemberStatisticsCard.vue deleted file mode 100644 index 2f9d7ab..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/home/components/MemberStatisticsCard.vue +++ /dev/null @@ -1,91 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/home/components/OperationDataCard.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/home/components/OperationDataCard.vue deleted file mode 100644 index b905203..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/home/components/OperationDataCard.vue +++ /dev/null @@ -1,92 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/home/components/ShortcutCard.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/home/components/ShortcutCard.vue deleted file mode 100644 index cea9113..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/home/components/ShortcutCard.vue +++ /dev/null @@ -1,82 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/home/components/TradeTrendCard.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/home/components/TradeTrendCard.vue deleted file mode 100644 index a8cab82..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/home/components/TradeTrendCard.vue +++ /dev/null @@ -1,208 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/home/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/home/index.vue deleted file mode 100644 index 89baf33..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/home/index.vue +++ /dev/null @@ -1,113 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/product/brand/BrandForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/product/brand/BrandForm.vue deleted file mode 100644 index ab34737..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/product/brand/BrandForm.vue +++ /dev/null @@ -1,123 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/product/brand/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/product/brand/index.vue deleted file mode 100644 index 3e34b93..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/product/brand/index.vue +++ /dev/null @@ -1,182 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/product/category/CategoryForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/product/category/CategoryForm.vue deleted file mode 100644 index 7f20927..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/product/category/CategoryForm.vue +++ /dev/null @@ -1,135 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/product/category/components/ProductCategorySelect.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/product/category/components/ProductCategorySelect.vue deleted file mode 100644 index c1810f5..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/product/category/components/ProductCategorySelect.vue +++ /dev/null @@ -1,51 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/product/category/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/product/category/index.vue deleted file mode 100644 index b801cb2..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/product/category/index.vue +++ /dev/null @@ -1,149 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/product/comment/CommentForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/product/comment/CommentForm.vue deleted file mode 100644 index b8d700c..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/product/comment/CommentForm.vue +++ /dev/null @@ -1,167 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/product/comment/ReplyForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/product/comment/ReplyForm.vue deleted file mode 100644 index 4c8bd4d..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/product/comment/ReplyForm.vue +++ /dev/null @@ -1,76 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/product/comment/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/product/comment/index.vue deleted file mode 100644 index 8854fdb..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/product/comment/index.vue +++ /dev/null @@ -1,244 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/product/property/PropertyForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/product/property/PropertyForm.vue deleted file mode 100644 index db90beb..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/product/property/PropertyForm.vue +++ /dev/null @@ -1,96 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/product/property/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/product/property/index.vue deleted file mode 100644 index ac3401a..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/product/property/index.vue +++ /dev/null @@ -1,177 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/product/property/value/ValueForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/product/property/value/ValueForm.vue deleted file mode 100644 index 9e72c09..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/product/property/value/ValueForm.vue +++ /dev/null @@ -1,105 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/product/property/value/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/product/property/value/index.vue deleted file mode 100644 index d708172..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/product/property/value/index.vue +++ /dev/null @@ -1,163 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/components/SkuList.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/components/SkuList.vue deleted file mode 100644 index 2befe64..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/components/SkuList.vue +++ /dev/null @@ -1,564 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/components/SkuTableSelect.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/components/SkuTableSelect.vue deleted file mode 100644 index 13d6ad1..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/components/SkuTableSelect.vue +++ /dev/null @@ -1,95 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/components/SpuShowcase.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/components/SpuShowcase.vue deleted file mode 100644 index 8bee400..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/components/SpuShowcase.vue +++ /dev/null @@ -1,142 +0,0 @@ - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/components/SpuTableSelect.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/components/SpuTableSelect.vue deleted file mode 100644 index 8028f74..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/components/SpuTableSelect.vue +++ /dev/null @@ -1,303 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/components/index.ts b/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/components/index.ts deleted file mode 100644 index e2cbe73..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/components/index.ts +++ /dev/null @@ -1,54 +0,0 @@ -import SkuList from './SkuList.vue' -import { Spu } from '@/api/mall/product/spu' - -interface PropertyAndValues { - id: number - name: string - values?: PropertyAndValues[] -} - -interface RuleConfig { - // 需要校验的字段 - // 例:name: 'name' 则表示校验 sku.name 的值 - // 例:name: 'productConfig.stock' 则表示校验 sku.productConfig.name 的值,此处 productConfig 表示我在 Sku 上扩展的属性 - name: string - // 校验规格为一个毁掉函数,其中 arg 为需要校验的字段的值。 - // 例:需要校验价格必须大于0.01 - // { - // name:'price', - // rule:(arg: number) => arg > 0.01 - // } - rule: (arg: any) => boolean - // 校验不通过时的消息提示 - message: string -} - -/** - * 获得商品的规格列表 - 商品相关的公共函数 - * - * @param spu - * @return PropertyAndValues 规格列表 - */ -const getPropertyList = (spu: Spu): PropertyAndValues[] => { - // 直接拿返回的 skus 属性逆向生成出 propertyList - const properties: PropertyAndValues[] = [] - // 只有是多规格才处理 - if (spu.specType) { - spu.skus?.forEach((sku) => { - sku.properties?.forEach(({ propertyId, propertyName, valueId, valueName }) => { - // 添加属性 - if (!properties?.some((item) => item.id === propertyId)) { - properties.push({ id: propertyId!, name: propertyName!, values: [] }) - } - // 添加属性值 - const index = properties?.findIndex((item) => item.id === propertyId) - if (!properties[index].values?.some((value) => value.id === valueId)) { - properties[index].values?.push({ id: valueId!, name: valueName! }) - } - }) - }) - } - return properties -} - -export { SkuList, PropertyAndValues, RuleConfig, getPropertyList } diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/form/DeliveryForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/form/DeliveryForm.vue deleted file mode 100644 index 1503122..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/form/DeliveryForm.vue +++ /dev/null @@ -1,96 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/form/DescriptionForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/form/DescriptionForm.vue deleted file mode 100644 index 2980aa4..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/form/DescriptionForm.vue +++ /dev/null @@ -1,81 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/form/InfoForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/form/InfoForm.vue deleted file mode 100644 index 76a0970..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/form/InfoForm.vue +++ /dev/null @@ -1,142 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/form/OtherForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/form/OtherForm.vue deleted file mode 100644 index e7e6358..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/form/OtherForm.vue +++ /dev/null @@ -1,91 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/form/ProductAttributes.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/form/ProductAttributes.vue deleted file mode 100644 index 28962f4..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/form/ProductAttributes.vue +++ /dev/null @@ -1,125 +0,0 @@ - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/form/ProductPropertyAddForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/form/ProductPropertyAddForm.vue deleted file mode 100644 index 9a8eee0..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/form/ProductPropertyAddForm.vue +++ /dev/null @@ -1,96 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/form/SkuForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/form/SkuForm.vue deleted file mode 100644 index 0bd7972..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/form/SkuForm.vue +++ /dev/null @@ -1,187 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/form/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/form/index.vue deleted file mode 100644 index de87452..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/form/index.vue +++ /dev/null @@ -1,204 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/index.vue deleted file mode 100644 index d77d25e..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/product/spu/index.vue +++ /dev/null @@ -1,451 +0,0 @@ - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/article/ArticleForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/article/ArticleForm.vue deleted file mode 100644 index 1e44fad..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/article/ArticleForm.vue +++ /dev/null @@ -1,225 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/article/category/ArticleCategoryForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/article/category/ArticleCategoryForm.vue deleted file mode 100644 index f8da3bc..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/article/category/ArticleCategoryForm.vue +++ /dev/null @@ -1,122 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/article/category/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/article/category/index.vue deleted file mode 100644 index 73d1420..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/article/category/index.vue +++ /dev/null @@ -1,199 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/article/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/article/index.vue deleted file mode 100644 index 20ad4ce..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/article/index.vue +++ /dev/null @@ -1,229 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/banner/BannerForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/banner/BannerForm.vue deleted file mode 100644 index 03bca0f..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/banner/BannerForm.vue +++ /dev/null @@ -1,159 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/banner/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/banner/index.vue deleted file mode 100644 index e25431a..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/banner/index.vue +++ /dev/null @@ -1,206 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/bargain/activity/BargainActivityForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/bargain/activity/BargainActivityForm.vue deleted file mode 100644 index d8d1463..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/bargain/activity/BargainActivityForm.vue +++ /dev/null @@ -1,233 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/bargain/activity/bargainActivity.data.ts b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/bargain/activity/bargainActivity.data.ts deleted file mode 100644 index 2b124c4..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/bargain/activity/bargainActivity.data.ts +++ /dev/null @@ -1,146 +0,0 @@ -import type { CrudSchema } from '@/hooks/web/useCrudSchemas' -import { dateFormatter2 } from '@/utils/formatTime' - -// 表单校验 -export const rules = reactive({ - name: [required], - startTime: [required], - endTime: [required], - helpMaxCount: [required], - bargainCount: [required], - singleLimitCount: [required] -}) - -// CrudSchema https://doc.iocoder.cn/vue3/crud-schema/ -const crudSchemas = reactive([ - { - label: '砍价活动名称', - field: 'name', - isSearch: true, - isTable: false, - form: { - colProps: { - span: 24 - } - } - }, - { - label: '活动开始时间', - field: 'startTime', - formatter: dateFormatter2, - isSearch: true, - search: { - component: 'DatePicker', - componentProps: { - valueFormat: 'YYYY-MM-DD', - type: 'daterange' - } - }, - form: { - component: 'DatePicker', - componentProps: { - type: 'date', - valueFormat: 'x' - } - }, - table: { - width: 120 - } - }, - { - label: '活动结束时间', - field: 'endTime', - formatter: dateFormatter2, - isSearch: true, - search: { - component: 'DatePicker', - componentProps: { - valueFormat: 'YYYY-MM-DD', - type: 'daterange' - } - }, - form: { - component: 'DatePicker', - componentProps: { - type: 'date', - valueFormat: 'x' - } - }, - table: { - width: 120 - } - }, - { - label: '砍价人数', - field: 'helpMaxCount', - isSearch: false, - form: { - component: 'InputNumber', - labelMessage: '参与人数不能少于两人', - value: 2 - } - }, - { - label: '最大帮砍次数', - field: 'bargainCount', - isSearch: false, - form: { - component: 'InputNumber', - labelMessage: '参与人数不能少于两人', - value: 2 - } - }, - { - label: '总限购数量', - field: 'totalLimitCount', - isSearch: false, - form: { - component: 'InputNumber', - labelMessage: '用户最大能发起砍价的次数', - value: 0 - } - }, - { - label: '砍价的最小金额', - field: 'randomMinPrice', - isSearch: false, - isTable: false, - form: { - component: 'InputNumber', - componentProps: { - min: 0, - precision: 2, - step: 0.1 - }, - labelMessage: '用户每次砍价的最小金额', - value: 0 - } - }, - { - label: '砍价的最大金额', - field: 'randomMaxPrice', - isSearch: false, - isTable: false, - form: { - component: 'InputNumber', - componentProps: { - min: 0, - precision: 2, - step: 0.1 - }, - labelMessage: '用户每次砍价的最大金额', - value: 0 - } - }, - { - label: '砍价商品', - field: 'spuId', - isSearch: false, - form: { - colProps: { - span: 24 - } - } - } -]) -export const { allSchemas } = useCrudSchemas(crudSchemas) diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/bargain/activity/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/bargain/activity/index.vue deleted file mode 100644 index 40449fe..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/bargain/activity/index.vue +++ /dev/null @@ -1,234 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/bargain/record/BargainRecordListDialog.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/bargain/record/BargainRecordListDialog.vue deleted file mode 100644 index 9637ac8..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/bargain/record/BargainRecordListDialog.vue +++ /dev/null @@ -1,90 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/bargain/record/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/bargain/record/index.vue deleted file mode 100644 index 306d8ea..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/bargain/record/index.vue +++ /dev/null @@ -1,197 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/combination/activity/CombinationActivityForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/combination/activity/CombinationActivityForm.vue deleted file mode 100644 index 5b6e582..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/combination/activity/CombinationActivityForm.vue +++ /dev/null @@ -1,187 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/combination/activity/combinationActivity.data.ts b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/combination/activity/combinationActivity.data.ts deleted file mode 100644 index dd3e48f..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/combination/activity/combinationActivity.data.ts +++ /dev/null @@ -1,140 +0,0 @@ -import type { CrudSchema } from '@/hooks/web/useCrudSchemas' -import { dateFormatter2 } from '@/utils/formatTime' - -// 表单校验 -export const rules = reactive({ - name: [required], - totalLimitCount: [required], - singleLimitCount: [required], - startTime: [required], - endTime: [required], - userSize: [required], - limitDuration: [required], - virtualGroup: [required] -}) - -// CrudSchema https://doc.iocoder.cn/vue3/crud-schema/ -const crudSchemas = reactive([ - { - label: '拼团名称', - field: 'name', - isSearch: true, - isTable: false, - form: { - colProps: { - span: 24 - } - } - }, - { - label: '活动开始时间', - field: 'startTime', - formatter: dateFormatter2, - isSearch: true, - search: { - component: 'DatePicker', - componentProps: { - valueFormat: 'YYYY-MM-DD', - type: 'daterange' - } - }, - form: { - component: 'DatePicker', - componentProps: { - type: 'date', - valueFormat: 'x' - } - }, - table: { - width: 120 - } - }, - { - label: '活动结束时间', - field: 'endTime', - formatter: dateFormatter2, - isSearch: true, - search: { - component: 'DatePicker', - componentProps: { - valueFormat: 'YYYY-MM-DD', - type: 'daterange' - } - }, - form: { - component: 'DatePicker', - componentProps: { - type: 'date', - valueFormat: 'x' - } - }, - table: { - width: 120 - } - }, - { - label: '参与人数', - field: 'userSize', - isSearch: false, - form: { - component: 'InputNumber', - labelMessage: '参与人数不能少于两人', - value: 2 - } - }, - { - label: '限制时长', - field: 'limitDuration', - isSearch: false, - isTable: false, - form: { - component: 'InputNumber', - labelMessage: '限制时长(小时)', - componentProps: { - placeholder: '请输入限制时长(小时)' - } - } - }, - { - label: '总限购数量', - field: 'totalLimitCount', - isSearch: false, - isTable: false, - form: { - component: 'InputNumber', - value: 0 - } - }, - { - label: '单次限购数量', - field: 'singleLimitCount', - isSearch: false, - isTable: false, - form: { - component: 'InputNumber', - value: 0 - } - }, - { - label: '虚拟成团', - field: 'virtualGroup', - dictType: DICT_TYPE.INFRA_BOOLEAN_STRING, - dictClass: 'boolean', - isSearch: true, - form: { - component: 'Radio', - value: false - } - }, - { - label: '拼团商品', - field: 'spuId', - isSearch: false, - form: { - colProps: { - span: 24 - } - } - } -]) -export const { allSchemas } = useCrudSchemas(crudSchemas) diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/combination/activity/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/combination/activity/index.vue deleted file mode 100644 index 02c7de2..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/combination/activity/index.vue +++ /dev/null @@ -1,236 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/combination/record/CombinationRecordListDialog.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/combination/record/CombinationRecordListDialog.vue deleted file mode 100644 index 13e04a1..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/combination/record/CombinationRecordListDialog.vue +++ /dev/null @@ -1,89 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/combination/record/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/combination/record/index.vue deleted file mode 100644 index 223a723..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/combination/record/index.vue +++ /dev/null @@ -1,276 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/components/SpuAndSkuList.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/components/SpuAndSkuList.vue deleted file mode 100644 index facc6cf..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/components/SpuAndSkuList.vue +++ /dev/null @@ -1,112 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/components/SpuSelect.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/components/SpuSelect.vue deleted file mode 100644 index fd7dffe..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/components/SpuSelect.vue +++ /dev/null @@ -1,317 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/components/index.ts b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/components/index.ts deleted file mode 100644 index b42c8ce..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/components/index.ts +++ /dev/null @@ -1,14 +0,0 @@ -import SpuSelect from './SpuSelect.vue' -import SpuAndSkuList from './SpuAndSkuList.vue' -import { PropertyAndValues } from '@/views/mall/product/spu/components' - -type SpuProperty = { - spuId: number - spuDetail: T - propertyList: PropertyAndValues[] -} - -/** - * 提供商品活动商品选择通用组件 - */ -export { SpuSelect, SpuAndSkuList, SpuProperty } diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/coupon/components/CouponSelect.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/coupon/components/CouponSelect.vue deleted file mode 100644 index 715dcb7..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/coupon/components/CouponSelect.vue +++ /dev/null @@ -1,219 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/coupon/components/CouponSendForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/coupon/components/CouponSendForm.vue deleted file mode 100644 index be0223a..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/coupon/components/CouponSendForm.vue +++ /dev/null @@ -1,162 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/coupon/components/index.ts b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/coupon/components/index.ts deleted file mode 100644 index 6a0e56f..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/coupon/components/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -import CouponSendForm from './CouponSendForm.vue' -import CouponSelect from './CouponSelect.vue' - -export { CouponSendForm, CouponSelect } diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/coupon/formatter.ts b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/coupon/formatter.ts deleted file mode 100644 index f00138a..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/coupon/formatter.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { CouponTemplateValidityTypeEnum, PromotionDiscountTypeEnum } from '@/utils/constants' -import { formatDate } from '@/utils/formatTime' -import { CouponTemplateVO } from '@/api/mall/promotion/coupon/couponTemplate' -import { floatToFixed2 } from '@/utils' - -// 格式化【优惠金额/折扣】 -export const discountFormat = (row: CouponTemplateVO) => { - if (row.discountType === PromotionDiscountTypeEnum.PRICE.type) { - return `¥${floatToFixed2(row.discountPrice)}` - } - if (row.discountType === PromotionDiscountTypeEnum.PERCENT.type) { - return `${row.discountPercent}%` - } - return '未知【' + row.discountType + '】' -} - -// 格式化【领取上限】 -export const takeLimitCountFormat = (row: CouponTemplateVO) => { - if (row.takeLimitCount === -1) { - return '无领取限制' - } - return `${row.takeLimitCount} 张/人` -} - -// 格式化【有效期限】 -export const validityTypeFormat = (row: CouponTemplateVO) => { - if (row.validityType === CouponTemplateValidityTypeEnum.DATE.type) { - return `${formatDate(row.validStartTime)} 至 ${formatDate(row.validEndTime)}` - } - if (row.validityType === CouponTemplateValidityTypeEnum.TERM.type) { - return `领取后第 ${row.fixedStartTerm} - ${row.fixedEndTerm} 天内可用` - } - return '未知【' + row.validityType + '】' -} - -// 格式化【剩余数量】 -export const remainedCountFormat = (row: CouponTemplateVO) => { - return row.totalCount - row.takeCount -} - -// 格式化【最低消费】 -export const usePriceFormat = (row: CouponTemplateVO) => { - return `¥${floatToFixed2(row.usePrice)}` -} diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/coupon/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/coupon/index.vue deleted file mode 100644 index 25d2e94..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/coupon/index.vue +++ /dev/null @@ -1,201 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/coupon/template/CouponTemplateForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/coupon/template/CouponTemplateForm.vue deleted file mode 100644 index 408f381..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/coupon/template/CouponTemplateForm.vue +++ /dev/null @@ -1,388 +0,0 @@ - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/coupon/template/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/coupon/template/index.vue deleted file mode 100644 index 657cead..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/coupon/template/index.vue +++ /dev/null @@ -1,278 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/discountActivity/DiscountActivityForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/discountActivity/DiscountActivityForm.vue deleted file mode 100644 index d7a9806..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/discountActivity/DiscountActivityForm.vue +++ /dev/null @@ -1,179 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/discountActivity/discountActivity.data.ts b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/discountActivity/discountActivity.data.ts deleted file mode 100644 index d79dcab..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/discountActivity/discountActivity.data.ts +++ /dev/null @@ -1,119 +0,0 @@ -import type { CrudSchema } from '@/hooks/web/useCrudSchemas' -import { dateFormatter2 } from '@/utils/formatTime' - -// TODO @zhangshai: -// 表单校验 -export const rules = reactive({ - spuId: [required], - name: [required], - startTime: [required], - endTime: [required], - discountType: [required] -}) - -// CrudSchema https://doc.iocoder.cn/vue3/crud-schema/ -const crudSchemas = reactive([ - { - label: '活动名称', - field: 'name', - isSearch: true, - form: { - colProps: { - span: 24 - } - }, - table: { - width: 120 - } - }, - { - label: '活动开始时间', - field: 'startTime', - formatter: dateFormatter2, - isSearch: true, - search: { - component: 'DatePicker', - componentProps: { - valueFormat: 'YYYY-MM-DD', - type: 'daterange' - } - }, - form: { - component: 'DatePicker', - componentProps: { - type: 'date', - valueFormat: 'x' - } - }, - table: { - width: 120 - } - }, - { - label: '活动结束时间', - field: 'endTime', - formatter: dateFormatter2, - isSearch: true, - search: { - component: 'DatePicker', - componentProps: { - valueFormat: 'YYYY-MM-DD', - type: 'daterange' - } - }, - form: { - component: 'DatePicker', - componentProps: { - type: 'date', - valueFormat: 'x' - } - }, - table: { - width: 120 - } - }, - { - label: '优惠类型', - field: 'discountType', - dictType: DICT_TYPE.PROMOTION_DISCOUNT_TYPE, - dictClass: 'number', - isSearch: true, - form: { - component: 'Radio', - value: 1 - } - }, - { - label: '活动商品', - field: 'spuId', - isTable: true, - isSearch: false, - form: { - colProps: { - span: 24 - } - }, - table: { - width: 300 - } - }, - { - label: '备注', - field: 'remark', - isSearch: false, - form: { - component: 'Input', - componentProps: { - type: 'textarea', - rows: 4 - }, - colProps: { - span: 24 - } - }, - table: { - width: 300 - } - } -]) -export const { allSchemas } = useCrudSchemas(crudSchemas) diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/discountActivity/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/discountActivity/index.vue deleted file mode 100644 index 7d73b51..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/discountActivity/index.vue +++ /dev/null @@ -1,239 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/diy/page/DiyPageForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/diy/page/DiyPageForm.vue deleted file mode 100644 index 4c47187..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/diy/page/DiyPageForm.vue +++ /dev/null @@ -1,104 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/diy/page/decorate.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/diy/page/decorate.vue deleted file mode 100644 index fa20c3e..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/diy/page/decorate.vue +++ /dev/null @@ -1,74 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/diy/page/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/diy/page/index.vue deleted file mode 100644 index f225332..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/diy/page/index.vue +++ /dev/null @@ -1,191 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/diy/template/DiyTemplateForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/diy/template/DiyTemplateForm.vue deleted file mode 100644 index f430d35..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/diy/template/DiyTemplateForm.vue +++ /dev/null @@ -1,104 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/diy/template/decorate.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/diy/template/decorate.vue deleted file mode 100644 index e7838f2..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/diy/template/decorate.vue +++ /dev/null @@ -1,167 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/diy/template/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/diy/template/index.vue deleted file mode 100644 index 50c5d29..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/diy/template/index.vue +++ /dev/null @@ -1,227 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/rewardActivity/RewardForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/rewardActivity/RewardForm.vue deleted file mode 100644 index 9fb69a5..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/rewardActivity/RewardForm.vue +++ /dev/null @@ -1,325 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/rewardActivity/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/rewardActivity/index.vue deleted file mode 100644 index 4f6f8a6..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/rewardActivity/index.vue +++ /dev/null @@ -1,193 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/seckill/activity/SeckillActivityForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/seckill/activity/SeckillActivityForm.vue deleted file mode 100644 index 486b71d..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/seckill/activity/SeckillActivityForm.vue +++ /dev/null @@ -1,196 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/seckill/activity/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/seckill/activity/index.vue deleted file mode 100644 index bffe265..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/seckill/activity/index.vue +++ /dev/null @@ -1,256 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/seckill/activity/seckillActivity.data.ts b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/seckill/activity/seckillActivity.data.ts deleted file mode 100644 index b6e6422..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/seckill/activity/seckillActivity.data.ts +++ /dev/null @@ -1,163 +0,0 @@ -import type { CrudSchema } from '@/hooks/web/useCrudSchemas' -import { dateFormatter2 } from '@/utils/formatTime' -import { SeckillConfigApi } from '@/api/mall/promotion/seckill/seckillConfig' - -// 表单校验 -export const rules = reactive({ - spuId: [required], - name: [required], - startTime: [required], - endTime: [required], - sort: [required], - configIds: [required], - totalLimitCount: [required], - singleLimitCount: [required], - totalStock: [required] -}) - -// CrudSchema https://doc.iocoder.cn/vue3/crud-schema/ -const crudSchemas = reactive([ - { - label: '秒杀活动名称', - field: 'name', - isSearch: true, - form: { - colProps: { - span: 24 - } - }, - table: { - width: 120 - } - }, - { - label: '活动开始时间', - field: 'startTime', - formatter: dateFormatter2, - isSearch: true, - search: { - component: 'DatePicker', - componentProps: { - valueFormat: 'YYYY-MM-DD', - type: 'daterange' - } - }, - form: { - component: 'DatePicker', - componentProps: { - type: 'date', - valueFormat: 'x' - } - }, - table: { - width: 120 - } - }, - { - label: '活动结束时间', - field: 'endTime', - formatter: dateFormatter2, - isSearch: true, - search: { - component: 'DatePicker', - componentProps: { - valueFormat: 'YYYY-MM-DD', - type: 'daterange' - } - }, - form: { - component: 'DatePicker', - componentProps: { - type: 'date', - valueFormat: 'x' - } - }, - table: { - width: 120 - } - }, - { - label: '秒杀时段', - field: 'configIds', - form: { - component: 'Select', - componentProps: { - multiple: true, - optionsAlias: { - labelField: 'name', - valueField: 'id' - } - }, - api: SeckillConfigApi.getSimpleSeckillConfigList - }, - table: { - width: 300 - } - }, - { - label: '总限购数量', - field: 'totalLimitCount', - form: { - component: 'InputNumber', - value: 0 - }, - table: { - width: 120 - } - }, - { - label: '单次限够数量', - field: 'singleLimitCount', - form: { - component: 'InputNumber', - value: 0 - }, - table: { - width: 120 - } - }, - { - label: '排序', - field: 'sort', - form: { - component: 'InputNumber', - value: 0 - }, - table: { - width: 80 - } - }, - { - label: '秒杀活动商品', - field: 'spuId', - isTable: true, - isSearch: false, - form: { - colProps: { - span: 24 - } - }, - table: { - width: 300 - } - }, - { - label: '备注', - field: 'remark', - isSearch: false, - form: { - component: 'Input', - componentProps: { - type: 'textarea', - rows: 4 - }, - colProps: { - span: 24 - } - }, - table: { - width: 300 - } - } -]) -export const { allSchemas } = useCrudSchemas(crudSchemas) diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/seckill/config/SeckillConfigForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/seckill/config/SeckillConfigForm.vue deleted file mode 100644 index a7ce5fe..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/seckill/config/SeckillConfigForm.vue +++ /dev/null @@ -1,133 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/seckill/config/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/seckill/config/index.vue deleted file mode 100644 index 9fa2c1e..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/promotion/seckill/config/index.vue +++ /dev/null @@ -1,211 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/statistics/member/components/MemberFunnelCard.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/statistics/member/components/MemberFunnelCard.vue deleted file mode 100644 index 609c679..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/statistics/member/components/MemberFunnelCard.vue +++ /dev/null @@ -1,121 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/statistics/member/components/MemberTerminalCard.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/statistics/member/components/MemberTerminalCard.vue deleted file mode 100644 index 7bbab76..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/statistics/member/components/MemberTerminalCard.vue +++ /dev/null @@ -1,69 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/statistics/member/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/statistics/member/index.vue deleted file mode 100644 index 0e1bbaf..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/statistics/member/index.vue +++ /dev/null @@ -1,313 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/statistics/product/components/ProductRank.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/statistics/product/components/ProductRank.vue deleted file mode 100644 index cb513bc..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/statistics/product/components/ProductRank.vue +++ /dev/null @@ -1,101 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/statistics/product/components/ProductSummary.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/statistics/product/components/ProductSummary.vue deleted file mode 100644 index 0669223..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/statistics/product/components/ProductSummary.vue +++ /dev/null @@ -1,304 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/statistics/product/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/statistics/product/index.vue deleted file mode 100644 index d1bcba6..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/statistics/product/index.vue +++ /dev/null @@ -1,16 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/statistics/trade/components/TradeStatisticValue.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/statistics/trade/components/TradeStatisticValue.vue deleted file mode 100644 index 77b8822..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/statistics/trade/components/TradeStatisticValue.vue +++ /dev/null @@ -1,36 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/statistics/trade/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/statistics/trade/index.vue deleted file mode 100644 index 0a25fd7..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/statistics/trade/index.vue +++ /dev/null @@ -1,363 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/afterSale/detail/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/trade/afterSale/detail/index.vue deleted file mode 100644 index 26df0d3..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/afterSale/detail/index.vue +++ /dev/null @@ -1,354 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/afterSale/form/AfterSaleDisagreeForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/trade/afterSale/form/AfterSaleDisagreeForm.vue deleted file mode 100644 index af3ab35..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/afterSale/form/AfterSaleDisagreeForm.vue +++ /dev/null @@ -1,70 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/afterSale/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/trade/afterSale/index.vue deleted file mode 100644 index 23ff967..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/afterSale/index.vue +++ /dev/null @@ -1,269 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/brokerage/record/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/trade/brokerage/record/index.vue deleted file mode 100644 index 8f138ad..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/brokerage/record/index.vue +++ /dev/null @@ -1,171 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/brokerage/user/BrokerageOrderListDialog.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/trade/brokerage/user/BrokerageOrderListDialog.vue deleted file mode 100644 index 54e3c16..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/brokerage/user/BrokerageOrderListDialog.vue +++ /dev/null @@ -1,152 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/brokerage/user/BrokerageUserListDialog.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/trade/brokerage/user/BrokerageUserListDialog.vue deleted file mode 100644 index 87dc8f6..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/brokerage/user/BrokerageUserListDialog.vue +++ /dev/null @@ -1,137 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/brokerage/user/UpdateBindUserForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/trade/brokerage/user/UpdateBindUserForm.vue deleted file mode 100644 index 77ffac7..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/brokerage/user/UpdateBindUserForm.vue +++ /dev/null @@ -1,127 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/brokerage/user/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/trade/brokerage/user/index.vue deleted file mode 100644 index 22daf1b..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/brokerage/user/index.vue +++ /dev/null @@ -1,307 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/brokerage/withdraw/BrokerageWithdrawRejectForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/trade/brokerage/withdraw/BrokerageWithdrawRejectForm.vue deleted file mode 100644 index 2a69b5b..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/brokerage/withdraw/BrokerageWithdrawRejectForm.vue +++ /dev/null @@ -1,73 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/brokerage/withdraw/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/trade/brokerage/withdraw/index.vue deleted file mode 100644 index 762451f..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/brokerage/withdraw/index.vue +++ /dev/null @@ -1,268 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/config/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/trade/config/index.vue deleted file mode 100644 index cdaf812..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/config/index.vue +++ /dev/null @@ -1,291 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/delivery/express/ExpressForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/trade/delivery/express/ExpressForm.vue deleted file mode 100644 index 232fb79..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/delivery/express/ExpressForm.vue +++ /dev/null @@ -1,126 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/delivery/express/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/trade/delivery/express/index.vue deleted file mode 100644 index 1cde87d..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/delivery/express/index.vue +++ /dev/null @@ -1,189 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/delivery/expressTemplate/ExpressTemplateForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/trade/delivery/expressTemplate/ExpressTemplateForm.vue deleted file mode 100644 index edbcbc3..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/delivery/expressTemplate/ExpressTemplateForm.vue +++ /dev/null @@ -1,321 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/delivery/expressTemplate/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/trade/delivery/expressTemplate/index.vue deleted file mode 100644 index 9d0688a..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/delivery/expressTemplate/index.vue +++ /dev/null @@ -1,165 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/delivery/pickUpOrder/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/trade/delivery/pickUpOrder/index.vue deleted file mode 100644 index e52a3e3..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/delivery/pickUpOrder/index.vue +++ /dev/null @@ -1,328 +0,0 @@ - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/delivery/pickUpStore/PickUpStoreForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/trade/delivery/pickUpStore/PickUpStoreForm.vue deleted file mode 100644 index 5900558..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/delivery/pickUpStore/PickUpStoreForm.vue +++ /dev/null @@ -1,273 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/delivery/pickUpStore/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/trade/delivery/pickUpStore/index.vue deleted file mode 100644 index eddf64e..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/delivery/pickUpStore/index.vue +++ /dev/null @@ -1,190 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/order/components/OrderTableColumn.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/trade/order/components/OrderTableColumn.vue deleted file mode 100644 index 5d1e25e..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/order/components/OrderTableColumn.vue +++ /dev/null @@ -1,263 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/order/components/index.ts b/hangtag-ui/hangtag-ui-front/src/views/mall/trade/order/components/index.ts deleted file mode 100644 index 9cce9fa..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/order/components/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import OrderTableColumn from './OrderTableColumn.vue' - -export { OrderTableColumn } diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/order/detail/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/trade/order/detail/index.vue deleted file mode 100644 index 67e5476..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/order/detail/index.vue +++ /dev/null @@ -1,426 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/order/form/OrderDeliveryForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/trade/order/form/OrderDeliveryForm.vue deleted file mode 100644 index 3b98c2e..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/order/form/OrderDeliveryForm.vue +++ /dev/null @@ -1,99 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/order/form/OrderPickUpForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/trade/order/form/OrderPickUpForm.vue deleted file mode 100644 index 529263c..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/order/form/OrderPickUpForm.vue +++ /dev/null @@ -1,108 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/order/form/OrderUpdateAddressForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/trade/order/form/OrderUpdateAddressForm.vue deleted file mode 100644 index baedb4a..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/order/form/OrderUpdateAddressForm.vue +++ /dev/null @@ -1,98 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/order/form/OrderUpdatePriceForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/trade/order/form/OrderUpdatePriceForm.vue deleted file mode 100644 index 8332e31..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/order/form/OrderUpdatePriceForm.vue +++ /dev/null @@ -1,95 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/order/form/OrderUpdateRemarkForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/trade/order/form/OrderUpdateRemarkForm.vue deleted file mode 100644 index e979501..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/order/form/OrderUpdateRemarkForm.vue +++ /dev/null @@ -1,70 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/order/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mall/trade/order/index.vue deleted file mode 100644 index 56aa57b..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mall/trade/order/index.vue +++ /dev/null @@ -1,357 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/member/config/index.vue b/hangtag-ui/hangtag-ui-front/src/views/member/config/index.vue deleted file mode 100644 index 2593509..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/member/config/index.vue +++ /dev/null @@ -1,121 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/member/group/GroupForm.vue b/hangtag-ui/hangtag-ui-front/src/views/member/group/GroupForm.vue deleted file mode 100644 index 14510b0..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/member/group/GroupForm.vue +++ /dev/null @@ -1,112 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/member/group/components/MemberGroupSelect.vue b/hangtag-ui/hangtag-ui-front/src/views/member/group/components/MemberGroupSelect.vue deleted file mode 100644 index 78a993a..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/member/group/components/MemberGroupSelect.vue +++ /dev/null @@ -1,45 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/member/group/index.vue b/hangtag-ui/hangtag-ui-front/src/views/member/group/index.vue deleted file mode 100644 index ba925d6..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/member/group/index.vue +++ /dev/null @@ -1,176 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/member/level/LevelForm.vue b/hangtag-ui/hangtag-ui-front/src/views/member/level/LevelForm.vue deleted file mode 100644 index 7e6873c..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/member/level/LevelForm.vue +++ /dev/null @@ -1,175 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/member/level/components/MemberLevelSelect.vue b/hangtag-ui/hangtag-ui-front/src/views/member/level/components/MemberLevelSelect.vue deleted file mode 100644 index 2a603e6..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/member/level/components/MemberLevelSelect.vue +++ /dev/null @@ -1,45 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/member/level/index.vue b/hangtag-ui/hangtag-ui-front/src/views/member/level/index.vue deleted file mode 100644 index 3743eac..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/member/level/index.vue +++ /dev/null @@ -1,171 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/member/point/record/index.vue b/hangtag-ui/hangtag-ui-front/src/views/member/point/record/index.vue deleted file mode 100644 index 9676c2e..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/member/point/record/index.vue +++ /dev/null @@ -1,161 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/member/signin/config/SignInConfigForm.vue b/hangtag-ui/hangtag-ui-front/src/views/member/signin/config/SignInConfigForm.vue deleted file mode 100644 index 616fd8f..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/member/signin/config/SignInConfigForm.vue +++ /dev/null @@ -1,132 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/member/signin/config/index.vue b/hangtag-ui/hangtag-ui-front/src/views/member/signin/config/index.vue deleted file mode 100644 index 14a84cd..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/member/signin/config/index.vue +++ /dev/null @@ -1,106 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/member/signin/record/index.vue b/hangtag-ui/hangtag-ui-front/src/views/member/signin/record/index.vue deleted file mode 100644 index e80e854..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/member/signin/record/index.vue +++ /dev/null @@ -1,134 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/member/tag/TagForm.vue b/hangtag-ui/hangtag-ui-front/src/views/member/tag/TagForm.vue deleted file mode 100644 index d45ea58..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/member/tag/TagForm.vue +++ /dev/null @@ -1,91 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/member/tag/components/MemberTagSelect.vue b/hangtag-ui/hangtag-ui-front/src/views/member/tag/components/MemberTagSelect.vue deleted file mode 100644 index ebff61e..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/member/tag/components/MemberTagSelect.vue +++ /dev/null @@ -1,68 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/member/tag/index.vue b/hangtag-ui/hangtag-ui-front/src/views/member/tag/index.vue deleted file mode 100644 index 59efc5e..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/member/tag/index.vue +++ /dev/null @@ -1,155 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/member/user/UserForm.vue b/hangtag-ui/hangtag-ui-front/src/views/member/user/UserForm.vue deleted file mode 100644 index 0da4ef6..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/member/user/UserForm.vue +++ /dev/null @@ -1,179 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/member/user/UserLevelUpdateForm.vue b/hangtag-ui/hangtag-ui-front/src/views/member/user/UserLevelUpdateForm.vue deleted file mode 100644 index e583f4a..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/member/user/UserLevelUpdateForm.vue +++ /dev/null @@ -1,101 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/member/user/UserPointUpdateForm.vue b/hangtag-ui/hangtag-ui-front/src/views/member/user/UserPointUpdateForm.vue deleted file mode 100644 index 967ebe0..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/member/user/UserPointUpdateForm.vue +++ /dev/null @@ -1,128 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/member/user/components/balance-list.vue b/hangtag-ui/hangtag-ui-front/src/views/member/user/components/balance-list.vue deleted file mode 100644 index 3e9d178..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/member/user/components/balance-list.vue +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserAccountInfo.vue b/hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserAccountInfo.vue deleted file mode 100644 index 56a6ab6..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserAccountInfo.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserAddressList.vue b/hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserAddressList.vue deleted file mode 100644 index a37caba..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserAddressList.vue +++ /dev/null @@ -1,54 +0,0 @@ - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserBasicInfo.vue b/hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserBasicInfo.vue deleted file mode 100644 index 075450e..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserBasicInfo.vue +++ /dev/null @@ -1,85 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserBrokerageList.vue b/hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserBrokerageList.vue deleted file mode 100644 index db88787..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserBrokerageList.vue +++ /dev/null @@ -1,125 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserCouponList.vue b/hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserCouponList.vue deleted file mode 100644 index 2279b8a..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserCouponList.vue +++ /dev/null @@ -1,190 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserExperienceRecordList.vue b/hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserExperienceRecordList.vue deleted file mode 100644 index 64414ad..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserExperienceRecordList.vue +++ /dev/null @@ -1,158 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserFavoriteList.vue b/hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserFavoriteList.vue deleted file mode 100644 index afab9a0..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserFavoriteList.vue +++ /dev/null @@ -1,96 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserOrderList.vue b/hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserOrderList.vue deleted file mode 100644 index b6870bc..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserOrderList.vue +++ /dev/null @@ -1,279 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserPointList.vue b/hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserPointList.vue deleted file mode 100644 index 9754b29..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserPointList.vue +++ /dev/null @@ -1,152 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserSignList.vue b/hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserSignList.vue deleted file mode 100644 index c897274..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/member/user/detail/UserSignList.vue +++ /dev/null @@ -1,135 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/member/user/detail/index.vue b/hangtag-ui/hangtag-ui-front/src/views/member/user/detail/index.vue deleted file mode 100644 index 6237cca..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/member/user/detail/index.vue +++ /dev/null @@ -1,135 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/member/user/index.vue b/hangtag-ui/hangtag-ui-front/src/views/member/user/index.vue deleted file mode 100644 index 69bf6de..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/member/user/index.vue +++ /dev/null @@ -1,313 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/account/AccountForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/account/AccountForm.vue deleted file mode 100644 index c721013..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/account/AccountForm.vue +++ /dev/null @@ -1,160 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/account/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/account/index.vue deleted file mode 100644 index 6551707..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/account/index.vue +++ /dev/null @@ -1,195 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/autoReply/components/ReplyForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/autoReply/components/ReplyForm.vue deleted file mode 100644 index 1c9dee4..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/autoReply/components/ReplyForm.vue +++ /dev/null @@ -1,80 +0,0 @@ - - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/autoReply/components/ReplyTable.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/autoReply/components/ReplyTable.vue deleted file mode 100644 index 2abe9f2..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/autoReply/components/ReplyTable.vue +++ /dev/null @@ -1,115 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/autoReply/components/types.ts b/hangtag-ui/hangtag-ui-front/src/views/mp/autoReply/components/types.ts deleted file mode 100644 index 68bc5c9..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/autoReply/components/types.ts +++ /dev/null @@ -1,7 +0,0 @@ -// 消息类型(Follow: 关注时回复;Message: 消息回复;Keyword: 关键词回复) -// 作为 tab.name,enum 的数字不能随意修改,与 api 参数相关 -export enum MsgType { - Follow = 1, - Message = 2, - Keyword = 3 -} diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/autoReply/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/autoReply/index.vue deleted file mode 100644 index 0b00647..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/autoReply/index.vue +++ /dev/null @@ -1,241 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-account-select/index.ts b/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-account-select/index.ts deleted file mode 100644 index 97556b2..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-account-select/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import WxAccountSelect from './main.vue' - -export default WxAccountSelect diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-account-select/main.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-account-select/main.vue deleted file mode 100644 index 2a6ca50..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-account-select/main.vue +++ /dev/null @@ -1,47 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-location/index.ts b/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-location/index.ts deleted file mode 100644 index 14ba864..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-location/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import WxLocation from './main.vue' - -export default WxLocation diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-location/main.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-location/main.vue deleted file mode 100644 index 0b68d49..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-location/main.vue +++ /dev/null @@ -1,73 +0,0 @@ - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-material-select/index.ts b/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-material-select/index.ts deleted file mode 100644 index eeda31d..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-material-select/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -import WxMaterialSelect from './main.vue' -import { NewsType, MaterialType } from './types' - -export { NewsType, MaterialType } - -export default WxMaterialSelect diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-material-select/main.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-material-select/main.vue deleted file mode 100644 index aad25ea..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-material-select/main.vue +++ /dev/null @@ -1,279 +0,0 @@ - - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-material-select/types.ts b/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-material-select/types.ts deleted file mode 100644 index d4add1d..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-material-select/types.ts +++ /dev/null @@ -1,11 +0,0 @@ -export enum NewsType { - Draft = '2', - Published = '1' -} - -export enum MaterialType { - Image = 'image', - Voice = 'voice', - Video = 'video', - News = 'news' -} diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-msg/card.scss b/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-msg/card.scss deleted file mode 100644 index 7fbbe80..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-msg/card.scss +++ /dev/null @@ -1,116 +0,0 @@ -.avue-card { - &__item { - margin-bottom: 16px; - border: 1px solid #e8e8e8; - background-color: #fff; - box-sizing: border-box; - color: rgba(0, 0, 0, 0.65); - font-size: 14px; - font-variant: tabular-nums; - line-height: 1.5; - list-style: none; - font-feature-settings: 'tnum'; - cursor: pointer; - height: 200px; - - &:hover { - border-color: rgba(0, 0, 0, 0.09); - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.09); - } - - &--add { - border: 1px dashed #000; - width: 100%; - color: rgba(0, 0, 0, 0.45); - background-color: #fff; - border-color: #d9d9d9; - border-radius: 2px; - display: flex; - align-items: center; - justify-content: center; - font-size: 16px; - - i { - margin-right: 10px; - } - - &:hover { - color: #40a9ff; - background-color: #fff; - border-color: #40a9ff; - } - } - } - - &__body { - display: flex; - padding: 24px; - } - - &__detail { - flex: 1; - } - - &__avatar { - width: 48px; - height: 48px; - border-radius: 48px; - overflow: hidden; - margin-right: 12px; - - img { - width: 100%; - height: 100%; - } - } - - &__title { - color: rgba(0, 0, 0, 0.85); - margin-bottom: 12px; - font-size: 16px; - - &:hover { - color: #1890ff; - } - } - - &__info { - color: rgba(0, 0, 0, 0.45); - display: -webkit-box; - -webkit-box-orient: vertical; - -webkit-line-clamp: 3; - overflow: hidden; - height: 64px; - } - - &__menu { - display: flex; - justify-content: space-around; - height: 50px; - background: #f7f9fa; - color: rgba(0, 0, 0, 0.45); - text-align: center; - line-height: 50px; - - &:hover { - color: #1890ff; - } - } -} - -/** joolun 额外加的 */ -.avue-comment__main { - flex: unset !important; - border-radius: 5px !important; - margin: 0 8px !important; -} - -.avue-comment__header { - border-top-left-radius: 5px; - border-top-right-radius: 5px; -} - -.avue-comment__body { - border-bottom-right-radius: 5px; - border-bottom-left-radius: 5px; -} diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-msg/comment.scss b/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-msg/comment.scss deleted file mode 100644 index 7812c2a..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-msg/comment.scss +++ /dev/null @@ -1,126 +0,0 @@ -/* 来自 https://github.com/nmxiaowei/avue/blob/master/styles/src/element-ui/comment.scss */ -.avue-comment { - margin-bottom: 30px; - display: flex; - align-items: flex-start; - - &--reverse { - flex-direction: row-reverse; - - .avue-comment__main { - &:before, - &:after { - left: auto; - right: -8px; - border-width: 8px 0 8px 8px; - } - - &:before { - border-left-color: #dedede; - } - - &:after { - border-left-color: #f8f8f8; - margin-right: 1px; - margin-left: auto; - } - } - } - - &__avatar { - width: 48px; - height: 48px; - border-radius: 50%; - border: 1px solid transparent; - box-sizing: border-box; - vertical-align: middle; - } - - &__header { - padding: 5px 15px; - background: #f8f8f8; - border-bottom: 1px solid #eee; - display: flex; - align-items: center; - justify-content: space-between; - } - - &__author { - font-weight: 700; - font-size: 14px; - color: #999; - } - - &__main { - flex: 1; - margin: 0 20px; - position: relative; - border: 1px solid #dedede; - border-radius: 2px; - - &:before, - &:after { - position: absolute; - top: 10px; - left: -8px; - right: 100%; - width: 0; - height: 0; - display: block; - content: ' '; - border-color: transparent; - border-style: solid solid outset; - border-width: 8px 8px 8px 0; - pointer-events: none; - } - - &:before { - border-right-color: #dedede; - z-index: 1; - } - - &:after { - border-right-color: #f8f8f8; - margin-left: 1px; - z-index: 2; - } - } - - &__body { - padding: 15px; - overflow: hidden; - background: #fff; - font-family: - Segoe UI, - Lucida Grande, - Helvetica, - Arial, - Microsoft YaHei, - FreeSans, - Arimo, - Droid Sans, - wenquanyi micro hei, - Hiragino Sans GB, - Hiragino Sans GB W3, - FontAwesome, - sans-serif; - color: #333; - font-size: 14px; - } - - blockquote { - margin: 0; - font-family: - Georgia, - Times New Roman, - Times, - Kai, - Kaiti SC, - KaiTi, - BiauKai, - FontAwesome, - serif; - padding: 1px 0 1px 15px; - border-left: 4px solid #ddd; - } -} diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-msg/components/Msg.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-msg/components/Msg.vue deleted file mode 100644 index c35e268..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-msg/components/Msg.vue +++ /dev/null @@ -1,69 +0,0 @@ - - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-msg/components/MsgEvent.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-msg/components/MsgEvent.vue deleted file mode 100644 index 77beda4..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-msg/components/MsgEvent.vue +++ /dev/null @@ -1,49 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-msg/components/MsgList.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-msg/components/MsgList.vue deleted file mode 100644 index ce7063b..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-msg/components/MsgList.vue +++ /dev/null @@ -1,62 +0,0 @@ - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-msg/index.ts b/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-msg/index.ts deleted file mode 100644 index fd9eddd..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-msg/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -import WxMsg from './main.vue' -import { MsgType } from './types' - -export { MsgType } - -export default WxMsg diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-msg/main.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-msg/main.vue deleted file mode 100644 index 8b7cc3a..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-msg/main.vue +++ /dev/null @@ -1,192 +0,0 @@ - - - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-msg/types.ts b/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-msg/types.ts deleted file mode 100644 index 38a0ff8..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-msg/types.ts +++ /dev/null @@ -1,17 +0,0 @@ -export enum MsgType { - Event = 'event', - Text = 'text', - Voice = 'voice', - Image = 'image', - Video = 'video', - Link = 'link', - Location = 'location', - Music = 'music', - News = 'news' -} - -export interface User { - nickname: string - avatar: string - accountId: number -} diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-music/index.ts b/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-music/index.ts deleted file mode 100644 index c421126..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-music/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import WxMusic from './main.vue' - -export default WxMusic diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-music/main.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-music/main.vue deleted file mode 100644 index 6b44f44..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-music/main.vue +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-news/index.ts b/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-news/index.ts deleted file mode 100644 index e68f4d5..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-news/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import WxNews from './main.vue' - -export default WxNews diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-news/main.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-news/main.vue deleted file mode 100644 index 154291b..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-news/main.vue +++ /dev/null @@ -1,119 +0,0 @@ - - - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-reply/components/TabImage.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-reply/components/TabImage.vue deleted file mode 100644 index 6dbfeed..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-reply/components/TabImage.vue +++ /dev/null @@ -1,171 +0,0 @@ - - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-reply/components/TabMusic.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-reply/components/TabMusic.vue deleted file mode 100644 index 6421d24..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-reply/components/TabMusic.vue +++ /dev/null @@ -1,116 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-reply/components/TabNews.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-reply/components/TabNews.vue deleted file mode 100644 index 565b1fb..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-reply/components/TabNews.vue +++ /dev/null @@ -1,76 +0,0 @@ - - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-reply/components/TabText.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-reply/components/TabText.vue deleted file mode 100644 index 307e48f..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-reply/components/TabText.vue +++ /dev/null @@ -1,22 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-reply/components/TabVideo.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-reply/components/TabVideo.vue deleted file mode 100644 index adb8fa3..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-reply/components/TabVideo.vue +++ /dev/null @@ -1,128 +0,0 @@ - - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-reply/components/TabVoice.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-reply/components/TabVoice.vue deleted file mode 100644 index 5dbe9a0..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-reply/components/TabVoice.vue +++ /dev/null @@ -1,160 +0,0 @@ - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-reply/components/types.ts b/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-reply/components/types.ts deleted file mode 100644 index 3e07d6e..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-reply/components/types.ts +++ /dev/null @@ -1,54 +0,0 @@ -enum ReplyType { - News = 'news', - Image = 'image', - Voice = 'voice', - Video = 'video', - Music = 'music', - Text = 'text' -} - -interface _Reply { - accountId: number - type: ReplyType - name?: string | null - content?: string | null - mediaId?: string | null - url?: string | null - title?: string | null - description?: string | null - thumbMediaId?: string | null - thumbMediaUrl?: string | null - musicUrl?: string | null - hqMusicUrl?: string | null - introduction?: string | null - articles?: any[] -} - -type Reply = _Reply //Partial<_Reply> - -enum NewsType { - Published = '1', - Draft = '2' -} - -/** 利用旧的reply[accountId, type]初始化新的Reply */ -const createEmptyReply = (old: Reply | Ref): Reply => { - return { - accountId: unref(old).accountId, - type: unref(old).type, - name: null, - content: null, - mediaId: null, - url: null, - title: null, - description: null, - thumbMediaId: null, - thumbMediaUrl: null, - musicUrl: null, - hqMusicUrl: null, - introduction: null, - articles: [] - } -} - -export { Reply, NewsType, ReplyType, createEmptyReply } diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-reply/index.ts b/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-reply/index.ts deleted file mode 100644 index d1da217..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-reply/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { Reply, NewsType, ReplyType, createEmptyReply } from './components/types' - -import WxReplySelect from './main.vue' - -export type { Reply } -export { createEmptyReply, NewsType, ReplyType } -export default WxReplySelect diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-reply/main.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-reply/main.vue deleted file mode 100644 index 2c9d5f2..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-reply/main.vue +++ /dev/null @@ -1,208 +0,0 @@ - - - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-video-play/index.ts b/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-video-play/index.ts deleted file mode 100644 index 91e00ef..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-video-play/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import WxVideoPlayer from './main.vue' - -export default WxVideoPlayer diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-video-play/main.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-video-play/main.vue deleted file mode 100644 index d544bbe..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-video-play/main.vue +++ /dev/null @@ -1,73 +0,0 @@ - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-voice-play/index.ts b/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-voice-play/index.ts deleted file mode 100644 index 9eb78e0..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-voice-play/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import WxVoicePlayer from './main.vue' - -export default WxVoicePlayer diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-voice-play/main.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-voice-play/main.vue deleted file mode 100644 index fe7f0ca..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/components/wx-voice-play/main.vue +++ /dev/null @@ -1,105 +0,0 @@ - - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/draft/components/CoverSelect.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/draft/components/CoverSelect.vue deleted file mode 100644 index 499f1a6..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/draft/components/CoverSelect.vue +++ /dev/null @@ -1,166 +0,0 @@ - - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/draft/components/DraftTable.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/draft/components/DraftTable.vue deleted file mode 100644 index bb512d8..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/draft/components/DraftTable.vue +++ /dev/null @@ -1,87 +0,0 @@ - - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/draft/components/NewsForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/draft/components/NewsForm.vue deleted file mode 100644 index 9b1e474..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/draft/components/NewsForm.vue +++ /dev/null @@ -1,304 +0,0 @@ - - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/draft/components/index.ts b/hangtag-ui/hangtag-ui-front/src/views/mp/draft/components/index.ts deleted file mode 100644 index 51e843d..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/draft/components/index.ts +++ /dev/null @@ -1,7 +0,0 @@ -import type { Article, NewsItem, NewsItemList } from './types' -import { createEmptyNewsItem } from './types' -import DraftTable from './DraftTable.vue' -import NewsForm from './NewsForm.vue' - -export { DraftTable, NewsForm, createEmptyNewsItem } -export type { Article, NewsItem, NewsItemList } diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/draft/components/types.ts b/hangtag-ui/hangtag-ui-front/src/views/mp/draft/components/types.ts deleted file mode 100644 index a8cf00c..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/draft/components/types.ts +++ /dev/null @@ -1,40 +0,0 @@ -interface NewsItem { - title: string - thumbMediaId: string - author: string - digest: string - showCoverPic: string - content: string - contentSourceUrl: string - needOpenComment: string - onlyFansCanComment: string - thumbUrl: string -} - -interface NewsItemList { - newsItem: NewsItem[] -} - -interface Article { - mediaId: string - content: NewsItemList - updateTime: number -} - -const createEmptyNewsItem = (): NewsItem => { - return { - title: '', - thumbMediaId: '', - author: '', - digest: '', - showCoverPic: '', - content: '', - contentSourceUrl: '', - needOpenComment: '', - onlyFansCanComment: '', - thumbUrl: '' - } -} - -export type { Article, NewsItem, NewsItemList } -export { createEmptyNewsItem } diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/draft/editor-config.ts b/hangtag-ui/hangtag-ui-front/src/views/mp/draft/editor-config.ts deleted file mode 100644 index ee3b95e..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/draft/editor-config.ts +++ /dev/null @@ -1,75 +0,0 @@ -import { IEditorConfig } from '@wangeditor/editor' -import { getAccessToken, getTenantId } from '@/utils/auth' - -const message = useMessage() - -type InsertFnType = (url: string, alt: string, href: string) => void - -export const createEditorConfig = ( - server: string, - accountId: number | undefined -): Partial => { - return { - MENU_CONF: { - ['uploadImage']: { - server, - // 单个文件的最大体积限制,默认为 2M - maxFileSize: 5 * 1024 * 1024, - // 最多可上传几个文件,默认为 100 - maxNumberOfFiles: 10, - // 选择文件时的类型限制,默认为 ['image/*'] 。如不想限制,则设置为 [] - allowedFileTypes: ['image/*'], - - // 自定义上传参数,例如传递验证的 token 等。参数会被添加到 formData 中,一起上传到服务端。 - meta: { - accountId: accountId, - type: 'image' - }, - // 将 meta 拼接到 url 参数中,默认 false - metaWithUrl: true, - - // 自定义增加 http header - headers: { - Accept: '*', - Authorization: 'Bearer ' + getAccessToken(), - 'tenant-id': getTenantId() - }, - - // 跨域是否传递 cookie ,默认为 false - withCredentials: true, - - // 超时时间,默认为 10 秒 - timeout: 5 * 1000, // 5 秒 - - // form-data fieldName,后端接口参数名称,默认值wangeditor-uploaded-image - fieldName: 'file', - - // 上传之前触发 - onBeforeUpload(file: File) { - console.log(file) - return file - }, - // 上传进度的回调函数 - onProgress(progress: number) { - // progress 是 0-100 的数字 - console.log('progress', progress) - }, - onSuccess(file: File, res: any) { - console.log('onSuccess', file, res) - }, - onFailed(file: File, res: any) { - message.alertError(res.message) - console.log('onFailed', file, res) - }, - onError(file: File, err: any, res: any) { - message.alertError(err.message) - console.error('onError', file, err, res) - }, - // 自定义插入图片 - customInsert(res: any, insertFn: InsertFnType) { - insertFn(res.data.url, 'image', res.data.url) - } - } - } - } -} diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/draft/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/draft/index.vue deleted file mode 100644 index db24596..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/draft/index.vue +++ /dev/null @@ -1,202 +0,0 @@ - - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/draft/mock.js b/hangtag-ui/hangtag-ui-front/src/views/mp/draft/mock.js deleted file mode 100644 index e8493f6..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/draft/mock.js +++ /dev/null @@ -1,151 +0,0 @@ -export default { - list: [ - { - mediaId: 'r6ryvl6LrxBU0miaST4Y-q-G9pdsmZw0OYG4FzHQkKfpLfEwIH51wy2bxisx8PvW', - content: { - newsItem: [ - { - title: '我是标题(OOO)', - author: '我是作者', - digest: '我是摘要', - content: '我是内容', - contentSourceUrl: 'https://www.iocoder.cn', - thumbMediaId: 'r6ryvl6LrxBU0miaST4Y-pIcmK-zAAId-9TGgy-DrSLhjVuWbuT3ZBjk9K1yQ0Dn', - showCoverPic: 0, - needOpenComment: 0, - onlyFansCanComment: 0, - url: 'http://mp.weixin.qq.com/s?__biz=MzA3NjM4MzQzOQ==&tempkey=MTIxMl9XaFphcmtJVFh3VEc4Q1MxQWwxQ3R5R0JGTXBDM1Q0N2ZFQm8zeUphOFlwNEpXSWxTYm9RQnJ6cHVuN2QxTE56SFBCYXc2RE9NcUxIeS1CQjJuUHhTWjBlN2VOeGRpRi1fZUhwN1FNQjdrQV9yRU9EU0hibHREZmZoVW5acnZrN3ZjaWsxejR3RGpKczBzTHFIM0dFNFZWVkpBc0dWWlAzUEhlVmpnfn4%3D&chksm=1f6354802814dd969ef83c0f3babe555c614270b30bc383beaf7ffd13b0257f0fe5ced9af694#rd', - thumbUrl: - 'http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-pIcmK-zAAId-9TGgy-DrSLhjVuWbuT3ZBjk9K1yQ0Dn.png' - }, - { - title: '我是标题(XXX)', - author: '我是作者', - digest: '我是摘要', - content: '我是内容', - contentSourceUrl: 'https://www.iocoder.cn', - thumbMediaId: 'r6ryvl6LrxBU0miaST4Y-pIcmK-zAAId-9TGgy-DrSLhjVuWbuT3ZBjk9K1yQ0Dn', - showCoverPic: 0, - needOpenComment: 0, - onlyFansCanComment: 0, - url: 'http://mp.weixin.qq.com/s?__biz=MzA3NjM4MzQzOQ==&tempkey=MTIxMl9yTlYwOEs1clpwcE5OUEhCQWwxQ3R5R0JGTXBDM1Q0N2ZFQm8zeUphOFlwNEpXSWxTYm9RQnJ6cHVuN0NSMjFqN3N1aUZMbFNVLTZHN2ZDME9qOGp2THk2RFNlSTlKZ3Y1czFVZDdQQm5IeUg3dEppSUtpQUh5SExOOTRkT3dHNUdBdHdWSWlOendlREV3dS1jUEVQbFpiVTZmVW5iRWhZcGdkNTFRfn4%3D&chksm=1f6354802814dd96a403151cd44c7da4eecf0e475d25423e46ecd795b513bafd829a75daef9b#rd', - thumbUrl: - 'http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-pIcmK-zAAId-9TGgy-DrSLhjVuWbuT3ZBjk9K1yQ0Dn.png' - } - ] - }, - updateTime: 1673655730 - }, - { - mediaId: 'r6ryvl6LrxBU0miaST4Y-jGpXnO73ihN0lsNXknCRQHapp2xgHMRxHKG50LituFe', - content: { - newsItem: [ - { - title: '我是标题(修改)', - author: '我是作者', - digest: '我是摘要', - content: '我是内容', - contentSourceUrl: 'https://www.iocoder.cn', - thumbMediaId: 'r6ryvl6LrxBU0miaST4Y-pIcmK-zAAId-9TGgy-DrSLhjVuWbuT3ZBjk9K1yQ0Dn', - showCoverPic: 0, - needOpenComment: 0, - onlyFansCanComment: 0, - url: 'http://mp.weixin.qq.com/s?__biz=MzA3NjM4MzQzOQ==&tempkey=MTIxMl95WVFXYndIZnZJd0t5cjgvQWwxQ3R5R0JGTXBDM1Q0N2ZFQm8zeUphOFlwNEpXSWxTYm9RQnJ6cHVuN1dlNURPbWswbEF4RDd5dVJTdjQ4cm9Cc0Q1TWhpMUh6SE1hVEE3ZHljaHhlZjZYSGF5N2JNSHpDTlh6ajNZbkpGTGpTcUQ4M3NMdW41ZUpXNFZZQ1VKbVlaMVp5ekxEV1czREdsY1dOYTZnfn4%3D&chksm=1f6354be2814dda8e6238037c2ebd52b1c8e80e93249a861ad80e4d40e5ca7207233475ca689#rd', - thumbUrl: - 'http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-pIcmK-zAAId-9TGgy-DrSLhjVuWbuT3ZBjk9K1yQ0Dn.png' - } - ] - }, - updateTime: 1673655584 - }, - { - mediaId: 'r6ryvl6LrxBU0miaST4Y-v5SrbNCPpD6M_p3TmSrYwTjKogs-0DMJgmjMyNZPeMO', - content: { - newsItem: [ - { - title: '1321', - author: '3232', - digest: '1333', - content: '

    444

    ', - contentSourceUrl: 'http://www.iocoder.cn', - thumbMediaId: 'r6ryvl6LrxBU0miaST4Y-tlQmcl3RdC-Jcgns6IQtf7zenGy3b86WLT7GzUcrb1T', - showCoverPic: 0, - needOpenComment: 0, - onlyFansCanComment: 0, - url: 'http://mp.weixin.qq.com/s?__biz=MzA3NjM4MzQzOQ==&tempkey=MTIxMl9jelJiaDAzbmdpSkJOZ2M2QWwxQ3R5R0JGTXBDM1Q0N2ZFQm8zeUphOFlwNEpXSWxTYm9RQnJ6cHVuNDNXVVc2ZDRYeTY0Zm1weXR6dE9vQWh1TzEwbEpUVnRfVzJyaGFDNXBkZ0ZXM2JFOTNaRHNhOHRUeFdEanhMeS01X01kMUNWQ1BpRER3cjYwTl9pMnpFLUJhZXFucVVfM1pDUXlTUEl1S25nfn4%3D&chksm=1f6354bc2814ddaa56a90ad5bc3d078601c8d1589ba01827a8170587bc830ff9747b5f59c3a0#rd', - thumbUrl: - 'http://mmbiz.qpic.cn/mmbiz_png/btUmCVHwbJUoicwBiacjVeQbu6QxgBVrukfSJXz509boa21SpH8OVHAqXCJiaiaAaHQJNxwwsa0gHRXVr0G5EZYamw/0?wx_fmt=png' - } - ] - }, - updateTime: 1673628969 - }, - { - mediaId: 'r6ryvl6LrxBU0miaST4Y-vdWrisK5EZbk4Y3tzh8P0PG0eEUbnQrh0BcsEb3WNP0', - content: { - newsItem: [ - { - title: 'tudou', - author: 'haha', - digest: '312', - content: '

    132312

    ', - contentSourceUrl: 'http://www.iocoder.cn', - thumbMediaId: 'r6ryvl6LrxBU0miaST4Y-pgFtUNLu1foMSAMkoOsrQrTZ8EtTMssBLfTtzP0dfjG', - showCoverPic: 0, - needOpenComment: 0, - onlyFansCanComment: 0, - url: 'http://mp.weixin.qq.com/s?__biz=MzA3NjM4MzQzOQ==&tempkey=MTIxMl9qdkJ1ZjBoUmg2Uk9TS3RlQWwxQ3R5R0JGTXBDM1Q0N2ZFQm8zeUphOFlwNEpXSWxTYm9RQnJ6cHVuNVg2aTJsaC1fMkU2eXNacUplN3VDTTZFZkhtMjhuTUZvWkxsNDBRSXExY2tiVXRHb09TaHgtREhzY3doZ0JYeC1TSTZ5eWZldXJsOWtfbV8yMi1aYkcyZ2pOY0haM0Ntb3VSWEtxUGVFRlNBfn4%3D&chksm=1f6354ba2814ddacf0184b24d310483641ef190b1faac098c285eb416c70017e2f54decfa1af#rd', - thumbUrl: - 'http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-pgFtUNLu1foMSAMkoOsrQrTZ8EtTMssBLfTtzP0dfjG.png' - } - ] - }, - updateTime: 1673628760 - }, - { - mediaId: 'r6ryvl6LrxBU0miaST4Y-u9kTIm1DhWZDdXyxsxUVv2Z5DAB99IPxkIRTUUD206k', - content: { - newsItem: [ - { - title: '12', - author: '333', - digest: '123', - content: '123', - contentSourceUrl: 'https://www.iocoder.cn', - thumbMediaId: 'r6ryvl6LrxBU0miaST4Y-jVixJGgnBnkBPRbuVptOW0CHYuQFyiOVNtamctS8xU8', - showCoverPic: 0, - needOpenComment: 0, - onlyFansCanComment: 0, - url: 'http://mp.weixin.qq.com/s?__biz=MzA3NjM4MzQzOQ==&tempkey=MTIxMl9qVVhpSDZUaFJWTzBBWWRVQWwxQ3R5R0JGTXBDM1Q0N2ZFQm8zeUphOFlwNEpXSWxTYm9RQnJ6cHVuNWRnTDJWYmF2NER0clV1bThmQ0xUR3hqQnJkZ3BJSUNmNDJmc0lCZ1dadkVnZ3Z5bkN4YWtVUjhoaWZWYzZURUR4NnpMd0Y4Z3U5aUdib0lkMzI4Rjg3SG9JX2FycTMxbUctOHplaTlQVVhnfn4%3D&chksm=1f6354b62814dda076c778af33f06580165d8aa81f7798d55cfabb1886b5c74d9b2124a3535c#rd', - thumbUrl: - 'http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-jVixJGgnBnkBPRbuVptOW0CHYuQFyiOVNtamctS8xU8.jpg' - } - ] - }, - updateTime: 1673626494 - }, - { - mediaId: 'r6ryvl6LrxBU0miaST4Y-sO24upobaENDmeByfBTfaozB3aOqSMAV0lGy-UkHXE7', - content: { - newsItem: [ - { - title: '我是标题', - author: '我是作者', - digest: '我是摘要', - content: '我是内容', - contentSourceUrl: 'https://www.iocoder.cn', - thumbMediaId: 'r6ryvl6LrxBU0miaST4Y-pIcmK-zAAId-9TGgy-DrSLhjVuWbuT3ZBjk9K1yQ0Dn', - showCoverPic: 0, - needOpenComment: 0, - onlyFansCanComment: 0, - url: 'http://mp.weixin.qq.com/s?__biz=MzA3NjM4MzQzOQ==&tempkey=MTIxMl9LT2dqRnpMNUpsR0hjYWtBQWwxQ3R5R0JGTXBDM1Q0N2ZFQm8zeUphOFlwNEpXSWxTYm9RQnJ6cHVuNGNmazZTdlE5WkxvU0tfX2V5cjV2WjJiR0xjQUhyREFSZWo2eWNrUW9EYVh6ZkpWRXBLR3FmTEV6YldBMno3Q2ZvVXBSdzlaVDc3aFhndEpQWUwzWmFMUWt0YVVURE1VZ1FsQTdPMlRtc3JBfn4%3D&chksm=1f6354aa2814ddbcc2637382f963a8742993ac38ebcebe6e3411df5ac82ac7bbdb391be6494a#rd', - thumbUrl: - 'http://test.yudao.iocoder.cn/r6ryvl6LrxBU0miaST4Y-pIcmK-zAAId-9TGgy-DrSLhjVuWbuT3ZBjk9K1yQ0Dn.png' - } - ] - }, - updateTime: 1673534279 - } - ], - total: 6 -} diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/freePublish/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/freePublish/index.vue deleted file mode 100644 index 2ed8ae7..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/freePublish/index.vue +++ /dev/null @@ -1,336 +0,0 @@ - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/hooks/useUpload.ts b/hangtag-ui/hangtag-ui-front/src/views/mp/hooks/useUpload.ts deleted file mode 100644 index b0e7053..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/hooks/useUpload.ts +++ /dev/null @@ -1,50 +0,0 @@ -import type { UploadRawFile } from 'element-plus' - -const message = useMessage() // 消息 - -enum UploadType { - Image = 'image', - Voice = 'voice', - Video = 'video' -} - -const useBeforeUpload = (type: UploadType, maxSizeMB: number) => { - const fn = (rawFile: UploadRawFile): boolean => { - let allowTypes: string[] = [] - let name = '' - - switch (type) { - case UploadType.Image: - allowTypes = ['image/jpeg', 'image/png', 'image/gif', 'image/bmp', 'image/jpg'] - maxSizeMB = 2 - name = '图片' - break - case UploadType.Voice: - allowTypes = ['audio/mp3', 'audio/mpeg', 'audio/wma', 'audio/wav', 'audio/amr'] - maxSizeMB = 2 - name = '语音' - break - case UploadType.Video: - allowTypes = ['video/mp4'] - maxSizeMB = 10 - name = '视频' - break - } - // 格式不正确 - if (!allowTypes.includes(rawFile.type)) { - message.error(`上传${name}格式不对!`) - return false - } - // 大小不正确 - if (rawFile.size / 1024 / 1024 > maxSizeMB) { - message.error(`上传${name}大小不能超过${maxSizeMB}M!`) - return false - } - - return true - } - - return fn -} - -export { UploadType, useBeforeUpload } diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/material/components/ImageTable.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/material/components/ImageTable.vue deleted file mode 100644 index 52c608f..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/material/components/ImageTable.vue +++ /dev/null @@ -1,83 +0,0 @@ - - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/material/components/UploadFile.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/material/components/UploadFile.vue deleted file mode 100644 index 276a798..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/material/components/UploadFile.vue +++ /dev/null @@ -1,77 +0,0 @@ - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/material/components/UploadVideo.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/material/components/UploadVideo.vue deleted file mode 100644 index 0eda1ce..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/material/components/UploadVideo.vue +++ /dev/null @@ -1,129 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/material/components/VideoTable.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/material/components/VideoTable.vue deleted file mode 100644 index cbaa902..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/material/components/VideoTable.vue +++ /dev/null @@ -1,59 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/material/components/VoiceTable.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/material/components/VoiceTable.vue deleted file mode 100644 index 76fab7a..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/material/components/VoiceTable.vue +++ /dev/null @@ -1,51 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/material/components/upload.ts b/hangtag-ui/hangtag-ui-front/src/views/mp/material/components/upload.ts deleted file mode 100644 index e732fe7..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/material/components/upload.ts +++ /dev/null @@ -1,32 +0,0 @@ -import type { UploadProps, UploadRawFile } from 'element-plus' -import { getAccessToken } from '@/utils/auth' -import { UploadType, useBeforeUpload } from '@/views/mp/hooks/useUpload' - -const HEADERS = { Authorization: 'Bearer ' + getAccessToken() } // 请求头 -const UPLOAD_URL = import.meta.env.VITE_BASE_URL + '/admin-api/mp/material/upload-permanent' // 上传地址 - -interface UploadData { - type: UploadType - title: string - introduction: string - accountId: number -} - -const beforeImageUpload: UploadProps['beforeUpload'] = (rawFile: UploadRawFile) => - useBeforeUpload(UploadType.Image, 2)(rawFile) - -const beforeVoiceUpload: UploadProps['beforeUpload'] = (rawFile: UploadRawFile) => - useBeforeUpload(UploadType.Voice, 2)(rawFile) - -const beforeVideoUpload: UploadProps['beforeUpload'] = (rawFile: UploadRawFile) => - useBeforeUpload(UploadType.Video, 10)(rawFile) - -export { - HEADERS, - UPLOAD_URL, - UploadType, - UploadData, - beforeImageUpload, - beforeVoiceUpload, - beforeVideoUpload -} diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/material/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/material/index.vue deleted file mode 100644 index de06042..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/material/index.vue +++ /dev/null @@ -1,159 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/menu/assets/iphone_backImg.png b/hangtag-ui/hangtag-ui-front/src/views/mp/menu/assets/iphone_backImg.png deleted file mode 100644 index bb09591a7912730aab07287e0bb2bc4e3383abc5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34272 zcmeFZ`9E9f|34hnRu@Y<2DMfD?o2nelv-*_mnk!CQAO+&wTq=lY{Ar^rD&%`iBfG* zA~aPA2}xT^T5FXcl8B|&kkpa{k>oyR9-sI9{e1s{`-i(84~KJd<(%t!Ua#f(dY$Wf z-M?XDC9_Xu9|#1J`Q!KBZh}CP0U(gno;|yPD~%OR8^E8PQJ4O3*aQ3|?zw#rIG2dJ zX>|!y+p9Le{b9gG>x&=|CU^gq_b%XkZ^Z8|Q6P|P+xD+So~EoSaPesL73b*7cl^Ag zgTlj(I0QlcKzh1o&ztC;H#vLmh@P&Afu6}ZJ=y2%V<1qP@gKikbcpp_WVk)J%|~dg z+f!PPUbz$d==VqXYuHe7$jR@1({o3a{wVv|xuQkx?18q6o^N%VU3Lh#msLs2R4Is(r(i$h&W0}|UO2>kk?@YC z817X=$PiHEWV44D<+W}MnwAor&w_34A|M5|4q$V-B&b-Dg_`tvFs8T>4e45V zP2q6C=CFf~_7Dp^rG}wnsQd2Ek_cGu){K5%b21#h;WWfp(8>9e zCA9zIIz}@(SPcT%cxZf2zcnm{zrxRhK6I-qb@e3habRv$ZnK%;H`(LGj6c)iL~Y{o z@HLQIjS~1vMjag9#cdVh1d}7*E|{8jvA+uWa6U6396s?et&FY0hHu6o7qRv3JeM%4 z)>ZB*i`Xgj!OSIR)MO-pQdVzKNW7{c6vddLqfrSL2p9|od$fVUCe)F}m|iT;xTOX* zfr)5Im|9q?pvj;iPMbV;x&aPJ7~(i)nZGi`rq*5?@!+BaJg z2q%W%ZDY$k955|#4sX>91Uf*0Q;EV!I9|ysK2H4JFuj2rzkJPtke?a>L+158&{AZ1 zIoBvAH@U%bv$LeQtKOX0#eQ}Pfuq;~=&qmN_ebFfLA$VZv_kcpMod;am|NIDvoa>g zXoH1rU?zGPJghaOk;%zvhj(au;Jx_20kU;{Z%7|v3dtBQ6~^Vb9>foV`91t`pTT6nSm4arx>YnpxAs=FwR!+WB&y0Yj ze7B*>PrYE5NogFqR2cHN1nB(-;(A`4>`Qav=4c3V7mLk@Yu6-O!pXwD0s4ler`)z0 zlI~RQ#7sPU%WtWqon8132t@z+=u*UA_2%jQN(3%*skCSUeU|eCxL5zuFe8$IPHvye zk)H^S-WVv|_+0BIsyF$C*th-pGV173dx7Ty3=S9k%Ce}^5=#yLA>W(cmxpG@3-yKi zXWh+4=dysASgBQIL{iL2uF>F_5-FMU!xNzcX&B9hC^3Q$3rEbAv7hCJ*ZnF30u{e$ z8U90a_;*3o35(79-ZRDL3npr$vq^%P$$DR^-rU5wjKo@C%EBJ&1%Aq6##JQ< zvyJd!4fwA*n=IR;l_?U@CBdSYP$s3bEm2EsZ40lvF7qEpXmNsLxqJM94ym?q7@P&7 zIDr(f{?rcV?zzBPsWTTY+D|P+P0*X843n^ne1X;02R-p8H>L^D0rxZbD}b(Eko8Jn zZ?IK$5?S<{=yQk&-# z!EP0-=NhJ6QAQ_!1?KqCRbxTtaEYqa{`nFwPr|I=UoTQ?F~EKu0o$kw5H}|Ora`At z=PkaE!C4)9Kp^<@3glF9j9-JZXu4F?W|a(gNBA=iPMk?1UN-{z)VSIb$z3?`g}D0l zdj&O2o-_@J^Jyj?j&`Qh8Y8N|KFa@=67$7=|rFNx-C zMbY|yPvHf^6X4~3alCuX@#3Zk#Z;;k_`Ah1y&WKs+po`s^Gc+VmX(E&U!NmtFdXLOjni)uY3R`vGI{!e1dX&%Y&IQ zExerU@MR0h-rtN>@45^NTl9pfO#a2~R>of}B$oIcjzQ&e0ST$pR5|z4j{(jkRV}e3 z60o%-mdHs<^8uwQPUTNF^#i72y0r^}{<*tC^p*2PN1?4na?Jg;?XS4GCe$~Ly+ zkSFjj+hSZvm}L{X2==yHqXT_gD~+e~o=hwnmB!5oyV^IIyvL@~I|gcf0mGwqMJCYH z)D&^SZEJCTxys>YdOgEvSX{+YRO&M5Ce9)_$^`%(bo|lhh(4)~Cbm*WuHCPHYZuG3 zx@#8{biO{VabSB2d>t&b9ph)YF#PnSSi6OnuCVvjzJSZjzAO9>N1wLv%^AIVOIDLW zOa1D#Ud@)ZtKlsSBc)QtnHJ&KSEXIH;-S6*VrjWt;9mb}Ei0hi;~VkwGQ$@DC+F9+ z+cmRnt;_8`fsob5eQc_+^G+c_PpWLhdjjWVjZvvWg53CGBW9 z69I?M6B7sm4x!HL$!7Ig5Z%)6o)9dYR1%O*)WxvEgqmP(8(GxRxPbkAS&6k$30}Rk zQS7qU@7H39_ZMr|$`+A2iKv9t9*c+S)#==9?#x9)$?Ez)1^@Jk`g3;kplDDqrRb-txf9s75Xt6S}c)??!oFHnC zO?IOXMHsrf-Rc*P2>FZ<&;d}`>%VHkN$bxd+21=2cc_4(I%D#TO2KZP_-CbH0yHR4 z|Mv7ICx4#by!vc6NMihg6Tmd`@47f*wFICP;S-~*PNd~@&r4d&p9?g_URa%0$?3~Z z`F(|XAu^!%#d_;xBhOgxVnU3chMyPcjZ<9x>*kqOw*L)4!Yg9n8H^zP&g@vnibQ-HyD)uH#8CeJ}BpW@5 zUtz<|YE6%UGO*4M=%3s=Y#D+@FqEo-~fxmLtCLE|8R_ zhiV4A58vMIm9R;b=ZwW(UT*-TI+*yUTkT_v09PIP0b2^w4T}Bpz#^=ty{{8#F50?tY3fqbGGzWG|NQ@hsZDMgTeuGS;BlZ++$9wc?jeZr;qj0J@?B-=wsk1SyWqp&hz)3G# zy#}@h8O!FHZ+`kNwNgt6Gy5ee$bK{*3L1Znz09hEi3@t#mQ5bz@c-d3Oom5dZ7F@@ zk(}`1K@|yO7>kQ1taPFnc}`wSW3f}&KwuHlx^hRoUe7&AIS(T(n$Y(Lsa0;P7+WlA zz9~8&tg}s;^d;$PTPU7b0kqY=Pvl9O)zBQ?wLUI2W~2>-p~f^%1Q3&e#RcF+JY}Kt zap~5255EEY9s>_KQ)<9UrOFk|%Qg1}^Z*vd)Jl0SVwGAyUEXC27GzCL`bI7S?rbPD zAnrx#MZoG66r)(ApS7?j}u4dH=3h!_{woS7QWH*@Z$zR;2O_9rw)ZB~-TZ8%}2c|*P zzn}BJr%v6<&hjfw%VDpNop-AfLz)r*#WLvLHo%|9mPcqt@>y)j*4JFC=ra?cv8v%s z%?@J*nwPI_H<(wc(MK1xJ#F8CRKfeWXm`m}wWVkJl79ksRO@#bIHp z_vCTLrfC3++m}aJ`t-|oCr1d(<@E@XGg?H~jeHztUYzZr!gRGd4s_I*41>XP1{;?1 z0rlPX!5%8WRadL|(by19F`7VfVK2~N+xWG%TTZQ_!WoMZPGDfHGZ z!NgHb8gjrh-&<^3Amn}S=B%N-5zKxf6yv!S+my^Vl_>*muRA*-r9r=5VPTZ_%M^(FRj=YpfqOmGC+Uu^Ij(q0~sy=BsLWb3cO1>WfKUY1e@<*Jp5>Ubg{{Uq?K@v;GC0v@z4b z&P$4O5ufl{pZr1$l>$AqYZ;^B-NfCxktvs9A?{lnE8Iso3$tzswMuS012L7Rgx5*j zKruAyh>)ZNb=M#-Y=Q`>BQ1~sefsv{8uD=Vc4oqR5|pt&U@C0@s}U$^e0;dpgS8z@ z!E};lrz1b3H+rw>$O%pfBtf5iW9U3V)03k&s*i*1@xMnAS!{^@%Y zeYtD&%oj?6Zhy}qA6Bn4^o{EVnxd3SlUS{CGOHjfF5rBnOAng<;U}Ip27z!iAQ>`x zy@mh}KhA@XXMT+)+VRrlstCvkle^Gj`L|F2prKxB6Kx&3+>c5EEa(~iyWXHoU z1YfpPku{XnE+-=|FxD-mJW}bB%9hA!Z3w9p=xkOZng>=o)#)COUuvedf*y7OsiJ^J zuNwS6&10YBau+an;KOPAThF|=d&VP}!xsqG{2VNwMpY7hr6cmKCC}6vhLgYtWQ@wMH{JAMyHXnH(-ho|pr6ia!lyb!6fd2l>X+ufMK(tXBT zwz<}XRp_RAF8-Y2(0Ovb-T1U9#=n(XXTe>}=t2m`Ro+K78jEh4Xl-|Nvi`kV8#64W zc;V!FjKfw7(C|*b@VBPq@xQ&-{+zN0ODDM60Em}MlTlsA1*gDDK*;_fQa0r}n-so9 zuIDaD8Ofumq(y*VOHPlGh!W)auct^;QKMv2t#an(RCsc9aq1r%O(RLQ5-AQqMs7wU zdp3Qb6mXYZpFIHpG>7DOjyta!kq z608LJ<^bMLa)!&v$tS1{p75WOpYUR)O!2Tdwm>j9@@yzFta9bjR>By6jE$B9pGze6 zu3OJ`y^y;N&^nCRB{^{YJP^R#p~;TCV~@2I2KI=QNk9bJ?4BOC^<7TvA|Yc8>q}lu zW1H%&!Mj=K_{+tSEW5+n_f^er@hp zxT>gK{L7PnHS%o_#CK?vmGW&`CE)$%QzW-BVGfx=&MJP3z@s&wE$2n3 zcq|EgR~ht>>ednRhD~fDh8YVHz|>*Z`|s!!OH_JeoTXFY&0=%TsC0d@y!lVp1bi+n zZz;xaC+IC9c6h`$uqldhFI%6XGMt-Nr-E-6C)EY%3mB5s7lLPCe8 zvt)6_oj*G=G!ow=3{U08XvA_7@Ek!29}fQhfuqdsYAEhpc}w*CbPzON^IGGBvku-W zMK*IS+pN`uK_B4A#A1M2@Y&n$HA|_xiKEvp`!0}?lBS4x~q5LI|aC=#(07; zEY$p)2>fsJ`9*sD^dx?N16!lFBb_F*%@yqQ=R?j)AANhMV*4y8Dm)wdk$TDOpJ#PJ zJ6zq>PGHyE0GIyzh3yXfIR5_#fm>&R00hV-=Z8pbWUw?rL(x}6EM^CT1uf1hn{ik}VD zE(7TEMlsHPQh!^H_wM;|{DHs^1b!g!1A!k1{6OFb0zVM=fxr(0ejxAzfgcF`K;Q=g zKM?qVzz+m|An*f$9|-(F;0FRf5cq+>4+MT7@B@J#2>gGCKyd<#8*dllz7tew^S{?d zjJuBxwkUPhFj}!yTFMj#& zF~WbVKR5=Cj-u&-db`Q7|J~%F>tg3RBC8$QFvQ~O4UKF$KU)(?99ba)Pdg&9 zz1?g3m}0L$IF*wn`!hi=Cu?`)&bG%YyUwzc)wNFx=}}IHX>}bvvS?W083XMd<7%s9 z;BEZ>_1(i2ZcL53VK^m|Ax)+TOuCZmRd{BfNR)ht zy}c!`-s3vxlb`v30VaBv+6gHPV=RWUU#I!ISN3BDZH$NQ%YN*)0sHpJ>TujQ!qjaH z!Dxg6%5bIw_swc9Ret#@XN+)5i%zretG3=Us!v1^eHdRbg zKOxt!^ap`TzH@W(d)V@EpAF=WA_DlC8@oohB7?fmnjYdd+xRd5n7rOCv*wF&;C!N0BL z9Ab|kI9{it@Jp_)b{K3Z+N-#?Zizk8t(Gf4GW{$>(4)e7wJ`&#wEe#{6%@tzbZM9r zh}E2WF!BrJfRe^we~pI{cHiTy_IS6Y-DP$JpJYs2%}e82AssWxpHAUe$Np!wDkgr?S8NcxM@Ca@wI$gWxv2|K)P*%HxcVzNCE>^LuVoJ_5*nrj9^uQoz z(0K5)!{S|PpN->Cwt~~SuGC2G4LkS4EZs0HB6uLRFu^%8t|s*XlTkJaS>g@QtHngh zK5#Io>i=3U^RB2ix$Ke>#y@WHm|^YVB59@cF$X2qfg*O!#Sw(K9QFs@p+0PV6{1;l zia@Yy=V2}(XMBd1Z(JOh(Y;C#2KQQ28V^<#$+{B`@wQF@HftRAuUZ4g-p5TPP7O?#s-`5*NQaJ* z3U*y6@hM)f<2c5;CU)e!??BmA9kOcz#a9M3<3HIu`C-a;e??A|u(WFl25o=z>r0ah zx2t0JS*NM@ECoR7OCK9Nn;t6)t7k|f!$;rwE&4aQ)?q1N30h{~XP=hP;IZfjEB4Oe z=(h-Tm9SV9ce3+rumrs*HHiRpEaK{4zz&6!oqy@4m@-DLguWiRh*}#*DV+283L)5Q z2{v3W4&+77C1I;9skcjArC&}%PiF?G7zH`4C4cm}g7I(=D9bw9+^VrOA07O)mj0ru z{V?}wxvbx)y;_+b`#5X~Nh!WT-#kz>Gaz?G%{o%BI^bkh+KvY^F)A_1hz79y!2Nux zYh+xpJFo8w+GJ%KyScmJ#an{wfbH-gY#=FEf!3F`ROu%EgfmK+`mgQ(*ALJqd~mH{ z3e{_E)e2{Z2()0lOozy;Y%*-L*4J+2`Fx)t)Vx+b7~=`mg!$26m(Sz|^l8;*6&X&% zW>5DzMCHbHc;m4KguVLSZx1GTjn&{uEyxb`JxqT!_!D;XL=)uaBF=p9q3Yx<8V7;M z6u5F(!R^8}%Pi4I!;4LXChkpF*=9Xs=-u#5d(;T=U=i7HIkxN%Qkd9HcvgE?gxV&_ z4D^tUA@ypR*6jMn9?=z{kfO1w#-+cEL1FR}(&Mr?XKRD4p*qUQgD<$Mk$%nUS*vp6PU9-ztk|ud^VfZx zS}Qbt8{4BwIR3_t=5;rh-?L)o|I=7iVSOXlC4AZHeAvJPS!K{=2GH({BchrPiL-cw!ZVm3d=FMBf)cA@_nRyFUUADzd^aDgIP|V7 zb)>R}2d26CA)7KM4I|0rF6igc-Zc#abv2GwYKx_qum%DR*lDn8s8$zxZpgcB;GSy6 zXMcZoq(KK3VQr6WT0)zB!_4rM33@hyK#IMN0!2H$b$?c4ihA7f9q3gvVt661k@+8Dp+ z2^i?Sa0nE^0@SDeI1g1+HDaJs8;sY}R-|S6%+^#$Iy1vegKyPf>qdXU?w!Hw88X0M1%yA;(E!JAI=Ri#~w)|Tf$Ir#X^e^ z^hYgrK#|D>gzRRfRhFPMpO;&ieE$Zjrph2->y&bEFyf1%of-R_l2s%<#KbjjYrtI$ z9f6qIm(*MLlz2EF$mpW6+GQ?5bH9}GE9!g^+Np0!M-*Zb zau8`AJU82CGE*zC<4;`?xMD3hcx*H~+FQ~BkfoZ%AEPoOuYE0es$lLyP`IRm^)L!bx{ zK<`wIOUquQznhBBeU%%~`bE%+GzPtq161$&$+|gmW{XmWc7*RPYk2Kf#G4_*;5A1> zDuh(;8Z+_mKUbk=AVN_`CeFX0O!n8cI8Bd^;C46MVqZc{yk)CPo^RXfSyPDqPk!}w z#rGB3+FPUC*aC6-BV~c$rcjbT(h~Zp_nXpX7`wHFg47)EuoVkR|@+ydFP!#IdqlwVhOR4jky*%)9U@m^{ zI#^lM<|~IB-q)AV40r)?ImoDTt9*A#zSC0y?Rd(|$cbPO51_(d{#LeWkC4&tGXVVw zOsZlV(X%`Yf)ijch-Q(A3r|kZu&8RrEOo?D z7pC<<;V|HRpPI_*Uy+BQo|{DQ*q? zz5}4y!S6r4L#W5w_pWArJ=SuPQ@UzV`#>L58~|{vyVNDfj-tff5o|#0ahKzcdTM5N zIiad1S1g_Fn8Z_#Nrd5jUA{UkVbtXL5RXxJ9Mf(DL60q3B>imtmkfaaNXm2vvLq{koe1sF1ZPvNxWqh?Vi!QCVJoe3glu&%jU< zjPI}LhFqCiD4UFOJbk*pp@MTg5puO*DY#t`gFuNpLPJbYjip0_yT|>XF!KQ_X_YV^ zE4+5Iv;Hesr$hx5wms1{(7RN0hyMK35v#p{2~6`H<68jrxOu9s+laFEOO}tun~Kt5 z2h1O0Ce{bJ8Ke43M=%~nVI#^r@8!l+(#-RV1`oq8_hA7aX)Rd3P_8H}Epxr7f64cp z;ME#o4mng^d47=B|0EOlHq5?f^^lQl(WBi0Si`22v11`x!7w)~Bg-XMA+6Tt|(drZg=ibhhnJ3)P8@Dl&EPcyC^|p+dM_sCsW`-`60v$%NSg=4v~1 zvIrJd%foF@n}{>*^}ue~mSmv7iqwo(`r-GiZnxPc$?*e#*^QdXzpHGe*DUqRbBPGa zkIL_Z3R&g~mhul68=WB=u07Y6IvXlSp;OR>dyeUn?hhz9`q-v=Xh<+a@PKx-|?4U8JjE_>A(d)ByLgXG+tnBYgNqWGPCda|dl1 z)YxaiT7`sR_WQV7RMu2ciiV!7qABlma!HV%Rb-eYuEH0t{Ugz@{ZnB*%@K#ELqmF8 zxJ$uT{K80?eZFG#eK;Wvq$UN}rnqT^ljND95*wW@iQfHyO=|wG0!}jzr>pgTXDfr? zCcveg?b@NpXa|(%7udpA=hLt+MUDaou7b{{8sSsBA+rB~;QsU=c97?=8C=9a;T94W z(Kdeu=a#JiQ)!FJ(%Sr$Mx$fR(KH_fG{!ugX%Hw<$lXbH-$^ya& zbEbm}r|)!^PiD?wc4di{r5k3Q{lE>K?{gar`}|w-Hmuuy4HViqAsZ#b!P>g&*lZ|P zN@b>thYYq>HKHB9v}EBN-XjsvM%K5so_$mG$JV2#C9S-V6U&PKj&(d|mVtORieEUr?*USD<^tN`UWZG-@O zkl#arP={XDX(~Z4Obn4=UkBu|=VV=GNKavWe+-oWu8DoaJ8sce;mKG;!zIqgq>Ha# zm+GMSkPvaU(q*G&3}BV5S7#!3^=xG9W9T8JbZf^P#N`n4xi7C^*Z1$gwp93xC!fz% zAm~|Q_Pd#t>lre!n^DxEH$4>#8`1_PcdAb2+)y@P92A&eH&FM+(mY;wyqh1qW&2Xk zNz*WQ5~IS+2!E|ds>0{qvVE8 zVtV=@#f^|y4fB7yke)AZLdx1=~xb! z11%SNa-saXFZEbv1>|QEKeBYy4Ww3w5aA^vl43D?L6t#*-6QMi&gbNN^Xu~JG&$Q5 ztQzvaq9?Kt?_b=x=jwfYY;rCO zLj%~v+kT4$Jn>_bLD6*CP<_bL8e3XK5r#*p-9wn~^qRX_kK|S4Z za@`xk1&dssiQxgd?euDfQdUnX^j0w^9PH?@ik=tZRTmUH zKHQ*E$tf>}wm@?7rL;aNdJ57Op@TGJs^Z*;{V~L3^n-%chl&I707#OCc zdcI;Lx^UmKsv?mq#{aM5J@-;0!I)fn#9`kwL*X#gpi;5jG7_AP_f9^HAh>!*f=N%S zygzjU1lI6n)bi|*hvRWcr%O>ULeq{ zYu5WeMh+liv0ZPD9>YQr2-BAy87%<0v-I{_yMFiNH_lPCUaeBMgPYOq3|r{12Td|E zm=c{Ty@U)4jAs&)2YH|$6=-+g6w>XjW= zm3^JE2in1qQAiUGYp0ZtHr=F|8_=#_>q>n3%+%BQFki#yaJ)i}g3;3op2L7ek*mSd zlvbE3$_t17-fU!jw_^WdBlX6I#w^Sx`8=e)5ARX+I_PKrU~t>bi>q2i8_89ND;z?> z4lafehh7*yjpIdknG05S>syi^Zw#%cJZ<0=$pi>FlR8fXMq|1@#{f@dM+tSTAM#w~ z6lXitB(07jTh#z)aABPgB!EFEfI(NXJ==@8vY;y$LB7X8zKEEZ4{I=Wd>Q6^dXEt8 z10?<$&?6NG1%IcZeG6)++G)a3CtYuUhDm@7_zu4t%%~q&ZJq zbQ%dodFc+V&0Tx>Jj|(x3vYNKG^H6J4OPiu&!Z->%R6S51Ij%-N1@fF&ypNoycy6{ zwncj!)O=SBmP4LiMFxlYCDp*d{qKAN4I#&paxXRDf^3oc4-61qG}r)C|6SP?!d%;xRo*0S6r#oQ1xgpFLuD z-wl@~sPkZxo7@VUrYK1|Vl?HX)#5lSiZhL&sHq3nHqCh&UGRJ>uYM-^g z!7+B;KAa^f%uSfwkS{zxG^!R<<9}z>{Ir4QVttsAL%q*WwkN8!_-DeTZJ|xfZkvUV zZ-|3iHUW_CXLNT#>ph`L>U`l6$yc}>d}aA{0?MKTR)_X$l%R(h;X7O+$HP$~+acYy zsr}5P$bZCO1~EHbkRiA-Ead58awS`-D+>(q3%Xa_be{KNAS;UGujE-*xB|5-)sFKb zZ-l3O0A9(&y$pvflatpn$h8`vfE)U6?B;)VOk;+4>pggVPMmdz4fh#AEPi&>KIsm{ z|KwTcqJp=pZ6%dAxTPEV-6o-heI&%Ufg=C7;`>FC8HK#R?(zbSekv*9RY6PImWlUN z*NR@I!RiIj>zano9O{PE;+vVMIJPY2;=n+-KdrHE3w=I3w^6}ZPaLb!j2z>{{o zy9XTk!F#mr7=47^7Z~~UrNr$ODpM@iDtv647|nAU$u{+_Q@mW-;gNb5P;>gb`LDN; z*YbLrA^}DJ#|b1xJp~Bt`1e{*b$x35a(PdiC`_#v&n0PjdBtyZ>Pkh>@{$pwkit60 z0*b4(qsf6#l=vo!`T={96x@V<(+IpSA<}l!usz?t6{-5_79!{c&z+!L@ zhC9;Y)9wh>G&V#SUU9=->2<2+JwYae3Z%~4dmS*=?uTh)_LGUmvKX)`Pv0P@Jql^Z zH*#RIEh(99wxa`kp_AWy8qk)314TR)!cLy))8Gz#bQ&E}$Q&FaLtsv*l1o(^>{s>% zA2X94L$8#RZ=nOly@{)gQ?yK6P@Jj#;n|8wbfQu)x89el`WJL+Y*>hQ^-iro)U5cF zK>}N>=qKOpvxPKUL%WpQo2n+0YQ3Z)4Ao$|4<{ogLbt|8d8wh>0`bLLO7fJfLhpjq zFaW^*Rx{wD5pPL}q)%rC{@b`^z5I?>U9e1q50B?Dih~G-$I>J99Q5tAZ9GuX%he5w z$>u|uK49EPUgRN4WX%@^RP=OFuvuTrtO{TG^t(ADxtDq!uw_h}(5S02vtBq{_3<`c zJb1shX3ykQ@RJRUKd)(HpuTFvFEYUg`IzQZkGy=^I;1B^&Kzpz9|HLM8}^kgqM_1n z4#FsBRJbcDdJcv2M#i&jZ@VE{U9T{(%-hw^7efed4B48CEne!uG$K<^Tednl5nhWnUvnZQR>Gvg{kaCRH21?iGI6OF^j>vNr zXP~w+fyo~~@~f!_ReJYZHz`-MPh}sewIbvcOp4J3 zjAU&-b885f5tkx=P;mANOK;y~#bo5P0$Iy;|^cW)CRbiFsyMSLMWq@@30)% z5LGYRA6ol|TFV=#evg4%rNzbayA{^DOXcXV25-hxysf5BpdlNNn01r$p}av`X$6X3 z!r`uWjc63%d1(#=B$ZJM$)p{#B~y>8QJ7J`E}s@EM=M zZE-O4NQ__B$+)j-9Br&B_??|^@z??mypYwc+i0fBXj^!wn-t4*5dU^!ZX1(EziDPH z4>hv?H0ZsK>#hZ4V+`BxN`$xh9DEMz?ctO)%^&vk>#>K)c%!RS9OgSj}F zE1r{scaxl-h2RSh&mVJM zO%UA}%F@Xr07VNYb@u}#>f6<&AY=c^R{TZ;)_JS-j#Eb3&T&IRAx>pdRi#*&2n7Xn zZI}D?_vsg|_OwmVZ*u+wYOuL!$F!`@Caq-%fR`paB2uVMc^R=yO_>b2R!&h95o(Pi zcseT$cMFGtu_fm%2V~F(X&GVB`b)H^kz^Vcb$bioWN^A&iSDs|Tc@(srLKDhTl^jJZ~2K`J7!1Ny_O7)Ko*%O+y zjxX7EcK2CF{Uzj|AAZK~aAOBW-Lu4)zjtvG@x+9(Yre{t#4nZ7(=vWe4$&AhR{Ivh z6taQg7e7!Xp9Ser{a+yuT_WKd00_ih)9fxU!R9tN7e4*&>yKB){oI=$PMlWi62`WN zq{NkzZlYHdFQ8w$95y_pooEJWiMUhs$cVj4AfVVljaF5lmMGb;v|HcyBcLv~U;h2*DnvzZz#3m3VR(pHA^2E8 z+73g>^I!UFPCS#i{ieqf_oW0pja_}`6%B$DK3miBdwsLt zSg)EGozrAUp!`{_TQ(s!zp$fCI5CZ%VrVS@S?YM#9L+@)4Mmn>+-`^dT*BggB$f5+ zEuJVDJ-XxL7h(9%r7KMwDxI12ox$$Y3#D01elD@kB0zJEY}R<8ddILu=V9jtnm3kB z+b-YpFi;Y9(8vc$$;(9N3=Zps_&hC4UCuCy-q^T-k+upX*;>E66+BQ(i}j*!l6FWI zYfT%pqjSDGt1rQ4@Pfo9LH_=mlEvqvbZ||=u$ct?#IT6s-Qzr}|BJK77@05A^p#%i zPVpVGsz+Y!eW83|H|_d4|5t92-vsZT{wSwi}4v1QF`6nacQcwRIL7ZDjV?nU*-KgxMNr z_+@gZ4uTufdIl8myExN?_~_M?@=ar%)VIa_WBN(@l$l9bqP z&Jyk)BN!sWQpD&x@DYO(5dsT6z1`Wt{?EI22jyhLmDecZDgjK&sG4kl+25#+uv zBIWz(bHpRhIFZIZ=NPPypY9EFKWDODRM?KuyC$lv7qRfCY+BErhx+79D=4ikDu=vp zAWB>_6urU9y&?A#-lDcuq-4z`nbX43qGV^4-Ed1Z1Hpat%R7Hg1!Dz1i~J@l{WF$< zL$G7T{yzNn#^ISyQ5nedEt0%o3BZ+=r>c4U0mLc*65 zuP$$yN`NYFA^+^S9{n@Zh^&+oaQ3!-a> zySI$yNjtp#a$H`$2P1@e!Lxu+9xQIxky{02IF3oYHu#q6>PLh)d*Vry(OMlx)zA>j z`B5j}umTBb%o%j9zY4E+<$hRm?0eCOjUVGLL}tZIc+GlNNzWW$S4*QB4i6dNW}bCB8s;3YthJCtFeYR|g)xG_3j z(a6nVns6f=se!d_5J)}W+$u1nR{EE{JWYzpZQm}qo+q%rv-3z6GT|bF_oroqt-B5q-hwFxt#>lHPRECy$B)$)^ zV6PDu=brcrS+O@$G$@UdQ|tBK{3Fi^-QfR@(e<(0|AWJFY&miqySYmct$}>DSD^D! zFAT^~u&(80Ne?f`{Zx(BHgM4?pk<^s&aBO&Yf%lBQpbSAUR9a4 zv%v*9MHLBi`^Yz@A`J~rysMHr9g`9ZTW;EuurRzxLXA{JpRJ+nLw~$|>`Zu$LO$7` z6^|YX47RtV&>>=dw~+XELUcGD5r4UzbCLQ266#>-R~(GL61g8_`0@J&*z~$uDo~0P zEWDp93KJs*QQMT3-!NOE0a#-zO2@AtphQ}&%V)D+1=7lMPt`(d+UtNbvI63`0zuS*Y=aM7FCyC*10Faoibi zTGRj2)KvyV)ivP@NC+Y-DAFn^A>B)ffV4=r)Y4t)HaS3*Yoz?IpRah^`5qSRG!g5$5*h(0E93ru1RF+ba! z=)uG=n|r~lmV(xtzMi>a^mnuIestc6gkItOd2|j^X1nA(U2+l_aF>XmKl#TMZH|y4fsYFci;cyBAkX7r-~M7|9jfr1Pxdfhq50HxR)s$Yp=8%bj_HW%BI^)fYr)lD!V+6X*Np2O?D# zRer+stF}jDJ8w5b82oBy4q_~?KbJ~%!2STP4azW+cboPGIM z`(&~7VZ5|u<#mI=WjHTg9u^LNx-%La7OTEV@y5uDcC60lXUzMLi1aCxb)C0amJ z{|Jb-JU`)E@l$#UpXR;7WzQoPE}(&HbMxty9T#8=b>W_%V%;@9n?oxt zzb&+^1)2IzV~O8U0Bgg>+BI#;J{Z^>KQ;6uvqi_&c5F5tyUx8{d-iAi3;@)1^>w1W+|osw zh3-lfFT>PNM>!H7gQROh)HW%SSZr;Rj8vKNnr&arN-t8p`;g9Y<0SwvdC?*^hK-!3 z?njNi8D%YAPJdQv;K`n*_o?tFw@GVM2wNl z8y++{nHT3w$q1#oElRri%nR>XUE$}b>!H$5MKz*|WQC^Hw`Yeg4sr}pX{_nctH!9w zk7$~Xk4larv)?sc#1R4_*^y=o%S;tYu_`hGa1>N>)UdaDqq)FlT}N@GG>`OEZ2Qam`-DR1e1X?`W+$W~Jrc*l!fWdtp#v2i;Nw1EiQ zT!uB>s(Fd1oavds{&}_+l=Wz-c!WcVf!vdQEfwLd@(cjfwiZ9@Ua8l-W$xp~DJVrW zs%pBbWs>lk2C_F&f^D>f=yWgI<0@UtM1iy@xz0v zes)|2+y`;VfWc>ad{}Xu%B%PK zgg~woM<`31TB!w9SdNC`v+kemG}pP)`lZ*=AF16hX#iQw=mW*x4@N0Y36b=F$;F4Y z0ATQ5lGHC&J@cH2SoJ2M#VnE*)YbY~&Ewf8pi6DkabIni3ndX1%JLi(mmJznH=Ib< zVl(`z$e^hqeHlu}dFyz__fIhVpt~LN0LTqqIz#X*`%7aCQlCas$H_6@37Y@VQ70?M z()p3>)5Vv+F~n;~67-V^bLm#8NE1B>HFjaSY93h`qiSi!g*@$CZ^S-txxL|hnr_m1 z_~%#sFUaJ4c+vE1tXN9wbc-atN6zc%Uq8o%-4`Ffp9`a@uM|%lh*o`)>g`|aG#SnR zOBM(|Yi{0mfKOk%tjIp;9SViO^Js@WpttIYnZ`Qe0?$7MT7luVDNUl9O4%3qfSo83 z?=Tze_`o2c1p1W~6=BABIBnpdUcqAk zsHGLYfu;-QUOetKp@n@Hhn@B6d+pV=y~zzcO=Z-U+%?o-2Y^wzEEOmM&UPG?uD$B8 z0NK`XgAkn`yd-wNom~fS4DQ+`6JreVY#QI}NWo~dsWN^@SD-M!^x$rGVD%2(;-AjY zPcwe-TaBC?p@#7#O{dToY#7F#Hlq{Ll$<7RhxU^b0I~|AuCuRsn-4r0Nv~K=w^xYl zbuj62)Jq$o2fh*QdGM972{&RTAozAQeiS30FC@$NA^)`SH2~yha%eZ7^r%SO>6&*i z;$x1!WxHI;9&;I3K5CEjBb`+s#3KiCvBPgfNL6PhEqEli+PNu9_--Y-TEA$;|UdGP&GR|{C!^LbC{b7FCS)>!QRkW`az8FM7X0+kX_k_y48?c8OsEo_7y zTkv3~QXcL~C=7Z>w*NR??_64;_xRDzVHq;URnNNGF#gmaRyLcH!&Qrei6HgGTr!yb zkO5UsAXwauGiy+y&w)H;YQR2T;k8fPHDB<2b94blNy$l}RS21?b=#%`#*+hWO?s*R zMB3tSJhq+hmy~4kV|~gTcUxm0fTXtI^;dE7oxlx3K}2u1qX(!rg)PhJEFPGg`|qZ8 z2#pO1L$96&z08@IrbD?NLezbKLon4V%O5Bf!f3E;#D1_aDxpKVHf*2pg6 z=xWk)omc0-){zsBg|NPwqtS9vJyIFBkM>~1*1kB8?-`K_&}ga+;+qnlNJ9yKEBDTL znwnu!Fq0zHVa5ec6=wFdfG~DpBQB%*Y zYP{LxArq_dqBn|0e$wIM9qz}Kh|P8inNQmEc)6y((w)bZU9=IGY}9f4`VKkcV$uTw zU%^ft@H?l|)q%uDB<0#nxSUUQtk|6x6R1Hkr93XXny(SC16S z^dF6{wcQ-euQB!1QE7W66mK4u40+mIU}6|D^(g zBPj2~%UsN}$w<2i3onwNWVx3<2J?Grr<2R{$9fuZ%B^!e4FYNLvRCTLPHFr_P$??0_;Lyz0FpqYg*9jaxU`^mnE^SlKk4~eIjH2sf$f17}L6nkB{ z?OpC(ySdhG_j8@S%m4#<^X~{YyW1m2A8lEKnChhqYvFkGAY~$qaEa^dvTJ4|!AzRB zdKxyLuMK`uIVPE-e-*X`x8#2wA=v0nli<%7AsqYAE&LUY(cNwUC`xRkW8QW(K0mi< zfqSlt!8X%fHw!j$Hs+RHV(b(Mg7xBW=I&=3bANIZS;X;`!+rr^V!{unp^cAayUm$% z(OMmJoF8O@76n_cP+ktchns_Yt^*KU_g|O4^0oPRve@n$uV4c_4;01d_FxakA(mkB zJMc!N+;}KHBPc`iB%7P`v|x(_?MkUlrxM4Tn3^)TNaE{pftH zwebb+_Yhs5zu-Fr!F}8?O$Zw|ApQ zY+LeW@Xg10JBDLEe-|EF zqMoo6OSljfAC&ELkT1c7fOY0D!JVPuE?!Kk^+?7+WsvzpRZ zCriGGccmtB@J|3+^k?srpC|^!+MuFCDer{6KVmr0g;q$WaRm9WfE>N>{ahO;NpE9 z!1U6k4Qv%+d|Hb{>v8IzCvK(kcq$O{Ob9jlbBJ;nR9MEqp72vtst^Hxrfm~oVbD=^t)tZBDQ)){v zGS!8%!D)Rlbh>78y-h~yS_+tKlw>cyV+YEl>9t+DLcrqOs1IQDPX7U2O8 z?ZgQHyJCY~(RnjedFAYPiyY*`Qr-JsTF3IXs^0egQZt>oA%qrgQI(kYfQIOqJq=BR z71Xr1FgE)RFwsN49uuIQPc~+zI8-v;=3KW@k6kza6|D2vxmZ62^S0oT9(R1HJoY8f z!rA*t8`Woqs9$=~+E}Ns_0nPlbEwFZFpSQ28T%4SyVUCx(HjcED-)fUCz8~gA zGOB^6E4W-l=?5i7uE_WAoCs0}*i3M*R@#4%X9KyrPf(i8XLEj=2;VAb5Eg9gQaDg1 zcDC6@;Fq)NUKfA(*Xd5;;n7y@vyFqh9OrC33AQxu(K!#oYf)G%h12aZ^Cu;EvaY8r z?8J>F^#5_{mkhXx>6Go7XiZFv*ArF0G|d}%;JRaSMihP0@%eL~wTgPr=9Pjeu=Y9(~i!kaE z5fK^9q~>L9Rf3uaQo5Fiy_F+uo1dL&yv%`F=Skpa-m(%%vgtzGn~rQO#bcuj{|%UT ziL%?IQ;z4Pwo>Yo3r17TplSCD)7q5mJnebF!SU2dYE05Z%!9TQ&z^ zw+QY1_4p=VUvB65mX>df+?SOfmSl$KE4!AT#zka5ZG<{sqrlhhQhuYd#9}u@06;R# zqKX7CRg`o3-dO4~+maaem2P)lM|8a0vD1LI)9Vx^_At=u>o*}%6P?}Vxff=px-qKI z{a5;AM%19*yD^4r!KXJwsB_+=P$T_c@h#2q6aLJaSI=?TTSQ z_bD9h%q8DwV1Rp1d)txyywgSwzzM)j4jJZR^x|BY)M6Ch=e!@WT*N^2YkXp2B%NC# zN?{LK3AE(=HG*Gv8Fq!d(tvYXH_PyTr8(y2Ef!^%tT868-&S^`du2Dm5H5Pg_ve`n z=!1c~)!>6wmv0Ajjicn=zStvY2Bb*Bo%$kzhsiEfze0`|U!m@loCFncTm{}y5pE^BXSPF9AE9;=46y;i7c!Pp|XUMiC3uDhZ(k^G#n8Z*X%Nq-1+F zbX`isa{cJVI-J+?=Y!dzxfybPa#QSP{~2;hO+%>}@rjpz)REye$q1dlcGYPJDbY0} zQD!j=UTHx;pLg~o8RAe_8O)}dU8}$_ku!9%B_>|MC1F_LgL2my_L?*g*ZfFRdT-FA zjhi>A@n;$pIdR7{d8qlw{PuiQsGBD3%qSyjRO7a*mumNW7cym0uD!dXd+`_|xhc7R z4tfzOuP2n}ZA=treHU8qU$Net(!6@c@Ll-QCIfqJ&|W`GNv7>p5KX)B=d(h*nf+T; z{p9fjV7Buri!o3^VK0bnL^UilPmo^y-tZ=*Fa9UZSV6J90@jGcb3-?pm9G0sgpj_N zpj^2FhaeN2W{@LkDD_2zAkHR%RZ}I2NT6tbYuIt6`<23R ze3(zkD_8Jm+?jh-5MXyJy^DC^?QyNR8deqnv=b;sT$y?6Gs{C=qebHpsLGCcSpa7 zL_W`0pc^l=50&qDG;tC)e2}|F_HK~;@tw2VdFYA_IrKyp!B}ClIrhst)r@7SihG@f z)y|DZz1ElfbUiQUo<{2$^{dV5r$FqP>O z;4h<}NW|N2D_MCbg%$gLQkHEcT(H0aW2nW)Y$uK@IJUX8cs?m4SHYdDdlUNF3`^rq zSj&B?f0uDZJwljruID*@9>L?|afbvw34yXM?fc;`BxHN}xm94(g$N5~vrNu2DsH?t z?nV#Y?1FZtsx);^5np4z_ZX2XPN_`Ga`fzT^5JzSn4wL%(p!+@jlWS9bB8+dTZ2h6)C0b1w!&qi}H`}CZ zQ8`DuUPDOv#}nA$H_kRLO)au?i;(o)r_qHRamseWxMG>a%Ri(}y6qX77#a$rVhOz! z%3&7I$7?KYecgc@WjE?1)G7BrEN=%-LsKj~hLC@+YRU26*3^~m&)u&frB&zu7%Zq+ z^ERl6{PnYzpugEdPB!Thxtb(`y{y8C^(lKLJcsiT-F8DW1fp|oY^krda@|SH6J;;d zi=xEYOC|P3>VYaHe0j$cd&_+!qER^wFsN(K@7GsYjk@YowFn1>k}yeKLA;?$+cIxuC}Ld z3wD1{uBD3C#8SZ%fUH1cPfCIey>LpLFe5~~;rpEKA&WWpkaXny)%!51@v5)$+$ z{aT3WauW1!g5fj%c`FUjLinr3qMV#CUE`!a^Ll@VB69P@?ue>q!~&(%#lpy*YFI+D zkZhvytO;wMzDR5q^@FZsS#DJ`FmOY9vZD>c2O)Q`>*Z$^beT(-!VMm3eFjL?vVsKD zFnrbnI+)puB1?6C^30Lb#mKEJb5|o)#q5UBuZD!-js$c3;7;77n(w#eRKVzGLyIhE zNkbdFa)$uVY?HP!Y+moWf*6Kv*U3;svpRvW?2I*kV`lp0Bx0%AH@kBCesVL1?CzCpX)z<*lgYistwkTMhFv^mU;s z)}|VfDrV&mTBeFjP5X<%bb_~q|hoRl}G)=BU#AYPzhJ}ZgS%+#e08tRmf%%ue+hQ()TVaAWL_; zv$Se>wsVeCF(S@eF#PWuMNgx*+!B|^P}K~5Yud#auFR5>>}_q$;%e-m2issKuM9n` zr>KE2Aa4U>thc{qW=FFVejCgem-u?0VOgulW>9sT+AjZVF|9{5C|9+U|$O>+d@;!*F|r{b99FS|o32?^`Ah?az=6ink;SC2>p} z?03=UY8O?EP>m&5v+|BBS0by+jd3MC-UrX*G3kHK9u4vxyPW3QM4tEhDkbs2_DTnl z->Jbv5d2F&TtRELLwA1>wfcn%lfWLmIR_yzs%lTihFUHM1b?46`-ArGhUI4M_E(lK zkBxm8??ZutuWAe#TR(2zvSFu6~hG6C6MSD@k(r;N@ z>3d^$`x`*vK62+&KhT?8b)@V25|otu%UqbCZh3B!gi;P3>N ztkH?}{&qDZd9(f$R4uF^cguRC8!sSR7#SEE=o=X68ye{vnp+tgSs558K!Fm_wxX0Ys~{IQs9ivwtx`rwNr9EV zetCJhUb(Seeo?xx^|#0uTKVr7^KE~&-IMVSR9nfZANAQKal z@=Hr>m4GgVcpucqiS6q^qmz?V9Vygtyua}vbVr6J*;^buLXku>WW@2dQYU*fd;OJ=PYT@W& zWNu+4ZC?Vt)0Bv?jEy^rQO>ryA&s6|>*eVmZTa0j; z2i2Q`+bza8_38s1qYsK!q-cf-0n-kM2~V^@4m{bX<^j`s5in63MQrc{=CEC!E{-7; zx8B^@?IjZ^bKqg=MuXNxPC^A+BMJ?34TM}5|KJg8%1==Jq0ltde}Shjhgc zBwd^Eh40UUSHG-2NqJa45HBsAc->*@l|O%r7uM_O@qhV#tbX=VTN5OB_OZHB?|2jQmF8j?|o=~3P@tBV%pzUd(y_X5agFMj+9?Z;SpbF_kAc9B628 n1Y$yl2Y%)kp^j~lTlnWvqUJ7=Y>Ul zie~nzd{&J4&Iy++n!1UB_c`fi7Uepdtji{Puq?jK~K{wxS=clLl zGQY|1mF6 z@EdB+xwb-Iw}k<%z=FHyv?e(;=nn~6XKk#gFO@F})E4e1%gP*Y1feoR5?ZlGmC={W|=pt@yA?nY0DzBOSY%ET=&4 zUO<2BIH$`-fp=ebTKB3rjC~PUUna8bC7IAjRvO^nwV+9Auu3fa(m1Q7U)94t@jMZC zhlRj|dDf9928Xmry7#0RQSj#S`G+LPeLQD2k5i|0K^@?V1fjWI)f3vgrB6=3bI1QA z)8-0Wy$`C-P;M>BmWEbI`{0D2iS*wZ8>00+{N76hzAFgY~1G>A3AoPL>~m^D|ugE7zS*JuD()OGe1(!~TNMf=efoQl8m6*N3 zC*qsFjBfdPf8B~Keaxr}De2GtaI0J@ax{j?%4{y-F>RDnLpo`;x^W@FK82886~>sZ z;9+$7+SHRR9Kb>JY(mAJSCP4*SIcAq(`W>e^Ds zd|1C5q4vjUuG)3mYh*OHBk;?E#;7P$_;D!8yf(BBGEqAcln)-MRiVz5?VyeGJesTE zqnr6=9J%}6c5K=lp6hj0pYdH$Rv)u*xiYeR)%hfjESu#JPd=(iRZ<`Ed)AmFkZ1`n zdTyS?g8HTS-Ha8A;mN4?Q3Xrr&Ec;DV6R__y)mUE1H)JH@O^#UV{YpDb%iXiUESZP zwd)CcyN5IG6CrEvamlL;Wr(C(?>WsEn?jI7{n@CWk|o!+hrpt-USE^e$EQ zL%KEJu00gnKP5vOomW463ZPTSq4 z(k0?*oEoqI-j0_az+<7|js>8C4Lm1%`8>vG_V77BYLI%(tY_yrqAr>aw)!!?9Xv0w z247+-Z@V4TRM3DCPE+jOGJn}~qmKF%8fxC5d`l}r#$#M|k~ z0d2+cEQuZXk-VPAzSD#>u34F_nG$WZ|DTgp8@CHg>p130maMu&p%V*)3u3W?nX`I* z<@J%Q_#B{H1u{#CcAL|c=N>TG&d$Oe?#96%?H4<#%Ohxov)?~{b%EJ%vh!*4-f&q} zJ9CA8eR4cgRqg$9={Jt%t1!-MTUN>IO| zmWw>uHxCeRxYhl^$5%B48XIo&v2n1IWedKtyDF-T5lp$c4@G5ng(~SoRbWu7FY>7M zH=j~6XFLj9HHC#m;+;yGV7yrQ$&s!;dfIF%ajEe0Rg9S5uOlI&PAWdDsYKBa96MR9 zX9;N3*-11Q>IeF8Z}28o0@ZZUyq7g3_!jr+OeA;vTWuhypu9l)cY#vM(3;QLJ8meV z#`UNn6mh5xZRiZ`P%EV~u-=NOGadZ06&pO^)_SrX3ZP+K7lBj$7BMNjSaXhizx^+i zJ^_!6dGQ-As*@~tcQk!?vo|tGjk9xBJ~ayB2QMktsU(V>G0PNnn=9~f>0N!##d3Xa z6Jo`;_A!JAI!DUs`;1;zC~5b7n$o%?ixL_IsQ#sSmIzOk6eL_y^{RuI$m)=s4+-t6 ziJvPq5KN&8$(ftEIj&Fqe|rab!xs0BVNYiJGzDa-#69B=8b zF@&cK%Nby%$1m(e9>mVgb4f6L5oEjdZ!6Lh1Os~QsHX#HUH@SD<(l6uXW`geA9s27_nnk%|c~7e5|(SK<0%*q2U!g z+^6UM*iecDN^)5~VRYM-t-3djXLdvL_N%2az<98+TYvuV`b_*8Ee~ZsVR?7Soum%O zR+^bSd4(t^YB!lxc^5#!Eehq)Y9|M=_i;}=s-(_o>{{0U@(JU#VY%{h<%(P3m7()G z7=32@^KL?x=$RHjYd@V&`S<$MBr1OM1rb8sLj-v}owyA?Lqu14L!8O#z+jQx)V!T2{-*;X7LWt%X94YBs?vgHVsQ^B zE>m7ph7PI-p}!;!YQmZ?3MZ$ICS=WKxIZ0jOX`5c7JP>>a#n-YM_v>MelXg2|yX3->nZW8}-hL^X+$EgtC@@y%!Q zRc+;v?!{V*$K9cW9hZJ;`g-Z>*|Rvu{%9ZaH!3VFBdYjBagkU$C-mF7YgT3Q3(?>; zzw0N2`;sx#FFa$MJXPg|^q2V_2d|Y1iz_`#C`em_O$GMYTj$F4DzruzW-M zPzVP6Wm#G=_c%N<7QNMc76|#u=!U9etOP7Bln&8;P_3@Lt+QbC6Sp;8Kwl~Oy?$Y2 z(9iD3m0#KflaUXO_X>%H+UwE|LWd(+SQ2H$9TDH$yoEd(jZ|x!c%3aq8E80|l0?DH zSjP)Fd3j+m3;0-|-nEFSnfbY{tEF5Q7XAB=oU22hIYj3zgTxVyxz-(b-H|nAYtPlP z5G@tE)z9y)AZS}%)Yd&ZPEGP&P7>kRu;P8B;ykBov0RFcce!K(W|r{2o(XR*SSyt@ zcBiy)xPm0%n%E(4=I1HKNosuWoim$=2IoDNN3|%5vb-a{55fm$N;K`xh{Mlt0hHNg zzZx!44`)Y1w?c)52jvSiD^u3Z7k!g8>wXV^7Q!RPQcAzhBt(s`D-Z2!ZL7qP1n||Jo{?oB9Y_2=dj31slJ2c zf!kvl&$#ctz;toleza_&RYRJZ0q(h-@C$8Wh{$2sg;9S3mE`5{2zRKrr3aO3}Fn zo;8q13l~pJ4aL7YEAZ$=v>9dMCyC-KglT76zuDqdOr_7WwkDH?-|bZqp#nW3y(E1nsCnKd;6Hs z6W848;;8K@8Q<&eds>MoYfnNc1wXW(SlsB?ZJ z7{U%iT;VEJeGk>kO|Kk(!qtBLL*%3mvxTx*_x4HEl&URh(6PpHK?@u0EBfFU9rr~f=@vqXCtw!fYUOT^D z?d+s{kCWbmaGTsPP8=l`r6SJ*Zdl5@t6qW!8i+n%okkvH3qRzfxqXt+gT?ki+(T2P zfa{R$z7#jT=D&o?!>lSgjq84`6@;(+Y9pzygcxeiNO)V=Hy2u-BLW!J|{sREh zbddDB&nHB#*%xxbb9lZQYAAtYwfh-S`CA&WnH>VNUMD@2*FO5w2Je3G=1qE0W0?+* z4*eOf_%Wit4Ls0K59U0XEZnxlU2XHaB0wM4esrE+^*EwKB=VUK>^P&cyWrOz`mL0b zWmlI}Af1-!F|oPo^$&MNG>%1=7yW3Swd)|U$*OMMEBo+NE zT-Qv@f|9%v+fu@?M7n=jq@t`EiG`IcOLTs6x9Jm;0#@|p5eCu?Sx}>Zku-r}d!LS5 zq>0@X`R9tQKH3uss<+F%5Kv*+gxTd->)HMh@$|KoD{k|rD#-<6iw=BpcTy!8ml`;W$ ziQ}2C;X<|+X6GdCj*Ow#Kk31V9PNes-d8}*DyZbg?-R54_N^z@uAUR7jTMTRNY=lI z$SWPpUSo746x1Y11vcQC!Zm#>q62}U5PN`H?TG4}XfwP7=IgGk^$qF0qo4LQy`Mbm zpTU<<6(#bMB9xKi0!>`fz>L6`9k_DgNSzb$N`3>e)V3y*a{o=>_TABy(iIEr$Ps_V zu+gr%zwvg>XV_Q8xAuk*pNN)dvi+#&#@#t{uENe{4~>LzMS{|9w&;NjP~?dNPGd(C z+27}ME_rT8^(WnZ&1Qtxu*Ru*yK2x+u|Iw6_`iVoAa_g>PTrV>NeL-h@{i?B^_5yZ zrpKj0COwC5Av7zNfdNI6?#rsz$Hdu|uEZaDK)4v=WEGee;Pul+R+RwJ*%KU4rYRJ3 zJ6qJ$LZ7dgbNa4g`A6g!yfoM+3SfDT18?#R=A0NcY&(1uH6$&NI)g_sF99;*RSz-n z`z`UgPjfBVrs{prwe>e(SI2t)&`|*HX<|XkWaP5_@fK){8aVIqP`E#R9C@8H7Q%-} zgNTTYWV9h~SHV!*y2(%OWysDTB2j2X2-2S6>tihzr2gG&2YJSMd0PHv{5}SOXpfn4 zk}?F-Q85SmxF4A}Hf^k{HsZCouZ}5PJW1Z!O?QYlZoxZ!-VYqN6k>cvzOL&4x;Qr- zh|BpTlg_M?W?E&+AfoEE^`d_aJ~NmHui+qNIF;)hqb1*v189Z9BRutAJp95vsoE~G zOES)76sZx}ScB%@6cw@_O{{NOAv6O%(Sk+s`VQ`Zp8r0=uR*CNxBrZHMD{Xle(+`q zt=%cz+~`;>7e=pu#w9LatpXZPz4x6uF#|oGpS7P!7F5;FdVxXecVsFN`uoc-wZ98+ zQWGzg5{qmKw!7$bC_{gJGR$>%3!M{NwFJMeVi@l;E$HxeN$@>;K$8vB3KCmu_&wT; z(;uPu2FNnUh4e0)_r|fG#2nY3BAbCYI`v;EjWPoRc+$itAZ=__-5WiD5vZjx(P{ae z#>siMmm@%r&+!0gEzHZcnUE&*^b^AvFcta`lgp@dG{tl1pFY!Q6OF7^Bfby0QH(}koQl8J z2MpO{b3<7pzP}f}B5!%5$TyRF4L>ITx}hl(%ETeeU5%O-{i*fkr!j+DrHs_W3u_-M zC^f^=uZLqBN_VbqiXtekuZB(fEBw3vR5#5K+K}-Vndp4^u}yYOG6vXn+y~!_paA|? z=L(9t;ZFLbHe^Plq(UUO6L%bRSFTiJPFp=p*IvADCdc}Q`RnYdPJtJ-jTb?F@s;0h z##>TgWz!oEp1wcYO3{IN5~TP1v`}ZnEc6hvP^96Qe)g}I4+SFTO@2nA9uoTeDmhj> z{nk>N?pg0RxQ9#f^yB_Sn*2g6&w2!ZCE=B9>f~=viFdg8UPrjEg{rp$UT>E5j}PWV zDYF;I%IIkoR0xiy9q2C+jZcMAQf=2z4Jx&Wl7tjgKTvbiVLdPmk~~(5OZB2ezyv>uXX=m#g5NvleM+`v zm)}#i$4Xs}`Mr|(_pFQ9>l}OE=>Ea+#XTLk345$dZQZ&^F%9^Y^EtNSYlnX_I(^Xl zq92l0c7m<(V*9d8jb7-TG;|ZrTo(a$49Wav|2*HDC4MZs4`tCKEHw+J7S%R5rL}D5Tjf!aUd9JZj*zvv|fZFub90IozMl6>|hw&S%i8g~(*9HEpmyo#XVLx=0 zJR0!mh$p#D7iLjlADQ*AE64?rjjZG!k$~j#;O3Ch?)zAMqxa3K#peZw&y~WlCHQ{s zumTgGy``5@5*^{>HKive!Ik@b*SgDU%n=?g^kd5A#eJS+cV=m-T&2{J0T`$@kqV<$ zJN$y5413_cWqJZ=mgc|xwMBG`@aX}!4Q%*6cj1iz_lbvvanu#np#v|fj+WeTe^KCO zY<}hW!b(ZP_%eNBd0zMROot?`dDrp%;x}ohp)v)j>^$Z3x2njt483d_dTtJaPbAQ% zLsfCOziu>_&g5AyEJRSJs)bSD6kaV0)U?N}Gsa%l)>!1vtL90TD|#Vak0G zs$jV=sksF9WADvasumSFu5nCkP!C`r;x3-BI_ENa?KbkB2a_slTibBbN`6Y{tK>-$ zuCdU%S-xaa_|=r(S&1{kPye@En^0BV#Wd+kDMFzA&LbTbOJa{&`{5y_3b zEgi}UXeQcJ=FBo|-u~S_aGYgfoUNWT6AJ63X3=vTlkO8ae>zzfbUgepfY7sj z_pE3()&G-8Qa#ZOZ{C2l;=}NT2k+sJH__UCTnvg!V+s+BmY!=yaP;|I|H`MX$x|*2 zWHVM-nFop=(^>a7b6AAF`ZGDKf05G)oE?N%IT7ht-+8A;;+x!yY&${d<6%S$^x|4B zCQ+;eap{36LA#yf6z;S@dZ3npSCfpChEAcJ5qWoPTjs|2nYz$2-`%gcjMR`56>9sBdupHpS*$%QwtsS8Y_S>ZEM_ zO$??lEzyjs9qXxyB}sx!v#inX-1T1scm|sI8gnLJoY9c({_-F-VS`bDEYztLf?PJU z)(U`b_UBbo6MJ(2Fh;x2bAxe6qaqd0^lJ|8)S#$oVYG((g#3#JP`8n==zgegb#5S+ zzlLT7YMTN^Q(t9>6DWa$VBc@&k~YeJqFzo3qL&!GhQU){DO1Xj|0#c49*gI{jiKy$NQB3{mAXxN~H^;=bSE=5W2 z_I4^Ma5E?8K&ikuU=uY1!PLR?^_5Y*agxi@!90Gd^2pI7$C_y{UNO2hHP7~~JWM#! z5~yXtTWQdIC~6zjazobW1AGq(CRzGuD%zz&HA+YDH6@C8jVmwvm8_%^S>^kT{-PcU z+uYa>oz%oXg&Cgj5bI^CX%UX&Mjae@gB6a0db+u$I}1vY7cL zQx6n6nH$-1Dax^b{-b++UZ!HxIU_CO?8e}Mlc^I%RwEg5Q{U^_`T2;!3|oui4{}ab zA5#NEC)8!L*vQNTHehN1UFHL)|=VA z%6jWWq)7SeD{3m%)0tzrE;XBy%jY_w}P&;8?DBxl#SXn1$pw-6StNmf9Nl>E-~w^sSh>Bp{;M#rzBH z=U3h5SG0oO%rjdWQ*~f>M%^?u z^}73qoB!z8f2;40O`~-l_*WwZeoxwLR)A8>*-0&(xmVogL*r^NQXwxJjrzhAt$fm0 zotBrYfb>U^Jswx@8(T)GSw29!u}>`EF26ihoGjGO@3vxpsb-2=(Z|ohT|7@_7Dfdh zB9QR;hchrk5H4Eoe7Q#1@zGxYSzZC%2%+cMD;)}cz^=r&TbBdt>}VoCi(l`3V=QDE z6Fe&VRrUjr@d-d#N!tAp(_J3LC$9T1%@$ttEa4S{q9Xk~n>|blKxWWOHz8k8x4s@f zbE(ajMS1ItK-XWae*|kcX)=Gi?mp?$SK9mT+C7Y^vRXz+F88P-)jAwjhS-VKM0 z(zD6;<;XW}kR%0PB;0)Pj2YS7_JOg7>=K1bmo&`X+T%Ba=#Jz{esnVrVxv6j>D&Ac z3bc=XQHa=^SH-9tygsA?8F}3%3rcX=)(%P`<}qeaR+-u0vh9u`Ic#Rq*s2B!U92-L1POs;q3xx~#ZPtGL<9?^bvx`RUu|7;+r_X$H65mXzeSHW zl@MOH@_$Ec2ve6N9XnpEHG`ECMN7W0Qg65>(N;8aJyJ~@vh4prswvs z_;>M`>veGu`BIe2qt@P4Lvt~XWkPBx^7R9(+vmCKAveKPX68@&2@#pAOIk|~r>y``m3vp?8ToS5&gH5nQB|M07G*)WIU*zfF}uh2fOm@*jK`uM`85>&0&UY# zkD<+*mbpyn31~UMk(C_o<@X5wAHzp5r5Ex(xqePh37GiX`29jz>uwrk z&}AG@rL0a<`pApp_|LEPa3K5jt{BQ~cvB>mf=;BbFe|PxitMYc#KD znas{sx3uLx?b^8*T1HiwQZv$+wROrXIS(;M@!Y%#$Ij-Q-Ty*qoE;VXO!}gJ z>D#xDcD%w5SRiwG_(3%yJo`CvcXTJCc08eW3?3i#THuTOs-1Qu)eN}9H2ielkomEM z-c2YHJ+J;t_^Y1|+wx5`(=d~Afbi1M{t0p0D?PznU^X`ChxO1fhnPjJg*$$IOuXCMXj#cOfgK;XTUt&nY@HN5JjTuPDR8!;i3A@RR-P zfS#?|Ddnh&YdBfbt4SAf$dbxhmW|YwQ%$&^e%q<5N}6BM$>ccQDbO7sM@I7;$>;X# zS;Q{8LH}#{ewNLYYa#ogv2+KRiOhYDkQbo`d0dptGlIFA5ReF4j+mK_{KWDJo=A1o z9&ia5gMLMh7CieP*?bn^>E>i00x{&wqjfsY&ALt{iIhZsJ#9InqvF}XeJkKOZ|E`1 z0`V<1IWE;i9Uz26M;NC#az&mJiTJ*rc&;hUNFc>1S0hVmLQ3QI_t~Q7R!q)nSYnXo z!0#s+ZPl;B+B-&tmX*(2hG$Bq^U?nN+xcW_NdfS_+xq$MuPhf?jNgyWTXWeh*HN^w z%v9QmJ$$g4n-N>oXq`b|O?G+9QtA9r3ZeWAA}>;HIkB9&M8W zqg?pL(nOZCw%2$rz4h_l;AK^+xmzqK5+{yR$besCB;XHoiJfsy7eOt~5CQ0xM>_8r z_s4dTZ_(s-bq5nHL$aF zbXp(6-gNQ7@09pBi1jE~wojz4_0ZAOxqu#PJ-f<;6i&t%W$MpXh8GQ;d!*3y@hAI< zVjL&8TPa>)CO@(^n~1${ajfBU+SOUa+fHo#z&te&)n=mKyWrY=&DgEqT^I1^*t}Rt zcK3pR#rlu!4ITOj>S63MGBis2pY;n}c9#Mj(wW(%7ikDbG4U^nj0xGTv|}n&b+t>o z+Z%HY9%p2abU9pWzHFY+c{7}4;L*|CmyH(T^S)N-ddz)(S{xfLr_DiiC24~bjJ5s$ zT)ncWmw&*;KYI7=v~J0>1!u=x)Oq}A6Gv~Nyx@wcd)N;@wvXOfd-D2t(zIJvXNt%# z5#s2&`WkRnM{#>9P%%EM=+eN))+MT_o#RG{?GiCPH}tqP_x~0Sxt#nN<;{Xs&TtnD zT%E0f00--6T=$~iUp8q5>(n4?&gWec0`$=d;bf2*y-N(7i=`_d83W&CDaeDcj2Uobd{1nE)9tcQng$hK3M@*Bm6xrX*9B`NpXX?})jB$^rx)i zic*J9svku?PC557T#}EQwg{a}RA}^_{%bf0R?K!=JCN4aq1u}Cny=MuS@!7*QSEaJ+lEzlebD`V zET3PuoGuSIr|s%g47LV&$MT_D-5W}grodq-B z-Tw2)XN#lkwu|#R(jAIL85FxQ6p!;H8M|KA?-fu$C@%ChL7Fe-l7R6YC2hG^Z~SaZ z9oWGt_Y?=|LmZ;qn~jC=!pr&pcbgqSc(^FbMd{n|VOD!vt7v1)X@7#lY^AB6y=57D zfR%A8lEBU9r2b4%JW0xFoZ-(K0;;Y(QP0Yn>;~C>!cEwd_$L;v%f?XBeCTq6l}Tg0 zwxNW<_j%6fTQuyf1H!=OcT=W+U~cY%R0ZNc)CzhE%WUOn#|9DBR}D(TQ|0NB61{H| zMd&Zn8SKNUkMKE`>h;yQ+P8}?|I%k!C4Zgon98z-Jq&BT`!hEod0FJZf41WzR3|~9 z$5z#XY)dG-W`kb0)j|Ehg(yYj^2Eja!$&^g2hv16UPlb`pwz@A=Q=jx4(H-rd`Dsa z*hCHYgOIWEIr`>4(hX+_1_w>Dx#jpz>R#WG6-*9kAD$`c5Q63}eft&f6-S6Z+x<4T zm@7CD2DX0VczB7sX0Dq9J~z6r*_jLF;CVYnF~szi(yXu5=$dG8jI7*Bszsl02Mh3( zt&YB0FQ?+zFkkJb`0KrU?Q8B6?tTE__*RYCP+Hd`zKfPz{Eo86K zV;F7Bm9Z%{!Qrkj(vN=9*oQ0|j5_*)jJW>H$@%z1G~hj|^{lbV^>BqP>mAj14k9!1 zkoGc%lqh;Yjw8xMy1>W(p_C|Iv~FXnlN0O1ApK_-hMV>-M(v3G$R(GN>-;cDJ2f%# z#c6f#meM)^Et^MHjQn9$E-cB01hlj^abe2}vK~+SufBS1ttNXwt-s#4t8GfO_UX?p z#(jU$IfaHM7Vi6ogz54w3d5G|3IgE@<77;1*vHJ56M4i~CAY2B+dB^?y?ylZLXsVs zfO7j5n;`9VPyNg)p5_S6j`~^oGi}oXW&>uQXAG<8g;#%IkK>8FWfzv-TPh%>jz8}h><#6SsqjrO z!4TtDbBb#XLjm0v1>7ed--GFePlIRsnCPx3s{~)p9;3ZN|%ENui)Psl#OC&qjX_`ssQ=oE-p!Wg%dE#G8*>I=J zr*hKNM+PdY>)AdV8cS!sUt*y6uOg+MBmh(xtYwce+)jec5PRA^yJeP=Q*Ob#s(V&q zX}9&0KJ6O2&uVO4j{>(B_C0UP^j#Bj$HYV#P z%I1x5oJvp=-N=r0V^b`qz|+yp@c13BW&iy1PT3oy%Nuc)S~^f(Wk})wxmD0%Y~#uq ze#q2)kYsanSX&TE5*?QX-0mFt)PN;7IkR_B&YX#ck*E4t`gRW$m0EQNI4Wtag=IL$ z6-VfHN0HZwzK(`1V7%3aNrT^STRC^Ko+9O^v0(HMdC#6$!UOC@pL>OaK4iUtoQiY7a_tx3b{iI3EO zeP5Q5`Me*$;f%L9TqIuiTX`HJd{5Ev_xBo$(TlzGn8*B0n7f}5q%jON7wYRi(q1~l zO4&+@(LStlMnHovVnsHTW`or1j+KtDHI(9YT9nZZ;jz-Qc7o6>y+;X1 z{TPzM=Zt;n?2$x$@3v-s^pR;{n;}}8X?9aY2RAufv{ECBbAbmIXVAV3^r-EPwDfN} zl9we(1V$e}&3!M&#@^)0?94(u=O<0biRWsNxdch6PXZ?UY5GK683@BPk)3Hz54OI% zX?b;p9qzZ!yZItPdx=O*pRFIz{8wR5jda}%aWs;rMl9W9GXh4|UbkSGGG+T6s~O*m zz6zNnNhGuLOK{F53#@saRTjzYx$)794LlSM?Qd8 zdKbrBBaoo8M1LRU$0(<1kJwj&i`{VdkN%B7m9w}$5pL=BCc-~s_yQUTCH7UwbE}Ia zHk~~;pmoFI_4)<-OZ_ZngvI?({8hhlRHzsIL*47sBOX)(rN%SKrq09hABPTsckR{B zLntX-pO$M)xlefqP+(_VvgQJ(VQ;)Fiz<1?T4p+ufJ@)=9hRVBek#k6+r5JQo>tH+ z1JRBWz%(rPLh<3%WR;aqym*~Uxk-jw35X3^*RHT$2PQ$LHE73MypkUEVpRx4;}Y{h X!lw4y|2_Uwf${mHs$8XvQQ-do;aw2N diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/menu/components/MenuEditor.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/menu/components/MenuEditor.vue deleted file mode 100644 index 5df1785..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/menu/components/MenuEditor.vue +++ /dev/null @@ -1,244 +0,0 @@ - - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/menu/components/MenuPreviewer.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/menu/components/MenuPreviewer.vue deleted file mode 100644 index 93a1980..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/menu/components/MenuPreviewer.vue +++ /dev/null @@ -1,226 +0,0 @@ - - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/menu/components/menuOptions.ts b/hangtag-ui/hangtag-ui-front/src/views/mp/menu/components/menuOptions.ts deleted file mode 100644 index d86dd78..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/menu/components/menuOptions.ts +++ /dev/null @@ -1,42 +0,0 @@ -export default [ - { - value: 'view', - label: '跳转网页' - }, - { - value: 'miniprogram', - label: '跳转小程序' - }, - { - value: 'click', - label: '点击回复' - }, - { - value: 'article_view_limited', - label: '跳转图文消息' - }, - { - value: 'scancode_push', - label: '扫码直接返回结果' - }, - { - value: 'scancode_waitmsg', - label: '扫码回复' - }, - { - value: 'pic_sysphoto', - label: '系统拍照发图' - }, - { - value: 'pic_photo_or_album', - label: '拍照或者相册' - }, - { - value: 'pic_weixin', - label: '微信相册' - }, - { - value: 'location_select', - label: '选择地理位置' - } -] diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/menu/components/types.ts b/hangtag-ui/hangtag-ui-front/src/views/mp/menu/components/types.ts deleted file mode 100644 index b9f7659..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/menu/components/types.ts +++ /dev/null @@ -1,73 +0,0 @@ -export interface Replay { - title: string - description: string - picUrl: string - url: string -} - -export type MenuType = - | '' - | 'click' - | 'view' - | 'scancode_waitmsg' - | 'scancode_push' - | 'pic_sysphoto' - | 'pic_photo_or_album' - | 'pic_weixin' - | 'location_select' - | 'article_view_limited' - -interface _RawMenu { - // db - id: number - parentId: number - accountId: number - appId: string - createTime: number - - // mp-native - name: string - menuKey: string - type: MenuType - url: string - miniProgramAppId: string - miniProgramPagePath: string - articleId: string - replyMessageType: string - replyContent: string - replyMediaId: string - replyMediaUrl: string - replyThumbMediaId: string - replyThumbMediaUrl: string - replyTitle: string - replyDescription: string - replyArticles: Replay - replyMusicUrl: string - replyHqMusicUrl: string -} - -export type RawMenu = Partial<_RawMenu> - -interface _Reply { - type: string - accountId: number - content: string - mediaId: string - url: string - thumbMediaId: string - thumbMediaUrl: string - title: string - description: string - articles: null | Replay[] - musicUrl: string - hqMusicUrl: string -} - -export type Reply = Partial<_Reply> - -interface _Menu extends RawMenu { - children: _Menu[] - reply: Reply -} - -export type Menu = Partial<_Menu> diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/menu/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/menu/index.vue deleted file mode 100644 index 8cc8f58..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/menu/index.vue +++ /dev/null @@ -1,401 +0,0 @@ - - - - - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/message/MessageTable.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/message/MessageTable.vue deleted file mode 100644 index ebc3d74..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/message/MessageTable.vue +++ /dev/null @@ -1,145 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/message/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/message/index.vue deleted file mode 100644 index adceec5..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/message/index.vue +++ /dev/null @@ -1,152 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/statistics/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/statistics/index.vue deleted file mode 100644 index 37ca2a0..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/statistics/index.vue +++ /dev/null @@ -1,368 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/tag/TagForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/tag/TagForm.vue deleted file mode 100644 index 9a85bec..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/tag/TagForm.vue +++ /dev/null @@ -1,98 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/tag/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/tag/index.vue deleted file mode 100644 index df76ce9..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/tag/index.vue +++ /dev/null @@ -1,154 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/user/UserForm.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/user/UserForm.vue deleted file mode 100644 index 818fdd8..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/user/UserForm.vue +++ /dev/null @@ -1,102 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/mp/user/index.vue b/hangtag-ui/hangtag-ui-front/src/views/mp/user/index.vue deleted file mode 100644 index 6147351..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/mp/user/index.vue +++ /dev/null @@ -1,181 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/oms/order/createorder/index..vue b/hangtag-ui/hangtag-ui-front/src/views/oms/order/createorder/index..vue index b0250b0..004062f 100644 --- a/hangtag-ui/hangtag-ui-front/src/views/oms/order/createorder/index..vue +++ b/hangtag-ui/hangtag-ui-front/src/views/oms/order/createorder/index..vue @@ -1,121 +1,171 @@ - diff --git a/hangtag-ui/hangtag-ui-front/src/views/pay/app/components/AppForm.vue b/hangtag-ui/hangtag-ui-front/src/views/pay/app/components/AppForm.vue deleted file mode 100644 index b99766c..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/pay/app/components/AppForm.vue +++ /dev/null @@ -1,130 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/pay/app/components/channel/AlipayChannelForm.vue b/hangtag-ui/hangtag-ui-front/src/views/pay/app/components/channel/AlipayChannelForm.vue deleted file mode 100644 index 169ef8e..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/pay/app/components/channel/AlipayChannelForm.vue +++ /dev/null @@ -1,326 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/pay/app/components/channel/MockChannelForm.vue b/hangtag-ui/hangtag-ui-front/src/views/pay/app/components/channel/MockChannelForm.vue deleted file mode 100644 index 49cb3ab..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/pay/app/components/channel/MockChannelForm.vue +++ /dev/null @@ -1,122 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/pay/app/components/channel/WalletChannelForm.vue b/hangtag-ui/hangtag-ui-front/src/views/pay/app/components/channel/WalletChannelForm.vue deleted file mode 100644 index cbdb542..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/pay/app/components/channel/WalletChannelForm.vue +++ /dev/null @@ -1,122 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/pay/app/components/channel/WeixinChannelForm.vue b/hangtag-ui/hangtag-ui-front/src/views/pay/app/components/channel/WeixinChannelForm.vue deleted file mode 100644 index 34e92c6..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/pay/app/components/channel/WeixinChannelForm.vue +++ /dev/null @@ -1,342 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/pay/app/index.vue b/hangtag-ui/hangtag-ui-front/src/views/pay/app/index.vue deleted file mode 100644 index 2f4a9c1..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/pay/app/index.vue +++ /dev/null @@ -1,471 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/pay/cashier/index.vue b/hangtag-ui/hangtag-ui-front/src/views/pay/cashier/index.vue deleted file mode 100644 index 12723db..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/pay/cashier/index.vue +++ /dev/null @@ -1,482 +0,0 @@ - - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/pay/demo/order/index.vue b/hangtag-ui/hangtag-ui-front/src/views/pay/demo/order/index.vue deleted file mode 100644 index 374464e..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/pay/demo/order/index.vue +++ /dev/null @@ -1,240 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/pay/demo/transfer/DemoTransferForm.vue b/hangtag-ui/hangtag-ui-front/src/views/pay/demo/transfer/DemoTransferForm.vue deleted file mode 100644 index e5448f1..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/pay/demo/transfer/DemoTransferForm.vue +++ /dev/null @@ -1,122 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/pay/demo/transfer/index.vue b/hangtag-ui/hangtag-ui-front/src/views/pay/demo/transfer/index.vue deleted file mode 100644 index 44d07b1..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/pay/demo/transfer/index.vue +++ /dev/null @@ -1,159 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/pay/notify/NotifyDetail.vue b/hangtag-ui/hangtag-ui-front/src/views/pay/notify/NotifyDetail.vue deleted file mode 100644 index 938a3ee..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/pay/notify/NotifyDetail.vue +++ /dev/null @@ -1,86 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/pay/notify/index.vue b/hangtag-ui/hangtag-ui-front/src/views/pay/notify/index.vue deleted file mode 100644 index 5daf754..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/pay/notify/index.vue +++ /dev/null @@ -1,224 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/pay/order/OrderDetail.vue b/hangtag-ui/hangtag-ui-front/src/views/pay/order/OrderDetail.vue deleted file mode 100644 index 4f05c14..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/pay/order/OrderDetail.vue +++ /dev/null @@ -1,111 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/pay/order/index.vue b/hangtag-ui/hangtag-ui-front/src/views/pay/order/index.vue deleted file mode 100644 index 1602659..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/pay/order/index.vue +++ /dev/null @@ -1,273 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/pay/refund/RefundDetail.vue b/hangtag-ui/hangtag-ui-front/src/views/pay/refund/RefundDetail.vue deleted file mode 100644 index 72f7a8c..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/pay/refund/RefundDetail.vue +++ /dev/null @@ -1,93 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/pay/refund/index.vue b/hangtag-ui/hangtag-ui-front/src/views/pay/refund/index.vue deleted file mode 100644 index eaa17b4..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/pay/refund/index.vue +++ /dev/null @@ -1,298 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/pay/transfer/CreatePayTransfer.vue b/hangtag-ui/hangtag-ui-front/src/views/pay/transfer/CreatePayTransfer.vue deleted file mode 100644 index 3170650..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/pay/transfer/CreatePayTransfer.vue +++ /dev/null @@ -1,135 +0,0 @@ - - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/pay/transfer/TransferDetail.vue b/hangtag-ui/hangtag-ui-front/src/views/pay/transfer/TransferDetail.vue deleted file mode 100644 index ad769d2..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/pay/transfer/TransferDetail.vue +++ /dev/null @@ -1,80 +0,0 @@ - - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/pay/transfer/index.vue b/hangtag-ui/hangtag-ui-front/src/views/pay/transfer/index.vue deleted file mode 100644 index b901f34..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/pay/transfer/index.vue +++ /dev/null @@ -1,267 +0,0 @@ - - - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/pay/wallet/balance/WalletForm.vue b/hangtag-ui/hangtag-ui-front/src/views/pay/wallet/balance/WalletForm.vue deleted file mode 100644 index 8173e12..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/pay/wallet/balance/WalletForm.vue +++ /dev/null @@ -1,22 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/pay/wallet/balance/index.vue b/hangtag-ui/hangtag-ui-front/src/views/pay/wallet/balance/index.vue deleted file mode 100644 index 296b567..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/pay/wallet/balance/index.vue +++ /dev/null @@ -1,149 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/pay/wallet/rechargePackage/WalletRechargePackageForm.vue b/hangtag-ui/hangtag-ui-front/src/views/pay/wallet/rechargePackage/WalletRechargePackageForm.vue deleted file mode 100644 index 0153225..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/pay/wallet/rechargePackage/WalletRechargePackageForm.vue +++ /dev/null @@ -1,122 +0,0 @@ - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/pay/wallet/rechargePackage/index.vue b/hangtag-ui/hangtag-ui-front/src/views/pay/wallet/rechargePackage/index.vue deleted file mode 100644 index f097577..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/pay/wallet/rechargePackage/index.vue +++ /dev/null @@ -1,185 +0,0 @@ - - - diff --git a/hangtag-ui/hangtag-ui-front/src/views/pay/wallet/transaction/WalletTransactionList.vue b/hangtag-ui/hangtag-ui-front/src/views/pay/wallet/transaction/WalletTransactionList.vue deleted file mode 100644 index c440778..0000000 --- a/hangtag-ui/hangtag-ui-front/src/views/pay/wallet/transaction/WalletTransactionList.vue +++ /dev/null @@ -1,68 +0,0 @@ - - - -