| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 | /** * 后台权限数据模型 * * @author EllisRan * @date 2018/12/06 * @version */import mongoose from "mongoose";import BaseModel from "../../common/base/base_model";class PermissionModel extends BaseModel {    /**     * 构造函数     *     * @return {void}     */    constructor() {        let parent = super();        parent.model = mongoose.model('permission');        parent.init();    }    /**     * 设置场景     *     * @param {string} scene     * @return {void}     */    setScene(scene = '') {        switch (scene) {            // 新增权限            case 'insert':                // this.model.schema.path('ID').required(true);                this.model.schema.path('name').required(true);                this.model.schema.path('controller').required(true);                this.model.schema.path('url').required(true);                this.model.schema.path('pid').required(true);                break;        }    }    /**     * 新增权限     *     * @param {Object} data     * @return {Promise}     */    async createPermission(data) {        if (Object.keys(data).length <= 0) {            throw '数据格式错误';        }        data.create_time = new Date().getTime();        let result = await this.db.create(data);        return result;    }    /**     * 获取列表     *     * @param {object} condition     * @param {number} page     * @return {Promise}     */    async getList(condition = null, page = 1, pageSize = 30) {        page = parseInt(page);        page = page <= 1 ? 1 : page;        let option = {pageSize: pageSize, offset: parseInt((page - 1) * pageSize), sort: {ID:1}};        let list = await this.db.find(condition, null, option);        list = list.length > 0 ? list : [];        return list;    }}export default PermissionModel;
 |