JTW 生成TOKEN
let token = jsonwebtoken.sign({
id: data[0].id // 数据
}, secret, { expiresIn: 60 * 60 * 24 * 30 * 6 }) // 半年,过期时间 ,单位秒 secret为秘钥
解析
try {
// 解析令牌,返回对象:{ exp: 过期时间, crt:创建时间 ...}
userInfo = jwt.verify(token, secret);
} catch (err) {
res.json({
code: 400,
msg: "无效令牌"
})
return;
}
Vue中接口使用
Vue的axios psot发送数据
const bodyParser = require('body-parser')
// 允许接收 application/x-www-form-urlencoded 格式的数据
app.use(bodyParser.urlencoded({ extended: true }))
// 允许接口 application/json 格式的数据
app.use(bodyParser.json())
express 中间件
路由中间件 写在文件最前面
router.use((req,res,next)=>{
let token = req.headers.authorization.substring(7); // 获取token
try {
let decoded =jwt.verify(token,key) // 解析
req.userInfo = decoded // 将解析的数据放到req上面
next()
} catch(err){ // 解析错误就返回400
res.json({
code:400,
msg:"TOKEN ERROR"
})
}
})
分页
pageNum,pageSize
SQL:
limit (pageNum - 1) * pageSize , pageSize