zoukankan      html  css  js  c++  java
  • egg 项目实战(九)egg.js 开发文章首页和详情页接口

    1.开发文章首页接口

    app/service/article.js

    const Service = require('egg').Service;
     
    class ArticleService extends Service {
      async lists() {
        const { app } = this;
        try {
          const result = await app.mysql.select('article');
          return result;
        } catch(err) {
          console.log(err);
          return null;
        }
      }
    }
     
    module.exports = ArticleService;

    app/controller/article.js

    const Controller = require('egg').Controller;
    const moment = require('moment');
    
    class ArticleController extends Controller {
      async lists() {
        const { ctx } = this;
        const result = await ctx.service.article.lists();
        if(result){
          ctx.body = {
            status: 200,
            data: result
          };
        }else{
          ctx.body = {
            status: 500,
            errMsg: '查询文章列表失败'
          };
        }
      }
    }
    
    module.exports = ArticleController;

    app/router.js

    router.get('/article/lists', controller.article.lists);

    2.开发文章详情页接口

    app/service/article.js

    const Service = require('egg').Service;
     
    class ArticleService extends Service {
      async detail(id) {
        if(!id){
          console.log('id必须传递');
          return null;
        }
    
        try {
          const result = await this.app.mysql.get('article', {id});
          return result;
        } catch(err) {
          console.log(err);
          return null;
        }
      }
    }
     
    module.exports = ArticleService;

    app/controller/article.js

    const Controller = require('egg').Controller;
    const moment = require('moment');
    
    class ArticleController extends Controller {
      async detail() {
        const { ctx } = this;
        const result = await ctx.service.article.detail(ctx.params.id);
        if(result){
          ctx.body = {
            status: 200,
            data: result
          };
        }else{
          ctx.body = {
            status: 500,
            errMsg: '查询文章详情页失败'
          };
        }
      }
    }
    
    module.exports = ArticleController;

    app/router.js

    router.get('/article/detail/:id', controller.article.detail);

    .

  • 相关阅读:
    总结(1)--- 数据库
    在路上---学习篇(一)Python 数据结构和算法 (4) --希尔排序、归并排序
    在路上---学习篇(一)Python 数据结构和算法 (3) --快速排序
    在路上---学习篇(一)Python 数据结构和算法 (2) -- 冒泡排序、选择排序、插入排序
    javascript观察者模式
    es6对象的扩展
    es6数组的扩展
    vue全局API
    javascript原型链
    简单工厂,工厂方法模式
  • 原文地址:https://www.cnblogs.com/crazycode2/p/12422413.html
Copyright © 2011-2022 走看看