后台接口管理完善

pull/7/head^2
WeiRan 2024-08-31 00:54:18 +08:00
parent dbafb70daf
commit 3023ef2b5e
8 changed files with 475 additions and 10 deletions

View File

@ -2,7 +2,7 @@ import request from "@/utils/request";
//发送邮箱验证码
export function sendcode(email){
export function sendcode1(email){
return request({
url:"/market/company/sendcode/"+email,
method: "POST",

View File

@ -0,0 +1,25 @@
import request from "@/utils/request";
export function selectapiList(data){
return request({
url:"/background/apimanage/list",
method: "POST",
data: data
})
}
export function apiupdmessage(data){
return request({
url:"/background/apimanage/upd",
method: "POST",
data: data
})
}
export function delapi(productId){
return request({
url:"/background/apimanage/del/"+productId,
method: "POST",
})
}

View File

@ -116,6 +116,42 @@ export const constantRoutes = [
}
]
},
{
path: '/apidetailmessage',
component: Layout,
children: [
{
path: 'index',
name: 'apidetailmessage',
component: () => import('@/views/background/apidetailmessage/index.vue'),
meta: { title: '接口详情', icon: 'form' }
}
]
},
{
path: '/apimanage',
component: Layout,
children: [
{
path: 'index',
name: 'apimanage',
component: () => import('@/views/background/apimanage/index.vue'),
meta: { title: '接口列表', icon: 'form' }
}
]
},
{
path: '/apiupdmessage',
component: Layout,
children: [
{
path: 'index',
name: 'apiupdmessage',
component: () => import('@/views/background/apiupdmessage/index.vue'),
meta: { title: '接口列表', icon: 'form' }
}
]
},
]
// 动态路由,基于用户权限动态去加载

View File

@ -0,0 +1,98 @@
<template>
<div>
<h3 style="color: #1482f0">接口详情:{{api.productName}}</h3>
<el-divider></el-divider>
{{api}}
<center>
<el-form :model="api" status-icon :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
<el-form-item label="序号" prop="productId" style="width: 70%">
{{api.productId}}
</el-form-item>
<el-form-item label="接口名称" prop="productName" style="width: 70%">
{{api.productName}}
</el-form-item>
<el-form-item label="接口类型" prop="productType" style="width: 70%">
{{api.productType}}
</el-form-item>
<el-form-item label="接口描述" prop="productContent" style="width: 70%">
{{api.productContent}}
</el-form-item>
<el-form-item label="接口销量" prop="productSales" style="width: 70%">
{{api.productSales}}
</el-form-item>
<el-form-item label="接口价格" prop="productPrice" style="width: 70%">
{{api.productPrice}}
</el-form-item>
<el-form-item label="接口来源" prop="productFrom" style="width: 70%">
{{api.productFrom}}
</el-form-item>
<el-form-item label="重要路由" prop="apiRouter" style="width: 70%">
{{api.apiRouter}}
</el-form-item>
<el-form-item label="接口地址" prop="apiAddress" style="width: 70%">
{{api.apiAddress}}
</el-form-item>
<el-form-item label="返回格式" prop="returnFormat" style="width: 70%">
{{api.returnFormat}}
</el-form-item>
<el-form-item label="请求方式" prop="requestMethod" style="width: 70%">
{{api.requestMethod}}
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm('ruleForm')"></el-button>
</el-form-item>
</el-form>
</center>
</div>
</template>
<script>
//jsjsjson,
//import from ',
export default {
name: "Apidetailmessage",
//import使"
components: {},
props: {},
data() {
//"
return {
api:{}
};
},
// data",
computed: {},
//data",
watch: {},
//",
methods: {
submitForm(){
this.$router.push("/apimanage/index")
}
},
// - 访this",
created() {
},
// - 访DOM",
mounted() {
this.api = this.$route.query.api
},
beforeCreate() {
}, // - ",
beforeMount() {
}, // - ",
beforeUpdate() {
}, // - ",
updated() {
}, // - ",
beforeDestroy() {
}, // - ",
destroyed() {
}, // - ",
activated() {
} //keep-alive",
};
</script>
<style scoped>
</style>

View File

@ -0,0 +1,191 @@
<template>
<div>
<el-form :model="ruleForm" status-icon :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
<el-form-item label="接口名称" prop="productName">
<el-input type="text" v-model="ruleForm.productName" autocomplete="off"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm('ruleForm')"></el-button>
</el-form-item>
</el-form>
<el-table
:data="tableData"
style="width: 100%">
<el-table-column
label="序号"
width="180">
<template slot-scope="scope">
<i class="el-icon-time"></i>
<span style="margin-left: 10px">{{ scope.row.productId }}</span>
</template>
</el-table-column>
<el-table-column
label="接口名称"
width="180">
<template slot-scope="scope">
<el-popover trigger="hover" placement="top">
<div slot="reference" class="name-wrapper">
<el-tag size="medium">{{ scope.row.productName }}</el-tag>
</div>
</el-popover>
</template>
</el-table-column>
<el-table-column
label="接口描述"
width="180">
<template slot-scope="scope">
<el-popover trigger="hover" placement="top">
<div slot="reference" class="name-wrapper">
{{ scope.row.productContent }}
</div>
</el-popover>
</template>
</el-table-column>
<el-table-column
label="接口来源"
width="180">
<template slot-scope="scope">
<el-popover trigger="hover" placement="top">
<div slot="reference" class="name-wrapper">
<el-tag size="medium">{{ scope.row.productFrom }}</el-tag>
</div>
</el-popover>
</template>
</el-table-column>
<el-table-column
label="接口销量"
width="180">
<template slot-scope="scope">
<el-popover trigger="hover" placement="top">
<div slot="reference" class="name-wrapper">
<el-tag size="medium">{{ scope.row.productSales }}</el-tag>
</div>
</el-popover>
</template>
</el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button
size="mini"
type="danger"
@click="handlelook(scope.row)">详情</el-button>
<el-button
size="mini"
type="danger"
@click="handleEdit(scope.row)">修改</el-button>
<el-button
size="mini"
type="danger"
@click="handleDelete(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
<!--分页-->
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="ruleForm.pageNum"
:page-sizes="[5, 7, 9, 11]"
:page-size="ruleForm.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="total">
</el-pagination>
</div>
</template>
<script>
//jsjsjson,
//import from ',
import {delapi, selectapiList} from "@/api/background/apimanage";
export default {
name: "Apimanage",
//import使"
components: {},
props: {},
data() {
//"
return {
tableData:[],
ruleForm:{
pageNum:1,
pageSize:9,
productType:''
},
total:0,
};
},
// data",
computed: {},
//data",
watch: {},
//",
methods: {
getapiList(){
selectapiList(this.ruleForm).then(response=>{
console.log(response)
this.tableData=response.data.productListResps
this.total=response.data.total
})
},
//
handleSizeChange(val) {
console.log(`每页 ${val}`);
this.ruleForm.pageSize=val
this.getapiList()
},
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
this.ruleForm.pageNum=val
this.getapiList()
},
//
handlelook(row){
this.$router.push({path:"/apidetailmessage/index",query:{api:row}})
},
//
handleEdit(row){
this.$router.push({path:"/apiupdmessage/index",query:{api:row}})
},
//
handleDelete(row){
if (confirm("确定删除么")){
delapi(row.productId).then(response=>{
alert(response.msg)
if (response.code==200){
this.getapiList()
}
})
}
}
},
// - 访this",
created() {
this.getapiList()
},
// - 访DOM",
mounted() {
},
beforeCreate() {
}, // - ",
beforeMount() {
}, // - ",
beforeUpdate() {
}, // - ",
updated() {
}, // - ",
beforeDestroy() {
}, // - ",
destroyed() {
}, // - ",
activated() {
} //keep-alive",
};
</script>
<style scoped>
</style>

View File

@ -0,0 +1,108 @@
<template>
<div>
<h3 style="color: #1482f0">接口详情:{{api.productName}}</h3>
<el-divider></el-divider>
{{api}}
<center>
<el-form :model="api" status-icon :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
<el-form-item label="序号" prop="productId" style="width: 70%">
<el-input type="text" v-model="api.productId" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="接口名称" prop="productName" style="width: 70%">
<el-input type="text" v-model="api.productName" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="接口类型" prop="productType" style="width: 70%">
<el-input type="text" v-model="api.productType" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="接口描述" prop="productContent" style="width: 70%">
<el-input type="text" v-model="api.productContent" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="接口销量" prop="productSales" style="width: 70%">
<el-input type="text" v-model="api.productSales" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="接口价格" prop="productPrice" style="width: 70%">
<el-input type="text" v-model="api.productPrice" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="接口来源" prop="productFrom" style="width: 70%">
<el-input type="text" v-model="api.productFrom" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="重要路由" prop="apiRouter" style="width: 70%">
<el-input type="text" v-model="api.apiRouter" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="接口地址" prop="apiAddress" style="width: 70%">
<el-input type="text" v-model="api.apiAddress" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="返回格式" prop="returnFormat" style="width: 70%">
<el-input type="text" v-model="api.returnFormat" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="请求方式" prop="requestMethod" style="width: 70%">
<el-input type="text" v-model="api.requestMethod" autocomplete="off"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm(api)"></el-button>
<el-button @click="resetForm('ruleForm')"></el-button>
</el-form-item>
</el-form>
</center>
</div>
</template>
<script>
//jsjsjson,
//import from ',
import {resetForm} from "@/utils/muyu";
import {apiupdmessage} from "@/api/background/apimanage";
export default {
name: "Apiupdmessage",
//import使"
components: {},
props: {},
data() {
//"
return {
api:{}
};
},
// data",
computed: {},
//data",
watch: {},
//",
methods: {
resetForm,
submitForm(api){
apiupdmessage(api).then(response=>{
alert(response.msg)
if (response.code==200){
this.$router.push("/apimanage/index")
}
})
}
},
// - 访this",
created() {
},
// - 访DOM",
mounted() {
this.api = this.$route.query.api
},
beforeCreate() {
}, // - ",
beforeMount() {
}, // - ",
beforeUpdate() {
}, // - ",
updated() {
}, // - ",
beforeDestroy() {
}, // - ",
destroyed() {
}, // - ",
activated() {
} //keep-alive",
};
</script>
<style scoped>
</style>

View File

@ -124,7 +124,7 @@
<el-input type="text" v-model="companyForm.companyName" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="社会统一编码:" prop="USCI">
<el-input type="text" v-model="companyForm.USCI" autocomplete="off"></el-input>
<el-input type="text" v-model="companyForm.usci" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="企业法人姓名:" prop="companyLeader">
<el-input type="text" v-model="companyForm.companyLeader" autocomplete="off"></el-input>
@ -157,7 +157,9 @@
<script>
//jsjsjson,
//import from ',
export default {
import {companyauthentication} from "@/api/authentication/authentication";
export default {
name: "Authentication",
//import使"
components: {},
@ -207,8 +209,11 @@
},
//
companyyes(companyForm){
companyauthentication()
this.dialogVisible=false
companyauthentication(companyForm).then(response=>{
alert(response.msg)
if (response.code==200){}
this.dialogVisible=false
})
},
//
handleRemove(file, fileList) {

View File

@ -37,12 +37,14 @@
</el-form-item>
<el-form-item>
<el-input type="text" v-model="EmailForm.code" placeholder="请输入验证码"></el-input>
<button type="primary" @click="docode(EmailForm.email)"></button>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="yes(EmailForm)"> </el-button>
<el-button type="primary" @click="docode(EmailForm.email)"></el-button>
<el-button @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="yes(EmailForm)"> </el-button>
</span>
</el-dialog>
</div>
@ -51,7 +53,7 @@
<script>
//jsjsjson,
//import from ',
import {linkemail, sendcode} from "@/api/authentication/message";
import {linkemail,sendcode1} from "@/api/authentication/message";
export default {
name: "Easymessage",
@ -87,7 +89,7 @@ export default {
},
//
docode(email){
sendcode(email).then(response=>{
sendcode1(email).then(response=>{
alert(response.data)
})
},