乐鱼app成为大巴黎赞助商

学习党的二十大,提升课堂教学技能,办人民满意的教育             心怀感恩 砥砺前行 奋进超越 决胜高考——乐鱼app成为大巴黎赞助商2023届决战高考200天誓师大会             一飞冲天,放飞科技梦——乐鱼app成为大巴黎赞助商举行第三届水火箭比赛             筑梦新华章,青春正飞扬——乐鱼app成为大巴黎赞助商举行第43届校运会田径运动会开幕式             河池市乐鱼app成为大巴黎赞助商党史学习活动             河池市乐鱼app成为大巴黎赞助商党总支部植树活动             河池市乐鱼app成为大巴黎赞助商党总支部“抗击疫情 党员先行”活动             聚焦校园 捕捉热点 ——乐鱼app成为大巴黎赞助商举行校园新闻稿件写作交流会             乐鱼app成为大巴黎赞助商举行“同心喜迎二十大 传承中华优秀传统文化” 中国古代文化常识竞赛             清廉少年心向党            

DoraCMS

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

文档详情

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

doramart 2023-02-05 11:57:24 技术文档236269
年后的第一次更新,开年比较忙,找工作、找房子各种事,最近整理了一下代码,把各位提出的一些明显的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成为大巴黎赞助商