egg.js开发中ctx返回格式及中间件的示例分析
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,egg.js开发中ctx返回格式及中间件的示例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。ctx 返回格式app->exten
千家信息网最后更新 2025年12月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安全错误
数据库的锁怎样保障安全
网络安全证书过期了
县开展网络安全宣传活动总结
数据库系统的运行结构
腾讯游戏的服务器怎么选
软件开发实训内容有哪些
如何自己建个云盘服务器
网络技术达到什么水平可以工作
天龙八部手游登录不到服务器
5款优秀的数据库哪款是你的菜
2支最牛的网络安全股
网络安全工程师的认知
网易版mc模组服务器
网络安全知识宣传资料小学生
网络安全师一年多少工资
最好的游戏服务器
ktv点歌机服务器配置
政府都用哪些数据库
网络安全310分可调剂学校
mysql数据库 日期
安徽统一软件开发检测中心
最常见的数据库种类主要有
智能交通服务器市场规模
服务器的那个气气约会的交友平台
数据库认证网络安全工程师
网络安全为人民的手抄报高中a3
家庭网络服务器异常
软件开发部照片
软件开发过程算法
社区国家网络安全法宣传简报
周工作总结范文软件开发