虽然只是个小问题,但是也发个文,小小的提醒一下在做微信模块的猿猿们!
微信着实不好搞,费心费神,从小白开始做,啥都要上网资料!
废话少说,解决问题。
首先说一下,数据库为MySQL,字段名称为‘opAt’,字段类型为:timestamp,其数据格式为‘yyyy-MM-dd HH:mm:ss’,目前木有问题;
然后再看后台的获取数据的地方,,,,获取数据的地方有好几个,以一个为例,其它的差不多;
Controller位置\nutzwk\app\web\modules\controllers\platform\wx\WxMsgUserController.java,fun:data,代码:
@At({"/data/","/data/?"})
@Ok("json:full")
@RequiresPermissions("wx.user.list")
public Object data(String wxid, @Param("nickname") String nickname, @Param("content") String content, @Param("length") int length, @Param("start") int start, @Param("draw") int draw, @Param("::order") List<DataTableOrder> order, @Param("::columns") List<DataTableColumn> columns) {
Cnd cnd = Cnd.NEW();
if (!Strings.isBlank(wxid)) {
cnd.and("wxid", "=", wxid);
}
if (!Strings.isBlank(nickname)) {
cnd.and("nickname", "like", "%" + nickname + "%");
}
if (!Strings.isBlank(content)) {
cnd.and("content", "like", "%" + content + "%");
}
/*-----测试代码------*/
NutMap nutMap = new NutMap();
nutMap = wxMsgService.data(length, start, draw, order, columns, cnd, null);
log.debug(nutMap);
return wxMsgService.data(length, start, draw, order, columns, cnd, null);
}
返回的数据类型是:NutMap,那么它的内容是什么呢?来看一下控制台打印的内容,重点是 opAt 字段:
/*cn.nutzwk.app.wx.modules.models.Wx_msg@66d4d7b1*/{"id":"63c3ca2412bd42298cee2d","openid":"oQ34Cw9gF2SyZg-K29g","nickname":"分清雨晴","type":"txt","content":"测试","wxid":"de8f6277bd154f52b9","opBy":"","opAt":"2017-09-12 16:14:50"},
此处截取一条出来,,
好的,,已经看到了返回的日期数据格式,再来看看页面获取的情况,同样有很多地方,以一个地方为例:
位置是:\webapp\WEB-INF\views\platform\wx\msg\user\index.html
{
"render": function (data, type, row) {
if (data) {
return moment(parseInt(data*1000)).format("YYYY-MM-DD HH:mm:ss");//获取日期并格式化
}
return '';
},
"targets": 3
},
一下就可以看到,此处获取的方式是把后台传过来的数据类型当成了秒数,所以是此处出了问题,才导致页面无法正常显示日期。
问题根源找到了,下面说一下解决办法,都是写小问题,大神们都是动动思想就能解决的问题了,还是来废话一下:
1.可以改变字段类型。。。。。。
算了,太废话了,直接说最简单的吧
把页面获取日期的方式直接干掉,换成 return data; 都解决啦!
当然,有5个页面获取的日期,要修改5个地方,分别是:\platform\wx\msg\user\index.html;\platform\wx\msg\mass\news.html;\platform\wx\msg\mass\index.html;\platform\wx\tpl\log\index.html;\platform\wx\user\index.html;这5个地方。
这是一个给不喜欢找问题的猿准备贴。