微信版本号:7.0.6
基础库版本号:1.2.0
问题:
小程序调用后台接口,需要上传时间戳,格式类似于20190916181809Z,小程序代码如下:
util.js
var getTime = function (){ var date = new Date; var year = date.getFullYear(); var month = date.getMonth() + 1; if (month<10){ month = '0' + month } var day = date.getDate(); if (day<10){ day = '0' +day; } var hour = date.getHours(); if (hour<10){ hour = '0' +hour } var minute = date.getMinutes(); if (minute<10){ minute = '0' + minute } var second = date.getSeconds(); if (second<10){ second = '0' + second } return year+ "" +month+ "" +day+ "" +hour+ "" +minute+ "" +second; } |
httpClientHelper.js
var common = require( "util.js" ); var tstamp = common.getTime() + "Z" ;
var hurl = requestHandler.hurl; wx.request({ url: hurl, data: bodyjson, header: { 'Content-type' : 'application/json' , // 默认值 'timestamp' : tstamp }, method: success: function (res) { requestHandler.success(res) }, fail: function () { requestHandler.fail() console.log( "wx.request fail" ); }, complete: function () { requestHandler.complete() console.log( 'wx.request complete' ); } }) } |
在开发者工具测试没问题,体验版也没问题,但是提交审核就总是通不过,看后台日志,审核的时候发出请求的timestamp是这样的:1568789996,实在搞不懂是哪里的问题,请大神帮忙看看,感谢!
唯一知道的是(1568789996 * 1000)其实就是20190916181809Z的毫秒值,所以我怀疑在什么地方(比如网关)把我的时间戳(20190916181809Z)给转换了一遍(1568789996)
我也是,审核的时候就是不通过,后台查询timestamp被篡改成和秒值,
signature字段被删除了.
是不是代码没更新, 传的值在怎样也会在后面加个"z"啊, 怎么会是纯数字
这部分代码从第一次提交审核就是这样的,几乎没动过,唯一改过的地方是tstamp变量名,以前变量名叫timestamp,后来我觉得可能timestamp是保留字返回了1568789996,所以改成了tstamp,结果还是有这个问题,想破脑袋也想不通到底是哪里的问题。。。