乐鱼app成为大巴黎赞助商

法治教育进校园 护航青春助成长             乐鱼app成为大巴黎赞助商举行辩论赛基础知识讲座暨班级小组辩论展示活动             弃旧“兔”新新学期,携手新年再出发 ——河池市乐鱼app成为大巴黎赞助商召开新学期班主任工作会议             清华大学经管学院寒假实践队到乐鱼app成为大巴黎赞助商开展调研活动             学习党的二十大,提升课堂教学技能,办人民满意的教育             心怀感恩 砥砺前行 奋进超越 决胜高考——乐鱼app成为大巴黎赞助商2023届决战高考200天誓师大会             一飞冲天,放飞科技梦——乐鱼app成为大巴黎赞助商举行第三届水火箭比赛             筑梦新华章,青春正飞扬——乐鱼app成为大巴黎赞助商举行第43届校运会田径运动会开幕式             河池市乐鱼app成为大巴黎赞助商党史学习活动             河池市乐鱼app成为大巴黎赞助商党总支部植树活动            

DoraCMS

您现在的位置是:首页>文档内容页

文档详情

乐鱼app成为大巴黎赞助商:DoraCMS v1.1.1版本更新

doramart 2023-03-21 18:33:56 技术文档236914
年后的第一次更新,开年比较忙,找工作、找房子各种事,最近整理了一下代码,把各位提出的一些明显的bug改了,感谢各位童鞋好的建议。本次更新的主要内容如下:

年后的第一次更新,开年比较忙,找工作、找房子各种事,最近整理了一下代码,把各位提出的一些明显的bug改了,感谢各位童鞋好的建议。本次更新的主要内容如下:


- 1、提取了管理员信息查询的静态方法

- 2、重新优化了广告模块,图片广告管理更方便了

- 3、修复了一个文档查询的bug(过滤掉隐藏的content),感谢@jier945的建议

- 4、修复了文件管理和模板编辑的bug(文件读取用相对路径更安全)

- 5、提取了关联对象删除的公共方法

- 6、添加文档页面添加了一个新增tag的入口

- 7、去掉了admin路由中的io(暂时用不上)

- 8、优化了后台路由,添加了adminCtrl过滤器从入口处先过滤一次非法请求,提高安全性

- 9、提取了一些中文信息提示为静态变量


本次更新有两个比较大的改动:

1、广告管理模块优化了

图片广告之前是无法对每个图片属性进行编辑的,这次做了优化

广告管理.jpg


2、后台入口添加了adminCtrl路由,从入口处先做一次校验,过滤掉一些非法访问,校验通过再处理后面的逻辑,同时去掉了admin.js中的一些冗余代码。

//管理员主页
router.get(["/manage","/manage/*"],function(req,res,next){
    if(isAdminLogined(req)){
        next();
    }else{
        res.redirect("/admin");
    }
});

//模块管理页面
router.get('/manage/:targetPage', function(req, res, next) {
    var currentPage = req.params.targetPage;
    if(settings[currentPage]){
        if(!checkAdminPower(req,settings[currentPage][0] + '_view')){
            res.render("manage/public/notice", adminFunc.setDataForInfo('danger','对不起,您无权操作 <strong>'+settings[currentPage][1]+'</strong> 模块!'));
        }else{
            next();
        }
    }else{
        next();
    }
});

//通用对象列表数据查询
router.get('/manage/getDocumentList/:defaultUrl',function(req,res,next){
    var currentPage = req.params.defaultUrl;
    if(checkAdminPower(req,currentPage + '_view')){
        next();
    }else{
        return res.json({});
    }
});

//获取单个对象数据
router.get('/manage/:defaultUrl/item',function(req,res,next){
    var currentPage = req.params.defaultUrl;
    var params = url.parse(req.url,true);
    var targetId = params.query.uid;
    if(checkAdminPower(req,currentPage + '_view')){
        if(shortid.isValid(targetId)){
            next();
        }else{
            res.end(settings.system_illegal_param);
        }
    }else{
        return res.json({});
    }

});

//对象新增
router.post('/manage/:defaultUrl/addOne',function(req,res,next){

    var currentPage = req.params.defaultUrl;
    if(adminFunc.checkAdminPower(req,currentPage + '_add')){
        next();
    }else{
        res.end(settings.system_noPower);
    }
});

//更新单条记录(执行更新)
router.post('/manage/:defaultUrl/modify',function(req,res,next){
    var currentPage = req.params.defaultUrl;
    var params = url.parse(req.url,true);
    var targetId = params.query.uid;
    if(checkAdminPower(req,currentPage + '_modify')){
        if(shortid.isValid(targetId)){
            next();
        }else{
            res.end(settings.system_illegal_param);
        }
    }else{
        res.end(settings.system_noPower);
    }
});

//通用对象删除
router.get('/manage/:defaultUrl/del',function(req,res,next){
    var currentPage = req.params.defaultUrl;
    var params = url.parse(req.url,true);
    var targetId = params.query.uid;
    if(checkAdminPower(req,currentPage + '_del')){
        if(shortid.isValid(targetId)){
            next();
        }else{
            res.end(settings.system_illegal_param);
        }

    }else{
        res.end(settings.system_noPower);
    }
});

//批量删除对象
router.get('/manage/:defaultUrl/batchDel',function(req,res,next){
    var currentPage = req.params.defaultUrl;
    var params = url.parse(req.url,true);
    var ids = params.query.ids;
    var idsArr = ids.split(',');
    if(adminFunc.checkAdminPower(req,currentPage + '_del')){
        if(idsArr.length > 0){
            next();
        }else{
            res.end(settings.system_atLeast_one);
        }
    }else{
        res.end(settings.system_noPower);
    }

});

//访问指定对象的数据列表(不带分页)
router.get('/manage/:modular/list', function(req, res, next) {
    var currentPage = req.params.modular;
    if(settings[currentPage]){
        if(!checkAdminPower(req,settings[currentPage][0] + '_view')){
            return res.json({});
        }else{
            next();
        }
    }else{
        next();
    }
});

 

3、adminCtrl.js 替换了之前的 validat.js ,validat.js 不再使用。新安装的童鞋要注意了哈

文章评论

取消回复
登录 参与评论

评论列表(

乐鱼app成为大巴黎赞助商