山东大学软件工程应用与实践-cmswing-第二周

2021SC@SDUSC

本周我们继续来看admin文件的剩下部分:

一、分类分组

1.

  async admin_priv(ac, cid, errors = '您所在的用户组,禁止本操作!') {
    if (!this.is_admin) {
      // 访问控制
      const priv = await this.model('cmswing/category_priv').priv(cid, this.roleid, ac, 1);
      return priv;
      // if (!priv) {
      //   console.log('fdsfs');
      //   const error = this.controller('cmswing/error');
      //   return error.noAction(errors);
      // }
    }
    return true;
  }

这段主要是用来验证后台栏目权限的。ac为要进行的操作:init为查看,edit为编辑,add为添加,delete为删除。cid为栏目的id,error为出现错误后的提示。通过if语句判断,若权限不符,会返回禁止操作的提示。

2.

 async sort(cate_id = this.get('cate_id'), sortid) {
    if (think.isEmpty(sortid)) {
      sortid = this.get('sortid') || 0;
    }
    let sort = await this.model('cmswing/category').get_category(cate_id, 'documentsorts');
    if (sort) {
      sort = JSON.parse(sort);
      if (sortid == 0) {
        sortid = sort.defaultshow;
      }
      const typevar = await this.model('typevar').where({sortid: sortid}).select();
      for (const val of typevar) {
        val.option = await this.model('typeoption').where({optionid: val.optionid}).find();
        if (val.option.type == 'select' || val.option.type == 'radio') {
          if (!think.isEmpty(val.option.rules)) {
            val.option.rules = JSON.parse(val.option.rules);
            val.rules = parse_type_attr(val.option.rules.choices);
            val.option.rules.choices = parse_config_attr(val.option.rules.choices);
          }
        } else if (val.op
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值