微信小程序云开发报错

微信小程序云开发报错

起因是云开发报了个错误:

bash 复制代码
fail: Error: cloud.callFunction:fail Error: errCode: -501000  | errMsg: [100003] env not exists (f8c78dea-9f77-43cf-9e7f-88c85f2a0795) (callId: 1701747734223-0.895078767368265) (trace: 11:42:14 start->11:42:14 system error (Error: errCode: -501000  | errMsg: [100003] env not exists (f8c78dea-9f77-43cf-9e7f-88c85f2a0795)), abort)
at N (WASubContext.js?t=wechat&s=1701739226681&v=2.25.1:1)
at WASubContext.js?t=wechat&s=1701739226681&v=2.25.1:1

解决办法

不过想了半天,这玩意为啥会报错呢,而且看上去就是云环境不存在,这不奇怪了吗。翻了翻 f8c78dea-9f77-43cf-9e7f-88c85f2a0795 这种东西在云开发里边好像也没有,可能在那个日志收集里边有吧,不过那个要单独收费,还是不尝试了。

分析了半天突然想起来,这个是不是跟当前的云环境使用的是共享环境有关。看了一眼,嗯。。。未配置环境。

赶紧又打开了云开发面板。

我的环境为空,虽然说已经创建共享了,但是我的环境默认还是空的。感觉此处应该有一个神奇的配置。先翻翻文档去吧。

经过来回来去反复跳转之后发现了这么个文档。

里边有一句话 如果是跨账号环境共享的场景(使用其他微信云开发的资源),必须使用 new wx.cloud.Cloud 新建实例使用。

那么好了应该就是这里出的问题了。按照文档上的示例代码。

js 复制代码
const a = new wx.cloud.Cloud({
  resourceEnv: 'a',
  traceUser: true,
})
await a.init()

// 可以调用云开发 API 访问云资源了,如
const res = await a.callFunction({
  name: 'test',
  data: {
    // ...
  },
})

仿佛还是不行,有看了看其他的问题,发现她这个里边好像还能有另外一个参数 resourceAppid。

js 复制代码
const a = new wx.cloud.Cloud({
  resourceEnv: 'a',
  resourceAppid: 'wxa', // 主环境的小程序ID
  traceUser: true,
})
await a.init()

// 可以调用云开发 API 访问云资源了,如
const res = await a.callFunction({
  name: 'test',
  data: {
    // ...
  },
})

这样终于可以了,然后想部署一下试试吧,嗯。。。好像在当前被共享环境的小程序上还推不上去。。。嗯。。。然后,换成主环境小程序成功了。

思考

当前的情况是小程序A的开发环境共享给了小程序B,当小程序B需要使用A的云开发环境的时候,就不能像小程序A那样直接使用了,需要使用新建的环境来调用云函数。 而且现在小程序B也不能直接部署云函数了,都必须要通过小程序A来操作了,这个功能的使用场景还是收紧了。不过对于我们来说充充充能解决的问题都解决不了。还是要尽量可这一个用吧。

不过小程序云开发的这个部署也是真的是有点随意,手残还是很容易导致线上事故的。 翻了翻发现了个版本控制,感觉上线的时候先新建一个版本,然后把流量都放到那个版本上,后续再上线再修改流量使用版本,这样操作比较稳妥。

相关推荐
爱勇宝5 小时前
小红花成长更新了:孩子想要什么,也应该有机会自己说出来
微信小程序·产品·小程序·云开发
andrsted14 小时前
企业培训时间难统一?练题簿让在线免费刷题与培训考核更好安排
学习·微信小程序·小程序·学习方法·刷题
拖孩14 小时前
一个人 + AI 做的小程序,今天,正式回本了
前端·后端·微信小程序
李纲明16 小时前
微信小程序 wx.uploadFile 上传失败:合法域名、临时路径与 HTTPS 证书排查
微信小程序·小程序·uploadfile·devdiy·上传失败
冬奇Lab1 天前
一天一个开源项目(第247篇):wxa-runner —— 让小程序在普通浏览器里用微信官方基础库跑起来,直接接 Playwright 做无头 E2E
微信小程序·开源
andrsted1 天前
练题簿在线免费刷题:让整理过的资料,变成能反复练习的题库
学习·微信小程序·小程序·学习方法·刷题·1024程序员节
梅雅达编程笔记2 天前
Day 17 | uni-app 小程序:前端从零搭建
微信小程序·typescript·uni-app·vue3·pinia·前端开发·全栈
zhiboshequ3 天前
Ai音视频对话在微信小程序端的技术实现方案
人工智能·微信小程序·live-pusher·live-player·音视频对话
小蒜学长3 天前
基于过程性评价的ai助学平台(代码+数据库+LW)
java·spring boot·后端·微信小程序·过程性评价
鸿蒙开发4 天前
# 代码写完才发现不能上线:微信小程序开发前必须准备的 8 件事
微信小程序·产品经理