{ touser: 'openid:023Rsirr1ezKZn0L7Hpr1FQnrr1RsirE',
template_id: 'yAo8fZ9yoGDYNiLbtF-tTtbfAF2_Pgrc0tGoI-7XRsg',
page: 'pages/order/order?type=onGoing',
form_id: 'the formId is a mock one',
data:
{ keyword1: { value: '123' },
keyword2: { value: '123' },
keyword3: { value: 23 },
keyword4: { value: '2018-11-9' },
keyword5: { value: '第二节' },
keyword6: { value: '消息已经下发,请尽快联系!' } } }
始终报错40003,看了好多帖子,什么写法都有,但是试了之后返回的还是40003,希望开发过小程序模板消息的大佬帮帮忙。
{ touser: '023Rsirr1ezKZn0L7Hpr1FQnrr1RsirE',
template_id: 'yAo8fZ9yoGDYNiLbtF-tTtbfAF2_Pgrc0tGoI-7XRsg',
page: 'pages/order/order?type=onGoing',
form_id: '小程序提交产生的formId或者支付的prepay_id',
data:
{ keyword1: { value: '123' },
keyword2: { value: '123' },
keyword3: { value: 23 },
keyword4: { value: '2018-11-9' },
keyword5: { value: '第二节' },
keyword6: { value: '消息已经下发,请尽快联系!' } } }
这样就行
touser项没有"openid:"这个前缀,删掉就好
openid是否为小程序登录获取到的openid
openid 是这个小程序登录的时候获取到的,这个方法试了一下,还是40003,还会有其他的原因嘛?
会不会和这个data的数据类型有关系呢?我看网上好多人说了数据类型的事情
把你请求那里的代码贴出来看看吧。
let options = {
"touser"
: pritimeMes.openId,
"template_id"
:
"yAo8fZ9yoGDYNiLbtF-tTtbfAF2_Pgrc0tGoI-7XRsg"
,
"page"
:
"pages/order/order?type=onGoing"
,
"form_id"
: pritimeMes.formId,
"data"
: {
"keyword1"
: {
"value"
: name
},
"keyword2"
: {
"value"
: wechatNum
},
"keyword3"
: {
"value"
: telNum
},
"keyword4"
: {
"value"
: pritimeMes.partimeDate
},
"keyword5"
: {
"value"
: pritimeMes.timeRadio
},
"keyword6"
: {
"value"
:
"消息已经下发,请尽快取得联系!"
}
},
}
async
function
sendMessage(options,accessToken) {
console.log(options);
console.log(accessToken);
axios({
method:
'post'
,
url:
'https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token='
+ accessToken,
data: options
}).then(res => {
console.log(res.data);
})
}
这个截图是我打印的上传信息。
研究了好多遍这个options的格式,以及axios传递数据时的数据格式,感觉应该都没错,实在不知道该怎么办了