- 概念
vue(前端)和controller层数据交互,controller去操作数据库(database)
service是controller操作数据库方法的提取,专注操作数据库, - 创建service, 例:创建app/service/students.js文件
const Service = require('egg').Service
class StudentService extends Service {
async createStudentList(name,achievement,clazz_id) {
try{
await this.app.model.Student.create({
name: name,
achievement: achievement,
clazz_id: clazz_id
})
return true
}catch(err){
return false
}
}
async getstudentlist(){
try{
let studentlist = await this.app.model.Student.findAll()
return studentlist
} catch (error) {
return null
}
}
}
module.exports = StudentService
- 使用,例:在app/controller/student.js文件调用
const Controller = require('egg').Controller
class Student extends Controller{
async index(){
let list = await this.ctx.service.student.getstudentlist()
if(list){
this.ctx.body = {
data:list,
code:200
}
}else{
this.ctx.body ={
code:500,
msg:'服务器异常'
}
}
}
async create(){
let name = this.ctx.request.body.name
let achievement= this.ctx.request.body.achievement
let clazz_id = this.ctx.request.body.clazz_id
let result = await this.ctx.service.student.createStudentList(name, achievement, clazz_id)
if(result){
this.ctx.body={
msg:'添加成功',
code:2000
}
}else{
this.ctx.body={
msg:'添加失败',
code:5000
}
}
}
async update(){
}
async destroy(){
}
}
module.exports = Student