sitesCMS v3.1.3 发布

sitesCMS简介

sitesCMS 是基于 JFinal 的 多站点 CMS内容管理系统,遵循JFinal极简设计理念,轻量级、易扩展、学习简单,除JFinal外无其他重度依赖。精简的多站点功能设计,极易二次开发,一天一个网站不是梦。完善的API模块,支持 微信小程序 、APP等各类小程序前端对接,打通移动端开发渠道,sitesCMS 不只是 CMS。
官方网站:http://sitescms.top/
视频教程:https://ke.qq.com/course/3551225?tuin=92419b8c

更新内容

【升级】升级log4j版本至1.2.17
【优化】优化表单token校验功能,提取通用拦截器,简化Controller中的代码

扩展知识

介绍一个JFinal的扩展知识,在拦截器中获取返回内容,并对内容进行更新,这也是本次更新的主要代码,通过这次的更新进行演示说明。

public class ReturnInterceptor implements Interceptor {

    @Override
    public void intercept(Invocation invocation) {
        invocation.invoke();//先执行后续的逻辑

        Controller controller = invocation.getController();
        Render render = controller.getRender();//获取返回的render
        if(render instanceof JsonRender){//判断render类型
            JsonRender jsonRender = (JsonRender) render;
            String jsonText = jsonRender.getJsonText();//获取返回字符串内容
            JSONObject jsonObject = JSONUtil.parseObj(jsonText);
            String state = (String) jsonObject.get("state");
            if("fail".equals(state)){
                //失败的情况下重新生成token并返回
                jsonObject.set(SiteInfo.formTokenKey, controller.createToken(SiteInfo.formTokenKey, 1800));
                //将更新后的内容返回
                controller.renderJson(jsonObject);
            }
        }
    }

}


评论区