在另外一个问题看到 https://developers.weixin.qq.com/community/develop/doc/00020e22dd473863e7eb5bc7c56000 基础库调到2.14.1
本地调试中,前端发送请求能够获取到数据,但云函数本地调试控制台没反应?情况:即前端发送请求后确实能拿到数据,数据就是经过云函数中业务逻辑包装好的样子,但是云函数中无论是app.use还是对应的app.router中的console.log都没有执行,好像整个云函数都没有执行一样,本地调试控制台里什么反应都没有,前端的控制台也没有出现“调用云函数xxx”的那一长串提示。但是直接在本地调试手动模拟触发可以正常显示console.log中的内容,想问问这是怎么回事?应该不是正常现象吧? 1.之前按照网上的一个练习项目的教程做过一个简单的小程序,没遇到这样的情况,一切正常。 2.这次也是按照一样的步骤配置了tcb-router,不过使用了新建的第二个免费环境,直接使用tcb-router在github上的测试代码前端就能拿到res,但云函数本地调试控制台中没有反应。 3.前端控制台也没有出现“调用云函数xxxxx”的那段提示 4.尝试过删掉云函数重新上传部署,也不行 前端控制台没有这个:[图片] 云函数本地调试在被调用时没有显示这些:[图片] 这是我测试时把多余的东西都去掉,测试前后端交互时候用的代码,也还是一样的情况: // 云函数入口文件 const cloud = require('wx-server-sdk') const TcbRouter = require('tcb-router') cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV, traceUser: true }) // 云函数入口函数 exports.main = async (event, context) => { const wxContext = cloud.getWXContext() const app = new TcbRouter({ event }) app.use(async (ctx, next) => { console.log('i get it!'); ctx.data = {}; next(); }) app.router('user', async (ctx, next) => { ctx.data.name = 'hello world'; ctx.body = { code: 0, data: ctx.data }; await next() }) return app.serve() } //前端app.js的APP中 onLaunch: function () { this.getUserInfo(); wx.cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV, traceUser: true }) wx.cloud.callFunction({ name: 'back', data: { $url: 'user' }, success: res => { console.log('123', res); //这里能正确获得后端传来的数据 } }) 结果: 后端本地调试 [图片] 前端控制台 [图片] 使用手动模拟触发: [图片]
2021-04-02