- 在页面加载函数里面定义的new Date()传入wxs文件后为何显示Invalid Date ?
如题,今天学习wxs文件的使用,在写demo的时候出现了一个问题,在page页面的onLoad函数中定义了一个new Date(2020,11,10,14,40,50),并且使用this.setData函数更新数据,通过wxs文件接收后处理后返回给视图层,但是在控制台显示传入的数据是Invalid Date,并且后面的数据打印出来全部为NaN,想请各位大佬们给我找找问题出在哪,下面是代码和截图: wxml <wxs src = "wxs_demo.wxs" module="wxs"></wxs> <view>{{time}}</view> // 传入进来的time会显示为Object <view>{{wxs.timeFormat(time)}}</view> js Page({ /** * 页面的初始数据 */ data: { }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { var time = new Date(2020,10,10,14,40,50); this.setData({ time : time }) } }) wxs var timeFormat = function(time){ var date = getDate(time); console.log(date); var date_second = date.getTime() / 1000; console.log("minute:"+ date_second); var now_date = getDate(); var now_second = now_date.getTime() / 1000; var timestamp = now_second - date_second; var timeStr = ""; if(timestamp < 60 ){ timeStr = "刚刚"; }else if(timestamp >= 60 && timestamp < 60*60 ){ timeStr = parseInt(timestamp / 60) + "分钟前"; }else if(timestamp >= 60 *60 && timestamp < 60*60*24){ timeStr = parseInt(timestamp / 60 / 60) + "小时前"; }else if(timestamp >= 60*60*24 && timestamp < 60*60*60*30){ timeStr = parseInt(timestamp / 60 / 60 /24) + "天前"; }else{ var year = date.getFullYear(); var momth = date.getMonth(); var day = date.getDate(); var hour = date.getHours(); var minute = date.getMinutes(); timeStr = year + "/" + momth + "/" + day +" " + hour + ":" + minute; } console.log("timeStr:"+timeStr) return timeStr; } module.exports = { timeFormat : timeFormat } 截图: [图片] [图片]
2020-11-10 - 云函数写发条信功能,调用云函数成功,没有接收到短信……我单独运行js,可以收到。
// 云函数入口文件 const cloud = require('wx-server-sdk') const QcloudSms = require("qcloudsms_js"); cloud.init(); // 短信应用SDK AppID const appid = 1400160371; // SDK AppID是1400开头 // 短信应用SDK AppKey const appkey = "c46c8b7b21407504743c86dd2a88e9b3"; // 需要发送短信的手机号码 //var phoneNumbers = ["13632930196", "12345678902", //"12345678903"]; const phoneNumbers = ["13632930196", "13590178533"]; // 短信模板ID,需要在短信应用中申请 const templateId = 226168; // NOTE: 这里的模板ID`7839`只是一个示例,真实的模板ID需要在短信控制台中申请 // 签名 const smsSign = "家家旺科技";// NOTE: 这里的签名只是示例,请使用真实的已申请的签名, 签名参数使用的是`签名内容`,而不是`签名ID` const params = ["99元", "义容镇", "13590178533", "4份"];//数组具体的元素个数和模板中变量个数必须一致,例如事例中templateId:5678对应一个变量,参数数组中元素个数也必须是一个 // 设置请求回调处理, 这里只是演示,用户需要自定义相应处理回调 function callback(err, res, resData) { if (err) { console.log("err: ", err); } else { console.log("request data: ", res.req); console.log("response data: ", resData); } } // 云函数入口函数 exports.main = async (event, context) => { // 实例化QcloudSms const qcloudsms = await QcloudSms(appid, appkey); const ssender = await qcloudsms.SmsSingleSender(); // const params = ["a", "b", "c", "d"]; ssender.sendWithParam(86, phoneNumbers[0], templateId, params, smsSign, "", "", callback); // 签名参数未提供或者为空时,会使用默认签名发送短信 // return 'Winner+6'; }
2018-11-19