提交 5e4fb07f authored 作者: 刘旭's avatar 刘旭

完成商品规格页面

上级 6c64792e
<template>
<div style="margin-top: 20px;">
<el-pagination v-model:currentPage="pageData.pageNo" v-model:page-size="pageData.pageSize"
:page-sizes="[10, 15, 20]" :small="pageData.small" :disabled="pageData.disabled"
:background="pageData.background" layout="->, total, sizes, prev, pager, next, jumper" :total="total"
:hide-on-single-page="pageData.hide" @size-change="handleSizeChange"
@current-change="handleCurrentChange" />
</div>
</template>
<script setup lang='ts'>
let props = defineProps({
pageData: {
type: Object,
default: {
pageNo: {
type: Number,
default: 1
},
pageSize: {
type: Number,
default: 10
},
small: {
type: Boolean,
default: false
},
disabled: {
type: Boolean,
default: false
},
background: {
type: String || Boolean,
default: '' || false
},
hide: {
type: Boolean,
default: false
}
}
},
total: {
type: Number,
default: 0
}
})
console.log(props);
let emits = defineEmits(['sizeChange', 'currentChange'])
// 新条数
const handleSizeChange = (val: number) => {
emits('sizeChange', val)
}
// // 新页数
const handleCurrentChange = (val: number) => {
emits('currentChange', val)
}
</script>
<style lang = "scss" scoped>
</style>
\ No newline at end of file
<template>
<div style="margin-top: 20px;">
<el-pagination v-model:currentPage="pageData.page" v-model:page-size="pageData.limit"
:page-sizes="[10, 15, 20]" :small="pageData.small" :disabled="pageData.disabled"
:background="pageData.background" layout="->, total, sizes, prev, pager, next, jumper" :total="total"
:hide-on-single-page="pageData.hide" @size-change="handleSizeChange"
@current-change="handleCurrentChange" />
</div>
</template>
<script setup lang='ts'>
let props = defineProps({
pageData: {
type: Object,
default: {
page: {
type: Number,
default: 1
},
limit: {
type: Number,
default: 10
},
small: {
type: Boolean,
default: false
},
disabled: {
type: Boolean,
default: false
},
background: {
type: String || Boolean,
default: '' || false
},
hide: {
type: Boolean,
default: false
}
}
},
total: {
type: Number,
default: 0
}
})
console.log(props);
let emits = defineEmits(['sizeChange', 'currentChange'])
// 新条数
const handleSizeChange = (val: number) => {
emits('sizeChange', val)
}
// // 新页数
const handleCurrentChange = (val: number) => {
emits('currentChange', val)
}
</script>
<style lang = "scss" scoped>
</style>
\ No newline at end of file
import Mock from 'mockjs'
Mock.mock(`${import.meta.env.VITE_APP_BASE_URL}/department/index`, {
code: 200,
'data|1-10': [
{
"id|+1": 0,
cname: '@cname',
ename: '@name',
'type|+1': 0 ,
'code|+1': 'code001',
'children|1-10': [
{
"id|+1": 10,
cname: '@cname',
ename: '@name',
'type|+1': 0,
'code|+1': 'code002',
'children|1-10': [
{
"id|+1": 20,
cname: '@cname',
ename: '@name',
'type|+1': 0,
'code|+1': 'code003',
}
]
}
]
}
],
msg: null,
success: true
})
Mock.mock(`${import.meta.env.VITE_APP_BASE_URL}/department/bizunit`, {
code: 200,
'data|1-10': [
{
"id|+1": 0,
cname: '@cname',
ename: '@name',
'depart|+1': '' ,
'product': '',
'code|+1': 'code001'
}
],
msg: null,
success: true
})
import Mock from "mockjs";
import '@/mock/login'
import '@/mock/table'
import '@/mock/departmentManage'
import '@/mock/project'
// 设置全局延时
Mock.setup({
timeout: '300-600'
})
\ No newline at end of file
import Mock from "mockjs";
// Mock.mock(`${import.meta.env.VITE_APP_BASE_URL}/login`, 'post', ({body}) => {
// let result = {data: {},code:0,message:''}
// const {name, password} = JSON.parse(body)
//
// let success = false
//
// if (success) {
// result.code = 0
// result.message = Mock.mock('@TIMEFIX').CN + ',欢迎回来'
//
// result.data = {"msg":"欢迎回来",'token':"iwoefwietowewewo"}
// } else {
// result.code = -1
// result.message = '账户名或密码错误(admin/888888 or test/888888)'
// }
// return result
// })
\ No newline at end of file
import Mock from 'mockjs'
Mock.mock(`${import.meta.env.VITE_APP_BASE_URL}/project/projectType`, {
code: 200,
'data|1-100': [
{
"id|+1": 0,
cname: '@cname',
ename: '@name',
'code|+1': 'code001',
'bizunits': [],
'effect_time': '@date',
'lose_effect_time': '@date',
'detail': ''
}
],
msg: null,
success: true
})
Mock.mock(`${import.meta.env.VITE_APP_BASE_URL}/project/projectMaster`, {
code: 200,
'data|1-10': [
{
"id|+1": 0,
bizUnit: '研发事业部',
classificationIds: '',
classificationName: 'code001',
createTime: '@date',
'isEnabled|1': false,
name: '@cname',
notes: null,
'templatePhases|1-5': [
{
data: null,
children: [],
displayShow: null,
isLeaf: true,
'id|+1': 0,
label: '@cname',
'selected|1': false,
text: '',
title: '',
value: ''
}
]
}
],
msg: null,
success: true
})
import Mock from 'mockjs'
Mock.mock(`${import.meta.env.VITE_APP_BASE_URL}/systemMenus/index`, {
code: 200,
data: {
'treeList|1-10': [
{
"id|+1": 0,
icon: '',
lable: '@cname',
parentId: '',
'sort|0-100': 0,
'show|1': false,
controller: '@name',
url: '/index'
}
]
},
msg: null,
success: true
})
import { request } from '../config'
export function listCategory() {
export function listCategory(params: any) {
return request({
url: '/category/list',
method: 'get'
method: 'get',
params
})
}
......
......@@ -18,7 +18,7 @@
<el-table v-loading="listLoading" :data="list" element-loading-text="正在查询中。。。" border fit highlight-current-row>
<el-table-column type="expand">
<template #default="props">
<el-form label-position="left">
<el-form label-position="left" style="padding-left: 3%;">
<el-form-item label="商品编号">
<span>{{ props.row.goodsSn }}</span>
</el-form-item>
......@@ -108,6 +108,8 @@
</el-table-column>
</el-table>
<litemall-page :page-data="listQuery" :total="total" @size-change="sizeChange"
@current-change="currentChange" />
<!-- <el-tooltip placement="top" content="返回顶部">
<back-to-top :visibility-height="100" />
</el-tooltip> -->
......@@ -120,6 +122,7 @@ import { ElMessageBox, ElNotification } from "element-plus";
import { listGoods, deleteGoods } from "@/services/api/commodityManage/list";
// import { thumbnail, toPreview } from "@/utils/index";
import router from '@/router';
import LitemallPage from "@/components/pagination/litemallPage.vue";
let list = ref([]);
let total = ref(0);
......@@ -138,7 +141,7 @@ let downloadLoading = ref(false);
let getList = () => {
listLoading.value = true;
listGoods(listQuery)
listGoods(listQuery.value)
.then((res: any) => {
list.value = res.data.list;
total.value = res.data.total;
......@@ -152,6 +155,16 @@ let getList = () => {
};
getList()
let sizeChange = (val: number) => {
listQuery.value.limit = val
getList()
}
let currentChange = (val: number) => {
listQuery.value.page = val
getList()
}
let handleFilter = () => {
listQuery.value.page = 1;
getList();
......
......@@ -8,7 +8,7 @@
<el-button class="filter-item" type="primary" icon="search" @click="handleFilter">查找</el-button>
<el-button class="filter-item" type="default" icon="refresh" @click="handleReset">重置</el-button>
</div>
<el-button style="margin-bottom: 20px;" type="primary" icon="plus" @click="handleAdd">添加</el-button>
<el-button style="margin-bottom: 20px;" type="primary" icon="plus" @click="handleAdd">新增</el-button>
<el-table :data="dictData" border fit highlight-current-row>
<el-table-column align="center" label="商品名称" prop="dictName" width="400" />
<el-table-column align="center" label="商品编码" prop="dictCode" width="400" />
......@@ -16,20 +16,22 @@
<el-table-column align="center" label="操作" width="200">
<template #default="scope">
<el-button type="primary" size="small" link @click="handleEdit(scope.row)">编辑</el-button>
<el-button type="primary" size="small" link @click="handleConfigure">商品配置</el-button>
<el-button type="primary" size="small" link @click="handleConfigure(scope.row.id)">商品配置</el-button>
<el-button type="danger" size="small" link @click="handleDelete(scope.row.id)">删除</el-button>
</template>
</el-table-column>
</el-table>
<!-- 分页 -->
<pagination :page-data="dictQuery" :total="total" @size-change="sizeChange" @current-change="currentChange" />
<!-- 添加修改 -->
<el-dialog v-model="dictVisible" :title="dictTitle" width="30%" :before-close="handleClose">
<el-form ref="dictRef" :model="dictForm" :rules="rules" label-width="80px" status-icon>
<el-form-item label="商品名称" prop="name">
<el-form-item label="商品名称" prop="dictName">
<el-input v-model="dictForm.dictName" />
</el-form-item>
<el-form-item label="商品编码">
<el-input v-model="dictForm.dictCode" />
<el-input v-model="dictForm.dictCode" :disabled="dictForm.id != ''" />
</el-form-item>
<el-form-item label="商品描述">
<el-input type="textarea" :rows="4" v-model="dictForm.description" />
......@@ -44,36 +46,62 @@
</span>
</template>
</el-dialog>
<!-- 字典配置 -->
<dict-item ref="dictItemRef" :dictId="dictId" />
</div>
</template>
<script setup lang='ts'>
import { ref } from 'vue'
import { getDictList, deleteDict, addDict, editDict } from '@/services/api/market/auxiliary'
import { ElMessage, ElMessageBox, ElNotification } from 'element-plus';
import { ElMessage, ElMessageBox } from 'element-plus'
import dictItem from './components/dictItem.vue'
import pagination from '@/components/pagination/index.vue'
let dictQuery = ref({
dictName: '',
dictCode: ''
})
let dictData = ref()
let dictTitle = ref('添加')
let dictVisible = ref(false)
dictCode: '',
column: 'createTime',
order: 'desc',
pageNo: 1,
pageSize: 10
}) // 字典查询参数
let dictId = ref('' as any)
// 字典配置查询参数
let dictItemRef = ref()
let dictData = ref() // 字典数据
let total = ref() // 总条数
let dictTitle = ref('添加') //dialog标题
let dictVisible = ref(false) // dialog显隐
let dictForm = ref({
id: '' as any,
dictName: '',
dictCode: '',
description: ''
})
let rules = ref()
let rules = ref({
dictName: [{ required: true, message: '请输入商品名称', trigger: 'blur' }]
})
let dictRef = ref()
let handleFilter = () => {
init(dictQuery.value)
}
let handleReset = () => {
dictQuery.value = {
dictName: '',
dictCode: '',
column: 'createTime',
order: 'desc',
pageNo: 1,
pageSize: 10
}
init(dictQuery.value)
}
let handleAdd = () => {
......@@ -88,27 +116,51 @@ let handleEdit = (row: any) => {
dictTitle.value = '编辑'
}
let handleConfigure = () => {
let handleConfigure = (id: number) => {
if (!id) return init(dictQuery)
else {
dictId.value = id
dictItemRef.value.init({ dictId: id })
dictItemRef.value.dictItemDrawer = true
}
}
let sizeChange = (val: number) => {
dictQuery.value.pageSize = val
init(dictQuery.value)
}
let currentChange = (val: number) => {
dictQuery.value.pageNo = val
init(dictQuery.value)
}
let onConfirm = () => {
if (dictForm.value.id) {
editDict(dictForm.value).then((res: any) => {
if (res.code === 200) {
handleClose()
init(dictQuery.value)
dictRef.value?.validate((valid: any, fields: any) => {
if (valid) {
if (dictForm.value.id) {
editDict(dictForm.value).then((res: any) => {
if (res.code === 200) {
init(dictQuery.value)
ElMessage({ type: 'success', message: '添加成功' })
handleClose()
}
})
} else {
addDict(dictForm.value).then((res: any) => {
if (res.code === 200) {
init(dictQuery.value)
ElMessage({ type: 'success', message: '编辑成功' })
handleClose()
}
})
}
})
} else {
addDict(dictForm.value).then((res: any) => {
if (res.code === 200) {
handleClose()
init(dictQuery.value)
}
})
}
dictVisible.value = false
} else {
console.log(fields);
}
})
}
let handleClose = () => {
dictForm.value = {
......@@ -144,10 +196,11 @@ let handleDelete = (id: number) => {
let init = (params?: any) => {
getDictList(params).then((res: any) => {
dictData.value = res.data.records
total.value = res.data.total
console.log(res, '字典数据');
})
}
init()
init(dictQuery.value)
</script>
<style lang = "scss" scoped>
......
......@@ -6,8 +6,7 @@
</div>
<!-- 查询结果 -->
<el-table v-loading="listLoading" :data="list" element-loading-text="正在查询中。。。" border fit highlight-current-row
row-key="id">
<el-table v-loading="listLoading" :data="list" element-loading-text="正在查询中。。。" border fit highlight-current-row>
<el-table-column align="center" label="类目ID" prop="id" />
<el-table-column align="center" label="类目名" prop="name" />
......@@ -20,7 +19,7 @@
<el-table-column align="center" property="picUrl" label="类目图片">
<template #default="scope">
<el-image :src="scope.row.picUrl" style="width: 40px; height: 40px"></el-image>
<el-image :src="scope.row.picUrl" style="width: 100px; height: 40px"></el-image>
<!-- <el-image :src="thumbnail(scope.row.picUrl)"
:preview-src-list="toPreview(scope.row, scope.row.picUrl)" style="width: 80px; height: 40px" /> -->
</template>
......@@ -45,6 +44,8 @@
</template>
</el-table-column>
</el-table>
<litemall-page :page-data="listQuery" :total="total" @size-change="sizeChange"
@current-change="currentChange" />
<!-- 添加或修改对话框 -->
<el-dialog :title="textMap[dialogStatus]" v-model="dialogFormVisible">
......@@ -111,8 +112,8 @@ import {
deleteCategory,
} from "@/services/api/market/category";
import { uploadPath } from "@/services/api/storage";
import LitemallPage from "@/components/pagination/litemallPage.vue";
// import { thumbnail, toPreview } from "@/utils/index";
console.log(uploadPath);
let dataFormRef = ref();
let list = ref([] as any);
......@@ -128,6 +129,13 @@ let dataForm = reactive({
iconUrl: "",
picUrl: "",
});
let listQuery = ref({
page: 1,
limit: 10,
sort: "add_time",
order: "desc",
});
let total = ref(0)
let dialogFormVisible = ref(false);
let dialogStatus = ref("");
let textMap = reactive({
......@@ -146,9 +154,12 @@ let headers = computed(() => {
let getList = () => {
listLoading.value = true;
listCategory()
listCategory(listQuery.value)
.then((res: any) => {
list.value = res.data.list;
total.value = res.data.total
console.log(res);
listLoading.value = false;
})
.catch(() => {
......@@ -163,6 +174,17 @@ let getCatL1 = () => {
});
};
getCatL1()
let sizeChange = (val: number) => {
listQuery.value.limit = val
getList()
}
let currentChange = (val: number) => {
listQuery.value.page = val
getList()
}
let resetForm = () => {
dataForm = {
id: undefined,
......
<template>
<el-drawer v-model="dictItemDrawer" size="40%" title="商品列表" :before-close="handleClose">
<div class="filter-container">
<el-input v-model="dictItemQuery.itemText" clearable class="filter-item" style="width: 200px;"
placeholder="请输入名称" />
<el-select v-model="dictItemQuery.status" class="filter-item" placeholder="请选择状态" style="width: 200px;">
<el-option label="启用" value="1" />
<el-option label="不启动" value="0" />
</el-select>
<el-button class="filter-item" type="primary" icon="search" @click="handleFilter">查找</el-button>
<el-button class="filter-item" type="default" icon="refresh" @click="handleReset">重置</el-button>
</div>
<el-button style="margin-bottom: 20px;" type="primary" icon="plus" @click="handleAdd">新增</el-button>
<el-table :data="dictItemData" border fit highlight-current-row>
<el-table-column align="center" label="名称" prop="itemText" />
<el-table-column align="center" label="数据值" prop="itemValue" />
<el-table-column align="center" label="操作" width="200">
<template #default="scope">
<el-button type="primary" size="small" link @click="handleEdit(scope.row)">编辑</el-button>
<el-button type="danger" size="small" link @click="handleDelete(scope.row.id)">删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination :page-data="dictItemQuery" :total="total" @size-change="sizeChange"
@current-change="currentChange" />
</el-drawer>
<!-- 新增编辑 -->
<el-dialog v-model="dictItemForm.show" :title="dictItemForm.title" width="40%" :before-close="handleDialogClose">
<el-form ref="dictItemRef" :model="dictItemForm.data" :rules="rules" label-width="80px" status-icon>
<el-form-item label="名称" prop="itemText">
<el-input v-model="dictItemForm.data.itemText" placeholder="请输入名称" />
</el-form-item>
<el-form-item label="数据值" prop="itemValue">
<el-input v-model="dictItemForm.data.itemValue" placeholder="请输入数据值" />
</el-form-item>
<el-form-item label="描述">
<el-input type="textarea" :rows="4" v-model="dictItemForm.data.description" />
</el-form-item>
<el-form-item label="排序">
<el-input-number v-model="dictItemForm.data.sortOrder" controls-position="right" />
</el-form-item>
<el-form-item label="是否启用">
<el-radio-group v-model="dictItemForm.data.status">
<el-radio-button label="1">启用</el-radio-button>
<el-radio-button label="0">不启用</el-radio-button>
</el-radio-group>
</el-form-item>
</el-form>
<template #footer>
<span class="dialog-footer">
<el-button @click="handleDialogClose">取消</el-button>
<el-button type="primary" @click="onConfirm">
确认
</el-button>
</span>
</template>
</el-dialog>
</template>
<script setup lang='ts'>
import { ref, defineExpose, reactive } from 'vue'
import { getDictItemList, addDictItem, editDictItem, deleteDictItem } from '@/services/api/market/auxiliary'
import { ElMessage, ElMessageBox } from 'element-plus';
import pagination from '@/components/pagination/index.vue';
let props = defineProps({
dictId: {
type: Number
}
})
let dictItemQuery = ref({
dictId: props.dictId,
pageNo: 1,
pageSize: 10,
itemText: '',
status: ''
}) // 字典配置查询参数
let dictItemForm = reactive({
show: false,
title: '新增',
data: {
id: '',
dictId: '' as any,
itemText: '',
itemValue: '',
description: '',
sortOrder: 1,
status: 1
}
})
let rules = ref({
itemText: [{ required: true, message: '请输入商品名称', trigger: 'blur' }],
itemValue: [{ required: true, message: '请输入商品名称', trigger: 'blur' }]
})
let dictItemDrawer = ref(false)
let dictItemData = ref()
let dictItemRef = ref()
let total = ref()
let handleFilter = () => {
init(dictItemQuery.value)
}
let handleReset = () => {
dictItemQuery.value = {
dictId: props.dictId,
pageNo: 1,
pageSize: 10,
itemText: '',
status: ''
}
init(dictItemQuery.value)
}
let handleAdd = () => {
dictItemForm.data.dictId = props.dictId
dictItemForm.show = true
}
let handleEdit = (row: any) => {
dictItemForm.data = row
dictItemForm.data.dictId = props.dictId
dictItemForm.show = true
}
let sizeChange = (val: number) => {
dictItemQuery.value.pageSize = val
init(dictItemQuery.value)
}
let currentChange = (val: number) => {
dictItemQuery.value.pageNo = val
init(dictItemQuery.value)
}
let onConfirm = () => {
dictItemRef.value?.validate((valid: any, fields: any) => {
if (valid) {
if (dictItemForm.data.id) {
editDictItem(dictItemForm.data).then((res: any) => {
if (res.code === 200) {
init(dictItemQuery.value)
ElMessage({ type: 'success', message: '编辑成功' })
handleDialogClose()
}
})
} else {
addDictItem(dictItemForm.data).then((res: any) => {
if (res.code === 200) {
init(dictItemQuery.value)
ElMessage({ type: 'success', message: '添加成功' })
handleDialogClose()
}
})
}
} else {
console.log(fields);
}
})
}
let handleDelete = (id: number) => {
ElMessageBox.confirm(
'确认删除?', '提示',
{
confirmButtonText: '确认',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
deleteDictItem(id).then((res: any) => {
if (res.code === 200) {
ElMessage({ type: 'success', message: res.msg })
init(dictItemQuery.value)
} else {
ElMessage({ type: 'error', message: res.msg })
}
})
})
}
let init = (query?: any) => {
getDictItemList(query).then((res: any) => {
if (res.code === 200) {
dictItemData.value = res.data.records
total.value = res.data.total
dictItemQuery.value.dictId = props.dictId
console.log(dictItemData.value);
}
})
}
let handleClose = () => {
dictItemQuery.value = {
dictId: props.dictId,
pageNo: 1,
pageSize: 10,
itemText: '',
status: ''
}
dictItemDrawer.value = false
}
let handleDialogClose = () => {
dictItemForm.data = {
id: '',
dictId: '',
itemText: '',
itemValue: '',
description: '',
sortOrder: 1,
status: 1
}
dictItemForm.show = false
}
defineExpose({
dictItemDrawer,
init
})
</script>
<style lang = "scss" scoped>
</style>
\ No newline at end of file
......@@ -105,8 +105,8 @@
</template>
</el-table-column>
</el-table>
<litemall-page :page-data="listQuery" :total="total" @size-change="sizeChange"
@current-change="currentChange" />
<!-- 订单详情对话框 -->
<el-dialog v-model="orderDialogVisible" title="订单详情" width="60%">
......@@ -200,10 +200,10 @@
</el-table-column>
<el-table-column property="onumber" width="100" label="下单数量" />
<!-- <el-table-column label="实际数量" width="100">
<template #default="scope">
<el-input-number v-model="scope.row.number" :min="0" :controls="false" />
</template>
</el-table-column> -->
<template #default="scope">
<el-input-number v-model="scope.row.number" :min="0" :controls="false" />
</template>
</el-table-column> -->
</el-table>
<template #footer class="dialog-footer">
<el-button @click="payDialogVisible = false">取消</el-button>
......@@ -248,10 +248,12 @@
</template>
<script setup lang='ts'>
import { ref, reactive, computed, nextTick } from 'vue'
import { ref, reactive, nextTick } from 'vue'
import moment from 'moment'
import { ElMessage, ElMessageBox, ElNotification } from 'element-plus';
import { detailOrder, listOrder, listChannel, refundOrder, payOrder, deleteOrder, shipOrder } from '@/services/api/market/order'
import LitemallPage from "@/components/pagination/litemallPage.vue";
let statusMap = {
101: '未付款',
......@@ -265,12 +267,6 @@ let statusMap = {
402: '系统收货'
} as any
let orderStatusFilter = computed((status: any) => {
console.log(status);
return statusMap[status]
})
let shipFormRef = ref()
let refundFormRef = ref()
let list = ref([] as any)
......@@ -278,7 +274,7 @@ let total = ref(0)
let listLoading = ref(true)
let listQuery = reactive({
page: 1,
limit: 20,
limit: 10,
nickname: undefined,
consignee: undefined,
orderSn: undefined,
......@@ -389,6 +385,16 @@ let getChannel = () => {
}
getChannel()
let sizeChange = (val: number) => {
listQuery.limit = val
getList()
}
let currentChange = (val: number) => {
listQuery.page = val
getList()
}
let dataChange = (datatime: any) => {
console.log(datatime);
......
......@@ -235,27 +235,6 @@
resolved "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.7.tgz#a7f69e3665d3da9b115f9e71671dae1b97e13671"
integrity sha512-Ccy0NlLkzr0Ex2FKvh2X+OyERHXJ88XJ1MXtsI9y9fGexlaXaVTPzBCRBwIxFkORuOb+uBqeu+RqnpgYTEZRUQ==
"@rollup/plugin-node-resolve@^13.0.4":
version "13.3.0"
resolved "https://registry.npmmirror.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.3.0.tgz"
integrity sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==
dependencies:
"@rollup/pluginutils" "^3.1.0"
"@types/resolve" "1.17.1"
deepmerge "^4.2.2"
is-builtin-module "^3.1.0"
is-module "^1.0.0"
resolve "^1.19.0"
"@rollup/pluginutils@^3.1.0":
version "3.1.0"
resolved "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz"
integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==
dependencies:
"@types/estree" "0.0.39"
estree-walker "^1.0.1"
picomatch "^2.2.2"
"@rollup/pluginutils@^4.2.0", "@rollup/pluginutils@^4.2.1":
version "4.2.1"
resolved "https://repo.huaweicloud.com/repository/npm/@rollup/pluginutils/-/pluginutils-4.2.1.tgz"
......@@ -284,11 +263,6 @@
resolved "https://registry.npmmirror.com/@trysound/sax/-/sax-0.2.0.tgz"
integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==
"@types/estree@0.0.39":
version "0.0.39"
resolved "https://registry.npmmirror.com/@types/estree/-/estree-0.0.39.tgz"
integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==
"@types/event-emitter@^0.3.3":
version "0.3.3"
resolved "https://registry.npmmirror.com/@types/event-emitter/-/event-emitter-0.3.3.tgz#727032a9fc67565f96bbd78b2e2809275c97d7e7"
......@@ -311,11 +285,6 @@
resolved "https://repo.huaweicloud.com/repository/npm/@types/minimist/-/minimist-1.2.2.tgz"
integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==
"@types/mockjs@^1.0.4":
version "1.0.6"
resolved "https://registry.npmmirror.com/@types/mockjs/-/mockjs-1.0.6.tgz"
integrity sha512-Yu5YlqbYZyqsd6LjO4e8ONJDN9pTSnciHDcRP4teNOh/au2b8helFhgRx+3w8xsTFEnwr9jtfTVJbAx+eYmlHA==
"@types/node@*", "@types/node@^16.11.12":
version "16.11.12"
resolved "https://repo.huaweicloud.com/repository/npm/@types/node/-/node-16.11.12.tgz"
......@@ -331,13 +300,6 @@
resolved "https://registry.npmmirror.com/@types/qs/-/qs-6.9.7.tgz"
integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==
"@types/resolve@1.17.1":
version "1.17.1"
resolved "https://registry.npmmirror.com/@types/resolve/-/resolve-1.17.1.tgz"
integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==
dependencies:
"@types/node" "*"
"@types/svgo@^2.6.1":
version "2.6.3"
resolved "https://registry.npmmirror.com/@types/svgo/-/svgo-2.6.3.tgz"
......@@ -954,11 +916,6 @@ braces@^3.0.2, braces@~3.0.2:
dependencies:
fill-range "^7.0.1"
builtin-modules@^3.0.0:
version "3.3.0"
resolved "https://registry.npmmirror.com/builtin-modules/-/builtin-modules-3.3.0.tgz"
integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==
cache-base@^1.0.1:
version "1.0.1"
resolved "https://registry.npmmirror.com/cache-base/-/cache-base-1.0.1.tgz"
......@@ -1041,7 +998,7 @@ character-parser@^2.2.0:
dependencies:
is-regex "^1.0.3"
"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.2, chokidar@^3.5.3:
"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.3:
version "3.5.3"
resolved "https://registry.npmmirror.com/chokidar/-/chokidar-3.5.3.tgz"
integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
......@@ -1134,11 +1091,6 @@ combined-stream@^1.0.6, combined-stream@~1.0.6:
dependencies:
delayed-stream "~1.0.0"
commander@*:
version "9.2.0"
resolved "https://registry.npmmirror.com/commander/-/commander-9.2.0.tgz"
integrity sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w==
commander@^7.2.0:
version "7.2.0"
resolved "https://registry.npmmirror.com/commander/-/commander-7.2.0.tgz"
......@@ -1169,16 +1121,6 @@ concat-map@0.0.1:
resolved "https://repo.huaweicloud.com/repository/npm/concat-map/-/concat-map-0.0.1.tgz"
integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
connect@^3.7.0:
version "3.7.0"
resolved "https://registry.npmmirror.com/connect/-/connect-3.7.0.tgz"
integrity sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==
dependencies:
debug "2.6.9"
finalhandler "1.1.2"
parseurl "~1.3.3"
utils-merge "1.0.1"
console-control-strings@^1.0.0, console-control-strings@^1.1.0, console-control-strings@~1.1.0:
version "1.1.0"
resolved "https://repo.huaweicloud.com/repository/npm/console-control-strings/-/console-control-strings-1.1.0.tgz"
......@@ -1285,7 +1227,7 @@ dayjs@^1.11.3:
resolved "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.4.tgz#3b3c10ca378140d8917e06ebc13a4922af4f433e"
integrity sha512-Zj/lPM5hOvQ1Bf7uAvewDaUcsJoI6JmNqmHhHl3nyumwe0XHwt8sWdOVAPACJzCebL8gQCi+K49w7iKWnGwX9g==
debug@2.6.9, debug@^2.2.0, debug@^2.3.3:
debug@^2.2.0, debug@^2.3.3:
version "2.6.9"
resolved "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz"
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
......@@ -1329,11 +1271,6 @@ deep-is@^0.1.3:
resolved "https://registry.npmmirror.com/deep-is/-/deep-is-0.1.4.tgz"
integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
deepmerge@^4.2.2:
version "4.2.2"
resolved "https://registry.npmmirror.com/deepmerge/-/deepmerge-4.2.2.tgz"
integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==
define-property@^0.2.5:
version "0.2.5"
resolved "https://registry.npmmirror.com/define-property/-/define-property-0.2.5.tgz"
......@@ -1466,11 +1403,6 @@ echarts@^5.3.0:
tslib "2.3.0"
zrender "5.3.1"
ee-first@1.1.1:
version "1.1.1"
resolved "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz"
integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
element-plus@^2.2.12:
version "2.2.12"
resolved "https://registry.npmmirror.com/element-plus/-/element-plus-2.2.12.tgz#b6c4e298e02ba9b904d70daa54def27b2de8c43c"
......@@ -1510,11 +1442,6 @@ emojis-list@^3.0.0:
resolved "https://registry.npmmirror.com/emojis-list/-/emojis-list-3.0.0.tgz"
integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==
encodeurl@~1.0.2:
version "1.0.2"
resolved "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz"
integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
engine.io-client@~3.5.0:
version "3.5.2"
resolved "https://registry.npmmirror.com/engine.io-client/-/engine.io-client-3.5.2.tgz"
......@@ -1709,11 +1636,6 @@ esbuild-windows-arm64@0.14.44:
resolved "https://registry.npmmirror.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.44.tgz#db73bb68aa75a880bdaa938ccacc0f17e7a4bfea"
integrity sha512-ygYPfYE5By4Sd6szsNr10B0RtWVNOSGmZABSaj4YQBLqh9b9i45VAjVWa8tyIy+UAbKF7WGwybi2wTbSVliO8A==
esbuild@0.11.3:
version "0.11.3"
resolved "https://registry.npmmirror.com/esbuild/-/esbuild-0.11.3.tgz"
integrity sha512-BzVRHcCtFepjS9WcqRjqoIxLqgpK21a8J4Zi4msSGxDxiXVO1IbcqT1KjhdDDnJxKfe7bvzZrvMEX+bVO0Elcw==
esbuild@^0.14.27:
version "0.14.44"
resolved "https://registry.npmmirror.com/esbuild/-/esbuild-0.14.44.tgz"
......@@ -1740,7 +1662,7 @@ esbuild@^0.14.27:
esbuild-windows-64 "0.14.44"
esbuild-windows-arm64 "0.14.44"
escape-html@^1.0.3, escape-html@~1.0.3:
escape-html@^1.0.3:
version "1.0.3"
resolved "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz"
integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==
......@@ -1861,11 +1783,6 @@ estraverse@^5.1.0, estraverse@^5.2.0:
resolved "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz"
integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
estree-walker@^1.0.1:
version "1.0.1"
resolved "https://registry.npmmirror.com/estree-walker/-/estree-walker-1.0.1.tgz"
integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==
estree-walker@^2.0.1, estree-walker@^2.0.2:
version "2.0.2"
resolved "https://repo.huaweicloud.com/repository/npm/estree-walker/-/estree-walker-2.0.2.tgz"
......@@ -1968,7 +1885,7 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
resolved "https://repo.huaweicloud.com/repository/npm/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz"
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
fast-glob@^3.2.11, fast-glob@^3.2.7:
fast-glob@^3.2.11:
version "3.2.11"
resolved "https://repo.huaweicloud.com/repository/npm/fast-glob/-/fast-glob-3.2.11.tgz"
integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==
......@@ -2020,19 +1937,6 @@ fill-range@^7.0.1:
dependencies:
to-regex-range "^5.0.1"
finalhandler@1.1.2:
version "1.1.2"
resolved "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.1.2.tgz"
integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==
dependencies:
debug "2.6.9"
encodeurl "~1.0.2"
escape-html "~1.0.3"
on-finished "~2.3.0"
parseurl "~1.3.3"
statuses "~1.5.0"
unpipe "~1.0.0"
find-up@^3.0.0:
version "3.0.0"
resolved "https://repo.huaweicloud.com/repository/npm/find-up/-/find-up-3.0.0.tgz"
......@@ -2526,13 +2430,6 @@ is-buffer@^1.1.5:
resolved "https://registry.npmmirror.com/is-buffer/-/is-buffer-1.1.6.tgz"
integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
is-builtin-module@^3.1.0:
version "3.1.0"
resolved "https://registry.npmmirror.com/is-builtin-module/-/is-builtin-module-3.1.0.tgz"
integrity sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg==
dependencies:
builtin-modules "^3.0.0"
is-core-module@^2.5.0, is-core-module@^2.8.1:
version "2.9.0"
resolved "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.9.0.tgz"
......@@ -2621,11 +2518,6 @@ is-hotkey@^0.2.0:
resolved "https://registry.npmmirror.com/is-hotkey/-/is-hotkey-0.2.0.tgz#1835a68171a91e5c9460869d96336947c8340cef"
integrity sha512-UknnZK4RakDmTgz4PI1wIph5yxSs/mvChWs9ifnlXsKuXgWmOkY/hAE0H/k2MIqH0RlRye0i1oC07MCRSD28Mw==
is-module@^1.0.0:
version "1.0.0"
resolved "https://registry.npmmirror.com/is-module/-/is-module-1.0.0.tgz"
integrity sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==
is-number@^3.0.0:
version "3.0.0"
resolved "https://registry.npmmirror.com/is-number/-/is-number-3.0.0.tgz"
......@@ -3154,13 +3046,6 @@ mkdirp@^1.0.3:
resolved "https://repo.huaweicloud.com/repository/npm/mkdirp/-/mkdirp-1.0.4.tgz"
integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
mockjs@^1.1.0:
version "1.1.0"
resolved "https://registry.npmmirror.com/mockjs/-/mockjs-1.1.0.tgz"
integrity sha512-eQsKcWzIaZzEZ07NuEyO4Nw65g0hdWAyurVol1IPl1gahRwY+svqzfgfey8U8dahLwG44d6/RwEzuK52rSa/JQ==
dependencies:
commander "*"
moment@^2.29.1:
version "2.29.1"
resolved "https://repo.huaweicloud.com/repository/npm/moment/-/moment-2.29.1.tgz"
......@@ -3384,13 +3269,6 @@ object.pick@^1.3.0:
dependencies:
isobject "^3.0.1"
on-finished@~2.3.0:
version "2.3.0"
resolved "https://registry.npmmirror.com/on-finished/-/on-finished-2.3.0.tgz"
integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==
dependencies:
ee-first "1.1.1"
once@^1.3.0:
version "1.4.0"
resolved "https://repo.huaweicloud.com/repository/npm/once/-/once-1.4.0.tgz"
......@@ -3484,11 +3362,6 @@ parseuri@0.0.6:
resolved "https://registry.npmmirror.com/parseuri/-/parseuri-0.0.6.tgz"
integrity sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==
parseurl@~1.3.3:
version "1.3.3"
resolved "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz"
integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
pascalcase@^0.1.1:
version "0.1.1"
resolved "https://registry.npmmirror.com/pascalcase/-/pascalcase-0.1.1.tgz"
......@@ -3519,11 +3392,6 @@ path-parse@^1.0.7:
resolved "https://repo.huaweicloud.com/repository/npm/path-parse/-/path-parse-1.0.7.tgz"
integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
path-to-regexp@^6.2.0:
version "6.2.1"
resolved "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-6.2.1.tgz"
integrity sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==
pathe@^0.2.0:
version "0.2.0"
resolved "https://registry.npmmirror.com/pathe/-/pathe-0.2.0.tgz"
......@@ -3929,7 +3797,7 @@ resolve-url@^0.2.1:
resolved "https://registry.npmmirror.com/resolve-url/-/resolve-url-0.2.1.tgz"
integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==
resolve@^1.10.0, resolve@^1.15.1, resolve@^1.19.0, resolve@^1.22.0:
resolve@^1.10.0, resolve@^1.15.1, resolve@^1.22.0:
version "1.22.0"
resolved "https://registry.npmmirror.com/resolve/-/resolve-1.22.0.tgz"
integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==
......@@ -4293,11 +4161,6 @@ static-extend@^0.1.1:
define-property "^0.2.5"
object-copy "^0.1.0"
statuses@~1.5.0:
version "1.5.0"
resolved "https://registry.npmmirror.com/statuses/-/statuses-1.5.0.tgz"
integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==
stdout-stream@^1.4.0:
version "1.4.1"
resolved "https://repo.huaweicloud.com/repository/npm/stdout-stream/-/stdout-stream-1.4.1.tgz"
......@@ -4614,11 +4477,6 @@ universalify@^2.0.0:
resolved "https://registry.npmmirror.com/universalify/-/universalify-2.0.0.tgz"
integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==
unpipe@~1.0.0:
version "1.0.0"
resolved "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz"
integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
unplugin-auto-import@^0.7.1:
version "0.7.2"
resolved "https://registry.npmmirror.com/unplugin-auto-import/-/unplugin-auto-import-0.7.2.tgz"
......@@ -4714,11 +4572,6 @@ util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1:
resolved "https://repo.huaweicloud.com/repository/npm/util-deprecate/-/util-deprecate-1.0.2.tgz"
integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
utils-merge@1.0.1:
version "1.0.1"
resolved "https://registry.npmmirror.com/utils-merge/-/utils-merge-1.0.1.tgz"
integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==
uuid@^3.3.2:
version "3.4.0"
resolved "https://repo.huaweicloud.com/repository/npm/uuid/-/uuid-3.4.0.tgz"
......@@ -4762,21 +4615,6 @@ vite-plugin-inspect@^0.5.0:
sirv "^2.0.2"
ufo "^0.8.3"
vite-plugin-mock@^2.9.6:
version "2.9.6"
resolved "https://registry.npmmirror.com/vite-plugin-mock/-/vite-plugin-mock-2.9.6.tgz"
integrity sha512-/Rm59oPppe/ncbkSrUuAxIQihlI2YcBmnbR4ST1RA2VzM1C0tEQc1KlbQvnUGhXECAGTaQN2JyasiwXP6EtKgg==
dependencies:
"@rollup/plugin-node-resolve" "^13.0.4"
"@types/mockjs" "^1.0.4"
chalk "^4.1.2"
chokidar "^3.5.2"
connect "^3.7.0"
debug "^4.3.2"
esbuild "0.11.3"
fast-glob "^3.2.7"
path-to-regexp "^6.2.0"
vite-plugin-svg-icons@^2.0.1:
version "2.0.1"
resolved "https://registry.npmmirror.com/vite-plugin-svg-icons/-/vite-plugin-svg-icons-2.0.1.tgz"
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论