微信小程序的JS文件代码如下:
wx.request({
url: 'https://yun.tim.qq.com/v5/tlssmssvr/sendsms?sdkappid=' + strAppID +'&random=' + strRand,
data: {
"params": [
"XXX",
"XXX",
"XXX"
],
"sig": sig,
"tel": {
"mobile": strMobile,
"nationcode": "86"
},
"time": strTime,
"tpl_id": 182617
},
header: {
"content-type": "application/json" // 默认值
},
success(res) {
console.log(res.data)
}
})
其中 sig,strMobile,strTime均为已定义的字符串变量,定义如下:
var strTime= Date.parse(new Date());
strTime= timestamp / 1000;
var strMobile = "17766098903"; //tel 的 mobile 字段的内容
var strRand = "7226249334"; //url 中的 random 字段的值
var sig = hex_sha256("appkey = " + strAppKey +" & random=" + strRand+ " & time=" + strTime + " & mobile=" + strMobile);
看你的代码好像是短信相关的代码,1004错误代表请求包解析失败,通常情况下是由于没有遵守 API 接口说明规范导致的。
建议您通过以下方式定位解决:
首先,要确认发送的请求是否是标准的 json 格式;
第二,检查是否有将单引号当做双引号使用(json 标准应该是双引号);
第三,检查参数名称是否写错;
第四,检查请求的字段类型和API中描述的字段类型是否一致,是否存在弄混了 json 字符串和 json 整型的情况,
例如:{"姓名":"小明", "年龄":23}
,"姓名"为json字符串,"年龄"为 json 整型;
第五,检查对API的调用是否和官网描述的一致,例如:使用群发短信的 API 但是包体的格式是单发短信的;
最后,你这个代码是JS的代码,这里还是建议将这个放在服务器端运行,在客户端有可能面临一些敏感信息(例如:AppKey)泄露的风险。
相似问题