Controller主要做业务逻辑,
Service和数据库进行交互,主要做数据的增删查改,
/app/service/
service规范
- service目录下的文件,统一小写
- class名大写,大驼峰命名法
- service主要连接数据库 ```jsx ‘use strict’;
const { Service } = require(‘egg’);
class SkuService extends Service {
async index() {
} }
module.exports = SkuService;
<a name="JTTEK"></a>
## ctx.service
egg默认将 service挂载到 ctx上下文中,可以直接使用 ctx.service获取 Service
```javascript
'use strict';
const { Service } = require('egg');
class UserService extends Service {
async index(id) {
return { id, name: '', age: '' }
}
}
module.exports = UserService;
Controller调用 service
在任何一个 Controller里面都可以调用 service;
例如,在 HomeController里面,可以直接调用 UserService
class UserController extends Controller {
async index() {
const { ctx } = this;
const res = await ctx.service.user.detail(10);
// const res = await ctx.service.user.findOne(id);
ctx.body = {
code: 0,
data: res,
}
}
}