概念 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