Closed XuzhiChan closed 6 years ago
中间件中this就是上下文,this.request, this.app.model, this.app.service
HomeController.prototype.wechat = wechat({ token: '', appid: '', encodingAESKey: '' }).middleware(async (message, ctx) => { console.log('middleware this:',this); return 'test'; }); token和appid我隐藏了。实际跑的时候,在这里获取这个this的,打印出来的是一个 {} 空对象噢。
不好意思,是我自己理解错了。middleware回调中的ctx就可以直接调用service、controller等。是我自己写法有问题而已。直接用了ctx.service.fun(),正确应该是ctx.service.user.fun()。看漏了,不好意思。
您好。 这边有个需求是这样的,收到微信的消息后,需要把消息存到数据库中。 我使用的是egg框架。 但看您的文档,middleware中,现在的上下文不再是原始的 请求上下文,而仅仅是 message 对象。 那我需要怎样才能获取到原始的请求上下文,然后调用service或者model中的方法呢?谢谢。