步骤:
1,微信小游戏客户端,弹出一次性授权订阅消息的确认框,选择了 授权
2,将授权成功的记录告知由nodejs写的服务器端,启动定时器到时间执行 subscribeMessage.send 通知微信端去发送模版消息
3,获取正确的 token 值, 拿到授权玩家的 openid ,从微信后台拿到配置好的模版id 和 模版字段 信息
4,发送如下post请求:
var _token = "111111111";
var _obj = {
touser: "222222222",
template_id: "333333333",
page: "index?submsg=44444444",
data: {
"phrase1": {
"value": "未签到"
},
"thing1": {
"value": "道具或金币"
},
"thing2": {
"value": "每天可以获得不同奖励"
}
}
}
var content = JSON.stringify(_obj);
var options = {
host: "api.weixin.qq.com",
path: "/cgi-bin/message/subscribe/send?access_token=" + _token,
method:'POST',
json: true,
headers:{
'Content-Type':'application/json'
}
}
// 执行请求
var req = https.request(options, function (res) {
res.on('data', function (_data) {
if(_data) {
try {
var resObj = JSON.parse(_data);
// 返回实际结果
console.log(resObj);
} catch(_e) {
}
}
});
});
req.on('error', function (e) {
console.log("请求错误", e);
});
console.log("执行请求");
req.write(content);
req.end();
5,如上代码在服务器执行后, 只打印出了 “执行请求” 这个内容,其他微信端没有任何返回,错误结果也没有,正确结果也没有
后台 subscribeMessage.send 请求的结果是什么?
已经解决了哈,最后是因为中文编码的问题