vue,vuex的后台管理项目架子structure-admin,后端服务nodejs,前端vue页面

 之前写过一篇

exports.session = {     type: 'redis',     common: {         cookie: {             name: 'thinkjs',             keys: ['werwer', 'werwer'],             signed: true         }     },     redis: {         handle: redisSession,         host: '127.0.0.1',         port: 6379,         password: 'a123456'     } };
复制代码

设置的由redis的服务地址host,端口,以及redis的密码,redis的搭建和配置,参考安装window下的redis,redis可视化管理工具(Redis Desktop Manager)安装,基础使用,实例化项目这篇文章。

 

1.2  在每一次前端请求的路由的时候,都会去redis服务器中去取userInfo的信息

如果为空,返回前端data为空,前端在路由过滤中,跳到登陆页,如果有值就正常返回。 

复制代码
async __before() {         let user = await this.session("userInfo");         if(user) {             this.user = user;         } else {             this.user = '';         }     }
复制代码

这个在nodejs的控制器controller里,在每一次前端的请求发送到后端的时候,都会去redis的取userInfo的值,

let user = await this.session("userInfo");

这个userInfo的值也是自己在登陆的时候,把登陆成功之后的个人信息加入到redis服务中

 

1.3 在登陆成功的时候讲个人信息加到redis服务中

复制代码
async loginAction() {         let {username, password} = this.post();try {             let user = await this.model('user').where({                 username,             }).find();             if(user.password && user.password == password) {                 // login success                await this.session('userInfo',{username, userId:user.id});                 return this.success("登陆成功");             } else {                 return this.fail("用户名或密码错误")             }         }         catch(e) {             console.log(e);             return this.fail("登录失败")         }
复制代码

这个就是将个人信息加入到redis中

await this.session('userInfo',{username, userId:user.id});

WEB 请求中经常通过 session 来维持会话的,框架通过 think-session 和 Adapter 来支持 session 功能。

 

关键字:
50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信