feat: 新增积分页面

This commit is contained in:
陈狼 2025-02-28 22:56:27 +08:00
parent 0717191a12
commit 03757950e4
12 changed files with 524 additions and 215 deletions

18
package-lock.json generated
View File

@ -9,7 +9,6 @@
"version": "1.0.0",
"license": "MIT",
"dependencies": {
"@arco-design/web-vue": "^2.44.7",
"@vueuse/core": "^9.3.0",
"aieditor": "^1.3.4",
"arco-design-pro-vue": "file:",
@ -28,6 +27,7 @@
"vue-router": "^4.0.14"
},
"devDependencies": {
"@arco-design/web-vue": "^2.56.3",
"@arco-plugins/vite-vue": "^1.4.5",
"@commitlint/cli": "^17.1.2",
"@commitlint/config-conventional": "^17.1.0",
@ -104,6 +104,7 @@
"version": "0.4.0",
"resolved": "https://registry.npmmirror.com/@arco-design/color/-/color-0.4.0.tgz",
"integrity": "sha512-s7p9MSwJgHeL8DwcATaXvWT3m2SigKpxx4JA1BGPHL4gfvaQsmQfrLBDpjOJFJuJ2jG2dMt3R3P8Pm9E65q18g==",
"dev": true,
"license": "MIT",
"dependencies": {
"color": "^3.1.3"
@ -113,7 +114,7 @@
"version": "2.56.3",
"resolved": "https://registry.npmmirror.com/@arco-design/web-vue/-/web-vue-2.56.3.tgz",
"integrity": "sha512-D2CPIXRBUPcg37TFsfWROZddCWFZnIwqGpsOhOn2BhmH89UFqtBGpTxyuMdYJEwKNXunp3dVL6V69ZMmJBRPOg==",
"license": "MIT",
"dev": true,
"dependencies": {
"@arco-design/color": "^0.4.0",
"b-tween": "^0.3.3",
@ -3257,12 +3258,14 @@
"version": "0.3.3",
"resolved": "https://registry.npmmirror.com/b-tween/-/b-tween-0.3.3.tgz",
"integrity": "sha512-oEHegcRpA7fAuc9KC4nktucuZn2aS8htymCPcP3qkEGPqiBH+GfqtqoG2l7LxHngg6O0HFM7hOeOYExl1Oz4ZA==",
"dev": true,
"license": "MIT"
},
"node_modules/b-validate": {
"version": "1.5.3",
"resolved": "https://registry.npmmirror.com/b-validate/-/b-validate-1.5.3.tgz",
"integrity": "sha512-iCvCkGFskbaYtfQ0a3GmcQCHl/Sv1GufXFGuUQ+FE+WJa7A/espLOuFIn09B944V8/ImPj71T4+rTASxO2PAuA==",
"dev": true,
"license": "MIT"
},
"node_modules/bail": {
@ -4524,6 +4527,7 @@
"version": "3.2.1",
"resolved": "https://registry.npmmirror.com/color/-/color-3.2.1.tgz",
"integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==",
"dev": true,
"license": "MIT",
"dependencies": {
"color-convert": "^1.9.3",
@ -4547,12 +4551,14 @@
"version": "1.1.4",
"resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true,
"license": "MIT"
},
"node_modules/color-string": {
"version": "1.9.1",
"resolved": "https://registry.npmmirror.com/color-string/-/color-string-1.9.1.tgz",
"integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==",
"dev": true,
"license": "MIT",
"dependencies": {
"color-name": "^1.0.0",
@ -4563,6 +4569,7 @@
"version": "1.9.3",
"resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz",
"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
"dev": true,
"license": "MIT",
"dependencies": {
"color-name": "1.1.3"
@ -4572,6 +4579,7 @@
"version": "1.1.3",
"resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz",
"integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
"dev": true,
"license": "MIT"
},
"node_modules/colord": {
@ -4623,6 +4631,7 @@
"version": "1.0.20",
"resolved": "https://registry.npmmirror.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz",
"integrity": "sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==",
"dev": true,
"license": "MIT"
},
"node_modules/computeds": {
@ -12762,6 +12771,7 @@
"version": "1.6.0",
"resolved": "https://registry.npmmirror.com/number-precision/-/number-precision-1.6.0.tgz",
"integrity": "sha512-05OLPgbgmnixJw+VvEh18yNPUo3iyp4BEWJcrLu4X9W05KmMifN7Mu5exYvQXqxxeNWhvIF+j3Rij+HmddM/hQ==",
"dev": true,
"license": "MIT"
},
"node_modules/object-assign": {
@ -15069,6 +15079,7 @@
"version": "1.5.1",
"resolved": "https://registry.npmmirror.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz",
"integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==",
"dev": true,
"license": "MIT"
},
"node_modules/resolve": {
@ -15410,6 +15421,7 @@
"version": "2.2.31",
"resolved": "https://registry.npmmirror.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.31.tgz",
"integrity": "sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==",
"dev": true,
"license": "MIT",
"dependencies": {
"compute-scroll-into-view": "^1.0.20"
@ -15716,6 +15728,7 @@
"version": "0.2.2",
"resolved": "https://registry.npmmirror.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz",
"integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==",
"dev": true,
"license": "MIT",
"dependencies": {
"is-arrayish": "^0.3.1"
@ -15725,6 +15738,7 @@
"version": "0.3.2",
"resolved": "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.3.2.tgz",
"integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==",
"dev": true,
"license": "MIT"
},
"node_modules/slash": {

View File

@ -30,7 +30,6 @@
]
},
"dependencies": {
"@arco-design/web-vue": "^2.44.7",
"@vueuse/core": "^9.3.0",
"aieditor": "^1.3.4",
"arco-design-pro-vue": "file:",
@ -49,6 +48,7 @@
"vue-router": "^4.0.14"
},
"devDependencies": {
"@arco-design/web-vue": "^2.56.3",
"@arco-plugins/vite-vue": "^1.4.5",
"@commitlint/cli": "^17.1.2",
"@commitlint/config-conventional": "^17.1.0",

47
src/api/userReward.ts Normal file
View File

@ -0,0 +1,47 @@
import axios from 'axios';
import { S } from 'mockjs';
export interface LoginData {
username: string;
password: string;
}
export interface jobuser {
status: string;
code: number;
message: string;
data: object;
}
export interface Black {
status: string;
code: number;
message: string;
data: {};
}
export interface Refresh {
status: string;
code: number;
data: {
access_token: string;
refresh_token: string;
};
message: string;
}
export interface ListParams {
black?: string;
username?: string;
}
/**
*
* @param data
* @returns
*/
export function lists(params: ListParams) {
return axios.post<jobuser>('admin/api/v1/userReward/lists',params);
}

View File

@ -38,6 +38,8 @@ import localeJUserblack from '@/views/userblack/locale/zh-CN';
import localeDictionary from '@/views/dictionary/locale/zh-CN';
import localeWithdraw from '@/views/withdraw/locale/zh-CN';
import localeUserReward from '@/views/userReward/locale/zh-CN';
export default {
'menu.dashboard': '仪表盘',
'menu.server.dashboard': '仪表盘-服务端',
@ -65,6 +67,7 @@ export default {
"menu.promotion": '推广管理',
"menu.promotion.Table": '推广链接',
"menu.promotion.Details": '推广详情',
"menu.userReward": '积分管理',
...localeSettings,
...localeMessageBox,
...localeLogin,
@ -92,5 +95,6 @@ export default {
...localeJobuser,
...localeJUserblack,
...localeDictionary,
...localeWithdraw
...localeWithdraw,
...localeUserReward
};

View File

@ -0,0 +1,28 @@
import { DEFAULT_LAYOUT } from '../base';
import { AppRouteRecordRaw } from '../types';
const JOBUSER: AppRouteRecordRaw = {
path: '/userReward',
name: 'userReward',
component: DEFAULT_LAYOUT,
meta: {
locale: 'menu.userReward',
requiresAuth: true,
icon: 'icon-user',
order: 0,
},
children: [
{
path: 'userRewards',
name: 'userRewards',
component: () => import('@/views/userReward/index.vue'),
meta: {
locale: 'menu.userReward.list',
requiresAuth: true,
roles: ['*'],
},
},
],
};
export default JOBUSER;

View File

@ -0,0 +1,93 @@
<template>
<div ref="chartContainer" style="width: 800px; height: 550px;"></div>
</template>
<script lang="ts" setup>
import { defineComponent, ref, onMounted } from "vue";
import * as echarts from "echarts";
import { getSonId, getDayId } from '@/api/Invite';
import { reactive } from "vue";
const chartContainer = ref(null);
const props = defineProps({
id: Number,
});
const data = reactive( {
name: '',
symbolSize:40,
children: []
});
//
const chartOption = {
tooltip: {
trigger: 'item',
formatter: '{b}'
},
series: [
{
type: 'tree', // 使
layout: 'tree', // 'radial' 'tree'
roam: true, // ,
orient: 'vertical',//
initialTreeDepth: -1, //
data: [
data
],
itemStyle: {
color: '#63b1f2', //
},
label: {
position: 'top',
verticalAlign: 'middle',
align: 'center',
fontSize: 12,
},
lineStyle: {
color: '#aaa',
width: 2,
curveness: 0.3,
}
}
]
};
//
onMounted(() => {
getSonId(props.id).then(res => {
data.name = props.id || '';
if(res.data!=null){
res.data.forEach((element: any) => {
let item = {
name:element.invitename,
symbolSize:20,
children: []
}
getSonId(element.invitename).then(res1 => {
if(res1.data!=null){
res1.data.forEach((element1: any) => {
let item1 = {
name: element1.invitename,
symbolSize:20,
children: []
};
item.children.push(item1);
})
data.children.push(item);
const myChart = echarts.init(chartContainer.value);
myChart.setOption(chartOption);
}
})
});
}
})
});
</script>
<style scoped>
/* 样式可根据需要自定义 */
</style>

View File

@ -0,0 +1,35 @@
<template>
<a-col class="banner">
<a-col :span="8">
<a-typography-title :heading="5" style="margin-top: 0">
{{ $t('workplace.welcome') }} {{ userInfo.name }}
</a-typography-title>
</a-col>
<a-divider class="panel-border" />
</a-col>
</template>
<script lang="ts" setup>
import { computed } from 'vue';
import { useUserStore } from '@/store';
const userStore = useUserStore();
const userInfo = computed(() => {
return {
name: userStore.name,
};
});
</script>
<style scoped lang="less">
.banner {
width: 100%;
padding: 20px 20px 0 20px;
background-color: var(--color-bg-2);
border-radius: 4px 4px 0 0;
}
:deep(.arco-icon-home) {
margin-right: 6px;
}
</style>

View File

@ -0,0 +1,39 @@
<template>
<div class="group">
<a-card>
父亲
</a-card>
</div>
<div class="group">
<a-card>
</a-card>
</div>
<div class="group">
<a-card>
</a-card>
<a-card>
</a-card>
</div>
<div class="group">
<a-card>
</a-card>
</div>
</template>
<script lang="ts" setup>
import { computed } from 'vue';
const props = defineProps({
id: Number,
});
</script>
<style scoped lang="less">
.group {
display: flex;
justify-content: space-between;
}
</style>

View File

@ -0,0 +1,249 @@
<template>
<div class="container">
<Breadcrumb :items="['menu.userReward', 'menu.userReward.list']" />
<a-card class="general-card" :title="$t('menu.userReward.list')">
<a-row>
<a-col :flex="1">
<a-form :model="queryParams" :label-col-props="{ span: 6 }" :wrapper-col-props="{ span: 18 }"
label-align="left">
<a-row :gutter="16">
<a-col :span="8">
<a-form-item field="name" :label="'用户名'">
<a-input v-model="queryParams.username" :placeholder="'请输入用户名'" />
</a-form-item>
</a-col>
<a-col :span="8">
<a-form-item field="updatedat" label="奖励时间">
<a-range-picker v-model="queryParams.updatedat" style="width: 100%" />
</a-form-item>
</a-col>
</a-row>
</a-form>
</a-col>
<a-col :flex="'86px'" style="text-align: right">
<a-space :size="18">
<a-button type="primary" @click="getAll">
<template #icon>
<icon-search />
</template>
查询
</a-button>
<a-button @click="reset">
<template #icon>
<icon-refresh />
</template>
重置
</a-button>
</a-space>
</a-col>
</a-row>
<div class="table-container">
<div class="table-content">
<a-table :data="data" :summary="summary" :pagination="false" :sticky-header="0" :scroll="{ y: 'calc(100vh - 375px)' }">
<template #columns>
<a-table-column title="账号" data-index="username"></a-table-column>
<a-table-column title="奖励积分" data-index="money"></a-table-column>
<a-table-column title="操作前的积分" data-index="before"></a-table-column>
<a-table-column title="操作后的积分" data-index="after"></a-table-column>
<a-table-column title="备注" data-index="memo"></a-table-column>
<a-table-column title="操作类型" data-index="status"></a-table-column>
<a-table-column title="奖励时间" data-index="createtime2"></a-table-column>
</template>
</a-table>
</div>
<div class="pagination-container">
<a-pagination
v-model:current="pagination.current"
v-model:page-size="pagination.pageSize"
:total="pagination.total"
:page-size-options="pagination.pageSizeOptions"
:show-jumper="pagination.showJumper"
:show-page-size="pagination.showPageSize"
:show-total="pagination.showTotal"
@change="handleTableChange"
@page-size-change="handlePageSizeChange"
/>
</div>
</div>
</a-card>
</div>
</template>
<script lang="ts" setup>
import { computed, ref, reactive, watch, nextTick, onMounted } from 'vue';
import { PaginationProps,TableChangeExtra } from '@arco-design/web-vue';
import { lists } from '@/api/userReward';
import { Modal } from '@arco-design/web-vue';
import { Message } from '@arco-design/web-vue';
const queryParams = ref({
username: "",
status: -1,
updatedat: [],
current: 1,
pageSize: 10,
});
const addNum = ref(0);
const pagination = reactive<PaginationProps>({
current: 1, //
pageSize: 10, //
total: 0, //
pageSizeOptions: [10, 20, 50, 100,10000],
showJumper: true,
showPageSize: true,
showTotal: true,
})
//
const handlePageSizeChange = (pageSize: number) => {
pagination.current = 1;
pagination.pageSize = pageSize;
queryParams.value.current = 1;
queryParams.value.pageSize = pageSize;
getAll();
}
interface DataItem {
user_id: string;
username: string;
money: Date;
status: string;
createtime2: string;
}
let data = ref<DataItem[]>([])
//
const handleTableChange = (page:number) => {
pagination.current = page;
queryParams.value.current = page;
getAll();
};
//
const handleBlock = async(record:any) => {
Modal.confirm({
title: '操作提醒',
content: '是否确认该选择',
okText: '确认',
cancelText: '取消',
onOk: async () => {
record.type = 0;
const res = await pushMoney(record);
if (res.code === 200) {
reset();
Message.success('操作成功');
} else {
reset();
Message.error('操作失败');
}
},
onCancel: () => {
//
Message.info('操作已取消');
}
});
};
//
const handleNotBlock = async(record:any) => {
Modal.confirm({
title: '操作提醒',
content: '是否确认该选择',
okText: '确认',
cancelText: '取消',
onOk: async () => {
record.type = 1;
const res = await pushMoney(record);
if (res.code === 200) {
reset();
Message.success('操作成功');
} else {
reset();
Message.error('操作失败');
}
},
onCancel: () => {
//
Message.info('操作已取消');
}
});
};
//
const summary = () => {
let amount = 0;
data.value.forEach(record => {
amount += record.amount;
})
addNum.value = amount;
}
//
const getColorStyle = (column, record) => {
if (['amount'].includes(column.dataIndex)) {
return {color: record[column.dataIndex] > 0 ? 'red' : 'green'}
}
return undefined
}
//
const reset=()=>{
queryParams.value.username="";
queryParams.value.status=-1;
queryParams.value.updatedat=[];
getAll();
}
//
const getAll = async() => {
const res= await lists(queryParams.value);
if (res.code == 200) {
data.value = res.data.data;
pagination.total = res.data.total;
summary();
}
};
onMounted(async () => {
getAll()
})
</script>
<style lang="less" scoped>
.table-container {
height: calc(100vh - 320px);
}
.table-content {
flex: 1;
overflow: hidden;
}
.arco-table {
height: 100%;
overflow-y: auto;
}
.pagination-container {
display: flex;
justify-content: flex-end;
padding: 10px;
background-color: white;
border-top: 1px solid #e8e8e8;
}
.arco-table {
overflow: hidden;
}
.container {
padding: 0 20px 20px 20px;
}
.summary-container{
background-color: rgb(223, 226, 224);
text-align: center;
font-size: 20px;
}
</style>

View File

@ -0,0 +1,5 @@
export default {
'menu.profile.basic': 'UserReward List',
'menu.userReward.list': '积分明细',
};

View File

@ -0,0 +1,5 @@
export default {
'menu.profile.basic': 'UserReward List',
'menu.userReward.list': '积分明细',
};

212
yarn.lock
View File

@ -22,7 +22,7 @@
dependencies:
color "^3.1.3"
"@arco-design/web-vue@^2.44.7":
"@arco-design/web-vue@^2.56.3":
version "2.56.3"
resolved "https://registry.npmmirror.com/@arco-design/web-vue/-/web-vue-2.56.3.tgz"
integrity sha512-D2CPIXRBUPcg37TFsfWROZddCWFZnIwqGpsOhOn2BhmH89UFqtBGpTxyuMdYJEwKNXunp3dVL6V69ZMmJBRPOg==
@ -444,21 +444,6 @@
resolved "https://registry.npmmirror.com/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz"
integrity sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==
"@esbuild/android-arm@0.15.18":
version "0.15.18"
resolved "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.15.18.tgz"
integrity sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==
"@esbuild/linux-loong64@0.14.54":
version "0.14.54"
resolved "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.14.54.tgz"
integrity sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==
"@esbuild/linux-loong64@0.15.18":
version "0.15.18"
resolved "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz"
integrity sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==
"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0":
version "4.4.1"
resolved "https://registry.npmmirror.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz"
@ -3161,186 +3146,6 @@ es-to-primitive@^1.3.0:
is-date-object "^1.0.5"
is-symbol "^1.0.4"
esbuild-android-64@0.14.54:
version "0.14.54"
resolved "https://registry.npmmirror.com/esbuild-android-64/-/esbuild-android-64-0.14.54.tgz"
integrity sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==
esbuild-android-64@0.15.18:
version "0.15.18"
resolved "https://registry.npmmirror.com/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz"
integrity sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==
esbuild-android-arm64@0.14.54:
version "0.14.54"
resolved "https://registry.npmmirror.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.54.tgz"
integrity sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==
esbuild-android-arm64@0.15.18:
version "0.15.18"
resolved "https://registry.npmmirror.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz"
integrity sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==
esbuild-darwin-64@0.14.54:
version "0.14.54"
resolved "https://registry.npmmirror.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.54.tgz"
integrity sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==
esbuild-darwin-64@0.15.18:
version "0.15.18"
resolved "https://registry.npmmirror.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz"
integrity sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==
esbuild-darwin-arm64@0.14.54:
version "0.14.54"
resolved "https://registry.npmmirror.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.54.tgz"
integrity sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==
esbuild-darwin-arm64@0.15.18:
version "0.15.18"
resolved "https://registry.npmmirror.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz"
integrity sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==
esbuild-freebsd-64@0.14.54:
version "0.14.54"
resolved "https://registry.npmmirror.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.54.tgz"
integrity sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==
esbuild-freebsd-64@0.15.18:
version "0.15.18"
resolved "https://registry.npmmirror.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz"
integrity sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==
esbuild-freebsd-arm64@0.14.54:
version "0.14.54"
resolved "https://registry.npmmirror.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.54.tgz"
integrity sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==
esbuild-freebsd-arm64@0.15.18:
version "0.15.18"
resolved "https://registry.npmmirror.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz"
integrity sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==
esbuild-linux-32@0.14.54:
version "0.14.54"
resolved "https://registry.npmmirror.com/esbuild-linux-32/-/esbuild-linux-32-0.14.54.tgz"
integrity sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==
esbuild-linux-32@0.15.18:
version "0.15.18"
resolved "https://registry.npmmirror.com/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz"
integrity sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==
esbuild-linux-64@0.14.54:
version "0.14.54"
resolved "https://registry.npmmirror.com/esbuild-linux-64/-/esbuild-linux-64-0.14.54.tgz"
integrity sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==
esbuild-linux-64@0.15.18:
version "0.15.18"
resolved "https://registry.npmmirror.com/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz"
integrity sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==
esbuild-linux-arm@0.14.54:
version "0.14.54"
resolved "https://registry.npmmirror.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.54.tgz"
integrity sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==
esbuild-linux-arm@0.15.18:
version "0.15.18"
resolved "https://registry.npmmirror.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz"
integrity sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==
esbuild-linux-arm64@0.14.54:
version "0.14.54"
resolved "https://registry.npmmirror.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.54.tgz"
integrity sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==
esbuild-linux-arm64@0.15.18:
version "0.15.18"
resolved "https://registry.npmmirror.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz"
integrity sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==
esbuild-linux-mips64le@0.14.54:
version "0.14.54"
resolved "https://registry.npmmirror.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.54.tgz"
integrity sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==
esbuild-linux-mips64le@0.15.18:
version "0.15.18"
resolved "https://registry.npmmirror.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz"
integrity sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==
esbuild-linux-ppc64le@0.14.54:
version "0.14.54"
resolved "https://registry.npmmirror.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.54.tgz"
integrity sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==
esbuild-linux-ppc64le@0.15.18:
version "0.15.18"
resolved "https://registry.npmmirror.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz"
integrity sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==
esbuild-linux-riscv64@0.14.54:
version "0.14.54"
resolved "https://registry.npmmirror.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.54.tgz"
integrity sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==
esbuild-linux-riscv64@0.15.18:
version "0.15.18"
resolved "https://registry.npmmirror.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz"
integrity sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==
esbuild-linux-s390x@0.14.54:
version "0.14.54"
resolved "https://registry.npmmirror.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.54.tgz"
integrity sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==
esbuild-linux-s390x@0.15.18:
version "0.15.18"
resolved "https://registry.npmmirror.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz"
integrity sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==
esbuild-netbsd-64@0.14.54:
version "0.14.54"
resolved "https://registry.npmmirror.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.54.tgz"
integrity sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==
esbuild-netbsd-64@0.15.18:
version "0.15.18"
resolved "https://registry.npmmirror.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz"
integrity sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==
esbuild-openbsd-64@0.14.54:
version "0.14.54"
resolved "https://registry.npmmirror.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.54.tgz"
integrity sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==
esbuild-openbsd-64@0.15.18:
version "0.15.18"
resolved "https://registry.npmmirror.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz"
integrity sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==
esbuild-sunos-64@0.14.54:
version "0.14.54"
resolved "https://registry.npmmirror.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.54.tgz"
integrity sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==
esbuild-sunos-64@0.15.18:
version "0.15.18"
resolved "https://registry.npmmirror.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz"
integrity sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==
esbuild-windows-32@0.14.54:
version "0.14.54"
resolved "https://registry.npmmirror.com/esbuild-windows-32/-/esbuild-windows-32-0.14.54.tgz"
integrity sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==
esbuild-windows-32@0.15.18:
version "0.15.18"
resolved "https://registry.npmmirror.com/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz"
integrity sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==
esbuild-windows-64@0.14.54:
version "0.14.54"
resolved "https://registry.npmmirror.com/esbuild-windows-64/-/esbuild-windows-64-0.14.54.tgz"
@ -3351,16 +3156,6 @@ esbuild-windows-64@0.15.18:
resolved "https://registry.npmmirror.com/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz"
integrity sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==
esbuild-windows-arm64@0.14.54:
version "0.14.54"
resolved "https://registry.npmmirror.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.54.tgz"
integrity sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==
esbuild-windows-arm64@0.15.18:
version "0.15.18"
resolved "https://registry.npmmirror.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz"
integrity sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==
esbuild@^0.14.14:
version "0.14.54"
resolved "https://registry.npmmirror.com/esbuild/-/esbuild-0.14.54.tgz"
@ -4119,11 +3914,6 @@ fs.realpath@^1.0.0:
resolved "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz"
integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
fsevents@~2.3.2:
version "2.3.3"
resolved "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz"
integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
function-bind@^1.1.2:
version "1.1.2"
resolved "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz"