Browse Source

feat: 业务详情

min
lucky 4 years ago
parent
commit
8fe7c7ba4b
  1. 8701
      package-lock.json
  2. 60
      src/components/listPlugin.vue
  3. 76
      src/components/listTable.vue
  4. 69
      src/components/pagination.vue
  5. 35
      src/views/index-list/add-business.vue
  6. 37
      src/views/index-list/business-detail.vue
  7. 58
      src/views/index-list/business-list.vue
  8. 7
      src/views/index-list/plugin-shop.vue
  9. 158
      yarn.lock

8701
package-lock.json

File diff suppressed because it is too large

60
src/components/listPlugin.vue

@ -27,44 +27,15 @@
</div>
</div>
</div>
<div class="pagination mt-15 flex flex-row-reverse">
<el-config-provider :locale="zhCn">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="currentPage"
:page-size="pageSize"
layout="prev, pager, next, sizes, jumper"
:total="total"
:page-sizes="[10, 15, 20, 30, 40, 50]"
>
</el-pagination>
</el-config-provider>
</div>
</template>
<script lang="ts" setup="true">
import { defineProps, defineEmits } from 'vue';
import { ElConfigProvider } from 'element-plus';
import zhCn from 'element-plus/lib/locale/lang/zh-cn';
import { defineProps } from 'vue';
defineProps({
lists: { default: () => [], type: Array },
currentPage: { default: 1, type: Number },
pageSize: { default: 10, type: Number },
total: { default: 0, type: Number },
showConfig: { default: false, type: Boolean },
});
const emit = defineEmits(['handleSizeChange', 'handleCurrentChange']);
function handleSizeChange(val) {
emit('handleSizeChange', val);
}
function handleCurrentChange(val) {
emit('handleCurrentChange', val);
}
</script>
<style scoped>
@ -91,33 +62,4 @@ function handleCurrentChange(val) {
width: 288px;
height: 263px;
}
.pagination >>> .el-pager li,
.pagination >>> .btn-prev,
.pagination >>> .btn-next {
border: 1px solid #ccc;
width: 2rem;
height: 2rem;
line-height: 2rem;
text-align: center;
padding: 0;
margin: 0 8px;
border-radius: 6px;
font-weight: normal;
}
.pagination >>> .el-pager li.active {
border: 1px solid #409eff;
color: #fff;
background: #409eff;
}
.pagination >>> .el-input__inner {
height: 2rem;
line-height: 2rem;
border: 1px solid #ccc;
border-radius: 6px !important;
}
.pagination >>> .el-pagination__jump {
margin-left: 0;
}
</style>

76
src/components/listTable.vue

@ -1,28 +1,28 @@
<template>
<el-table :data="data.tableData" class="bg-title" style="width: 100%">
<el-table-column prop="name" label="业务名称"> </el-table-column>
<el-table :data="lists" class="bg-title" style="width: 100%">
<el-table-column prop="name" label="业务名称1"> </el-table-column>
<el-table-column prop="appId" label="APPID" width="300"> </el-table-column>
<el-table-column prop="startUsing" label="状态" key="slot" sortable>
<template #default="scope">
<div class="flex flex-row items-center" @click="change(scope.row)">
<div class="point bg-green-500"></div>
<span style="margin-left: 10px">启用</span>
<div :class="scope.row.startUsing ? 'point bg-green-500' : 'point bg-red-500'"></div>
<span style="margin-left: 10px">{{ scope.row.startUsing ? '动' : '禁' }}</span>
</div>
</template>
</el-table-column>
<el-table-column label="公开" sortable key="slot" width="180">
<template #default="scope">
<div class="flex flex-row items-center" @click="change(scope.row)">
<div class="point bg-red-500"></div>
<span style="margin-left: 10px">公开</span>
<div :class="scope.row.pub ? 'point bg-green-500' : 'point bg-red-500'"></div>
<span style="margin-left: 10px">{{ scope.row.pub ? '公开' : '非公开' }}</span>
</div>
</template>
</el-table-column>
<el-table-column prop="createTime" label="创建日期" sortable> </el-table-column>
<el-table-column prop="createTime" :formatter="dateFormat" label="创建日期" sortable></el-table-column>
<el-table-column label="操作" key="slot">
<template #default="scope">
<el-button type="text" size="small">删除</el-button>
<el-button type="text" size="small">配置</el-button>
<el-button type="text" size="small">配置</el-button>..
<el-button @click="handleClick(scope.row)" type="text" size="small">查看</el-button>
</template>
</el-table-column>
@ -31,47 +31,17 @@
<script setup>
import { useRouter } from 'vue-router';
import { reactive } from 'vue';
import { defineProps } from 'vue';
import { useStore } from 'vuex';
const router = useRouter();
const store = useStore();
const data = reactive({
tableData: [
{
appId: '描述01',
createTime: '2016-05-02',
id: '1',
name: '王小虎',
pub: 0,
startUsing: 0,
},
{
appId: '描述02',
createTime: '2016-05-04',
id: '2',
name: '王小虎',
pub: 1,
startUsing: 1,
},
{
appId: '描述03',
createTime: '2016-05-01',
id: '3',
name: '王小虎',
pub: 0,
startUsing: 1,
},
{
appId: '描述04',
createTime: '2016-05-03',
id: '4',
name: '王小虎',
pub: 1,
startUsing: 0,
},
],
defineProps({
lists: { default: () => [], type: Array },
currentPage: { default: 1, type: Number },
pageSize: { default: 10, type: Number },
total: { default: 0, type: Number },
showConfig: { default: false, type: Boolean },
});
function change(row) {
@ -83,6 +53,22 @@ function handleClick(row) {
router.push({ name: 'business-detail', query: { id: row.id } });
store.commit('plugin/setBusinessInfo', row);
}
function dateFormat(row) {
const value = row.createTime;
if (value) {
const date = new Date(Number(value)); // 13
// let date = new Date(value * 1000) // 10
const year = date.getFullYear();
const month = date.getMonth() + 1 < 10 ? `0${date.getMonth() + 1}` : date.getMonth() + 1;
const day = date.getDate() < 10 ? `0${date.getDate()}` : date.getDate();
const hour = date.getHours() < 10 ? `0${date.getHours()}` : date.getHours();
const minute = date.getMinutes() < 10 ? `0${date.getMinutes()}` : date.getMinutes();
const second = date.getSeconds() < 10 ? `0${date.getSeconds()}` : date.getSeconds();
return `${year}-${month}-${day} ${hour}:${minute}:${second}`;
}
return '';
}
</script>
<style scoped>

69
src/components/pagination.vue

@ -0,0 +1,69 @@
<template>
<div class="pagination mt-15 flex flex-row-reverse">
<el-config-provider :locale="zhCn">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="currentPage"
:page-size="pageSize"
layout="prev, pager, next, sizes, jumper"
:total="total"
:page-sizes="[10, 15, 20, 30, 40, 50]"
>
</el-pagination>
</el-config-provider>
</div>
</template>
<script lang="ts" setup="true">
import { defineProps, defineEmits } from 'vue';
import { ElConfigProvider } from 'element-plus';
import zhCn from 'element-plus/lib/locale/lang/zh-cn';
defineProps({
currentPage: { default: 1, type: Number },
pageSize: { default: 10, type: Number },
total: { default: 0, type: Number },
});
const emit = defineEmits(['handleSizeChange', 'handleCurrentChange']);
function handleSizeChange(val) {
emit('handleSizeChange', val);
}
function handleCurrentChange(val) {
emit('handleCurrentChange', val);
}
</script>
<style scoped>
.pagination >>> .el-pager li,
.pagination >>> .btn-prev,
.pagination >>> .btn-next {
border: 1px solid #ccc;
width: 2rem;
height: 2rem;
line-height: 2rem;
text-align: center;
padding: 0;
margin: 0 8px;
border-radius: 6px;
font-weight: normal;
}
.pagination >>> .el-pager li.active {
border: 1px solid #409eff;
color: #fff;
background: #409eff;
}
.pagination >>> .el-input__inner {
height: 2rem;
line-height: 2rem;
border: 1px solid #ccc;
border-radius: 6px !important;
}
.pagination >>> .el-pagination__jump {
margin-left: 0;
}
</style>

35
src/views/index-list/add-business.vue

@ -27,7 +27,7 @@
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="描述:" prop="description">
<el-form-item label="详情" prop="description">
<el-input v-model="form.description" type="textarea" placeholder="请输入备注"></el-input>
</el-form-item>
<el-form-item label="是否公开:" prop="pub">
@ -50,6 +50,8 @@
<script setup>
import { ref, reactive } from 'vue';
import { ElMessage } from 'element-plus';
import { saveBusiness } from '@/apis/business.js';
const formRef = ref(null);
const form = reactive({
@ -69,17 +71,30 @@ const rules = {
sort: [{ required: true, message: '请选择分类', trigger: 'blur' }],
};
/**
* 创建业务
*/
const onSubmit = () => {
formRef.value.validate(valid => {
console.log('valid: ', valid);
if (valid) {
console.log('submit!');
} else {
console.log('error submit!!');
return false;
}
});
try {
formRef.value.validate(async valid => {
if (valid) {
const params = {};
params.param = form;
params.param.pub = form.pub ? 1 : 0;
params.param.startUsing = form.startUsing ? 1 : 0;
params.param.debug = form.debug ? 1 : 0;
await saveBusiness(params);
ElMessage.success('创建成功');
} else {
ElMessage.error('创建失败');
return false;
}
});
} catch (error) {
console.log('error: ', error);
}
};
const resetForm = () => {
formRef.value.resetFields();
};

37
src/views/index-list/business-detail.vue

@ -28,12 +28,11 @@
<h1 class="text-lg font-semibold">已绑定插件</h1>
<el-button type="primary" @click="openPage">添加插件</el-button>
</div>
<listPlugin
:lists="data.lists"
<listPlugin :lists="data.lists" :showConfig="true" />
<pagination
:currentPage="data.currentPage"
:pageSize="data.pageSize"
:total="data.total"
:showConfig="true"
@handleSizeChange="handleSizeChange"
@handleCurrentChange="handleCurrentChange"
/>
@ -47,6 +46,8 @@ import { reactive, computed } from 'vue';
import { useStore } from 'vuex';
import { useRouter } from 'vue-router';
import { ElMessage } from 'element-plus';
import pagination from '@/components/pagination.vue';
import { queryPluginByBusiness } from '@/apis/business.js';
const store = useStore();
const router = useRouter();
@ -112,6 +113,36 @@ async function copy(Msg) {
ElMessage.error('复制失败');
}
}
/**
* 查询业务下关联的插件
*/
async function queryPluginOfBusiness(businessId) {
try {
const { currentPage, pageSize } = data;
const params = {
param: {
businessId,
pageNum: currentPage,
pageSize,
},
};
const res = await queryPluginByBusiness(params);
console.log(res);
data.lists = res.list;
data.currentPage = res.pageNum - 0;
data.pageSize = res.pageSize - 0;
data.total = res.total - 0;
} catch (error) {
console.log('error: ', error);
}
}
const id =
router.currentRoute.value && router.currentRoute.value.query && router.currentRoute.value.query.id
? router.currentRoute.value.query.id
: '';
queryPluginOfBusiness(id);
</script>
<style></style>

58
src/views/index-list/business-list.vue

@ -4,13 +4,23 @@
<div class="py-6">
<el-button type="primary" icon="el-icon-plus" @click="openPage">创建业务</el-button>
</div>
<listTable />
<listTable :lists="data.lists" />
<pagination
:currentPage="data.currentPage"
:pageSize="data.pageSize"
:total="data.total"
@handleSizeChange="handleSizeChange"
@handleCurrentChange="handleCurrentChange"
/>
</div>
</template>
<script setup>
import { useRouter } from 'vue-router';
import { useStore } from 'vuex';
import { reactive } from 'vue';
import { queryBusiness } from '@/apis/business.js';
import pagination from '@/components/pagination.vue';
const router = useRouter();
const store = useStore();
@ -19,6 +29,52 @@ function openPage() {
router.push({ name: 'desk-add-business' });
store.commit('plugin/setLeftIndex', 1);
}
const data = reactive({
lists: [],
currentPage: 1,
pageSize: 10,
total: 0,
});
function handleSizeChange(val) {
data.pageSize = val;
handleQueryBusiness();
}
function handleCurrentChange(val) {
data.currentPage = val;
handleQueryBusiness();
}
/**
* 查询插件列表
* @param {number} depth 查询深度 0则只查名称1则查询全部
* @param {number} name 插件名称为空则不实用该条件
* @param {number} pageNum 第几页
* @param {number} pageSize 每页几条信息
*/
async function handleQueryBusiness() {
try {
const { currentPage, pageSize } = data;
const params = {
param: {
depth: 1,
name: '',
pageNum: currentPage,
pageSize,
},
};
const res = await queryBusiness(params);
data.lists = res.list;
data.currentPage = res.pageNum - 0;
data.pageSize = res.pageSize - 0;
data.total = res.total - 0;
} catch (error) {
console.error('error: ', error);
}
}
handleQueryBusiness();
</script>
<style></style>

7
src/views/index-list/plugin-shop.vue

@ -1,7 +1,7 @@
<template>
<searchBar />
<listPlugin
:lists="data.lists"
<listPlugin :lists="data.lists" />
<pagination
:currentPage="data.currentPage"
:pageSize="data.pageSize"
:total="data.total"
@ -12,7 +12,8 @@
<script lang="ts" setup="true">
import { reactive } from 'vue';
import { queryPlugins } from '@/apis/plugin';
import { queryPlugins } from '@/apis/plugin.js';
import pagination from '@/components/pagination.vue';
const data = reactive({
lists: [],

158
yarn.lock

@ -37,7 +37,7 @@
"resolved" "https://registry.npmmirror.com/@babel/compat-data/download/@babel/compat-data-7.16.4.tgz?cache=0&sync_timestamp=1637102861835&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fcompat-data%2Fdownload%2F%40babel%2Fcompat-data-7.16.4.tgz"
"version" "7.16.4"
"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.11.1", "@babel/core@^7.12.0", "@babel/core@^7.13.0", "@babel/core@^7.4.0-0":
"@babel/core@^7.11.1":
"integrity" "sha1-xP9EBG9f4xBSXMnrTvUUfwxTdNQ="
"resolved" "https://registry.npmmirror.com/@babel/core/download/@babel/core-7.16.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2F%40babel%2Fcore%2Fdownload%2F%40babel%2Fcore-7.16.0.tgz"
"version" "7.16.0"
@ -1410,7 +1410,7 @@
"resolved" "https://registry.nlark.com/acorn-jsx/download/acorn-jsx-5.3.2.tgz?cache=0&sync_timestamp=1625793240297&other_urls=https%3A%2F%2Fregistry.nlark.com%2Facorn-jsx%2Fdownload%2Facorn-jsx-5.3.2.tgz"
"version" "5.3.2"
"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", "acorn@^7.1.1", "acorn@^7.4.0", "acorn@^8.5.0":
"acorn@^7.1.1", "acorn@^7.4.0":
"integrity" "sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo="
"resolved" "https://registry.nlark.com/acorn/download/acorn-7.4.1.tgz?cache=0&sync_timestamp=1630916517167&other_urls=https%3A%2F%2Fregistry.nlark.com%2Facorn%2Fdownload%2Facorn-7.4.1.tgz"
"version" "7.4.1"
@ -1423,7 +1423,7 @@
"clean-stack" "^2.0.0"
"indent-string" "^4.0.0"
"ajv@^6.10.0", "ajv@^6.12.4", "ajv@>=8":
"ajv@^6.10.0", "ajv@^6.12.4":
"integrity" "sha1-uvWmLoArB9l3A0WG+MO69a3ybfQ="
"resolved" "https://registry.nlark.com/ajv/download/ajv-6.12.6.tgz?cache=0&sync_timestamp=1631470871211&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fajv%2Fdownload%2Fajv-6.12.6.tgz"
"version" "6.12.6"
@ -1784,6 +1784,15 @@
"resolved" "https://registry.npm.taobao.org/cli-width/download/cli-width-2.2.1.tgz"
"version" "2.2.1"
"clipboard@^2.0.6":
"integrity" "sha512-Y6WO0unAIQp5bLmk1zdThRhgJt/x3ks6f30s3oE3H1mgIEU33XyQjEf8gsf6DxC7NPX8Y1SsNWjUjL/ywLnnbQ=="
"resolved" "https://registry.npmmirror.com/clipboard/download/clipboard-2.0.8.tgz"
"version" "2.0.8"
dependencies:
"good-listener" "^1.2.2"
"select" "^1.1.2"
"tiny-emitter" "^2.0.0"
"cliui@^7.0.2":
"integrity" "sha1-oCZe5lVHb8gHrqnfPfjfd4OAi08="
"resolved" "https://registry.npm.taobao.org/cliui/download/cliui-7.0.4.tgz?cache=0&sync_timestamp=1604880226973&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcliui%2Fdownload%2Fcliui-7.0.4.tgz"
@ -1915,7 +1924,7 @@
"browserslist" "^4.17.6"
"semver" "7.0.0"
"cosmiconfig@^7.0.0", "cosmiconfig@^7.0.1", "cosmiconfig@>=6":
"cosmiconfig@^7.0.0", "cosmiconfig@^7.0.1":
"integrity" "sha1-cU11ZSLKzoZ4Z8y0R0xdAbuuXW0="
"resolved" "https://registry.nlark.com/cosmiconfig/download/cosmiconfig-7.0.1.tgz"
"version" "7.0.1"
@ -1955,28 +1964,26 @@
"resolved" "https://registry.nlark.com/cz-conventional-changelog/download/cz-conventional-changelog-3.3.0.tgz"
"version" "3.3.0"
dependencies:
"@commitlint/load" ">6.1.1"
"chalk" "^2.4.1"
"commitizen" "^4.0.3"
"conventional-commit-types" "^3.0.0"
"lodash.map" "^4.5.1"
"longest" "^2.0.1"
"word-wrap" "^1.0.3"
optionalDependencies:
"@commitlint/load" ">6.1.1"
"cz-conventional-changelog@3.2.0":
"integrity" "sha1-au8fiS1kETND1+RVUpCJrJ8g5Hc="
"resolved" "https://registry.nlark.com/cz-conventional-changelog/download/cz-conventional-changelog-3.2.0.tgz"
"version" "3.2.0"
dependencies:
"@commitlint/load" ">6.1.1"
"chalk" "^2.4.1"
"commitizen" "^4.0.3"
"conventional-commit-types" "^3.0.0"
"lodash.map" "^4.5.1"
"longest" "^2.0.1"
"word-wrap" "^1.0.3"
optionalDependencies:
"@commitlint/load" ">6.1.1"
"dargs@^7.0.0":
"integrity" "sha1-BAFcQd4Ly2nshAUPPZvgyvjW1cw="
@ -2044,6 +2051,11 @@
dependencies:
"object-keys" "^1.0.12"
"delegate@^3.1.2":
"integrity" "sha1-tmtxwxWFIuirV0T3INjKDCr1kWY="
"resolved" "https://registry.nlark.com/delegate/download/delegate-3.2.0.tgz"
"version" "3.2.0"
"detect-file@^1.0.0":
"integrity" "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc="
"resolved" "https://registry.npm.taobao.org/detect-file/download/detect-file-1.0.0.tgz"
@ -2150,7 +2162,7 @@
"resolved" "https://registry.npmmirror.com/emoji-regex/download/emoji-regex-8.0.0.tgz?cache=0&sync_timestamp=1632751408145&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Femoji-regex%2Fdownload%2Femoji-regex-8.0.0.tgz"
"version" "8.0.0"
"enquirer@^2.3.5", "enquirer@^2.3.6", "enquirer@>= 2.3.0 < 3":
"enquirer@^2.3.5", "enquirer@^2.3.6":
"integrity" "sha1-Kn/l3WNKHkElqXXsmU/1RW3Dc00="
"resolved" "https://registry.nlark.com/enquirer/download/enquirer-2.3.6.tgz"
"version" "2.3.6"
@ -2209,11 +2221,91 @@
"is-date-object" "^1.0.1"
"is-symbol" "^1.0.2"
"esbuild-android-arm64@0.13.8":
"integrity" "sha1-wg6HXDyYFksf+6myhje9+W9ennw="
"resolved" "https://registry.npmmirror.com/esbuild-android-arm64/download/esbuild-android-arm64-0.13.8.tgz?cache=0&sync_timestamp=1634439415306&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fesbuild-android-arm64%2Fdownload%2Fesbuild-android-arm64-0.13.8.tgz"
"version" "0.13.8"
"esbuild-darwin-64@0.13.8":
"integrity" "sha1-9G5rRx3b9iJlI0gIpqGqkd8YpBc="
"resolved" "https://registry.npmmirror.com/esbuild-darwin-64/download/esbuild-darwin-64-0.13.8.tgz?cache=0&sync_timestamp=1634439397884&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fesbuild-darwin-64%2Fdownload%2Fesbuild-darwin-64-0.13.8.tgz"
"version" "0.13.8"
"esbuild-darwin-arm64@0.13.8":
"integrity" "sha1-qZEVemAT+s1PLhQVm32lJibJAVQ="
"resolved" "https://registry.npmmirror.com/esbuild-darwin-arm64/download/esbuild-darwin-arm64-0.13.8.tgz?cache=0&sync_timestamp=1634439409770&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fesbuild-darwin-arm64%2Fdownload%2Fesbuild-darwin-arm64-0.13.8.tgz"
"version" "0.13.8"
"esbuild-freebsd-64@0.13.8":
"integrity" "sha1-MBYB0uRDrUWJYONZtAKhfZUAvp0="
"resolved" "https://registry.npmmirror.com/esbuild-freebsd-64/download/esbuild-freebsd-64-0.13.8.tgz"
"version" "0.13.8"
"esbuild-freebsd-arm64@0.13.8":
"integrity" "sha1-A5pjrMEuwIkgBsFH6iIeVfkSWp8="
"resolved" "https://registry.npmmirror.com/esbuild-freebsd-arm64/download/esbuild-freebsd-arm64-0.13.8.tgz"
"version" "0.13.8"
"esbuild-linux-32@0.13.8":
"integrity" "sha1-xTe2fX5pS2C/onhlgUEoOMa6AoQ="
"resolved" "https://registry.npmmirror.com/esbuild-linux-32/download/esbuild-linux-32-0.13.8.tgz?cache=0&sync_timestamp=1634439427536&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fesbuild-linux-32%2Fdownload%2Fesbuild-linux-32-0.13.8.tgz"
"version" "0.13.8"
"esbuild-linux-64@0.13.8":
"integrity" "sha1-AJL8igZAAad3v6DjtCW7i+j5bmo="
"resolved" "https://registry.npmmirror.com/esbuild-linux-64/download/esbuild-linux-64-0.13.8.tgz?cache=0&sync_timestamp=1634439421101&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fesbuild-linux-64%2Fdownload%2Fesbuild-linux-64-0.13.8.tgz"
"version" "0.13.8"
"esbuild-linux-arm@0.13.8":
"integrity" "sha1-rWNPlr8pdVNpB665/bdaMZT03c4="
"resolved" "https://registry.npmmirror.com/esbuild-linux-arm/download/esbuild-linux-arm-0.13.8.tgz"
"version" "0.13.8"
"esbuild-linux-arm64@0.13.8":
"integrity" "sha1-XNPyu5JCEpcUgujbwlxK/QmygRA="
"resolved" "https://registry.npmmirror.com/esbuild-linux-arm64/download/esbuild-linux-arm64-0.13.8.tgz?cache=0&sync_timestamp=1634439402514&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fesbuild-linux-arm64%2Fdownload%2Fesbuild-linux-arm64-0.13.8.tgz"
"version" "0.13.8"
"esbuild-linux-mips64le@0.13.8":
"integrity" "sha1-V4V+3+v5v2V2bci+FjfyF5yZBXI="
"resolved" "https://registry.npmmirror.com/esbuild-linux-mips64le/download/esbuild-linux-mips64le-0.13.8.tgz?cache=0&sync_timestamp=1634439403033&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fesbuild-linux-mips64le%2Fdownload%2Fesbuild-linux-mips64le-0.13.8.tgz"
"version" "0.13.8"
"esbuild-linux-ppc64le@0.13.8":
"integrity" "sha1-/bgqBZpbhrsQ+0IJG0689Ii5zUY="
"resolved" "https://registry.npmmirror.com/esbuild-linux-ppc64le/download/esbuild-linux-ppc64le-0.13.8.tgz?cache=0&sync_timestamp=1634439402029&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fesbuild-linux-ppc64le%2Fdownload%2Fesbuild-linux-ppc64le-0.13.8.tgz"
"version" "0.13.8"
"esbuild-netbsd-64@0.13.8":
"integrity" "sha1-14eecSPTssBHVOzovQYapoZt7v8="
"resolved" "https://registry.npmmirror.com/esbuild-netbsd-64/download/esbuild-netbsd-64-0.13.8.tgz"
"version" "0.13.8"
"esbuild-openbsd-64@0.13.8":
"integrity" "sha1-iLKAtssKP2rbYKvyf8UGxQajXPA="
"resolved" "https://registry.npmmirror.com/esbuild-openbsd-64/download/esbuild-openbsd-64-0.13.8.tgz"
"version" "0.13.8"
"esbuild-sunos-64@0.13.8":
"integrity" "sha1-Iprnx3AxlqWKzQ8Cka2b69qBXWM="
"resolved" "https://registry.npmmirror.com/esbuild-sunos-64/download/esbuild-sunos-64-0.13.8.tgz"
"version" "0.13.8"
"esbuild-windows-32@0.13.8":
"integrity" "sha1-iS0JPjKiHAyRNeWg/9w4Cutw52M="
"resolved" "https://registry.npmmirror.com/esbuild-windows-32/download/esbuild-windows-32-0.13.8.tgz?cache=0&sync_timestamp=1634439444336&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fesbuild-windows-32%2Fdownload%2Fesbuild-windows-32-0.13.8.tgz"
"version" "0.13.8"
"esbuild-windows-64@0.13.8":
"integrity" "sha1-fe/Y15rju35vU7ZacZC+fa+QFoY="
"resolved" "https://registry.npmmirror.com/esbuild-windows-64/download/esbuild-windows-64-0.13.8.tgz?cache=0&sync_timestamp=1634439403833&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fesbuild-windows-64%2Fdownload%2Fesbuild-windows-64-0.13.8.tgz"
"version" "0.13.8"
"esbuild-windows-arm64@0.13.8":
"integrity" "sha1-5ZrgBElv2KWrZ7/HlFouR0gNb7k="
"resolved" "https://registry.npmmirror.com/esbuild-windows-arm64/download/esbuild-windows-arm64-0.13.8.tgz"
"version" "0.13.8"
"esbuild@^0.13.2":
"integrity" "sha1-vXzFG4gasGd4n4jhe6ynRyTB7E8="
"resolved" "https://registry.npmmirror.com/esbuild/download/esbuild-0.13.8.tgz?cache=0&sync_timestamp=1634439403556&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fesbuild%2Fdownload%2Fesbuild-0.13.8.tgz"
@ -2290,7 +2382,7 @@
dependencies:
"htmlparser2" "^7.1.2"
"eslint-plugin-import@^2.22.1", "eslint-plugin-import@^2.25.2":
"eslint-plugin-import@^2.25.2":
"integrity" "sha1-s7kWDv3bcC/BY2ZZ5xuh0Qrb6ek="
"resolved" "https://registry.npmmirror.com/eslint-plugin-import/download/eslint-plugin-import-2.25.2.tgz?cache=0&sync_timestamp=1634079318456&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint-plugin-import%2Fdownload%2Feslint-plugin-import-2.25.2.tgz"
"version" "2.25.2"
@ -2356,7 +2448,7 @@
"resolved" "https://registry.nlark.com/eslint-visitor-keys/download/eslint-visitor-keys-2.1.0.tgz"
"version" "2.1.0"
"eslint@^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8", "eslint@^5.16.0 || ^6.8.0 || ^7.2.0", "eslint@^6.2.0 || ^7.0.0 || ^8.0.0", "eslint@^7.32.0", "eslint@>=5.0.0", "eslint@>=7.0.0", "eslint@>=7.28.0":
"eslint@^7.32.0":
"integrity" "sha1-xtMooUvj+wjI0dIeEsAv23oqgS0="
"resolved" "https://registry.npmmirror.com/eslint/download/eslint-7.32.0.tgz?cache=0&sync_timestamp=1634180157931&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Feslint%2Fdownload%2Feslint-7.32.0.tgz"
"version" "7.32.0"
@ -2703,6 +2795,11 @@
"resolved" "https://registry.nlark.com/fs.realpath/download/fs.realpath-1.0.0.tgz"
"version" "1.0.0"
"fsevents@~2.3.2":
"integrity" "sha1-ilJveLj99GI7cJ4Ll1xSwkwC/Ro="
"resolved" "https://registry.npm.taobao.org/fsevents/download/fsevents-2.3.2.tgz?cache=0&sync_timestamp=1612536409579&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffsevents%2Fdownload%2Ffsevents-2.3.2.tgz"
"version" "2.3.2"
"function-bind@^1.1.1":
"integrity" "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0="
"resolved" "https://registry.npm.taobao.org/function-bind/download/function-bind-1.1.1.tgz"
@ -2831,6 +2928,13 @@
dependencies:
"type-fest" "^0.20.2"
"good-listener@^1.2.2":
"integrity" "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA="
"resolved" "https://registry.nlark.com/good-listener/download/good-listener-1.2.2.tgz"
"version" "1.2.2"
dependencies:
"delegate" "^3.1.2"
"graceful-fs@^4.1.6", "graceful-fs@^4.2.0":
"integrity" "sha1-5BK40z9eAGWTy9PO5t+fLOu+gCo="
"resolved" "https://registry.nlark.com/graceful-fs/download/graceful-fs-4.2.8.tgz"
@ -3270,7 +3374,7 @@
"integrity" "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss="
"resolved" "https://registry.npm.taobao.org/jsonfile/download/jsonfile-4.0.0.tgz?cache=0&sync_timestamp=1604161822397&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsonfile%2Fdownload%2Fjsonfile-4.0.0.tgz"
"version" "4.0.0"
optionalDependencies:
dependencies:
"graceful-fs" "^4.1.6"
"jsonfile@^6.0.1":
@ -3278,9 +3382,8 @@
"resolved" "https://registry.npm.taobao.org/jsonfile/download/jsonfile-6.1.0.tgz?cache=0&sync_timestamp=1604161822397&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjsonfile%2Fdownload%2Fjsonfile-6.1.0.tgz"
"version" "6.1.0"
dependencies:
"universalify" "^2.0.0"
optionalDependencies:
"graceful-fs" "^4.1.6"
"universalify" "^2.0.0"
"jsonparse@^1.2.0":
"integrity" "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA="
@ -3861,7 +3964,7 @@
dependencies:
"fast-diff" "^1.1.2"
"prettier@^2.4.1", "prettier@>=2.0.0":
"prettier@^2.4.1":
"integrity" "sha1-Zx4RyJwUpM/Ids5WQQbEpnJsn1w="
"resolved" "https://registry.nlark.com/prettier/download/prettier-2.4.1.tgz?cache=0&sync_timestamp=1631777111780&other_urls=https%3A%2F%2Fregistry.nlark.com%2Fprettier%2Fdownload%2Fprettier-2.4.1.tgz"
"version" "2.4.1"
@ -4098,7 +4201,7 @@
"serialize-javascript" "^4.0.0"
"terser" "^5.0.0"
"rollup@^1.20.0 || ^2.0.0", "rollup@^1.20.0||^2.0.0", "rollup@^2.0.0", "rollup@^2.43.1", "rollup@^2.50.0", "rollup@^2.57.0":
"rollup@^2.43.1", "rollup@^2.57.0":
"integrity" "sha1-pkOYM2Xnv39bfGKoMxuYO3xMZ/s="
"resolved" "https://registry.npmmirror.com/rollup/download/rollup-2.58.0.tgz?cache=0&sync_timestamp=1633071808909&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Frollup%2Fdownload%2Frollup-2.58.0.tgz"
"version" "2.58.0"
@ -4146,6 +4249,11 @@
"resolved" "https://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz"
"version" "2.1.2"
"select@^1.1.2":
"integrity" "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0="
"resolved" "https://registry.nlark.com/select/download/select-1.1.2.tgz"
"version" "1.1.2"
"semver-compare@^1.0.0":
"integrity" "sha1-De4hahyUGrN+nvsXiPavxf9VN/w="
"resolved" "https://registry.npm.taobao.org/semver-compare/download/semver-compare-1.0.0.tgz"
@ -4522,6 +4630,11 @@
dependencies:
"readable-stream" "3"
"tiny-emitter@^2.0.0":
"integrity" "sha1-HRpW7fxRxD6GPLtTgqcjMONVVCM="
"resolved" "https://registry.nlark.com/tiny-emitter/download/tiny-emitter-2.1.0.tgz"
"version" "2.1.0"
"tmp@^0.0.33":
"integrity" "sha1-bTQzWIl2jSGyvNoKonfO07G/rfk="
"resolved" "https://registry.npm.taobao.org/tmp/download/tmp-0.0.33.tgz"
@ -4627,7 +4740,7 @@
"resolved" "https://registry.npmmirror.com/type-fest/download/type-fest-0.8.1.tgz"
"version" "0.8.1"
"typescript@^4.4.3", "typescript@>=2.7", "typescript@4.4.3":
"typescript@^4.4.3", "typescript@4.4.3":
"integrity" "sha1-vcVAfKorEJ79T4L+EwZW+XeikyQ="
"resolved" "https://registry.npmmirror.com/typescript/download/typescript-4.4.3.tgz"
"version" "4.4.3"
@ -4777,7 +4890,7 @@
"debug" "^4.3.2"
"windicss" "^3.1.9"
"vite@^2.0.0", "vite@^2.0.1", "vite@^2.3.0", "vite@^2.5.10", "vite@^2.6.4", "vite@>=2.0.0":
"vite@^2.6.4":
"integrity" "sha1-PdfFAYElRICp6BUnij+EjNPk3zo="
"resolved" "https://registry.npmmirror.com/vite/download/vite-2.6.9.tgz?cache=0&sync_timestamp=1634546166900&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fvite%2Fdownload%2Fvite-2.6.9.tgz"
"version" "2.6.9"
@ -4789,6 +4902,13 @@
optionalDependencies:
"fsevents" "~2.3.2"
"vue-clipboard3@^1.0.1":
"integrity" "sha1-OeMfv0HxHTcBszcuOKf7g7SEeWo="
"resolved" "https://registry.nlark.com/vue-clipboard3/download/vue-clipboard3-1.0.1.tgz"
"version" "1.0.1"
dependencies:
"clipboard" "^2.0.6"
"vue-demi@*":
"integrity" "sha1-YQGZL+RyTPVjQBihbpU/MFLpTio="
"resolved" "https://registry.nlark.com/vue-demi/download/vue-demi-0.11.4.tgz"
@ -4814,7 +4934,7 @@
dependencies:
"@vue/devtools-api" "^6.0.0-beta.18"
"vue@^2.6.0 || ^3.2.0", "vue@^3.0.0", "vue@^3.0.0-0 || ^2.6.0", "vue@^3.0.2", "vue@^3.2.0", "vue@^3.2.16", "vue@2 || 3", "vue@3.2.20":
"vue@^3.2.16":
"integrity" "sha1-lA+KqL8+O+eCQ8pYK61B/NRa4+Y="
"resolved" "https://registry.npmmirror.com/vue/download/vue-3.2.20.tgz?cache=0&sync_timestamp=1633712767060&other_urls=https%3A%2F%2Fregistry.npmmirror.com%2Fvue%2Fdownload%2Fvue-3.2.20.tgz"
"version" "3.2.20"

Loading…
Cancel
Save