最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

nodejs個(gè)人博客開發(fā)第五步 分配數(shù)據(jù)

 更新時(shí)間:2017年04月12日 12:00:09   作者:陶士涵  
這篇文章主要為大家詳細(xì)介紹了nodejs個(gè)人博客開發(fā)的分配數(shù)據(jù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文為大家分享了nodejs個(gè)人博客開發(fā)的分配數(shù)據(jù),具體內(nèi)容如下

使用回掉大坑進(jìn)行取數(shù)據(jù)

能看明白的就看,看不明白的手動(dòng)滑稽

/**
* 首頁控制器
*/
var router=express.Router();
/*每頁條數(shù)*/
var pageSize=5;

router.get('/',function(req,res,next){
  var currentPage=parseInt(req.params.page);
  var cid=0;
  
  var categoryModel=F.model("category");
  var articleModel=F.model("article");
  // 分類數(shù)據(jù)
  categoryModel.getAllList(function(err,categoryList){
    // 文章條數(shù)
    articleModel.getCount(cid,function(err,nums){
      // 文章分頁
      articleModel.getArticlePager(cid,currentPage,pageSize,function(err,articleList){
        var nextPage=(currentPage+1)>=Math.ceil(nums[0].num/pageSize) ? Math.ceil(nums[0].num/pageSize) : currentPage+1;
        var prePage=(currentPage-1)<=0 ? 1 : currentPage-1;
        // 歸檔
        articleModel.getArchives(function(err,allArticleTime){
          var newArticleTime=[];
          for(var i=0;i<allArticleTime.length;i++){
            newArticleTime.push(F.phpDate("y年m月",allArticleTime[i].time));
          }
          /*分配數(shù)據(jù)*/
          var data={
            categoryList:categoryList,
            articleList:articleList,
            cid:cid,
            nextPage:nextPage==0 ? 1 : nextPage,
            prePage:prePage,
            allArticleTime:newArticleTime,
            currentPage:currentPage
          };
          
          /*渲染模板*/
          res.render("home/index",data);  
        });      
      });
    });

  });
  
  //F.model("category").addCate({"name":"測試"});
  //F.model("category").saveCate({"name":"測試1"},"id=4");
  //F.model("category").delCate("id=4");
  /*渲染模板*/
  //res.render("home/index");
});
module.exports=router;

文章模型:

/**
* 文章模型文件
*/
module.exports={
  /*獲取條數(shù)*/
  getCount:function(categoryId,callback){
    var condition="";
    if(categoryId!=0){
      condition="where category_id="+categoryId;
    }  
    var sql="select count(*) num from article "+condition;
    db.query(sql,callback);
  },
  /*獲取分頁數(shù)據(jù)*/
  getArticlePager:function(categoryId,currentPage,pageSize,callback){
    if(currentPage<=0||!currentPage) currentPage=1;
    var start=(currentPage-1)*pageSize;
    var end=pageSize;
    var condition="";
    if(categoryId!=0){
      condition="where category_id="+categoryId;
    }
    var sql="select * from article "+condition+" order by time desc limit "+start+","+end;
    db.query(sql,callback);
  },
  /*歸檔*/
  getArchives:function(callback){
    db.query("select time from article order by time desc",callback);
  }
};

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解node登錄接口之密碼錯(cuò)誤限制次數(shù)(含代碼)

    詳解node登錄接口之密碼錯(cuò)誤限制次數(shù)(含代碼)

    這篇文章主要介紹了nodejs登錄接口之密碼錯(cuò)誤限制次數(shù)(含代碼),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Node搭建https服務(wù)器實(shí)例詳解

    Node搭建https服務(wù)器實(shí)例詳解

    這篇文章主要介紹了Node搭建https服務(wù)器的方法,結(jié)合實(shí)例形式詳細(xì)分析了創(chuàng)建ssl證書以及node.js調(diào)用https模塊搭建https服務(wù)器的相關(guān)操作技巧,需要的朋友可以參考下
    2023-04-04
  • Node.js JSON模塊用法實(shí)例分析

    Node.js JSON模塊用法實(shí)例分析

    這篇文章主要介紹了Node.js JSON模塊用法,結(jié)合實(shí)例形式分析了node.js json模塊的基本語法,以及使用json模塊進(jìn)行json格式數(shù)據(jù)解析的相關(guān)操作技巧,需要的朋友可以參考下
    2019-01-01
  • Node.js如何實(shí)現(xiàn)文件夾內(nèi)文件批量重命名

    Node.js如何實(shí)現(xiàn)文件夾內(nèi)文件批量重命名

    這篇文章主要為大家詳細(xì)介紹了Node.js如何實(shí)現(xiàn)文件夾內(nèi)文件批量重命名功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-03-03
  • npm下載慢或下載失敗問題解決的三種方法

    npm下載慢或下載失敗問題解決的三種方法

    這篇文章主要為大家介紹了npm下載慢或下載失敗問題解決的三種方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • Node.js的項(xiàng)目構(gòu)建工具Grunt的安裝與配置教程

    Node.js的項(xiàng)目構(gòu)建工具Grunt的安裝與配置教程

    Grunt是為Node打造的項(xiàng)目構(gòu)建工具,相當(dāng)于C/C++世界中的makefile,可以執(zhí)行像壓縮、編譯、單元測試、代碼檢查以及打包發(fā)布的任務(wù),下面我們就來一起看一下Node.js的項(xiàng)目構(gòu)建工具Grunt的安裝與配置教程:
    2016-05-05
  • VSCode使用npm的詳細(xì)步驟

    VSCode使用npm的詳細(xì)步驟

    為了避免造輪子,我們有時(shí)候會(huì)用到其他人的勞動(dòng)成果,比如一些優(yōu)秀的框架,比如Express,我們直接使用NPM下載下來就可以用了,降低開發(fā)成本和時(shí)間,這篇文章主要給大家介紹了關(guān)于VSCode使用npm的詳細(xì)步驟,需要的朋友可以參考下
    2022-09-09
  • node.js中的url.parse方法使用說明

    node.js中的url.parse方法使用說明

    這篇文章主要介紹了node.js中的url.parse方法使用說明,本文介紹了url.parse的方法說明、語法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • koa2 從入門到精通(小結(jié))

    koa2 從入門到精通(小結(jié))

    這篇文章主要介紹了koa2 從入門到精通,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • node.js處理前端提交的GET請(qǐng)求

    node.js處理前端提交的GET請(qǐng)求

    這篇文章主要為大家詳細(xì)介紹了node.js處理前端提交的GET請(qǐng)求,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08

最新評(píng)論

台山市| 新丰县| 桂林市| 无棣县| 临洮县| 柯坪县| 林甸县| 安义县| 桑植县| 新建县| 南乐县| 南溪县| 渭南市| 陵川县| 娄烦县| 定边县| 临汾市| 聂拉木县| 军事| 大连市| 疏附县| 鹤壁市| 广安市| 三明市| 时尚| 科尔| 邢台县| 沙坪坝区| 长沙县| 韶山市| 视频| 蒲江县| 莒南县| 北京市| 合山市| 宁武县| 钟祥市| 杭锦旗| 大姚县| 柘城县| 子长县|