针对小程序云开发callFunction()踩坑

如果你要传个时间类型的字段到云函数里需要把他转为时间戳,不能直接传date类型,具体我也不知为何。

错误示范:

var lastSignDate = this.data.lastSignDate
    console.log(lastSignDate)
    wx.cloud.callFunction({
      name: 'insertrecord',
      data: { 
        signid: signid,
        lastSignDate: lastSignDate
      },

这种比较坑的是不会返回结果,你不知道错哪。

 

正确示范:

var lastSignDate = this.data.lastSignDate.getTime();
    console.log(lastSignDate)
    wx.cloud.callFunction({
      name: 'insertrecord',
      data: { 
        signid: signid,
        lastSignDate: lastSignDate
      },

可以返回结果,这里我直接return那个时间戳了,数据库到时候重新new Date()就好了:

1551793396000                                                     signin.js? [sm]:208 
{errMsg: "cloud.callFunction:ok", result: {…}}

其实按照道理应该数据库里存时间戳来代替date类型会方便一点,但观看代码不方便,我感觉重要地方可以用date类型来存。做比较的记录表可以加个时间戳(Number)类型的字段帮助做where查询。

 

时区问题暂时没有遇到,现在存时间都是用服务器时间存,不知道这样会有啥问题?

你可能感兴趣的:(微信小程序)