diff --git a/apps/web-antd/package.json b/apps/web-antd/package.json index db7d007..8294eb9 100644 --- a/apps/web-antd/package.json +++ b/apps/web-antd/package.json @@ -43,8 +43,12 @@ "@vueuse/core": "catalog:", "ant-design-vue": "catalog:", "dayjs": "catalog:", + "mockjs": "catalog:", "pinia": "catalog:", "vue": "catalog:", "vue-router": "catalog:" + }, + "devDependencies": { + "@types/mockjs": "catalog:" } } diff --git a/apps/web-antd/src/api/store/index.ts b/apps/web-antd/src/api/store/index.ts new file mode 100644 index 0000000..b1f3570 --- /dev/null +++ b/apps/web-antd/src/api/store/index.ts @@ -0,0 +1,105 @@ +import type { + ServiceType, + StoreAuditStatus, + StoreBusinessStatus, +} from '#/enums/storeEnum'; + +import { requestClient } from '#/api/request'; + +export * from '#/enums/storeEnum'; + +/** 门店列表项 */ +export interface StoreListItemDto { + /** 门店ID */ + id: string; + /** 门店名称 */ + name: string; + /** 门店编码 */ + code: string; + /** 联系电话 */ + contactPhone: string; + /** 店长/负责人 */ + managerName: string; + /** 门店地址 */ + address: string; + /** 门店封面图 */ + coverImage?: string; + /** 营业状态 */ + businessStatus: StoreBusinessStatus; + /** 审核状态 */ + auditStatus: StoreAuditStatus; + /** 服务方式 */ + serviceTypes: ServiceType[]; + /** 创建时间 */ + createdAt: string; +} + +/** 门店统计 */ +export interface StoreStatsDto { + /** 门店总数 */ + total: number; + /** 营业中 */ + operating: number; + /** 休息中 */ + resting: number; + /** 待审核 */ + pendingAudit: number; +} + +/** 门店列表查询参数 */ +export interface StoreListQuery { + keyword?: string; + businessStatus?: StoreBusinessStatus; + auditStatus?: StoreAuditStatus; + serviceType?: ServiceType; + page: number; + pageSize: number; +} + +/** 分页结果 */ +export interface PaginatedResult { + items: T[]; + total: number; + page: number; + pageSize: number; +} + +/** 创建/编辑门店参数 */ +export interface SaveStoreDto { + id?: string; + name: string; + code: string; + contactPhone: string; + managerName: string; + address: string; + coverImage?: string; + businessStatus?: StoreBusinessStatus; + serviceTypes?: ServiceType[]; +} + +/** 获取门店列表 */ +export async function getStoreListApi(params: StoreListQuery) { + return requestClient.get>('/store/list', { + params, + }); +} + +/** 获取门店统计 */ +export async function getStoreStatsApi() { + return requestClient.get('/store/stats'); +} + +/** 创建门店 */ +export async function createStoreApi(data: SaveStoreDto) { + return requestClient.post('/store/create', data); +} + +/** 更新门店 */ +export async function updateStoreApi(data: SaveStoreDto) { + return requestClient.post('/store/update', data); +} + +/** 删除门店 */ +export async function deleteStoreApi(id: string) { + return requestClient.post('/store/delete', { id }); +} diff --git a/apps/web-antd/src/enums/storeEnum.ts b/apps/web-antd/src/enums/storeEnum.ts new file mode 100644 index 0000000..35788d4 --- /dev/null +++ b/apps/web-antd/src/enums/storeEnum.ts @@ -0,0 +1,29 @@ +/** 门店营业状态 */ +export enum StoreBusinessStatus { + /** 强制关闭 */ + ForceClosed = 3, + /** 营业中 */ + Operating = 1, + /** 休息中 */ + Resting = 2, +} + +/** 门店审核状态 */ +export enum StoreAuditStatus { + /** 已通过 */ + Approved = 1, + /** 待审核 */ + Pending = 0, + /** 已拒绝 */ + Rejected = 2, +} + +/** 服务方式 */ +export enum ServiceType { + /** 外卖配送 */ + Delivery = 1, + /** 堂食 */ + DineIn = 3, + /** 到店自提 */ + Pickup = 2, +} diff --git a/apps/web-antd/src/main.ts b/apps/web-antd/src/main.ts index 22a0006..07786c5 100644 --- a/apps/web-antd/src/main.ts +++ b/apps/web-antd/src/main.ts @@ -3,6 +3,11 @@ import { unmountGlobalLoading } from '@vben/utils'; import { overridesPreferences } from './preferences'; +// 开发环境启用 Mock 数据 +if (import.meta.env.DEV) { + import('./mock'); +} + /** * 应用初始化完成之后再进行页面加载渲染 */ diff --git a/apps/web-antd/src/mock/index.ts b/apps/web-antd/src/mock/index.ts new file mode 100644 index 0000000..07ef021 --- /dev/null +++ b/apps/web-antd/src/mock/index.ts @@ -0,0 +1,4 @@ +// Mock 数据入口,仅在开发环境下使用 +import './store'; + +console.warn('[Mock] Mock 数据已启用'); diff --git a/apps/web-antd/src/mock/store.ts b/apps/web-antd/src/mock/store.ts new file mode 100644 index 0000000..6abfcf7 --- /dev/null +++ b/apps/web-antd/src/mock/store.ts @@ -0,0 +1,253 @@ +import Mock from 'mockjs'; + +const Random = Mock.Random; + +/** mockjs 请求回调参数 */ +interface MockRequestOptions { + url: string; + type: string; + body: null | string; +} + +/** 门店筛选参数 */ +interface StoreFilterParams { + keyword?: string; + businessStatus?: string; + auditStatus?: string; + serviceType?: string; + page?: string; + pageSize?: string; +} + +// 预定义门店数据,保证每次请求返回一致的数据 +const storePool = generateStores(23); + +function generateStores(count: number) { + const districts = [ + '朝阳区建国路88号', + '海淀区中关村大街66号', + '朝阳区望京西路50号', + '通州区新华大街120号', + '丰台区丰台路18号', + '西城区西单北大街100号', + '东城区王府井大街200号', + '大兴区黄村镇兴华路30号', + '昌平区回龙观东大街15号', + '顺义区府前街8号', + '石景山区石景山路22号', + '房山区良乡拱辰大街55号', + '密云区鼓楼东大街10号', + '怀柔区青春路6号', + '平谷区府前街12号', + '门头沟区新桥大街3号', + '延庆区妫水北街9号', + '亦庄经济开发区荣华南路1号', + '望京SOHO T1-2层', + '三里屯太古里南区B1', + '国贸商城3层', + '五道口华联商厦1层', + '中关村食宝街B1层', + ]; + + const managerNames = [ + '张伟', + '李娜', + '王磊', + '赵敏', + '刘洋', + '陈静', + '杨帆', + '周杰', + '吴芳', + '孙涛', + '马丽', + '朱军', + '胡明', + '郭强', + '何欢', + '林峰', + '徐婷', + '高远', + '罗斌', + '梁宇', + '宋佳', + '唐亮', + '韩雪', + ]; + + const storeNames = [ + '老三家外卖(朝阳店)', + '老三家外卖(海淀店)', + '老三家外卖(望京店)', + '老三家外卖(通州店)', + '老三家外卖(丰台店)', + '老三家外卖(西单店)', + '老三家外卖(王府井店)', + '老三家外卖(大兴店)', + '老三家外卖(回龙观店)', + '老三家外卖(顺义店)', + '老三家外卖(石景山店)', + '老三家外卖(良乡店)', + '老三家外卖(密云店)', + '老三家外卖(怀柔店)', + '老三家外卖(平谷店)', + '老三家外卖(门头沟店)', + '老三家外卖(延庆店)', + '老三家外卖(亦庄店)', + '老三家外卖(望京SOHO店)', + '老三家外卖(三里屯店)', + '老三家外卖(国贸店)', + '老三家外卖(五道口店)', + '老三家外卖(中关村店)', + ]; + + const avatarColors = [ + '#3b82f6', + '#f59e0b', + '#8b5cf6', + '#ef4444', + '#22c55e', + '#06b6d4', + '#ec4899', + '#f97316', + '#14b8a6', + '#6366f1', + ]; + + const stores = []; + for (let i = 0; i < count; i++) { + // 1. 按索引分配营业状态,模拟真实分布 + let businessStatus = 1; + if (i >= 21) { + businessStatus = Random.pick([1, 2, 3]); + } else if (i >= 18) { + businessStatus = 3; + } else if (i >= 14) { + businessStatus = 2; + } + + // 2. 按索引分配审核状态 + let auditStatus = 2; + if (i < 20) { + auditStatus = 1; + } else if (i < 22) { + auditStatus = 0; + } + + // 3. 循环分配服务方式组合 + const serviceTypeCombos = [[1], [1, 2], [1, 2, 3], [1, 3], [2, 3]]; + + stores.push({ + id: Random.guid(), + name: storeNames[i] || `老三家外卖(分店${i + 1})`, + code: `ST2025${String(i + 1).padStart(4, '0')}`, + contactPhone: `138****${String(8001 + i).slice(-4)}`, + managerName: managerNames[i] || Random.cname(), + address: `北京市${districts[i] || `朝阳区某路${i + 1}号`}`, + coverImage: '', + businessStatus, + auditStatus, + serviceTypes: serviceTypeCombos[i % serviceTypeCombos.length], + createdAt: Random.datetime('yyyy-MM-dd'), + _avatarColor: avatarColors[i % avatarColors.length], + }); + } + return stores; +} + +function filterStores(params: StoreFilterParams) { + let list = [...storePool]; + + // 1. 关键词模糊匹配(名称/编码/电话) + if (params.keyword) { + const kw = params.keyword.toLowerCase(); + list = list.filter( + (s) => + s.name.toLowerCase().includes(kw) || + s.code.toLowerCase().includes(kw) || + s.contactPhone.includes(kw), + ); + } + + // 2. 营业状态筛选 + if (params.businessStatus) { + const status = Number(params.businessStatus); + list = list.filter((s) => s.businessStatus === status); + } + + // 3. 审核状态筛选 + if (params.auditStatus !== undefined && params.auditStatus !== '') { + const status = Number(params.auditStatus); + list = list.filter((s) => s.auditStatus === status); + } + + // 4. 服务方式筛选 + if (params.serviceType) { + const type = Number(params.serviceType); + list = list.filter((s) => (s.serviceTypes ?? []).includes(type)); + } + + return list; +} + +/** 从 URL 中解析查询参数 */ +function parseUrlParams(url: string): StoreFilterParams { + const parsed = new URL(url, 'http://localhost'); + const params: Record = {}; + parsed.searchParams.forEach((value, key) => { + params[key] = value; + }); + return params; +} + +// 门店列表 +Mock.mock(/\/store\/list/, 'get', (options: MockRequestOptions) => { + const params = parseUrlParams(options.url); + + const page = Number(params.page) || 1; + const pageSize = Number(params.pageSize) || 10; + const filtered = filterStores(params); + const start = (page - 1) * pageSize; + const items = filtered.slice(start, start + pageSize); + + return { + code: 200, + data: { + items, + total: filtered.length, + page, + pageSize, + }, + }; +}); + +// 门店统计 +Mock.mock(/\/store\/stats/, 'get', () => { + return { + code: 200, + data: { + total: storePool.length, + operating: storePool.filter((s) => s.businessStatus === 1).length, + resting: storePool.filter((s) => s.businessStatus === 2).length, + pendingAudit: storePool.filter((s) => s.auditStatus === 0).length, + }, + }; +}); + +// 创建门店 +Mock.mock(/\/store\/create/, 'post', () => { + return { code: 200, data: null }; +}); + +// 更新门店 +Mock.mock(/\/store\/update/, 'post', () => { + return { code: 200, data: null }; +}); + +// 删除门店 +Mock.mock(/\/store\/delete/, 'post', () => { + return { code: 200, data: null }; +}); + +// 设置 mock 响应延迟 +Mock.setup({ timeout: '200-400' }); diff --git a/apps/web-antd/src/router/routes/modules/store.ts b/apps/web-antd/src/router/routes/modules/store.ts new file mode 100644 index 0000000..d13d9a3 --- /dev/null +++ b/apps/web-antd/src/router/routes/modules/store.ts @@ -0,0 +1,26 @@ +import type { RouteRecordRaw } from 'vue-router'; + +const routes: RouteRecordRaw[] = [ + { + meta: { + icon: 'lucide:store', + order: 10, + title: '门店管理', + }, + name: 'Store', + path: '/store', + children: [ + { + name: 'StoreList', + path: '/store/list', + component: () => import('#/views/store/list/index.vue'), + meta: { + icon: 'lucide:list', + title: '门店列表', + }, + }, + ], + }, +]; + +export default routes; diff --git a/apps/web-antd/src/store/auth.ts b/apps/web-antd/src/store/auth.ts index 018f721..0b0fe01 100644 --- a/apps/web-antd/src/store/auth.ts +++ b/apps/web-antd/src/store/auth.ts @@ -1,5 +1,7 @@ import type { Recordable, UserInfo } from '@vben/types'; +import type { AuthApi } from '#/api'; + import { ref } from 'vue'; import { useRouter } from 'vue-router'; @@ -33,7 +35,9 @@ export const useAuthStore = defineStore('auth', () => { let userInfo: null | UserInfo = null; try { loginLoading.value = true; - const { accessToken, refreshToken } = await loginApi(params); + const { accessToken, refreshToken } = await loginApi( + params as AuthApi.LoginParams, + ); // 如果成功获取到 accessToken if (accessToken) { diff --git a/apps/web-antd/src/views/merchant/center/index.vue b/apps/web-antd/src/views/merchant/center/index.vue index 2059a5b..9bf9b63 100644 --- a/apps/web-antd/src/views/merchant/center/index.vue +++ b/apps/web-antd/src/views/merchant/center/index.vue @@ -1,404 +1,475 @@ - - diff --git a/apps/web-antd/src/views/merchant/center/merchant-setting.vue b/apps/web-antd/src/views/merchant/center/merchant-setting.vue index dff16ef..900d7c6 100644 --- a/apps/web-antd/src/views/merchant/center/merchant-setting.vue +++ b/apps/web-antd/src/views/merchant/center/merchant-setting.vue @@ -1,23 +1,45 @@ diff --git a/apps/web-antd/src/views/store/list/index.vue b/apps/web-antd/src/views/store/list/index.vue new file mode 100644 index 0000000..297955c --- /dev/null +++ b/apps/web-antd/src/views/store/list/index.vue @@ -0,0 +1,557 @@ + + + diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 26cee67..c3eef56 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -27,9 +27,6 @@ catalogs: '@eslint/js': specifier: ^9.39.2 version: 9.39.2 - '@faker-js/faker': - specifier: ^9.9.0 - version: 9.9.0 '@iconify/json': specifier: ^2.2.432 version: 2.2.432 @@ -87,12 +84,12 @@ catalogs: '@types/json-bigint': specifier: ^1.0.4 version: 1.0.4 - '@types/jsonwebtoken': - specifier: ^9.0.10 - version: 9.0.10 '@types/lodash.clonedeep': specifier: ^4.5.9 version: 4.5.9 + '@types/mockjs': + specifier: ^1.0.10 + version: 1.0.10 '@types/node': specifier: ^24.10.9 version: 24.10.9 @@ -210,9 +207,6 @@ catalogs: echarts: specifier: ^6.0.0 version: 6.0.0 - element-plus: - specifier: ^2.13.1 - version: 2.13.1 es-toolkit: specifier: ^1.44.0 version: 1.44.0 @@ -282,9 +276,6 @@ catalogs: globals: specifier: ^16.5.0 version: 16.5.0 - h3: - specifier: ^1.15.5 - version: 1.15.5 happy-dom: specifier: ^17.6.3 version: 17.6.3 @@ -300,9 +291,6 @@ catalogs: jsonc-eslint-parser: specifier: ^2.4.2 version: 2.4.2 - jsonwebtoken: - specifier: ^9.0.3 - version: 9.0.3 lefthook: specifier: ^2.0.16 version: 2.0.16 @@ -315,9 +303,9 @@ catalogs: medium-zoom: specifier: ^1.1.0 version: 1.1.0 - naive-ui: - specifier: ^2.43.2 - version: 2.43.2 + mockjs: + specifier: ^1.1.0 + version: 1.1.0 nitropack: specifier: ^2.13.1 version: 2.13.1 @@ -429,9 +417,6 @@ catalogs: tailwindcss-animate: specifier: ^1.0.7 version: 1.0.7 - tdesign-vue-next: - specifier: ^1.18.0 - version: 1.18.0 theme-colors: specifier: ^0.1.0 version: 0.1.0 @@ -447,9 +432,6 @@ catalogs: unbuild: specifier: ^3.6.1 version: 3.6.1 - unplugin-element-plus: - specifier: ^0.11.2 - version: 0.11.2 vee-validate: specifier: ^4.15.1 version: 4.15.1 @@ -630,25 +612,6 @@ importers: specifier: 'catalog:' version: 3.2.4(typescript@5.9.3) - apps/backend-mock: - dependencies: - '@faker-js/faker': - specifier: 'catalog:' - version: 9.9.0 - jsonwebtoken: - specifier: 'catalog:' - version: 9.0.3 - nitropack: - specifier: 'catalog:' - version: 2.13.1 - devDependencies: - '@types/jsonwebtoken': - specifier: 'catalog:' - version: 9.0.10 - h3: - specifier: 'catalog:' - version: 1.15.5 - apps/web-antd: dependencies: '@vben/access': @@ -702,69 +665,9 @@ importers: dayjs: specifier: 'catalog:' version: 1.11.19 - pinia: - specifier: ^3.0.4 - version: 3.0.4(typescript@5.9.3)(vue@3.5.27(typescript@5.9.3)) - vue: - specifier: ^3.5.27 - version: 3.5.27(typescript@5.9.3) - vue-router: + mockjs: specifier: 'catalog:' - version: 4.6.4(vue@3.5.27(typescript@5.9.3)) - - apps/web-ele: - dependencies: - '@vben/access': - specifier: workspace:* - version: link:../../packages/effects/access - '@vben/common-ui': - specifier: workspace:* - version: link:../../packages/effects/common-ui - '@vben/constants': - specifier: workspace:* - version: link:../../packages/constants - '@vben/hooks': - specifier: workspace:* - version: link:../../packages/effects/hooks - '@vben/icons': - specifier: workspace:* - version: link:../../packages/icons - '@vben/layouts': - specifier: workspace:* - version: link:../../packages/effects/layouts - '@vben/locales': - specifier: workspace:* - version: link:../../packages/locales - '@vben/plugins': - specifier: workspace:* - version: link:../../packages/effects/plugins - '@vben/preferences': - specifier: workspace:* - version: link:../../packages/preferences - '@vben/request': - specifier: workspace:* - version: link:../../packages/effects/request - '@vben/stores': - specifier: workspace:* - version: link:../../packages/stores - '@vben/styles': - specifier: workspace:* - version: link:../../packages/styles - '@vben/types': - specifier: workspace:* - version: link:../../packages/types - '@vben/utils': - specifier: workspace:* - version: link:../../packages/utils - '@vueuse/core': - specifier: 'catalog:' - version: 14.1.0(vue@3.5.27(typescript@5.9.3)) - dayjs: - specifier: 'catalog:' - version: 1.11.19 - element-plus: - specifier: 'catalog:' - version: 2.13.1(vue@3.5.27(typescript@5.9.3)) + version: 1.1.0 pinia: specifier: ^3.0.4 version: 3.0.4(typescript@5.9.3)(vue@3.5.27(typescript@5.9.3)) @@ -775,135 +678,9 @@ importers: specifier: 'catalog:' version: 4.6.4(vue@3.5.27(typescript@5.9.3)) devDependencies: - unplugin-element-plus: + '@types/mockjs': specifier: 'catalog:' - version: 0.11.2(magicast@0.5.1) - - apps/web-naive: - dependencies: - '@vben/access': - specifier: workspace:* - version: link:../../packages/effects/access - '@vben/common-ui': - specifier: workspace:* - version: link:../../packages/effects/common-ui - '@vben/constants': - specifier: workspace:* - version: link:../../packages/constants - '@vben/hooks': - specifier: workspace:* - version: link:../../packages/effects/hooks - '@vben/icons': - specifier: workspace:* - version: link:../../packages/icons - '@vben/layouts': - specifier: workspace:* - version: link:../../packages/effects/layouts - '@vben/locales': - specifier: workspace:* - version: link:../../packages/locales - '@vben/plugins': - specifier: workspace:* - version: link:../../packages/effects/plugins - '@vben/preferences': - specifier: workspace:* - version: link:../../packages/preferences - '@vben/request': - specifier: workspace:* - version: link:../../packages/effects/request - '@vben/stores': - specifier: workspace:* - version: link:../../packages/stores - '@vben/styles': - specifier: workspace:* - version: link:../../packages/styles - '@vben/types': - specifier: workspace:* - version: link:../../packages/types - '@vben/utils': - specifier: workspace:* - version: link:../../packages/utils - '@vueuse/core': - specifier: 'catalog:' - version: 14.1.0(vue@3.5.27(typescript@5.9.3)) - naive-ui: - specifier: 'catalog:' - version: 2.43.2(vue@3.5.27(typescript@5.9.3)) - pinia: - specifier: ^3.0.4 - version: 3.0.4(typescript@5.9.3)(vue@3.5.27(typescript@5.9.3)) - vue: - specifier: ^3.5.27 - version: 3.5.27(typescript@5.9.3) - vue-router: - specifier: 'catalog:' - version: 4.6.4(vue@3.5.27(typescript@5.9.3)) - - apps/web-tdesign: - dependencies: - '@vben/access': - specifier: workspace:* - version: link:../../packages/effects/access - '@vben/common-ui': - specifier: workspace:* - version: link:../../packages/effects/common-ui - '@vben/constants': - specifier: workspace:* - version: link:../../packages/constants - '@vben/hooks': - specifier: workspace:* - version: link:../../packages/effects/hooks - '@vben/icons': - specifier: workspace:* - version: link:../../packages/icons - '@vben/layouts': - specifier: workspace:* - version: link:../../packages/effects/layouts - '@vben/locales': - specifier: workspace:* - version: link:../../packages/locales - '@vben/plugins': - specifier: workspace:* - version: link:../../packages/effects/plugins - '@vben/preferences': - specifier: workspace:* - version: link:../../packages/preferences - '@vben/request': - specifier: workspace:* - version: link:../../packages/effects/request - '@vben/stores': - specifier: workspace:* - version: link:../../packages/stores - '@vben/styles': - specifier: workspace:* - version: link:../../packages/styles - '@vben/types': - specifier: workspace:* - version: link:../../packages/types - '@vben/utils': - specifier: workspace:* - version: link:../../packages/utils - '@vueuse/core': - specifier: 'catalog:' - version: 14.1.0(vue@3.5.27(typescript@5.9.3)) - dayjs: - specifier: 'catalog:' - version: 1.11.19 - es-toolkit: - specifier: 'catalog:' - version: 1.44.0 - pinia: - specifier: ^3.0.4 - version: 3.0.4(typescript@5.9.3)(vue@3.5.27(typescript@5.9.3)) - tdesign-vue-next: - specifier: 'catalog:' - version: 1.18.0(vue@3.5.27(typescript@5.9.3)) - vue: - specifier: ^3.5.27 - version: 3.5.27(typescript@5.9.3) - vue-router: - specifier: 'catalog:' - version: 4.6.4(vue@3.5.27(typescript@5.9.3)) + version: 1.0.10 docs: dependencies: @@ -958,7 +735,7 @@ importers: dependencies: '@commitlint/cli': specifier: 'catalog:' - version: 19.8.1(@types/node@24.10.9)(typescript@5.9.3) + version: 19.8.1(@types/node@25.0.10)(typescript@5.9.3) '@commitlint/config-conventional': specifier: 'catalog:' version: 19.8.1 @@ -3073,16 +2850,6 @@ packages: resolution: {integrity: sha512-625EiP1jUOQZ6UQuTUV1XB8Bxa18z3EtC1qA6PJyM3TqUD8PD8Tz183j9av6d/Dq52+7w0F4ovuqjUcTXTfD6g==} engines: {node: '>=20'} - '@css-render/plugin-bem@0.15.14': - resolution: {integrity: sha512-QK513CJ7yEQxm/P3EwsI+d+ha8kSOcjGvD6SevM41neEMxdULE+18iuQK6tEChAWMOQNQPLG/Rw3Khb69r5neg==} - peerDependencies: - css-render: ~0.15.14 - - '@css-render/vue3-ssr@0.15.14': - resolution: {integrity: sha512-//8027GSbxE9n3QlD73xFY6z4ZbHbvrOVB7AO6hsmrEzGbg+h2A09HboUyDgu+xsmj7JnvJD39Irt+2D0+iV8g==} - peerDependencies: - vue: ^3.5.27 - '@csstools/cascade-layer-name-parser@2.0.5': resolution: {integrity: sha512-p1ko5eHgV+MgXFVa4STPKpvPxr6ReS8oS2jzTukjR74i5zJNyWO1ZM1m8YKBXnzDKWfBN1ztLYlHxbVemDD88A==} engines: {node: '>=18'} @@ -3416,11 +3183,6 @@ packages: '@dual-bundle/import-meta-resolve@4.2.1': resolution: {integrity: sha512-id+7YRUgoUX6CgV0DtuhirQWodeeA7Lf4i2x71JS/vtA5pRb/hIGWlw+G6MeXvsM+MXrz0VAydTGElX1rAfgPg==} - '@element-plus/icons-vue@2.3.2': - resolution: {integrity: sha512-OzIuTaIfC8QXEPmJvB4Y4kw34rSXdCJzxcD1kFStBvr8bK6X1zQAYDo0CNMjojnfTqRQCJ0I7prlErcoRiET2A==} - peerDependencies: - vue: ^3.5.27 - '@emnapi/core@1.8.1': resolution: {integrity: sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==} @@ -3430,9 +3192,6 @@ packages: '@emnapi/wasi-threads@1.1.0': resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==} - '@emotion/hash@0.8.0': - resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==} - '@emotion/hash@0.9.2': resolution: {integrity: sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==} @@ -3644,10 +3403,6 @@ packages: resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@faker-js/faker@9.9.0': - resolution: {integrity: sha512-OEl393iCOoo/z8bMezRlJu+GlRGlsKbUAN7jKB6LhnKoqKve5DXRpalbItIIcwnCjs1k/FOPjFzcA6Qn+H+YbA==} - engines: {node: '>=18.0.0', npm: '>=9.0.0'} - '@floating-ui/core@1.7.4': resolution: {integrity: sha512-C3HlIdsBxszvm5McXlB8PeOEWfBhcGBTZGkGlWc2U0KFY5IwG5OQEuQ8rq52DZmcHDlPLd+YFBK+cZcytwIFWg==} @@ -3819,9 +3574,6 @@ packages: '@jspm/import-map@1.2.2': resolution: {integrity: sha512-QrM7+lkgVE8t9NZSm9fDSzheguEOVCOxueKxSwgoOt7yUWesWKDFmmL9bQFURl4IqMcpPz7VV2Tvw9s9emaJzQ==} - '@juggle/resize-observer@3.4.0': - resolution: {integrity: sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==} - '@keyv/bigmap@1.3.1': resolution: {integrity: sha512-WbzE9sdmQtKy8vrNPa9BRnwZh5UF4s1KTmSK0KUVLo3eff5BlQNNWDnFOouNpKfPKDnms9xynJjsMYjMaT/aFQ==} engines: {node: '>= 18'} @@ -4422,9 +4174,6 @@ packages: '@swc/helpers@0.5.18': resolution: {integrity: sha512-TXTnIcNJQEKwThMMqBXsZ4VGAza6bvN4pa41Rkqoio6QBKMvo+5lexeTMScGCIxtzgQJzElcvIltani+adC5PQ==} - '@sxzz/popperjs-es@2.11.7': - resolution: {integrity: sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==} - '@tailwindcss/nesting@0.0.0-insiders.565cd3e': resolution: {integrity: sha512-WhHoFBx19TnH/c+xLwT/sxei6+4RpdfiyG3MYXfmLaMsADmVqBkF7B6lDalgZD9YdM459MF7DtxVbWkOrV7IaQ==} peerDependencies: @@ -4513,18 +4262,9 @@ packages: '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - '@types/jsonwebtoken@9.0.10': - resolution: {integrity: sha512-asx5hIG9Qmf/1oStypjanR7iKTv0gXQ1Ov/jfrX6kS/EO0OFni8orbmGCn0672NHR3kXHwpAwR+B368ZGN/2rA==} - - '@types/katex@0.16.8': - resolution: {integrity: sha512-trgaNyfU+Xh2Tc+ABIb44a5AYUpicB3uwirOioeOkNPPbmgRNtcWyDeeFRzjPZENO9Vq8gvVqfhaaXWLlevVwg==} - '@types/linkify-it@5.0.0': resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==} - '@types/lodash-es@4.17.12': - resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} - '@types/lodash.clonedeep@4.5.9': resolution: {integrity: sha512-19429mWC+FyaAhOLzsS8kZUsI+/GmBAQ0HFiCPsKGU+7pBXOQWhyrY6xNNDwUSX8SMZMJvuFVMF9O5dQOlQK9Q==} @@ -4543,8 +4283,8 @@ packages: '@types/minimatch@3.0.5': resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==} - '@types/ms@2.1.0': - resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} + '@types/mockjs@1.0.10': + resolution: {integrity: sha512-SXgrhajHG7boLv6oU93CcmdDm0HYRiceuz6b+7z+/2lCJPTWDv0V5YiwFHT2ejE4bQqgSXQiVPQYPWv7LGsK1g==} '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} @@ -4579,21 +4319,12 @@ packages: '@types/sortablejs@1.15.9': resolution: {integrity: sha512-7HP+rZGE2p886PKV9c9OJzLBI6BBJu1O7lJGYnPyG3fS4/duUCcngkNCjsLwIMV+WMqANe3tt4irrXHSIe68OQ==} - '@types/tinycolor2@1.4.6': - resolution: {integrity: sha512-iEN8J0BoMnsWBqjVbWH/c0G0Hh7O21lpR2/+PrvAVgWdzL7eexIFm4JN/Wn10PTcmNdtS6U67r499mlWMXOxNw==} - '@types/trusted-types@2.0.7': resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} - '@types/validator@13.15.10': - resolution: {integrity: sha512-T8L6i7wCuyoK8A/ZeLYt1+q0ty3Zb9+qbSSvrIVitzT3YjZqkTZ40IbRsPanlB4h1QB3JVL1SYCdR6ngtFYcuA==} - - '@types/web-bluetooth@0.0.20': - resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} - '@types/web-bluetooth@0.0.21': resolution: {integrity: sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==} @@ -4968,9 +4699,6 @@ packages: '@vue/test-utils@2.4.6': resolution: {integrity: sha512-FMxEjOpYNYiFe0GkaHsnJPXFHxQ6m4t8vI/ElPGpMWxZKpmRvQ33OIrvRXemy6yha03RxhOlQuy+gZMC3CQSow==} - '@vueuse/core@10.11.1': - resolution: {integrity: sha512-guoy26JQktXPcz+0n3GukWIy/JDNKti9v6VEMu6kV2sYBsWuGiTU8OWdg+ADfUbHg3/3DlqySDe7JmdHrktiww==} - '@vueuse/core@12.8.2': resolution: {integrity: sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ==} @@ -5067,9 +4795,6 @@ packages: universal-cookie: optional: true - '@vueuse/metadata@10.11.1': - resolution: {integrity: sha512-IGa5FXd003Ug1qAZmyE8wF3sJ81xGLSqTqtQ6jaVfkeZ4i5kS2mwQF61yhVqojRnenVew5PldLyRgvdl4YYuSw==} - '@vueuse/metadata@12.8.2': resolution: {integrity: sha512-rAyLGEuoBJ/Il5AmFHiziCPdQzRt88VxR+Y/A/QhJ1EWtWqPBBAxTAFaSkviwEuOEZNtW8pvkPgoCZQ+HxqW1A==} @@ -5084,9 +4809,6 @@ packages: peerDependencies: vue: ^3.5.27 - '@vueuse/shared@10.11.1': - resolution: {integrity: sha512-LHpC8711VFZlDaYUXEBbFBCQ7GS3dVU9mjOhhMhXP6txTV4EhYQg/KGnQuvt/sPAtoUKq7VVUnL6mVtFoL42sA==} - '@vueuse/shared@12.8.2': resolution: {integrity: sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w==} @@ -5416,9 +5138,6 @@ packages: resolution: {integrity: sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==} engines: {node: '>=8.0.0'} - buffer-equal-constant-time@1.0.1: - resolution: {integrity: sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==} - buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -5903,9 +5622,6 @@ packages: peerDependencies: postcss: ^8.4 - css-render@0.15.14: - resolution: {integrity: sha512-9nF4PdUle+5ta4W5SyZdLCCmFd37uVimSjg1evcTqKJCyvCEEj12WKzOSBNak6r4im4J4iYXKH1OWpUV5LBYFg==} - css-select@4.3.0: resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} @@ -5954,9 +5670,6 @@ packages: resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} - csstype@3.0.11: - resolution: {integrity: sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==} - csstype@3.2.3: resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} @@ -5992,11 +5705,6 @@ packages: dataloader@1.4.0: resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==} - date-fns-tz@3.2.0: - resolution: {integrity: sha512-sg8HqoTEulcbbbVXeg84u5UnlsQa8GS5QXMqjjYIhS4abEVVKIUwe0/l/UhrZdKaL/W5eWZNlbTeEIiOXTcsBQ==} - peerDependencies: - date-fns: ^3.0.0 || ^4.0.0 - date-fns@4.1.0: resolution: {integrity: sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==} @@ -6227,9 +5935,6 @@ packages: eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - ecdsa-sig-formatter@1.0.11: - resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} - echarts@6.0.0: resolution: {integrity: sha512-Tte/grDQRiETQP4xz3iZWSvoHrkCQtwqd6hs+mifXcjrCuo2iKWbajFObuLJVBlDIJlOzgQPd1hsaKt/3+OMkQ==} @@ -6249,11 +5954,6 @@ packages: electron-to-chromium@1.5.279: resolution: {integrity: sha512-0bblUU5UNdOt5G7XqGiJtpZMONma6WAfq9vsFmtn9x1+joAObr6x1chfqyxFSDCAFwFhCQDrqeAr6MYdpwJ9Hg==} - element-plus@2.13.1: - resolution: {integrity: sha512-eG4BDBGdAsUGN6URH1PixzZb0ngdapLivIk1meghS1uEueLvQ3aljSKrCt5x6sYb6mUk8eGtzTQFgsPmLavQcA==} - peerDependencies: - vue: ^3.5.27 - emoji-regex-xs@1.0.0: resolution: {integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==} @@ -6340,9 +6040,6 @@ packages: es-module-lexer@1.7.0: resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} - es-module-lexer@2.0.0: - resolution: {integrity: sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==} - es-object-atoms@1.1.1: resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} engines: {node: '>= 0.4'} @@ -6652,9 +6349,6 @@ packages: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} - evtd@0.2.4: - resolution: {integrity: sha512-qaeGN5bx63s/AXgQo8gj6fBkxge+OoLddLniox5qtLAEY5HSnuSlISXVPxnSae1dWblvTh4/HoMIB+mbMsvZzw==} - execa@8.0.1: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} @@ -7087,10 +6781,6 @@ packages: hey-listen@1.0.8: resolution: {integrity: sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==} - highlight.js@11.11.1: - resolution: {integrity: sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==} - engines: {node: '>=12.0.0'} - homedir-polyfill@1.0.3: resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} engines: {node: '>=0.10.0'} @@ -7584,16 +7274,6 @@ packages: resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} engines: {node: '>=0.10.0'} - jsonwebtoken@9.0.3: - resolution: {integrity: sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==} - engines: {node: '>=12', npm: '>=6'} - - jwa@2.0.1: - resolution: {integrity: sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==} - - jws@4.0.1: - resolution: {integrity: sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==} - keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} @@ -7737,13 +7417,6 @@ packages: lodash-es@4.17.23: resolution: {integrity: sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==} - 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==} @@ -7756,27 +7429,12 @@ packages: lodash.defaults@4.2.0: resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} - lodash.includes@4.3.0: - resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==} - lodash.isarguments@3.1.0: resolution: {integrity: sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==} - lodash.isboolean@3.0.3: - resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==} - - lodash.isinteger@4.0.4: - resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==} - - lodash.isnumber@3.0.3: - resolution: {integrity: sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==} - lodash.isplainobject@4.0.6: resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} - lodash.isstring@4.0.1: - resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} - lodash.kebabcase@4.1.1: resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==} @@ -7789,9 +7447,6 @@ packages: lodash.mergewith@4.6.2: resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} - lodash.once@4.1.1: - resolution: {integrity: sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==} - lodash.snakecase@4.1.1: resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} @@ -7892,9 +7547,6 @@ packages: medium-zoom@1.1.0: resolution: {integrity: sha512-ewyDsp7k4InCUp3jRmwHBRFGyjBimKps/AJLjRSox+2q/2H4p/PNpQf+pwONWlJiOudkBXtbdmVbFjqyybfTmQ==} - memoize-one@6.0.0: - resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==} - meow@12.1.1: resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==} engines: {node: '>=16.10'} @@ -8047,6 +7699,10 @@ packages: mlly@1.8.0: resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} + mockjs@1.1.0: + resolution: {integrity: sha512-eQsKcWzIaZzEZ07NuEyO4Nw65g0hdWAyurVol1IPl1gahRwY+svqzfgfey8U8dahLwG44d6/RwEzuK52rSa/JQ==} + hasBin: true + mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} @@ -8068,11 +7724,6 @@ packages: mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - naive-ui@2.43.2: - resolution: {integrity: sha512-YlLMnGrwGTOc+zMj90sG3ubaH5/7czsgLgGcjTLA981IUaz8r6t4WIujNt8r9PNr+dqv6XNEr0vxkARgPPjfBQ==} - peerDependencies: - vue: ^3.5.27 - nanoid@3.3.11: resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -8178,9 +7829,6 @@ packages: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 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} @@ -9267,10 +8915,6 @@ packages: engines: {node: 20 || >=22} hasBin: true - rolldown-string@0.2.1: - resolution: {integrity: sha512-7H8oH5A8+L96pbBTPCt/rZrwayEhZY5/ejhdk9nRODH32H1v7+bfkaCr+kS15DcGQ7VC1HcWdQVNABFYgrMOzg==} - engines: {node: '>=20.19.0'} - rollup-plugin-dts@6.3.0: resolution: {integrity: sha512-d0UrqxYd8KyZ6i3M2Nx7WOMy708qsV/7fTHMHxCMCBOAe3V/U7OMPu5GkX8hC+cmkHhzGnfeYongl1IgiooddA==} engines: {node: '>=16'} @@ -9380,9 +9024,6 @@ packages: resolution: {integrity: sha512-Wgtnw0QSm0v7gVKv11nOoeyGS65EThGXnBB7jfd4IhZd2eq3B4AMPcXAL5qJ1h55+Qolun7TONTwX7H5m6e2pQ==} engines: {node: '>=8.0'} - seemly@0.3.10: - resolution: {integrity: sha512-2+SMxtG1PcsL0uyhkumlOU6Qo9TAQ/WyH7tthnPIOQB05/12jz9naq6GZ6iZ6ApVsO3rr2gsnTf3++OV63kE1Q==} - select@1.1.2: resolution: {integrity: sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==} @@ -9861,17 +9502,6 @@ packages: resolution: {integrity: sha512-fov56fJiRuThVFXD6o6/Q354S7pnWMJIVlDBYijsTNx6jKSE4pvrDTs6lUnmGvNyfJwFQQwWy3owKz1ucIhveQ==} engines: {node: '>=18'} - tdesign-icons-vue-next@0.4.2: - resolution: {integrity: sha512-mTPk1ApcCA9oxDiSs9ttMdd09H8ICBooZIr2bwDEELnYr60sYSUbvWojQ2tp84MUAMuw21HgyVyGkT49db0GFg==} - peerDependencies: - vue: ^3.5.27 - - tdesign-vue-next@1.18.0: - resolution: {integrity: sha512-JSLb82fXAsO0FXFuMBCiLDSIvUlqG2bZ1CkWOLYfE4IFyPQ2hwjTxTsJRugVoLRYBuhiIKprhmoucZ4tlgWrGg==} - engines: {node: '>= 18'} - peerDependencies: - vue: ^3.5.27 - temp-dir@2.0.0: resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==} engines: {node: '>=8'} @@ -9919,9 +9549,6 @@ packages: tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} - tinycolor2@1.6.0: - resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==} - tinyexec@0.3.2: resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} @@ -9970,9 +9597,6 @@ packages: tr46@1.0.1: resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} - treemate@0.3.11: - resolution: {integrity: sha512-M8RGFoKtZ8dF+iwJfAJTOH/SM4KluKOKRJpjCMhI8bG3qB74zrFoArKZ62ll0Fr3mqkMJiQOmWYkdYgDeITYQg==} - trim-lines@3.0.1: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} @@ -10183,10 +9807,6 @@ packages: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} - unplugin-element-plus@0.11.2: - resolution: {integrity: sha512-jr88ePpv43h8cCmVW0SqM73sTD+g1n9Rmy4uMbTh+pSmceH9ZdKteWX9f+twC4aDlP3svdZuKMqLoUNBT2V6Tg==} - engines: {node: '>=20.19.0'} - unplugin-utils@0.3.1: resolution: {integrity: sha512-5lWVjgi6vuHhJ526bI4nlCOmkCIF3nnfXkCMDeMJrtdvxTs6ZFCM8oNufGTsDbKv/tJ/xj8RpvXjRuPBZJuJog==} engines: {node: '>=20.19.0'} @@ -10298,15 +9918,6 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - validator@13.15.26: - resolution: {integrity: sha512-spH26xU080ydGggxRyR1Yhcbgx+j3y5jbNXk/8L+iRvdIEQ4uTRH2Sgf2dokud6Q4oAtsbNvJ1Ft+9xmm6IZcA==} - engines: {node: '>= 0.10'} - - vdirs@0.1.8: - resolution: {integrity: sha512-H9V1zGRLQZg9b+GdMk8MXDN2Lva0zx72MPahDKc30v+DtwKjfyOSXWRIX4t2mhDubM1H09gPhWeth/BJWPHGUw==} - peerDependencies: - vue: ^3.5.27 - vee-validate@4.15.1: resolution: {integrity: sha512-DkFsiTwEKau8VIxyZBGdO6tOudD+QoUBPuHj3e6QFqmbfCRj1ArmYWue9lEp6jLSWBIw4XPlDLjFIZNLdRAMSg==} peerDependencies: @@ -10507,11 +10118,6 @@ packages: jsdom: optional: true - vooks@0.2.12: - resolution: {integrity: sha512-iox0I3RZzxtKlcgYaStQYKEzWWGAduMmq+jS7OrNdQo1FgGfPMubGL3uGHOU9n97NIvfFDBGnpSvkWyb/NSn/Q==} - peerDependencies: - vue: ^3.5.27 - vscode-languageserver-textdocument@1.0.12: resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==} @@ -10579,11 +10185,6 @@ packages: typescript: optional: true - vueuc@0.4.65: - resolution: {integrity: sha512-lXuMl+8gsBmruudfxnMF9HW4be8rFziylXFu1VHVNbLVhRTXXV4njvpRuJapD/8q+oFEMSfQMH16E/85VoWRyQ==} - peerDependencies: - vue: ^3.5.27 - vxe-pc-ui@4.12.16: resolution: {integrity: sha512-EEc6lQUAhSJyxinpqr+WtPGEwXzNZIX3ETVO04bs6Ww7SBb2QOQsQ+X0cARLR2aNlmeEKz60T65ykzRmIKQFAw==} @@ -11926,11 +11527,11 @@ snapshots: '@cloudflare/kv-asset-handler@0.4.2': {} - '@commitlint/cli@19.8.1(@types/node@24.10.9)(typescript@5.9.3)': + '@commitlint/cli@19.8.1(@types/node@25.0.10)(typescript@5.9.3)': dependencies: '@commitlint/format': 19.8.1 '@commitlint/lint': 19.8.1 - '@commitlint/load': 19.8.1(@types/node@24.10.9)(typescript@5.9.3) + '@commitlint/load': 19.8.1(@types/node@25.0.10)(typescript@5.9.3) '@commitlint/read': 19.8.1 '@commitlint/types': 19.8.1 tinyexec: 1.0.2 @@ -11977,7 +11578,7 @@ snapshots: '@commitlint/rules': 19.8.1 '@commitlint/types': 19.8.1 - '@commitlint/load@19.8.1(@types/node@24.10.9)(typescript@5.9.3)': + '@commitlint/load@19.8.1(@types/node@25.0.10)(typescript@5.9.3)': dependencies: '@commitlint/config-validator': 19.8.1 '@commitlint/execute-rule': 19.8.1 @@ -11985,7 +11586,7 @@ snapshots: '@commitlint/types': 19.8.1 chalk: 5.6.2 cosmiconfig: 9.0.0(typescript@5.9.3) - cosmiconfig-typescript-loader: 6.2.0(@types/node@24.10.9)(cosmiconfig@9.0.0(typescript@5.9.3))(typescript@5.9.3) + cosmiconfig-typescript-loader: 6.2.0(@types/node@25.0.10)(cosmiconfig@9.0.0(typescript@5.9.3))(typescript@5.9.3) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -12256,14 +11857,6 @@ snapshots: '@cspell/url@9.6.2': {} - '@css-render/plugin-bem@0.15.14(css-render@0.15.14)': - dependencies: - css-render: 0.15.14 - - '@css-render/vue3-ssr@0.15.14(vue@3.5.27(typescript@5.9.3))': - dependencies: - vue: 3.5.27(typescript@5.9.3) - '@csstools/cascade-layer-name-parser@2.0.5(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': dependencies: '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) @@ -12603,10 +12196,6 @@ snapshots: '@dual-bundle/import-meta-resolve@4.2.1': {} - '@element-plus/icons-vue@2.3.2(vue@3.5.27(typescript@5.9.3))': - dependencies: - vue: 3.5.27(typescript@5.9.3) - '@emnapi/core@1.8.1': dependencies: '@emnapi/wasi-threads': 1.1.0 @@ -12623,8 +12212,6 @@ snapshots: tslib: 2.8.1 optional: true - '@emotion/hash@0.8.0': {} - '@emotion/hash@0.9.2': {} '@emotion/unitless@0.8.1': {} @@ -12765,8 +12352,6 @@ snapshots: '@eslint/core': 0.17.0 levn: 0.4.1 - '@faker-js/faker@9.9.0': {} - '@floating-ui/core@1.7.4': dependencies: '@floating-ui/utils': 0.2.10 @@ -12977,8 +12562,6 @@ snapshots: '@jspm/import-map@1.2.2': {} - '@juggle/resize-observer@3.4.0': {} - '@keyv/bigmap@1.3.1(keyv@5.6.0)': dependencies: hashery: 1.4.0 @@ -13165,6 +12748,7 @@ snapshots: untyped: 2.0.0 transitivePeerDependencies: - magicast + optional: true '@one-ini/wasm@0.1.1': {} @@ -13616,8 +13200,6 @@ snapshots: dependencies: tslib: 2.8.1 - '@sxzz/popperjs-es@2.11.7': {} - '@tailwindcss/nesting@0.0.0-insiders.565cd3e(postcss@8.5.6)': dependencies: postcss: 8.5.6 @@ -13700,19 +13282,8 @@ snapshots: '@types/json-schema@7.0.15': {} - '@types/jsonwebtoken@9.0.10': - dependencies: - '@types/ms': 2.1.0 - '@types/node': 25.0.10 - - '@types/katex@0.16.8': {} - '@types/linkify-it@5.0.0': {} - '@types/lodash-es@4.17.12': - dependencies: - '@types/lodash': 4.17.23 - '@types/lodash.clonedeep@4.5.9': dependencies: '@types/lodash': 4.17.23 @@ -13732,7 +13303,7 @@ snapshots: '@types/minimatch@3.0.5': {} - '@types/ms@2.1.0': {} + '@types/mockjs@1.0.10': {} '@types/node@12.20.55': {} @@ -13766,16 +13337,10 @@ snapshots: '@types/sortablejs@1.15.9': {} - '@types/tinycolor2@1.4.6': {} - '@types/trusted-types@2.0.7': {} '@types/unist@3.0.3': {} - '@types/validator@13.15.10': {} - - '@types/web-bluetooth@0.0.20': {} - '@types/web-bluetooth@0.0.21': {} '@typescript-eslint/eslint-plugin@8.54.0(@typescript-eslint/parser@8.54.0(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.2(jiti@2.6.1))(typescript@5.9.3)': @@ -14285,16 +13850,6 @@ snapshots: js-beautify: 1.15.4 vue-component-type-helpers: 2.2.12 - '@vueuse/core@10.11.1(vue@3.5.27(typescript@5.9.3))': - dependencies: - '@types/web-bluetooth': 0.0.20 - '@vueuse/metadata': 10.11.1 - '@vueuse/shared': 10.11.1(vue@3.5.27(typescript@5.9.3)) - vue-demi: 0.14.10(vue@3.5.27(typescript@5.9.3)) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - '@vueuse/core@12.8.2(typescript@5.9.3)': dependencies: '@types/web-bluetooth': 0.0.21 @@ -14348,8 +13903,6 @@ snapshots: qrcode: 1.5.4 sortablejs: 1.15.6 - '@vueuse/metadata@10.11.1': {} - '@vueuse/metadata@12.8.2': {} '@vueuse/metadata@13.9.0': {} @@ -14370,13 +13923,6 @@ snapshots: transitivePeerDependencies: - magicast - '@vueuse/shared@10.11.1(vue@3.5.27(typescript@5.9.3))': - dependencies: - vue-demi: 0.14.10(vue@3.5.27(typescript@5.9.3)) - transitivePeerDependencies: - - '@vue/composition-api' - - vue - '@vueuse/shared@12.8.2(typescript@5.9.3)': dependencies: vue: 3.5.27(typescript@5.9.3) @@ -14734,8 +14280,6 @@ snapshots: buffer-crc32@1.0.0: {} - buffer-equal-constant-time@1.0.1: {} - buffer-from@1.1.2: {} buffer@6.0.3: @@ -15125,9 +14669,9 @@ snapshots: core-util-is@1.0.3: {} - cosmiconfig-typescript-loader@6.2.0(@types/node@24.10.9)(cosmiconfig@9.0.0(typescript@5.9.3))(typescript@5.9.3): + cosmiconfig-typescript-loader@6.2.0(@types/node@25.0.10)(cosmiconfig@9.0.0(typescript@5.9.3))(typescript@5.9.3): dependencies: - '@types/node': 24.10.9 + '@types/node': 25.0.10 cosmiconfig: 9.0.0(typescript@5.9.3) jiti: 2.6.1 typescript: 5.9.3 @@ -15289,11 +14833,6 @@ snapshots: dependencies: postcss: 8.5.6 - css-render@0.15.14: - dependencies: - '@emotion/hash': 0.8.0 - csstype: 3.0.11 - css-select@4.3.0: dependencies: boolbase: 1.0.0 @@ -15374,8 +14913,6 @@ snapshots: dependencies: css-tree: 2.2.1 - csstype@3.0.11: {} - csstype@3.2.3: {} cz-git@1.12.0: {} @@ -15406,10 +14943,6 @@ snapshots: dataloader@1.4.0: {} - date-fns-tz@3.2.0(date-fns@4.1.0): - dependencies: - date-fns: 4.1.0 - date-fns@4.1.0: {} dayjs@1.11.19: {} @@ -15600,10 +15133,6 @@ snapshots: eastasianwidth@0.2.0: {} - ecdsa-sig-formatter@1.0.11: - dependencies: - safe-buffer: 5.2.1 - echarts@6.0.0: dependencies: tslib: 2.3.0 @@ -15624,26 +15153,6 @@ snapshots: electron-to-chromium@1.5.279: {} - element-plus@2.13.1(vue@3.5.27(typescript@5.9.3)): - dependencies: - '@ctrl/tinycolor': 4.2.0 - '@element-plus/icons-vue': 2.3.2(vue@3.5.27(typescript@5.9.3)) - '@floating-ui/dom': 1.7.5 - '@popperjs/core': '@sxzz/popperjs-es@2.11.7' - '@types/lodash': 4.17.23 - '@types/lodash-es': 4.17.12 - '@vueuse/core': 10.11.1(vue@3.5.27(typescript@5.9.3)) - async-validator: 4.2.5 - dayjs: 1.11.19 - lodash: 4.17.23 - lodash-es: 4.17.23 - lodash-unified: 1.0.3(@types/lodash-es@4.17.12)(lodash-es@4.17.23)(lodash@4.17.23) - memoize-one: 6.0.0 - normalize-wheel-es: 1.2.0 - vue: 3.5.27(typescript@5.9.3) - transitivePeerDependencies: - - '@vue/composition-api' - emoji-regex-xs@1.0.0: {} emoji-regex@10.6.0: {} @@ -15696,7 +15205,8 @@ snapshots: error-stack-parser-es@1.0.5: {} - errx@0.1.0: {} + errx@0.1.0: + optional: true es-abstract@1.24.1: dependencies: @@ -15761,8 +15271,6 @@ snapshots: es-module-lexer@1.7.0: {} - es-module-lexer@2.0.0: {} - es-object-atoms@1.1.1: dependencies: es-errors: 1.3.0 @@ -16164,8 +15672,6 @@ snapshots: events@3.3.0: {} - evtd@0.2.4: {} - execa@8.0.1: dependencies: cross-spawn: 7.0.6 @@ -16665,8 +16171,6 @@ snapshots: hey-listen@1.0.8: {} - highlight.js@11.11.1: {} - homedir-polyfill@1.0.3: dependencies: parse-passwd: 1.0.0 @@ -17105,30 +16609,6 @@ snapshots: jsonpointer@5.0.1: {} - jsonwebtoken@9.0.3: - dependencies: - jws: 4.0.1 - lodash.includes: 4.3.0 - lodash.isboolean: 3.0.3 - lodash.isinteger: 4.0.4 - lodash.isnumber: 3.0.3 - lodash.isplainobject: 4.0.6 - lodash.isstring: 4.0.1 - lodash.once: 4.1.1 - ms: 2.1.3 - semver: 7.7.3 - - jwa@2.0.1: - dependencies: - buffer-equal-constant-time: 1.0.1 - ecdsa-sig-formatter: 1.0.11 - safe-buffer: 5.2.1 - - jws@4.0.1: - dependencies: - jwa: 2.0.1 - safe-buffer: 5.2.1 - keyv@4.5.4: dependencies: json-buffer: 3.0.1 @@ -17279,12 +16759,6 @@ snapshots: lodash-es@4.17.23: {} - lodash-unified@1.0.3(@types/lodash-es@4.17.12)(lodash-es@4.17.23)(lodash@4.17.23): - dependencies: - '@types/lodash-es': 4.17.12 - lodash: 4.17.23 - lodash-es: 4.17.23 - lodash.camelcase@4.3.0: {} lodash.clonedeep@4.5.0: {} @@ -17293,20 +16767,10 @@ snapshots: lodash.defaults@4.2.0: {} - lodash.includes@4.3.0: {} - lodash.isarguments@3.1.0: {} - lodash.isboolean@3.0.3: {} - - lodash.isinteger@4.0.4: {} - - lodash.isnumber@3.0.3: {} - lodash.isplainobject@4.0.6: {} - lodash.isstring@4.0.1: {} - lodash.kebabcase@4.1.1: {} lodash.memoize@4.1.2: {} @@ -17315,8 +16779,6 @@ snapshots: lodash.mergewith@4.6.2: {} - lodash.once@4.1.1: {} - lodash.snakecase@4.1.1: {} lodash.sortby@4.7.0: {} @@ -17418,8 +16880,6 @@ snapshots: medium-zoom@1.1.0: {} - memoize-one@6.0.0: {} - meow@12.1.1: {} meow@13.2.0: {} @@ -17555,6 +17015,10 @@ snapshots: pkg-types: 1.3.1 ufo: 1.6.3 + mockjs@1.1.0: + dependencies: + commander: 14.0.2 + mri@1.2.0: {} mrmime@2.0.1: {} @@ -17577,29 +17041,6 @@ snapshots: object-assign: 4.1.1 thenify-all: 1.6.0 - naive-ui@2.43.2(vue@3.5.27(typescript@5.9.3)): - dependencies: - '@css-render/plugin-bem': 0.15.14(css-render@0.15.14) - '@css-render/vue3-ssr': 0.15.14(vue@3.5.27(typescript@5.9.3)) - '@types/katex': 0.16.8 - '@types/lodash': 4.17.23 - '@types/lodash-es': 4.17.12 - async-validator: 4.2.5 - css-render: 0.15.14 - csstype: 3.2.3 - date-fns: 4.1.0 - date-fns-tz: 3.2.0(date-fns@4.1.0) - evtd: 0.2.4 - highlight.js: 11.11.1 - lodash: 4.17.23 - lodash-es: 4.17.23 - seemly: 0.3.10 - treemate: 0.3.11 - vdirs: 0.1.8(vue@3.5.27(typescript@5.9.3)) - vooks: 0.2.12(vue@3.5.27(typescript@5.9.3)) - vue: 3.5.27(typescript@5.9.3) - vueuc: 0.4.65(vue@3.5.27(typescript@5.9.3)) - nanoid@3.3.11: {} nanoid@5.1.6: {} @@ -17773,8 +17214,6 @@ snapshots: normalize-path@3.0.0: {} - normalize-wheel-es@1.2.0: {} - npm-run-path@5.3.0: dependencies: path-key: 4.0.0 @@ -18834,10 +18273,6 @@ snapshots: glob: 13.0.0 package-json-from-dist: 1.0.1 - rolldown-string@0.2.1: - dependencies: - magic-string: 0.30.21 - rollup-plugin-dts@6.3.0(rollup@4.57.0)(typescript@5.9.3): dependencies: magic-string: 0.30.21 @@ -18970,8 +18405,6 @@ snapshots: crypto-js: 4.2.0 lz-string: 1.5.0 - seemly@0.3.10: {} - select@1.1.2: {} semver-compare@1.0.0: {} @@ -19557,28 +18990,6 @@ snapshots: minizlib: 3.1.0 yallist: 5.0.0 - tdesign-icons-vue-next@0.4.2(vue@3.5.27(typescript@5.9.3)): - dependencies: - '@babel/runtime': 7.28.6 - vue: 3.5.27(typescript@5.9.3) - - tdesign-vue-next@1.18.0(vue@3.5.27(typescript@5.9.3)): - dependencies: - '@babel/runtime': 7.28.6 - '@popperjs/core': 2.11.8 - '@types/lodash-es': 4.17.12 - '@types/sortablejs': 1.15.9 - '@types/tinycolor2': 1.4.6 - '@types/validator': 13.15.10 - dayjs: 1.11.19 - lodash-es: 4.17.23 - mitt: 3.0.1 - sortablejs: 1.15.6 - tdesign-icons-vue-next: 0.4.2(vue@3.5.27(typescript@5.9.3)) - tinycolor2: 1.6.0 - validator: 13.15.26 - vue: 3.5.27(typescript@5.9.3) - temp-dir@2.0.0: {} tempy@0.6.0: @@ -19623,8 +19034,6 @@ snapshots: tinybench@2.9.0: {} - tinycolor2@1.6.0: {} - tinyexec@0.3.2: {} tinyexec@1.0.2: {} @@ -19663,8 +19072,6 @@ snapshots: dependencies: punycode: 2.3.1 - treemate@0.3.11: {} - trim-lines@3.0.1: {} ts-api-utils@1.4.3(typescript@5.9.3): @@ -19899,16 +19306,6 @@ snapshots: universalify@2.0.1: {} - unplugin-element-plus@0.11.2(magicast@0.5.1): - dependencies: - '@nuxt/kit': 4.3.0(magicast@0.5.1) - es-module-lexer: 2.0.0 - escape-string-regexp: 5.0.0 - rolldown-string: 0.2.1 - unplugin: 2.3.11 - transitivePeerDependencies: - - magicast - unplugin-utils@0.3.1: dependencies: pathe: 2.0.3 @@ -20016,13 +19413,6 @@ snapshots: util-deprecate@1.0.2: {} - validator@13.15.26: {} - - vdirs@0.1.8(vue@3.5.27(typescript@5.9.3)): - dependencies: - evtd: 0.2.4 - vue: 3.5.27(typescript@5.9.3) - vee-validate@4.15.1(vue@3.5.27(typescript@5.9.3)): dependencies: '@vue/devtools-api': 7.7.9 @@ -20397,11 +19787,6 @@ snapshots: - yaml optional: true - vooks@0.2.12(vue@3.5.27(typescript@5.9.3)): - dependencies: - evtd: 0.2.4 - vue: 3.5.27(typescript@5.9.3) - vscode-languageserver-textdocument@1.0.12: {} vscode-uri@3.1.0: {} @@ -20467,17 +19852,6 @@ snapshots: optionalDependencies: typescript: 5.9.3 - vueuc@0.4.65(vue@3.5.27(typescript@5.9.3)): - dependencies: - '@css-render/vue3-ssr': 0.15.14(vue@3.5.27(typescript@5.9.3)) - '@juggle/resize-observer': 3.4.0 - css-render: 0.15.14 - evtd: 0.2.4 - seemly: 0.3.10 - vdirs: 0.1.8(vue@3.5.27(typescript@5.9.3)) - vooks: 0.2.12(vue@3.5.27(typescript@5.9.3)) - vue: 3.5.27(typescript@5.9.3) - vxe-pc-ui@4.12.16(vue@3.5.27(typescript@5.9.3)): dependencies: '@vxe-ui/core': 4.3.1(vue@3.5.27(typescript@5.9.3)) diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 8b390d8..6835fbe 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -51,6 +51,7 @@ catalog: '@types/html-minifier-terser': ^7.0.2 '@types/json-bigint': ^1.0.4 '@types/lodash.clonedeep': ^4.5.9 + '@types/mockjs': ^1.0.10 '@types/node': ^24.10.9 '@types/nprogress': ^0.2.3 '@types/postcss-import': ^14.0.3 @@ -125,6 +126,7 @@ catalog: lodash.clonedeep: ^4.5.0 lucide-vue-next: ^0.553.0 medium-zoom: ^1.1.0 + mockjs: ^1.1.0 nitropack: ^2.13.1 nprogress: ^0.2.0 ora: ^8.2.0