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>');
    });
});

提醒一下在执行重要的事件不要仅仅在前端判断,必须要加后端判断,这里仅仅是刷新页面而且也只是内部使用,就无所谓了。

Last modification:April 4, 2022
如果解决了你的困扰, 赏杯咖啡吧!
正文字体: 苍耳字库(屏幕显示字体)·苍耳今楷