服务器是云托管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>