接入mock准备测试自动化和随机数据生成

This commit is contained in:
aixianling
2022-11-04 18:12:28 +08:00
parent 4b560896f6
commit 2e9cd1c5a9
5 changed files with 65 additions and 3 deletions

View File

@@ -2,6 +2,7 @@
<div id="app">
<header-nav v-if="showTools" title="web端产品库">
<template #right>
<mock/>
<div @click="showTools=false">隐藏工具栏</div>
<div @click="handleLogin">点此登录</div>
</template>
@@ -24,10 +25,11 @@ import SliderNav from "./components/sliderNav";
import MainContent from "./components/mainContent";
import HeaderNav from "./components/headerNav";
import {mapActions, mapMutations, mapState} from "vuex";
import Mock from "./components/mock";
export default {
name: 'app',
components: {HeaderNav, MainContent, SliderNav},
components: {Mock, HeaderNav, MainContent, SliderNav},
computed: {
...mapState(['user']),
login() {
@@ -59,6 +61,8 @@ export default {
this.dialog = true
})
},
handleMock() {
}
},
created() {
wx = jWeixin

View File

@@ -0,0 +1,57 @@
<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>

View File

@@ -23,7 +23,7 @@ instance.interceptors.request.use(config => {
config.baseURL = location.hash.replace(/#url-/, '/')
}
if (["/xsjr", "/omsapi", "/tfx"].includes(config.baseURL)) {
config.url = config.url.replace(/(app|auth|admin)\//, "")
config.url = config.url.replace(/(app|auth|admin|api)\//, "")
}
return config
}, error => Message.error(error))

View File

@@ -51,6 +51,7 @@
"eslint-plugin-vue": "^5.0.0",
"image-webpack-loader": "^6.0.0",
"inquirer": "^6.5.2",
"mockjs": "^1.1.0",
"readline": "^1.3.0",
"sass": "~1.32.12",
"sass-loader": "^7.3.1",

View File

@@ -121,7 +121,7 @@ module.exports = {
}
},
'/tfx': {
target: 'http://192.168.1.87:12421',
target: 'http://192.168.1.87:59998',
changeOrigin: true,
pathRewrite: {
//地址重写