Typecho1.2正式版强势归来,四年前的最后一个正式版1.1发布,一等就是4年多,期间也有几个开发版发布,本想也许就这样了。突然在愚人节来了个惊喜,1.2正式版顺利发布了。顺便也来更新一下handsome主题到8.4.0,比对了自己修改的地方。更新完了,有时间顺便写下笔记,记录一下自己写的随时都会忘记的代码,注释相信大部分人写了等于白写,再看就看不懂了。
开始使用Markdown语法来写文章、项目介绍等,专注写作,把排版、样式还给主题做吧。支持一下Typora,从开源免费版更新到正式版。传送门
最近在公司做一个预约的项目,使用ThinkPHP+Layui+微信小程序开发,在订单页面需要使用自动刷新的功能,以免后台长时间不刷新看不到新的订单。
以在前端页面实现实时刷新页面、显示新的订单、调用本地打印机打印的功能。在以往的项目中使用了websocket技术来做实时的更新消息推送,原生的方法是不可能去折腾的了,直接使用比较著名的workerman下的web-msg-sender框架,看一下文档就能上手。
考虑到使用情况,也没有实时的需求,打印业务也对接的易联云的打印机,就没必要使用websocket了来实时监控了,就直接在前端使用Layui的计时器来实现这个功能。
HTML部分
<div id="reloadTime"></div>
在需要显示的地方插入,用于显示倒计时文字;
JS部分
//倒计时自动刷新
layui.use('util', function(){
var util = layui.util;
//示例
var endTime = new Date().getTime()+ 1000 * 60 //系统时间+60秒
,serverTime = new Date().getTime(); //服务器时间
util.countdown(endTime, serverTime, function(date, serverTime, timer){
//var str = date[0] + '天' + date[1] + '时' + date[2] + '分' + date[3] + '秒';
var str = date[3];
//console.log('date:',JSON.stringify(date));
if (JSON.stringify(date) == JSON.stringify([0, 0, 0, 0])){
location.reload();
}
layui.$('#reloadTime').html('自动刷新:<span class=\"layui-badge layui-bg-gray\">'+ str + '</span>');
});
});
提醒一下在执行重要的事件不要仅仅在前端判断,必须要加后端判断,这里仅仅是刷新页面而且也只是内部使用,就无所谓了。