uni-app 引用uni-cloude-router插件后callfunction报错

uni-app 引用uni-cloude-router插件后callfunction报错

操作步骤:

任何

预期结果:

任何

实际结果:

任何

bug描述:

引用uni-cloude-router插件后callfunction报错

{"code":"INVOKE_FUNCTION_FAILED","message":"action is required","stack":""}

我的用router还让我写action干啥,这东西是在哪配置的吗请问。


更多关于uni-app 引用uni-cloude-router插件后callfunction报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html

7 回复

hello hello? 有大佬告知一下吗?

更多关于uni-app 引用uni-cloude-router插件后callfunction报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html


action就是你要请求的controller以及其中的action,看你上面的写法你应该是想访问router云函数下的hello controller内的 sayHello action。对应的写法应该是
uniCloud.callFunction({
name: ‘router’,
data: {
action: ‘hello/sayHello’
}
})

感谢大佬,我看文档name直接写的就是路径是name: ‘hello/sayHello’,都给我整蒙了

回复 1***@qq.com: 哪个文档?

回复 w***@sina.com: 感谢反馈

根据你提供的错误信息和截图,问题在于 uni-cloude-router 插件与 uniCloud.callFunction 的参数格式冲突。

核心原因: uni-cloude-router 插件会拦截 uniCloud.callFunction 的请求,并期望在 data 参数中接收到一个 action 字段,用以指定云端路由的具体操作。而你的调用方式 uniCloud.callFunction({ name: 'test' }) 没有提供 data,或 data 中缺少 action

解决方案: 在你的调用中,需要按照 uni-cloude-router 的要求,在 data 参数内传入 action

修改后的调用示例:

// 假设你的云函数路由中有一个名为 'user' 的 action
uniCloud.callFunction({
    name: '你的云函数名', // 例如 'test'
    data: {
        action: 'user', // 这里填写你云端路由中定义的具体操作名
        // 其他业务参数...
        // foo: 'bar'
    }
})
回到顶部