koacms(八)系统配置增删改查逻辑,模型管理增删改查逻辑,模型字段增删改查逻辑

1、在controller文件夹下新增config.js

const { SuccessModel, ErrorModel } = require('../model/resModel')
const configModel = require('../model/configModel')
const UT = require('../utils/common');
class ConfigController {

    async page(ctx, next) {
        const { page=1, size=10,name,ename,config_type } = ctx.request.body
        const where = {}

        if(name){
            where.name = name
        }
        if(ename){
            where.ename = ename
        }
        if(config_type){
            where.config_type = config_type
        }
        try { 
            const data = await configModel.page(page,size,where)
            if(!data) return ctx.body = new ErrorModel('获取数据失败')
                ctx.body = new SuccessModel('获取数据成功', data)
        } catch (error) {
            return ctx.body = new ErrorModel(error)
        }
    }

    async list(ctx, next) {
        try { 
            const data = await configModel.list()
            // console.log('data',data)
            if(!data) return ctx.body = new ErrorModel('获取数据失败')
                ctx.body = new SuccessModel('获取数据成功', data)
        } catch (error) {
            return ctx.body = new ErrorModel(error)
        }
    }
    async add(ctx, next) {
        const { cname='',ename='',value='',values='',field_type=0,config_type=0,sorting=99 } = ctx.request.body
        try { 
            const time=new Date().getTime() / 1000
            const res = await configModel.create({
                cname,
                ename,
                value,
                value,
                field_type,
                config_type,
                sorting 
            })
            if(!res) return ctx.body = new ErrorModel('系统配置添加失败')
            ctx.body = new SuccessModel('系统配置添加成功')
        } catch (error) {
            return ctx.body = new ErrorModel(error)
        }
    }
   
    async update(ctx, next) {
        const { id, cname,ename,value,values,field_type,config_type,sorting } = ctx.request.body;
        try {
            const exitRes = await configModel.getInfo({id})
            if(exitRes.length === 0) return ctx.body = new ErrorModel('该系统配置不存在')
            const time =new Date().getTime() / 1000
            const result = await configModel.update(id,{
                cname,
                ename,
                value,
                values,
                field_type,
                config_type,
                sorting
            })
            
            if(!result) return ctx.body = new ErrorModel('修改信息失败')
             ctx.body = new SuccessModel('修改信息成功')
        } catch (error) {
            return ctx.body = new ErrorModel(error)
        }
        
    }

     async bulkUpdate(ctx, next) {
        const { data } =  ctx.request.body;
        try {
            // const updateData = JSON.parse(data)
            const result = await configModel.batchUpdate({ table: 'config', column: 'id' } , data)
            
            if(!result) return ctx.body = new ErrorModel('修改配置失败')
                ctx.body = new SuccessModel('修改配置成功')
        } catch (error) {
            return ctx.body = new ErrorModel(error)
        }
        
    }

    

    async delete(ctx, next) {
        const { id } = ctx.request.body;
        try {
            const exitRes = await configModel.getInfo({id})
            if(!exitRes.length === 0) return res.json({code:400,data:'',msg:'系统配置不存在!'})
            // const time =new Date().getTime() / 1000
            const result = await configModel.delete(id)
            
            if(!result) return ctx.body = new ErrorModel('删除系统配置失败')
             ctx.body = new SuccessModel('删除系统配置成功')
        } catch (error) {
            return ctx.body = new ErrorModel(error)
        }
    }



    async getSysInfo(ctx, res)  {
        const where = {}
        // where.config_type = 1
        // 查询列表
        try {
            const data = await configModel.list();
        
            const listJson = JSON.parse(JSON.stringify(data))
            listJson.forEach(item => {
                if(item.field_type === 4){
                    item.value = item.value.split(',')
                }else if(item.field_type === 7){
                    item.images = []
                    if(item.value){
                        item.images.push({
                            url:`${ process.env.BASE_URL }/${item.value}`,
                            fileUrl: item.value
                        })
                        
                    }
                }
            });
           
            const groupedItems = UT.groupBy(listJson, item => item.config_type);
            ctx.body = new SuccessModel('系统配置权限更新成功',groupedItems)
            
        } catch (error) {
            return ctx.body = new ErrorModel(error)
        }
    }

    async getSystem(ctx, res)  { 
        // 查询列表
        try {
            const data = await configModel.getSystem();
        
            const listJson = JSON.parse(JSON.stringify(data))
            listJson.forEach(item => {
                if(item.field_type === 4){
                    item.value = item.value.split(',')
                }else if(item.field_type === 7){
                    item.value = `${ process.env.BASE_URL }/${item.value}`
                    
                }
            });

           
            ctx.body = new SuccessModel('系统配置权限更新成功', UT.arrayToObject(listJson))
            
        } catch (error) {
            return ctx.body = new ErrorModel(error)
        }
    }
   
}
module.exports = new ConfigController()

2、在controller文件夹下新增configType.js

const { SuccessModel, ErrorModel } = require('../model/resModel')
const configTypeModel = require('../model/configTypeModel')
class ConfigTypeController {

    async page(ctx, next) {
        const { page=1, size=10,config_type } = ctx.request.body
        const where = {}

        if(config_type){
            where.config_type = config_type
        }
        try { 
            const data = await configTypeModel.page(page,size,where)
            if(!data) return ctx.body = new ErrorModel('获取数据失败')
                ctx.body = new SuccessModel('获取数据成功', data)
        } catch (error) {
            return ctx.body = new ErrorModel(error)
        }
    }

    async list(ctx, next) {
        const { config_type } = ctx.request.body
        const where = {}

        if(config_type){
            where.config_type = config_type
        }
        try { 
            const data = await configTypeModel.list(where)
            console.log('data',data)
            if(!data) return ctx.body = new ErrorModel('获取数据失败')
                ctx.body = new SuccessModel('获取数据成功', data)
        } catch (error) {
            return ctx.body = new ErrorModel(error)
        }
    }
    async add(ctx, next) {
        const { name,is_system,order,status=1 } = ctx.request.body
        try { 
            const time=new Date().getTime() / 1000
            const res = await configTypeModel.create({
                name,
                is_system,
                status,
                order,
                create_time:time,
                update_time:time,
            })
            if(!res) return ctx.body = new ErrorModel('配置分类添加失败')
            ctx.body = new SuccessModel('配置分类添加成功')
        } catch (error) {
            return ctx.body = new ErrorModel(error)
        }
    }
   
    async update(ctx, next) {
        const { id,name,is_system,order  } = ctx.request.body;
        try {
            const exitRes = await configTypeModel.getInfo({id})
            if(exitRes.length === 0) return ctx.body = new ErrorModel('该配置分类不存在')
            const time =new Date().getTime() / 1000
            const result = await configTypeModel.update(id,{
                name,
                is_system,
                order,
                update_time:time
            })
            
            if(!result) return ctx.body = new ErrorModel('修改信息失败')
             ctx.body = new SuccessModel('修改信息成功')
        } catch (error) {
            return ctx.body = new ErrorModel(error)
        }
        
    }

    async delete(ctx, next) {
        const { id } = ctx.request.body;
        try {
            const exitRes = await configTypeModel.getInfo({id})
            if(!exitRes.length === 0) return res.json({code:400,data:'',msg:'配置分类不存在!'})
            // const time =new Date().getTime() / 1000
            const result = await configTypeModel.delete(id)
            
            if(!result) return ctx.body = new ErrorModel('删除配置分类失败')
             ctx.body = new SuccessModel('删除配置分类成功')
        } catch (error) {
            return ctx.body = new ErrorModel(error)
        }
    }

 

}
module.exports = new ConfigTypeController()

3、在controller文件夹的cms文件夹下新增cmsModels.js

const db = require('../../config/knex')
const { SuccessModel, ErrorModel } = require('../../model/resModel')
const cmsFieldModel = require('../../model/cmsFieldModel')
const cmsModelsModel = require('../../model/cmsModelsModel')
// const cmsCateModel = require('../../model/cmsCateModel')
class CmsModelsController {

    async page(ctx, next) {
        const { page=1, size=10,name } = ctx.request.body
        const where = {}

        if(name){
            where.name = name
        }
       
        try { 
            const data = await cmsModelsModel.page(page,size,where)
            if(!data) return ctx.body = new ErrorModel('获取数据失败')
                ctx.body = new SuccessModel('获取数据成功', data)
        } catch (error) {
            return ctx.body = new ErrorModel(error)
        }
    }

    async list(ctx, next) {
        try { 
            const data = await cmsModelsModel.list()
            // console.log('data',data)
            if(!data) return ctx.body = new ErrorModel('获取数据失败')
                ctx.body = new SuccessModel('获取数据成功', data)
        } catch (error) {
            return ctx.body = new ErrorModel(error)
        }
    }
    async add(ctx, next) {
        const { model_name,table_name,list_tmp,index_tmp,article_tmp,order,status=1 } = ctx.request.body
        try { 
            const time=new Date().getTime() / 1000
            const res = await cmsModelsModel.create({
                model_name,
                table_name,
                list_tmp,
                index_tmp,
                article_tmp,
                order,
                status,
                create_time:time,
                update_time:time
            })
            if(!res) return ctx.body = new ErrorModel('模型添加失败')
            const exit = await db.knex.schema.hasTable(`cms_ext_${table_name}`)
            const exitRes = await cmsModelsModel.getInfo({table_name})
            console.log('exitexit',exit,exitRes)
            if(exit && exitRes.length > 0) return ctx.body = new ErrorModel('该模型数据表已存在')
             
            // 创建新表
            const tableRes= await db.knex.schema.createTable(`cms_ext_${table_name}`, table => {
                table.integer('aid',11).notNullable(); // 非空的用户名字段
            });
            console.log('tableRes',tableRes)
           
       
            ctx.body = new SuccessModel('模型添加成功')
        } catch (error) {
            return ctx.body = new ErrorModel(error)
        }
    }
   
    async update(ctx, next) {
        const { id,model_name,table_name,list_tmp,index_tmp,article_tmp,order } = ctx.request.body;
        try {
            const exitRes = await cmsModelsModel.getInfo({id})
            if(exitRes.length === 0) return ctx.body = new ErrorModel('该模型不存在')
            const time =new Date().getTime() / 1000
            const result = await cmsModelsModel.update(id,{
                model_name,
                table_name,
                list_tmp,
                index_tmp,
                article_tmp,
                order,
                update_time:time
            })
            
            if(!result) return ctx.body = new ErrorModel('修改信息失败')
             ctx.body = new SuccessModel('修改信息成功')
        } catch (error) {
            return ctx.body = new ErrorModel(error)
        }
        
    }

    async delete(ctx, next) {
        const { id } = ctx.request.body;
        try {
            const exitRes = await cmsModelsModel.getInfo({id})
            if(exitRes.length === 0) return res.json({code:400,data:'',msg:'模型不存在!'})
            // 判断该模型下有没有分类,必须先把分类删除
            const exitCates = await cmsCateModel.getInfo({models_id:id})
            console.log('exitCates',exitCates)
            if(exitCates.length > 0) return ctx.body = new ErrorModel('该模型有分类数据,请先删除')
            // const time =new Date().getTime() / 1000
            const result = await cmsModelsModel.delete(id)
            if(!result) return ctx.body = new ErrorModel('删除模型失败')
            const exit = await db.knex.schema.hasTable(`cms_ext_${exitRes[0].table_name}`)
            // 删除表
            if(exit){
                await db.knex.schema.dropTable(`cms_ext_${exitRes[0].table_name}`)
            }
            const exitFileds = await cmsFieldModel.getInfo({models_id:id})
             // 删除字段
            if(exitFileds.length > 0){
                const ids = []
                exitFileds.forEach(item=>{
                    ids.push(item.id)
                })
                await cmsFieldModel.batchDelete(ids)
            }
            // 删除
             ctx.body = new SuccessModel('删除模型成功')
        } catch (error) {
            return ctx.body = new ErrorModel(error)
        }
    }
}
module.exports = new CmsModelsController()

4、在controller文件夹的cms文件夹下新增cmsField.js

const db = require('../../config/knex')
const { SuccessModel, ErrorModel } = require('../../model/resModel')
const cmsFieldModel = require('../../model/cmsFieldModel')
const cmsModelsModel = require('../../model/cmsModelsModel')
class CmsFieldController {

    async page(ctx, next) {
        const { page=1, size=10,field_cname,field_ename } = ctx.request.body
        const where = {}

        if(field_cname){
            where.field_cname = field_cname
        }

        if(field_ename){
            where.field_ename = field_ename
        }
       
        try { 
            const data = await cmsFieldModel.page(page,size,where)
            if(!data) return ctx.body = new ErrorModel('获取数据失败')
                ctx.body = new SuccessModel('获取数据成功', data)
        } catch (error) {
            return ctx.body = new ErrorModel(error)
        }
    }

    async list(ctx, next) {
        try { 
            const data = await cmsFieldModel.list()
            // console.log('data',data)
            if(!data) return ctx.body = new ErrorModel('获取数据失败')
                ctx.body = new SuccessModel('获取数据成功', data)
        } catch (error) {
            return ctx.body = new ErrorModel(error)
        }
    }
    async add(ctx, next) {
        const { field_cname,field_ename,field_type,field_values,field_default,models_id,order,status=1 } = ctx.request.body
        try { 
            const time=new Date().getTime() / 1000
            const res = await cmsFieldModel.create({
                field_cname,
                field_ename,
                field_type,
                field_values,
                field_default,
                models_id,
                order,
                status,
                create_time:time,
                update_time:time
            })
            if(res.length == 0) return ctx.body = new ErrorModel('字段添加失败')
                
                const exitRes = await cmsModelsModel.getInfo({id:models_id})
                if(exitRes.length === 0) return ctx.body = new ErrorModel('模型不存在')

                await db.knex.schema.table(`cms_ext_${exitRes[0].table_name}`, (table) => {
                    switch (field_type) {
                        case 1:
                            table.string(field_ename).defaultTo(field_default)
                            break;
                        case 2:
                            table.string(field_ename).defaultTo(field_default)
                            break;
                        case 3:
                            table.string(field_ename).defaultTo(field_default)
                            break;
                        case 4:
                            table.string(field_ename).defaultTo(field_default)
                            break;
                        case 5:
                            table.text(field_ename).defaultTo(field_default)
                            break;
                        case 6:
                            table.text(field_ename).defaultTo(field_default)
                            break;
                        case 7:
                            table.float(field_ename).defaultTo(field_default)
                            break;
                        case 8:
                            table.integer(field_ename,11).defaultTo(field_default)
                            break;
                        case 9:
                            table.longtext(field_ename).defaultTo(field_default)
                            break;
                        default:
                            table.string(field_ename).defaultTo(field_default)
                            break;
                    }
                  });
                
                

            ctx.body = new SuccessModel('字段添加成功')
        } catch (error) {
            return ctx.body = new ErrorModel(error)
        }
    }
   
    async update(ctx, next) {
        const { id,field_cname,field_ename,field_type,field_default,field_values,models_id,order } = ctx.request.body;
        try {
            const exitRes = await cmsFieldModel.getInfo({id})
            if(exitRes.length === 0) return ctx.body = new ErrorModel('该字段不存在')
            const time =new Date().getTime() / 1000
            const result = await cmsFieldModel.update(id,{
                field_cname,
                field_ename,
                field_type,
                field_values,
                field_default,
                models_id,
                order,
                update_time:time
            })
            
            if(result.length == 0) return ctx.body = new ErrorModel('修改信息失败')
            const exitModel = await cmsModelsModel.getInfo({id:models_id})
            if(exitModel.length === 0) return ctx.body = new ErrorModel('模型不存在')
            const exit = await db.knex.schema.hasTable(`cms_ext_${exitModel[0].table_name}`)
            if(exit){
                await db.knex.schema.table(`cms_ext_${exitModel[0].table_name}`, (table) => {
                    switch (field_type) {
                        case 1:
                            table.string(field_ename).defaultTo(field_default).alter()
                            break;
                        case 2:
                            table.string(field_ename).defaultTo(field_default).alter()
                            break;
                        case 3:
                            table.string(field_ename).defaultTo(field_default).alter()
                            break;
                        case 4:
                            table.string(field_ename).defaultTo(field_default).alter()
                            break;
                        case 5:
                            table.text(field_ename).defaultTo(field_default).alter()
                            break;
                        case 6:
                            table.text(field_ename).defaultTo(field_default).alter()
                            break;
                        case 7:
                            table.float(field_ename).defaultTo(field_default).alter()
                            break;
                        case 8:
                            table.integer(field_ename,11).defaultTo(field_default).alter()
                            break;
                        case 9:
                            table.longtext(field_ename).defaultTo(field_default).alter()
                            break;
                        default:
                            table.string(field_ename).defaultTo(field_default).alter()
                            break;
                    }

                });
            }
            
             ctx.body = new SuccessModel('修改信息成功')
        } catch (error) {
            return ctx.body = new ErrorModel(error)
        }
        
    }

    async delete(ctx, next) {
        const { id } = ctx.request.body;
        try {
            const exitRes = await cmsFieldModel.getInfo({id})
            if(!exitRes.length === 0) return res.json({code:400,data:'',msg:'字段不存在!'})
            // const time =new Date().getTime() / 1000
            const result = await cmsFieldModel.delete(id)
            
            if(!result) return ctx.body = new ErrorModel('删除字段失败')
            const exitModel = await cmsModelsModel.getInfo({id: exitRes[0].models_id})
            if(exitModel.length === 0) return res.json({code:400,data:'',msg:'模型不存在!'})
            const exit = await db.knex.schema.hasTable(`cms_ext_${exitModel[0].table_name}`)
            if(exit){
                await db.knex.schema.table(`cms_ext_${exitModel[0].table_name}`, (table) => {
                    table.dropColumn(exitRes[0].field_ename);
                })
            }
            
             ctx.body = new SuccessModel('删除字段成功')
        } catch (error) {
            return ctx.body = new ErrorModel(error)
        }
    }
}
module.exports = new CmsFieldController()

5、在model文件夹下新建configModel.js文件

const db = require('../config/knex')

class configModel {
    async create(data){
        return await db.create('cms_config',data)
    }

    async getInfo(id){
        return await db.find('cms_config',id)
    }
    
    async update(id,data){
        return await db.update('cms_config',id,data)
    }
    async batchInsert(data){
        return await db.batchInsert('cms_config',data)
    }

    async delete(id){
        return await db.remove('cms_config',id)
    }

    async page(page=1,size=10, where={},orderBy='',fields='*'){

        const offset = (page - 1) * size;
        const order = orderBy ? order : ['id' ,'desc'];
      return await db.knex('cms_config')
        .where((qb) => {
            
          if (where.name) {
            qb.where('cname', 'like', `%${where.name}%`);
          }
      
          if (where.ename) {
            qb.where('ename', 'like', `%${where.ename}%`);
          }
      
          if (where.config_type) {
            qb.where('config_type', '=', where.config_type);
          }
        })
        .select(fields)
        .orderBy(order[0],order[1])
        .offset(offset)
        .limit(size)
    }

    async list(where=[],fields='*'){
        return await db.knex.select('*').from('cms_config').where(where).orderBy('sorting','desc');
    }

    batchUpdate(options, collection) {
      return db.knex.transaction(trx => {
        const queries = collection.map(tuple =>
          db.knex(options.table)
            .where(options.column, tuple[options.column])
            .update(tuple)
            .transacting(trx)
        );
        return Promise.all(queries)
          .then(trx.commit)
          .catch(trx.rollback);
      });
    }

    async getSystem(){
      return await db.knex('cms_config').whereIn('config_type', [1,2,3,4])
  }
}

module.exports = new configModel()

6、在model文件夹下新建configTypeModel.js文件

const db = require('../config/knex')

class configTypeModel {
    async create(data){
        return await db.create('cms_config_type',data)
    }

    async getInfo(id){
        return await db.find('cms_config_type',id)
    }
    
    async update(id,data){
        return await db.update('cms_config_type',id,data)
    }
    async batchInsert(data){
        return await db.batchInsert('cms_config_type',data)
    }

    async delete(id){
        return await db.remove('cms_config_type',id)
    }

    async page(page=1,size=10, where={},orderBy='',fields='*'){
        const offset = (page - 1) * size;
        const order = orderBy ? order : ['id' ,'desc'];
      return await db.knex('cms_config_type')
        .where((qb) => {
            
          if (where.name) {
            qb.where('name', 'like', `%${where.name}%`);
          }
      
        })
        .select(fields)
        .orderBy(order[0],order[1])
        .offset(offset)
        .limit(size)
    }

    async list(where=[],fields='*'){
        return await db.getList('cms_config_type',where,fields)
    }
}

module.exports = new configTypeModel()

7、在model文件夹下新建cmsModelsModel.js文件

const db = require('../config/knex')

class cmsModelsModel {
    async create(data){
        return await db.create('cms_models',data)
    }

    async getInfo(id){
        return await db.find('cms_models',id)
    }
    
    async update(id,data){
        return await db.update('cms_models',id,data)
    }
    async batchInsert(data){
        return await db.batchInsert('cms_models',data)
    }

    async delete(id){
        return await db.remove('cms_models',id)
    }

    async page(page=1,size=10, where={},orderBy='',fields='*'){
      const offset = (page - 1) * size;
      const order = orderBy ? order : ['id' ,'desc'];
      
      const [countResult, rows] = await Promise.all([
          db.knex('cms_models').count('* as total')
          .where((qb) => {
              if (where.name) {
              qb.where('model_name', 'like', `%${where.name}%`);
              }
          
          }),
          db.knex('cms_models')
              .select(fields)
              .where((qb) => {
                  if (where.name) {
                    qb.where('model_name', 'like', `%${where.name}%`);
                  }
              
                })
              .orderBy(order[0],order[1])
              .offset(offset)
              .limit(size)
          ]);

      const count = countResult[0].total;
      const pageData = {
          page:Number(page),
          size,
          count,
          list: rows
      };
  
      return pageData;

  }

    async list(where=[],fields='*'){
        return await db.getList('cms_models',where,fields)
    }
}

module.exports = new cmsModelsModel()

8、在model文件夹下新建cmsFieldModel.js

const db = require('../config/knex')

class CmsFieldModel {
    async create(data){
        return await db.create('cms_field',data)
    }

    async getInfo(id){
        return await db.find('cms_field',id)
    }
    
    async update(id,data){
        return await db.update('cms_field',id,data)
    }
    async batchInsert(data){
        return await db.batchInsert('cms_field',data)
    }

    async batchDelete(ids){
      return await db.batchDelete('cms_field',ids)
  }

    async delete(id){
        return await db.remove('cms_field',id)
    }

    async page(page=1,size=10, where={},orderBy='',fields='*'){
      const offset = (page - 1) * size;
      const order = orderBy ? order : ['cms_field.id' ,'desc'];
      
      const [countResult, rows] = await Promise.all([
          db.knex('cms_field').count('* as total')
          .where((qb) => {
              if (where.field_cname) {
                qb.where('cms_field.field_cname', 'like', `%${where.field_cname}%`);
              }
              if (where.field_ename) {
                qb.where('cms_field.field_ename', 'like', `%${where.field_ename}%`);
              }
          
          }),
          db.knex('cms_field')
              .join('cms_models','cms_field.models_id','cms_models.id')
              .select('cms_field.*','cms_models.model_name')
              .where((qb) => {
                if (where.field_cname) {
                    qb.where('cms_field.field_cname', 'like', `%${where.field_cname}%`);
                  }
                  if (where.field_ename) {
                    qb.where('cms_field.field_ename', 'like', `%${where.field_ename}%`);
                  }
              
                })
              .orderBy(order[0],order[1])
              .offset(offset)
              .limit(size)
          ]);

      const count = countResult[0].total;
      const pageData = {
          page:Number(page),
          size,
          count,
          list: rows
      };
  
      return pageData;

  }

    async list(where=[],fields='*'){
        return await db.getList('cms_field',where,fields)
    }
}

module.exports = new CmsFieldModel()

9、修改routes文件夹下admin.js的路由配置

const router = require('koa-router')()
const jwt = require('../../utils/verify')

const AdminController = require('../../controller/admin')
const AuthGroupController = require('../../controller/authGroup')
const AuthRuleController = require('../../controller/authRule')
const ConfigController = require('../../controller/config')
const ConfigTypeController = require('../../controller/configType')
const CmsModelsController = require('../../controller/cms/cmsModels')
const CmsFieldController = require('../../controller/cms/cmsField')

router.prefix('/api')

//用户注册
router.post('/system/user/add', AdminController.add)
router.post('/system/user/login', AdminController.login)
router.post('/system/user/update', AdminController.update)
router.post('/system/user/status', AdminController.updateStatus)
router.post('/system/user/list', AdminController.list)
router.post('/system/user/page', AdminController.page)
router.post('/system/user/delete', AdminController.delete)
router.post('/system/user/batchDelete', AdminController.batchDelete)
router.post('/system/user/existence', AdminController.existence)
router.post('/system/user/password', AdminController.password)
// 角色
router.post('/system/roles/page', AuthGroupController.page)
router.get('/system/roles/list', AuthGroupController.list)
router.post('/system/roles/add', AuthGroupController.add)
router.post('/system/roles/update', AuthGroupController.update)
router.post('/system/roles/del', AuthGroupController.delete)
router.post('/system/roles/menu', AuthGroupController.menu)
router.post('/system/roles/menu/update', AuthGroupController.menuUpdate)
// 菜单 
router.get('/system/menu/user', AuthRuleController.user)
router.post('/system/menu/list', AuthRuleController.list)
router.post('/system/menu/add', AuthRuleController.add)
router.post('/system/menu/update', AuthRuleController.update)
router.post('/system/menu/del', AuthRuleController.delete)
// 系统配置
router.post('/system/config/page', ConfigController.page)
router.post('/system/config/list', ConfigController.list)
router.post('/system/config/add', ConfigController.add)
router.post('/system/config/update', ConfigController.update)
router.post('/system/config/del', ConfigController.delete)
router.post('/system/config/bulkUpdate', ConfigController.bulkUpdate)
// 系统配置类型
router.get('/system/config/type/list', ConfigTypeController.list)
router.post('/system/config/type/add', ConfigTypeController.add)
router.post('/system/config/type/update', ConfigTypeController.update)
router.post('/system/config/type/del', ConfigTypeController.delete) 
router.post('/system/config/getSysInfo', ConfigController.getSysInfo)
// 模型
router.post('/cms/models/page', CmsModelsController.page)
router.post('/cms/models/list', CmsModelsController.list)
router.post('/cms/models/add', CmsModelsController.add)
router.post('/cms/models/update', CmsModelsController.update)
router.post('/cms/models/del', CmsModelsController.delete)
// 模型字段
router.post('/cms/field/page', CmsFieldController.page)
router.post('/cms/field/list', CmsFieldController.list)
router.post('/cms/field/add', CmsFieldController.add)
router.post('/cms/field/update', CmsFieldController.update)
router.post('/cms/field/del', CmsFieldController.delete)


module.exports = router

10、用apifox接口进行测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值