Controller主要做业务逻辑,
Service和数据库进行交互,主要做数据的增删查改,
/app/service/

service规范

  1. service目录下的文件,统一小写
  2. class名大写,大驼峰命名法
  3. service主要连接数据库 ```jsx ‘use strict’;

const { Service } = require(‘egg’);

class SkuService extends Service {

async index() {

} }

module.exports = SkuService;

  1. <a name="JTTEK"></a>
  2. ## ctx.service
  3. egg默认将 service挂载到 ctx上下文中,可以直接使用 ctx.service获取 Service
  4. ```javascript
  5. 'use strict';
  6. const { Service } = require('egg');
  7. class UserService extends Service {
  8. async index(id) {
  9. return { id, name: '', age: '' }
  10. }
  11. }
  12. module.exports = UserService;

Controller调用 service

在任何一个 Controller里面都可以调用 service;
例如,在 HomeController里面,可以直接调用 UserService

  1. class UserController extends Controller {
  2. async index() {
  3. const { ctx } = this;
  4. const res = await ctx.service.user.detail(10);
  5. // const res = await ctx.service.user.findOne(id);
  6. ctx.body = {
  7. code: 0,
  8. data: res,
  9. }
  10. }
  11. }