亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

【備戰春招】第18天 新版 Node.js+Express+Koa2 開發Web Server博客 10-12

標簽:
征文 活動

课程名称: 新版 Node.js+Express+Koa2 开发Web Server博客

课程章节: 10-12 开发路由

课程讲师: 双越
routes/blog.js

const express = require("express");
const router = express.Router();
const {
  getList,
  getDetail,
  newBlog,
  updateBlog,
  delBlog,
} = require("../controller/blog.js");

const { SuccessModel, ErrorModel } = require("../model/resModel.js");
const loginCheck = require("../middleware/loginCheck.js");

// 博客列表
router.get("/list", (req, res, next) => {
  let author = req.query.author || "";
  const keyword = req.query.keyword || "";

  if (req.query.isadmin) {
    // 管理员界面
    if (req.session.username == null) {
      // 未登录
      res.json(new ErrorModel("未登录"));

      return;
    }

    // 强制查询自己的博客
    author = req.session.username;
  }

  // 获取数据库中的博客列表
  const result = getList(author, keyword);

  // 返回 promise
  return result.then((listData) => {
    res.json(new SuccessModel(listData, "这是获取博客列表的接口"));
  });
});

// 博客详情
router.get("/detail", (req, res, next) => {
  const result = getDetail(req.query.id);
  return result.then((data) => {
    res.json(new SuccessModel(data, "这是获取博客详情的接口"));
  });
});

// 新建一篇博客
router.post("/new", loginCheck, (req, res, next) => {
  req.body.author = req.session.username;
  const result = newBlog(req.body);
  return result.then((data) => {
    res.json(new SuccessModel(data, "这是新建博客的接口"));
  });
});

// 更新一篇博客
router.post("/update", loginCheck, (req, res, next) => {
  const result = updateBlog(req.query.id, req.body);

  return result.then((val) => {
    // 判断是否成功
    if (val) {
      res.json(new SuccessModel("这是更新博客的接口"));
    } else {
      res.json(new ErrorModel("更新博客失败"));
    }
  });
});

// 删除一篇博客
router.post("/del", loginCheck, (req, res, next) => {
  const author = req.session.username;
  let result = delBlog(req.query.id, author);

  return result.then((val) => {
    // 判断是否成功
    if (val) {
      res.json(new SuccessModel("这是删除博客的接口"));
    } else {
      res.json(new ErrorModel("删除博客失败"));
    }
  });
});

module.exports = router;

课程内容:

  1. 对博客路由的重构
    图片描述
點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
Web前端工程師
手記
粉絲
10
獲贊與收藏
5

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消