一个vue+express 构建的后台管理系统
说明:
vue+express 构建的后台管理系统,包括登录、注册、表格的增删改查
搭建vue项目:
1.安装vue-cli脚手架
2.创建基于webpack模版的项目
3.安装包依赖并运行
vue项目基于iview-admin改造的
通过应用生成器工具 express创建一个应用的骨架:
1.连接数据库
在config创建db.js
function query(sql,data,callback){
// connection.connect()
// pool.getConnection(function(err,connection){
connection.query(sql,function (err,rows) {
callback(err,rows);
// connection.release();
// connection.end()
});
// });
}
exports.query = query;
在routers路由文件下引入
2.加入token验证
安装jsonwebtoken
在config创建token.js
// 签发 Token
let tokens = crypto.sign(payload,secret,{ expiresIn: 3600})
return tokens;
},decodeToken:function(tokens){
console.log(tokens)
let res = false;
crypto.verify(tokens,decoded) {
if(err){
res = {'flag':false,'decoded':decoded}
}else{
res = {'flag':true,'decoded':decoded}
}
})
return res;
},checkToken:function(token){
var resDecode=this.decodeToken(token);
if(!resDecode){
return false;
}
//是否过期
var expState=(parseInt(Date.now()/1000)-parseInt(resDecode.payload.created))>parseInt(resDecode.payload.exp)?false:true;
if(resDecode.signature===resDecode.checkSignature&&expState){
return true;
}
return false;
}
};
module.exports=exports=token;
在app.js验证token是否过期,过去返回401
next()
}else{
if (req.method != "OPTIONS"){
var accesstoken = req.headers['access_token'];
let datatoken = token.decodeToken(accesstoken)
// console.log(data)
if(datatoken.flag){
next()
}else{
data.Meta.code=401;
res.send(data)
}
}else{
next()
}
}
});
项目部署:
1.将vue项目打包后放在express项目public文件夹下,通http://localhost:3000即可以访问。
2.部署阿里云
创建实例
添加安全组允许3000端口
使用putty连接linux服务器,将express项目压缩上传