用原生http模块封装路由和拦截器,获取请求参数

路由:

function router(req,resp,app){

    var query="";
    var method = req.method;

    if (method == "GET"){
        query=url.parse(req.url,true).query;//获取参数get
        return ict.dispacher(req,resp,selectRouter,app);
    }else{
        var formType = req.headers['content-type'];
        if (formType.indexOf("multipart/form-data")!=-1){
            var form = new multiparty.Form();
            form.parse(req,(err,field,files)=>{
                query = field;
                return ict.dispacher(req,resp,selectRouter,app);
            })
        }else{
            req.on('data',(res)=>{
                query+=res;
            });
            req.on('end',()=>{
                query = qs.parse(query);
                console.log(query);
                return ict.dispacher(req,resp,selectRouter,app);
            });

        }
    }

}

拦截器:

function dispacher(req,resp,query,callback,app){
    var method = req.method;
    let pathName = url.parse(req.url).pathname; //获取当前路径 
    if (pathName=='/favicon.ico'){
        resp.end();
        return ;
    }
    if (method == "GET"){
        console.log(query);
        console.log("[info]:you send get request");
        log(query,req,resp,callback,app);
    }else{
        var formType = req.headers['content-type'];
        if (formType.indexOf("multipart/form-data")!=-1){
            console.log("[info]: you send form-data request");
            log(query,req,resp,callback,app);
        }else{
            console.log("[info]: you send application/x-www-form-urlencoded request");
            log(query,req,resp,callback,app);
        }
    }

}
function log(query,req,resp,callback,app){
    if (callback){
        callback(req,resp,query,app);
    }
}

路由导航

function selectRouter(req,resp,app){
    let query = req.query;
    app.post('/register',(req,resp)=>{
        user.register(req,resp,query);
    });
    app.post('/login',(req,resp)=>{
        user.login(req,resp,query);
    });
    //获取新闻列表根据 appId、分页
    app.post('/getNewsByPage',(req,resp)=>{
        newsInfo.getNews(req,resp,query);
    });
    //更新文章点击次数
    app.post('/updateImgContentHitsById',(req,resp)=>{
        newsInfo.addHits(req,resp,query);
    });
    //获取文章
    app.post('/getImgContentById',(req,resp)=>{
        newsInfo.getArticles(req,resp,query);
    });
    // getImgs
    app.post('/getImgs',(req,resp)=>{
        getImgs.getImgs(req,resp,query);
    });
    // 获取评论列表根据 belongId
    app.post('/getCommentByPage',(req,resp)=>{
        comment.getComment(req,resp,query);
    });

    // addComment
    app.post('/addComment',(req,resp)=>{
        comment.addComment(req,resp,query);
    });
    //添加购物车
    app.post('/addToCar',(req,resp)=>{
        shopCart.addToCart(req,resp,query);
    });
    //购物车增加数量或减少数量
    app.post('/updateForCar',(req,resp)=>{
        shopCart.operationGoodsNum(req,resp,query);
    });
    //购物车结算
    app.post('/payForGoods',(req,resp)=>{
        shopCart.accountCart(req,resp,query);
    });
    // [图片导航栏]获取图片导航栏字段
    app.post('/getImgNavigate',(req,resp)=>{
        getImgs.getNavigate(req,resp,query);
    });
    //我的购物车
    app.post('/getMyGoods',(req,resp)=>{
        shopCart.getCart(req,resp,query);
    });
    //删除我的商品
    app.post('/deleteMyGoodsById',(req,resp)=>{
        shopCart.deleteCart(req,resp,query);
    });
    //清空购物车
    app.post('/clearAllMyGoods',(req,resp)=>{
        shopCart.clearCart(req,resp,query);
    });


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东哥爱编程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值