app.use(function(err, req, res, next) { // set locals, only providing error in development //token出现异常 if (err.name === 'UnauthorizedError') { // 这个需要根据⾃自⼰己的业务逻辑来处理理 res.status(401).send({code:401,msg:'token验证错误!'}); }else { res.locals.message = err.message; res.locals.error = req.app.get('env') === 'development' ? err : {}; // render the error page res.status(err.status || 500); res.render('error'); } });
得到用户信息示例
请求需要传token
router.get('/info',async (req, res, next)=>{ //console.log(req.auth.sinresult);token中获取用户信息 let usid=req.auth.sinresult.id;//取出token中的用户ID try { //查询用户信息 let usinfo=awaitquerysql('select id,username,nickname,headimg from user where id =?',[usid]); res.send({ code:200, msg:'用户信息获取成功!', data:usinfo[0] }); //console.log(usinfo); }catch (e) { next(e); } })
//文件上传 let upload=multer({ storage:multer.diskStorage({ destination:function (req,file,cb) { let date=newDate(); let year=date.getFullYear(); let month=(date.getMonth()+1).toString().padStart(2,'0') let day=date.getDate(); let dir=path.join(__dirname,'../public/uploads/'+year+month+day); if(!fs.existsSync(dir)){ fs.mkdirSync(dir,{recursive:true}); } cb(null,dir); }, //设置文件名 filename:function (req,file,cb) { let filsname=Date.now()+path.extname(file.originalname); cb(null,filsname); } }) }) module.exports={ upload }
/** * 更新用户信息 */ router.put('/updateuser',async (req, res, next)=>{ let usid=req.auth.sinresult.id;//取出token中的用户ID //获取数据 let {nickname,headimg}=req.body; try { //更新数据 let result=awaitquerysql('update user set nickname=?,headimg=? where id=?',[nickname,headimg,usid]); console.log(result); //从新查询用户信息 let seresult=awaitquerysql('select id,username,nickname,headimg from user where id=?',[usid]); res.send({ code:200, msg: '更新成功!', data:seresult[0] }) }catch (e) { next(e) } })