O2O--E家政服务 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

路由功能

路由功能我们主要实现的是对页面的跳转,以及登录成功之后对cookie的设置。

我们在项目目录下面创建一个名字为routes的目录,在里面创建一个名为index.js文件。

首先实现对users.json的文件读取,如下代码:

var users = require("../users.json");

其次我们实现对模块的封装,以及login.html页、用户页(list.html)、商家页(shop.html)的展示,如下代码:

module.exports = function(app){
    app.get('/',function(req,res){
        res.render('login');
    });
    app.get('/list',function(req,res){
        res.render('list');
    });
    app.get('/shops',function(req,res){
        res.render('shops');
    });
};

再次实现用户登录与设置cookie,当用户登录成功后,我们将用户的用户名与类型写入cookie,然后跳转到相应的页面。代码如下:

app.post('/login', function(req,res){
        var name = req.body.name ;
        var user = users[name];
        if(user && user.pwd_s == req.body.pwd && "1" == req.body.role){
            console.log('商家登录~');
            res.cookie('name_s',name);
            res.cookie('role',req.body.role);
            res.redirect('/shops'); //转到商家页面
        }else if(user && user.pwd_u == req.body.pwd && "2" == req.body.role){
            console.log('用户登录~');
            res.cookie('name_u',name);
            res.cookie('role',req.body.role);
            res.redirect('/list'); //转到用户页面
        }
        else{
            res.sendStatus(404);
        }
});

这样我们的登录页面就完成了,去测试一下吧!先点击【提交运行】,然后点击【运行测试】。