收藏
回答

关于公众号H5访问云托管,调用callContainer报错env check invalid?

服务器是云托管golang环境,公众号H5页面调用callContainer,报错如下:

cloud.callContainer:fail Error: errCode: -501000 | errMsg: [cloudapp][300502] Param Invalid: env check invalid be filterd. For more information, please refer to https://developers.weixin.qq.com/miniprogram/dev/wxcloudrun/src/development/call/faq.html (callId: 1661998107820-0.6572571860290928) (trace: 10:8:27 start->10:8:27 system error (Error: errCode: -501000 | errMsg: [cloudapp][300502] Param Invalid: env check invalid be filterd. For more information, please refer to https://developers.weixin.qq.com/miniprogram/dev/wxcloudrun/src/development/call/faq.html), abort)

代码如下:

<script src="https://unpkg.com/vconsole@latest/dist/vconsole.min.js"></script>
<script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
<script src="https://web-9gikcbug35bad3a8-1304825656.tcloudbaseapp.com/sdk/1.3.0/cloud.js"></script>
<script src="https://web-9gikcbug35bad3a8-1304825656.tcloudbaseapp.com/sdk/1.3.1/mplogin.min.js"></script>
<script>
   window.onload = async function() {
      const vConsole = new window.VConsole();
      const result = await window.mplogin({
         scope: "snsapi_userinfo", // 必填,登录方式:snsapi_userinfo、snsapi_base
         appid: myappid, // 必填,公众号appid,将以此 appid 名义进行请求
         // redirect: '',                      // 选填,授权成功后路由的地址,目标地址应能处理授权参数,不填为当前页面
         envid: 'gprod-4g9w3eru303c9c3a', // 选填,资源方微信云托管环境,如果传递此参数则会返回初始化的 cloud 操作对象
         resourceAppid: myappid, // 选填,如果是资源复用模式,需要填资源方微信账号
         signature: window.location.href // 选填,如果需要微信 SDK 的API方法,则填写要使用的地址,会返回 signature 签名对象,envid参数不填则无效
      })
      console.log(result)
      try {
         if (result.ret === 0) { // ret为0时,代表登录已经完成,可以进行业务操作
            window.app = result.cloud // result.cloud 返回初始化可操作的 cloud 函数对象,将其放置全局
            // 向云托管服务发起调用
            const callres = await window.app.callContainer({
               path: '/api/CarInsert', // 填入业务自定义路径和参数,根目录,就是 /
               method: 'POST', // 按照自己的业务开发,选择对应的方法
               header: {
                  'X-WX-SERVICE': 'golang-zqzy', // xxx中填入服务名称(微信云托管 - 服务管理 - 服务列表 - 服务名称)
               },
               config:{
                  "env":"gprod-4g9w3eru303c9c3a"
               },
               data: JSON.stringify({
                  "CarNo": "ffff",
                  "Dunwei": 10.0,
                  "Weihuapin": "硫酸;",
                  "Name": "张云雷",
                  "Moble": "15555555555",
                  "Zhuangkuang": "良好"
               }),
               contentType: "application/json; charset=utf-8",
               dataType: "json"
               // 其余参数同 wx.request
            })
            console.log(callres)
         } else { // ret不为0时,代表登录出现错误,一般出现在开发调试中,正式使用一般只有2-系统拦截错误
            // 登录出现问题,打印问题描述
            window.alert(result.msg)
         }
      } catch (e) {
         console.log(e)
      }
   }
</script>

回答关注问题邀请回答
收藏

1 个回答

  • 神经蛙
    神经蛙
    2022-09-01
    对不起,是我的问题,env参数应该是prod-4g9w3eru303c9c3a,写错了,打扰大家了,让我扇自己几个嘴巴子
    
    2022-09-01
    有用
    回复
登录 后发表内容