基于Vue+nodejs+elementUI的校园二手书管理系统oc81w
校园二手书管理系统是一个常见的项目,主要功能包括二手书的发布、搜索、购买和评价等。以下是一个简化版的前端代码示例,使用Vue.js和Element UI框架。
<template>
<div>
<el-input
placeholder="请输入内容"
v-model="searchText"
class="input-with-select"
@keyup.enter.native="searchBooks">
<el-button slot="append" icon="el-icon-search" @click="searchBooks"></el-button>
</el-input>
<el-table :data="books" style="width: 100%">
<el-table-column prop="id" label="ID" width="180"></el-table-column>
<el-table-column prop="title" label="书名" width="180"></el-table-column>
<el-table-column prop="author" label="作者"></el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button size="mini" @click="handleBuy(scope.$index, scope.row)">购买</el-button>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
export default {
data() {
return {
searchText: '',
books: [] // 初始化书籍列表
}
},
methods: {
searchBooks() {
// 调用API搜索书籍
// 假设API为 /api/books/search?keyword=xxx
this.axios.get('/api/books/search', { params: { keyword: this.searchText } })
.then(response => {
this.books = response.data;
})
.catch(error => {
console.error('Search books error:', error);
});
},
handleBuy(index, book) {
// 调用API完成购买操作
// 假设API为 /api/books/buy
this.axios.post('/api/books/buy', { bookId: book.id })
.then(response => {
this.$message({
type: 'success',
message: '购买成功'
});
})
.catch(error => {
console.error('Buy book error:', error);
});
}
}
}
</script>
在这个示例中,我们使用了Element UI的el-input
组件来创建一个搜索框,并使用el-table
组件来展示搜索到的书籍信息。在data
函数中,我们定义了searchText
来保存搜索关键词和books
数组来存储搜索到的书籍。在methods
对象中,我们定义了searchBooks
方法来处理搜索逻辑,它会通过Axios(一个基于Promise的HTTP客户端)发送GET请求到后端API进行搜索,并将返回的结果存储在books
数组中。handleBuy
方法处理购买书籍的逻辑,它发送一个POST请求到后端API完成购买操作。
注意:这个示例假设后端API的路由和响应格式已经定义好并正常运行。在实际开发中,你需要根据后端API的实际路径和参数来调整Axios请求的代码。
评论已关闭