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
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: 哪个文档?
回复 DCloud_uniCloud_WYQ: https://uniapp.dcloud.io/uniCloud/uni-cloud-router?id=快速开始,这里“在页面里调用云函数”这一小节里的示例似乎不对,直接 name: hello/sayHello好像获取不到接口
回复 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'
}
})

