先上圖
大佬们看一下 我图片上方是开发工具显示 但是到了手机端 却变成刚刚 我也查了一下 值没有传进去显示null, 这我就不懂了 我全程打印 都是对的 就是手机一预览就接不到值
麻烦大神帮我看看 下面是我的代碼
var Api = "https://www.xiabiapp.com"
var app = getApp()
Page({
data: {
Nav: ['送贝', '任务'],
NavTab: 0,
giftPage: [],
reward: [],
pageNum: 1,
createDate: [],
},
onLoad: function(options) {
},
onShow(){
var _this = this
wx.request({
url: Api + '/gift/giftPage',
data: {
pageNum: 1,
companyId: app.globalData.companyId
},
header: {
'Content-Type': 'application/json'
},
method: 'POST',
success(res) {
console.log(res.data.list)
var Time = []
var Timeago = []
var gift = res.data.list
for (var i = 0; i < gift.length; i++) {
var stringTime = gift[i].createDate
var timestamp2 = new Date(stringTime).getTime()
Time.push(timestamp2)
_this.setData({
Timeago: Time
})
}
console.log(Time)
_this.setData({
giftPage: res.data.list,
})
}
})
wx.request({
url: Api + "/task/taskPage",
data: {
companyId: app.globalData.companyId,
pageNum: 1
},
header: {
"content-type": "application/json"
},
method: "POST",
success(res) {
var rcreateDate = []
for (var i = 0; i < res.data.list.length; i++) {
var rstringTime = res.data.list[i].createDate;
var rtimestamp2 = new Date(rstringTime).getTime();
rcreateDate.push(rtimestamp2)
}
var rTimeago = []
for (var k = 0; k < rcreateDate.length; k++) {
rTimeago.push(getDateDiff(rcreateDate[k]))
}
_this.setData({
reward: res.data.list,
rTimeago: rTimeago
})
}
})
},
NavTab: function(e) {
var NavTab = e.currentTarget.dataset.id
this.setData({
NavTab: NavTab
})
var _this = this
if (NavTab == 0) {
wx.request({
url: Api + '/gift/giftPage',
data: {
pageNum: 1,
companyId: app.globalData.companyId
},
header: {
'Content-Type': 'application/json'
},
method: 'POST',
success(res) {
console.log(res)
var createDate = []
for (var i = 0; i < res.data.list.length; i++) {
var stringTime = res.data.list[i].createDate;
var timestamp2 = new Date(stringTime).getTime();
createDate.push(timestamp2)
}
var Timeago = []
for (var k = 0; k < createDate.length; k++) {
Timeago.push(getDateDiff(createDate[k]))
}
_this.setData({
giftPage: [],
pageNum: 1,
Timeago: Timeago
})
_this.setData({
giftPage: res.data.list,
Timeago: Timeago
})
}
})
} else {
wx.request({
url: Api + "/task/taskPage",
data: {
companyId: app.globalData.companyId,
pageNum: 1
},
header: {
"content-type": "application/json"
},
method: "POST",
success(res) {
var rcreateDate = []
for (var i = 0; i < res.data.list.length; i++) {
var rstringTime = res.data.list[i].createDate;
var rtimestamp2 = new Date(rstringTime).getTime();
rcreateDate.push(rtimestamp2)
}
var rTimeago = []
for (var k = 0; k < rcreateDate.length; k++) {
rTimeago.push(getDateDiff(rcreateDate[k]))
}
_this.setData({
reward: [],
pageNum: 1,
rTimeago: rTimeago
})
_this.setData({
reward: res.data.list,
rTimeago: rTimeago
})
}
})
}
},
onReachBottom(e) {
var NavTab = this.data.NavTab
if (NavTab == 0) {
var pageNum = this.data.pageNum
this.setData({
pageNum: pageNum += 1
})
var giftPageArray = []
var _this = this
wx.request({
url: Api + "/gift/giftPage",
data: {
companyId: app.globalData.companyId,
pageNum: pageNum
},
header: {
"content-type": "application/json"
},
method: "POST",
success(res) {
console.log(res)
giftPageArray = _this.data.giftPage.concat(res.data.list)
_this.setData({
giftPage: giftPageArray
})
}
})
} else if (NavTab == 1) {
var pageNum = this.data.pageNum
this.setData({
pageNum: pageNum += 1
})
var rewardArray = []
var _this = this
wx.request({
url: Api + "/task/taskPage",
data: {
companyId: app.globalData.companyId,
pageNum: pageNum
},
header: {
"content-type": "application/json"
},
method: "POST",
success(res) {
rewardArray = _this.data.reward.concat(res.data.list)
_this.setData({
reward: rewardArray
})
}
})
}
},
giftbay(e) {
wx.navigateTo({
url: '/pages/selectFrom/selectFrom',
})
},
getReward(e) {
wx.navigateTo({
url: '../reward/reward',
})
},
Togift(e) {
var index = e.currentTarget.dataset.index
var giftPage = this.data.giftPage[index]
var acceptAvatarUrl = giftPage.acceptAvatarUrl
var acceptNickName = giftPage.acceptNickName
var acceptUserId = giftPage.acceptUserId
var userId = app.globalData.userId
wx.navigateTo({
url: '/pages/giftbay/giftbay?acceptNickName=' + acceptNickName + '&acceptUserId=' +
acceptUserId + '&acceptAvatarUrl=' + acceptAvatarUrl,
})
},
getImg(e) {
if (this.data.NavTab == 0) {
var giftPage = this.data.giftPage
var index = e.currentTarget.dataset.index
var imgList = []
imgList.push(giftPage[index].imageUrl)
wx.previewImage({
current: giftPage[index].imageUrl,
urls: imgList
})
} else if (this.data.NavTab == 1) {
var reward = this.data.reward
var index = e.currentTarget.dataset.index
var imgList = []
imgList.push(reward[index].imageUrl)
wx.previewImage({
current: reward[index].imageUrl,
urls: imgList
})
}
// for (var i = 0; i < giftPage.length; i++){
// imgList.push(giftPage[i].imageUrl)
// }
},
getTask(e) {
var taskId = e.currentTarget.dataset.id
var index = e.currentTarget.dataset.index
var _this = this
wx.request({
url: Api + '/task/accept',
data: {
taskId: taskId,
acceptUserId: app.globalData.userId
},
header: {
'Content-Type': 'application/json'
},
method: 'POST',
success(res) {
wx.showToast({
title: res.data.msg,
icon: 'none',
duration: 3000,
})
_this.onLoad()
}
})
},
refresh(e) {
var _this = this
wx.request({
url: Api + "/task/taskPage",
data: {
companyId: app.globalData.companyId,
pageNum: 1
},
header: {
"content-type": "application/json"
},
method: "POST",
success(res) {
_this.setData({
reward: res.data.list,
})
}
})
},
ToSign(e) {
wx.navigateTo({
url: '/pages/sign/sign?userId=' + app.globalData.userId,
})
},
})
function getDateDiff(dateTimeStamp) {
var result;
var minute = 1000 * 60;
var hour = minute * 60;
var day = hour * 24;
var halfamonth = day * 15;
var month = day * 30;
var now = new Date().getTime();
var diffValue = now - dateTimeStamp;
if (diffValue < 0) {
return;
}
var monthC = diffValue / month;
var weekC = diffValue / (7 * day);
var dayC = diffValue / day;
var hourC = diffValue / hour;
var minC = diffValue / minute;
if (monthC >= 1) {
if (monthC <= 12)
result = "" + parseInt(monthC) + "月前";
else {
result = "" + parseInt(monthC / 12) + "年前";
}
} else if (weekC >= 1) {
result = "" + parseInt(weekC) + "周前";
} else if (dayC >= 1) {
result = "" + parseInt(dayC) + "天前";
} else if (hourC >= 1) {
result = "" + parseInt(hourC) + "小时前";
} else if (minC >= 1) {
result = "" + parseInt(minC) + "分钟前";
} else {
result = "刚刚";
}
return result;
};
因为不同的操作系统或浏览器中,Date对象能够解析的日期字符串的格式有所不同。
你看看rstringTime = res.data.list[i].createDate获取的日期字符串是什么格式。
可能这种格式在你的手机浏览器中不支持。需要手动解析成年,月,日,时,分,秒等值传给new Date()
如2018年8月2日15时30分54秒,就要解析为new Date(2018,7,2,15,30,54);(注意月份要比实际的值减1)
例如:获取的日期字符串格式2018-08-02T15:05:50 可以这样解析
for (var i = 0; i < res.data.list.length; i++) {
var rstringTime = res.data.list[i].createDate;
var arr = rstringTime.match(/\d+/g);
var rtimestamp2 = new Date(arr[0]-0,arr[1]-1,arr[2]-0,arr[3]-0,arr[4]-0,arr[5]-0).getTime();
rcreateDate.push(rtimestamp2)
}
var rstringTime = res.data.list[i].createDate;获取的是日期的字符串值,并用 new Date(rstringTime).getTime();解析日期的字符串。
但是在不同的操作系统或浏览器中,Date对象能够解析的日期字符串的格式存在许多差异,因此最好还是手动解析日期字符串(在需要适应不同格式时库能起到很大帮助)。
如:你的 rstringTime 获取的日期字符串格式是"2018-08-02T15:05:50"
var rcreateDate = []
for (var i = 0; i < res.data.list.length; i++) {
var rstringTime = res.data.list[i].createDate;
var arr = rstringTime.match(/\d+/g);
var rtimestamp2 = new Date(arr[0]-0,arr[1]-1,arr[2]-0,arr[3]-0,arr[4]-0,arr[5]-0).getTime();
rcreateDate.push(rtimestamp2)
}
//获取当前时间戳
var timestamp = Date.parse(new Date());
timestamp = timestamp / 1000;
console.log("当前时间戳为:" + timestamp);
//获取当前时间
var n = timestamp * 1000;
var date = new Date(n);
//年
var Y = date.getFullYear();
//月
var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1);
//日
var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
//时
var h = date.getHours();
//分
var m = date.getMinutes();
//秒
var s = date.getSeconds();
console.log("当前时间:" +Y+M+D+h+":"+m+":"+s);
//转换为时间格式字符串
console.log(date.toDateString());
console.log(date.toGMTString());
console.log(date.toISOString());
console.log(date.toJSON());
console.log(date.toLocaleDateString());
console.log(date.toLocaleString());
console.log(date.toLocaleTimeString());
console.log(date.toString());
console.log(date.toTimeString());
console.log(date.toUTCString());
2018-08-02T15:05:50 这个就是标准的时间格式 https://devdocs.io/javascript/global_objects/date 自然直接使用set方法来设置也是可以的
或者 new Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]]);
例如:
new Date(2013, 2, 1, 1, 10) // 2013-03-01T01:10:00.