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);
.