58 lines
1.3 KiB
Vue
58 lines
1.3 KiB
Vue
<template>
|
|
<section class="mock">
|
|
<ai-dialog-btn dialogTitle="随机数据配置" :customFooter="false" appendToBody @onConfirm="submit">
|
|
<div class="btn" slot="btn">生成随机数据</div>
|
|
<el-form size="small" label-width="120px">
|
|
<el-form-item label="接口">
|
|
<el-input v-model="action" placeholder="请输入接口"/>
|
|
</el-form-item>
|
|
<el-form-item label="mock配置">
|
|
<el-input type="textarea" rows="5" v-model="config" placeholder="请输入mock配置"/>
|
|
</el-form-item>
|
|
</el-form>
|
|
</ai-dialog-btn>
|
|
</section>
|
|
</template>
|
|
|
|
<script>
|
|
import Mock from "mockjs"
|
|
|
|
export default {
|
|
name: "mock",
|
|
data() {
|
|
return {
|
|
action: "",
|
|
config: ""
|
|
}
|
|
},
|
|
watch: {
|
|
config(v) {
|
|
console.log(eval(v))
|
|
}
|
|
},
|
|
methods: {
|
|
submit() {
|
|
const {mock, Random} = Mock
|
|
const data = mock({
|
|
'list|100-200': [JSON.parse(this.config)]
|
|
})
|
|
Promise.all(data.list.map(e => this.$request.post(this.action, e))).then(() => this.$message.success("随机数据生成,执行完毕!"))
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
.mock {
|
|
.btn {
|
|
cursor: pointer;
|
|
user-select: none;
|
|
padding: 0 12px;
|
|
|
|
&:hover {
|
|
color: rgba(#fff, .8);
|
|
}
|
|
}
|
|
}
|
|
</style>
|