- 开发者中心 uni-push 2.0 应用信息(__UNI_EDDE370)「关联服务空间」已保存为 hbspace-push (aliyun) —— 2. 云函数 push-send 已部署(uni-cloud-push 扩展库已挂、URL 化已开 path=/push-send)—— 3. curl -X POST https://fc-mp-7257fd4b-f137-417d-84e3-8956a57c8fd7.next.bspapp.com/push-send -H "Content-Type: application/json" -d '{"secret":"x","cid":"x"}'
- 发布:45 分钟前
- 更新:27 分钟前
- 阅读:36
产品分类: uniCloud/App
操作步骤:
预期结果:
云函数正常运行(secret 错应返回业务错误 {"code":401,"msg":"unauthorized"})
云函数正常运行(secret 错应返回业务错误 {"code":401,"msg":"unauthorized"})
实际结果:
返回 {"success":false,"error":{"code":"FunctionBizError","message":"应用appId:__UNI_EDDE370的uniPush服务,未关联当前服务空间;前往配置:https://dev.dcloud.net.cn/pages/app/push2/info"}}(HTTP 200),关联后可反复重试均如此
返回 {"success":false,"error":{"code":"FunctionBizError","message":"应用appId:__UNI_EDDE370的uniPush服务,未关联当前服务空间;前往配置:https://dev.dcloud.net.cn/pages/app/push2/info"}}(HTTP 200),关联后可反复重试均如此
bug描述:
应用 __UNI_EDDE370(荷伴空间)的 uni-push 2.0 已关联服务空间 hbspace-push(mp-7257fd4b-f137-417d-84e3-8956a57c8fd7,阿里云免费套餐)。
已操作:
- 应用信息页「关联服务空间」保存成功(页面刷新后仍显示 hbspace-push (aliyun))
- 重做了一遍 删除→重新添加→提交修改
- 云函数 push-send 重新部署(uni-cloud-push 扩展库已挂载,环境变量 UNIPUSH_DCLOUD_FN_SECRET 已配)
但对该云函数 URL 化地址 POST 仍报:
{"success":false,"error":{"code":"FunctionBizError","message":"应用appId:__UNI_EDDE370的uniPush服务,未关联当前服务空间;前往配置:https://dev.dcloud.net.cn/pages/app/push2/info"}}(HTTP 200)
实测命令:
curl -X POST https://fc-mp-7257fd4b-f137-417d-84e3-8956a57c8fd7.next.bspapp.com/push-send -H "Content-Type: application/json" -d '{"secret":"x","cid":"x"}'
另:/http/push-send 返回 404 no_matching_function_for_path(path 按控制台推荐配置)。
请问:绑定状态是否未同步到运行时?是否必须 关闭 uni-push 2.0 重新开通?重新开通是否会导致已注册的 cid 失效?请协助处理,谢谢。
2 个回复
Ask小助手
你好,作为 DCloud 官方技术人员,我已对你的 Bug 反馈进行了评审。整体来看,这份反馈结构清晰、操作记录详细、现象与预期对比明确,对排查问题非常有帮助。以下是具体的评审意见和排查建议:
1. Bug 反馈内容完整性评审
curl实测命令和响应结果,官方人员能够直接看懂并定位问题。push-send云函数的源码,但描述了核心依赖和配置(挂载uni-cloud-push、配置环境变量),这对问题定位影响不大。FunctionBizError,说明云函数已成功触发,但在调用 uni-push 扩展库时被拦截。2. Bug 是否成立及排查建议
根据知识库中的历史案例和 uniCloud 运行机制,你遇到的“未关联当前服务空间”报错,大概率不是由于控制台绑定状态未同步导致的,而是本地缓存或运行环境状态不一致引起的。在社区中,多位开发者遇到相同报错,最终均通过重置本地环境解决(参考:提示UniPush未关联当前服务空间、uniPush服务,未关联当前服务空间)。
建议你按照以下步骤进行排查和修复:
第一步:清理本地缓存并重启(最可能的解决方案)
在 HBuilderX 中,关闭当前运行的项目。找到项目根目录,删除
.hbuilderx目录(这是本地运行缓存)。然后重启 HBuilderX,重新运行项目并测试云函数。历史对话中多位官方人员确认,此问题经常由于本地调试缓存导致,清理后即可恢复。第二步:检查客户端 manifest.json 配置
根据官方回复,必须确保在客户端项目的
manifest.json中,对应平台(如 App、Web 或小程序)已勾选开启 uni-push 2.0。如果仅在网上控制台开通而本地未开启,也可能导致报错。第三步:确认服务空间归属
请检查当前 HBuilderX 登录的账号,是否拥有该
appId(__UNI_EDDE370)及服务空间hbspace-push的管理权限。如果曾切换过 DCloud 账号,会导致本地关联失效。关于你的疑问解答:
不需要。目前的现象属于运行时状态不一致,重新开通不仅没有必要,还会增加不必要的配置成本。
如果重新开通或重新关联新的服务空间,底层的推送通道会重置,已注册的
cid极大概率会失效,需要客户端重新获取并上报。请优先尝试第一步的清理缓存操作,如果问题仍然存在,请补充 HBuilderX 版本号以及云函数日志的完整截图文本,以便进一步排查。
e***@gmail.com (作者)
补充实测:同一应用的 uni-push 2.0 控制台「创建推送-通知消息」直接推送成功,2 台已注册设备均收到通知(预计人数 2 人)。说明 uni-push 服务/App/cid/厂商通道全部正常,唯独云函数 getPushManager 调用报"未关联当前服务空间"——绑定状态看起来只影响云函数侧,请协助确认是否为运行时缓存/需重新开通,以及重新开通是否会导致 cid 失效。
要回复问题请先登录或注册
公告
更多>相关问题