egg.js开发中ctx返回格式及中间件的示例分析
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,egg.js开发中ctx返回格式及中间件的示例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。ctx 返回格式app->exten
千家信息网最后更新 2025年02月03日egg.js开发中ctx返回格式及中间件的示例分析
egg.js开发中ctx返回格式及中间件的示例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
ctx 返回格式
app->extend
module.exports = { // 成功提示 apiSuccess(data = '', msg = 'ok', code = 200) { this.body = { msg, data }; this.status = code; }, // 失败提示 apiFail(data = '', msg = 'fail', code = 400) { this.body = { msg, data }; this.status = code; }, // 生成token getToken(value) { return this.app.jwt.sign(value, this.app.config.jwt.secret); }, // 验证token checkToken(token) { return this.app.jwt.verify(token, this.app.config.jwt.secret); }};
中间件
app->middleware->auth.js config.middleware = ['errorHandler','auth'];
module.exports = (option, app) => { return async (ctx, next) => { //1. 获取 header 头token const { token } = ctx.header; if (!token) { ctx.throw(400, '您没有权限访问该接口!'); } //2. 根据token解密,换取用户信息 let user = {}; try { user = ctx.checkToken(token); } catch (error) { let fail = error.name === 'TokenExpiredError' ? 'token 已过期! 请重新获取令牌' : 'Token 令牌不合法!'; ctx.throw(400, fail); } //3. 判断当前用户是否登录 let t = await ctx.service.cache.get('user_' + user.id); if (!t || t !== token) { ctx.throw(400, 'Token 令牌不合法!'); } //4. 获取当前用户,验证当前用户是否被禁用 user = await app.model.User.findByPk(user.id); if (!user || user.status == 0) { ctx.throw(400,'用户不存在或已被禁用'); } // 5. 把 user 信息挂载到全局ctx上 ctx.authUser = user; await next(); }}
关于egg.js开发中ctx返回格式及中间件的示例分析问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。
用户
中间件
格式
分析
令牌
问题
示例
开发
信息
更多
帮助
提示
解答
验证
易行
成功
简单易行
全局
内容
小伙
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
数据库的模型怎么建立的
网络安全法治队报
宝德服务器图片大全
台州讯业网络技术有限公司
steam查看服务器
全国网络安全会议的精神
软件更新后找不到动态数据库
大闸蟹软件开发源头
永恒日记软件开发
网络安全绘画平板
fda数据库
数据库自考报名
天津市计算机网络技术学院
大华硬盘存储服务器如何回放
新邵县委网络安全会议
网络安全设备行业壁垒
华为商店连不上服务器怎么解决
洛阳市网络安全宣传
爱奇艺 服务器
dns服务器发生错误没有网
江苏数据网络技术服务工程
网游服务器信息
通州区信息化软件开发要求
acesse 数据库
网络技术与新媒体发展前景
中华人民共和国的网络安全日
广州博浩互联网科技有限公司
网络安全要点记录
美国国家车辆管理数据库
淮安软件开发价格咨询