asd123a20 3 years ago
parent
commit
44a03ff81f

+ 0 - 38
app/controller/column.js

@@ -1,38 +0,0 @@
-'use strict';
-
-const Controller = require('egg').Controller;
-
-class ColumnController extends Controller {
-  async create() {
-    const { ctx } = this;
-    const res = await ctx.service.column.create(ctx.request.body);
-    ctx.body = res;
-  }
-  async update() {
-    const { ctx } = this;
-    const res = await ctx.service.column.update(ctx.request.body);
-    ctx.body = res;
-  }
-  async del() {
-    const { ctx } = this;
-    const res = await ctx.service.column.del(ctx.params);
-    ctx.body = res;
-  }
-  async query() {
-    const { ctx } = this;
-    const res = await ctx.service.column.query(ctx.query);
-    ctx.body = res;
-  }
-  async usercolumnquery() {
-    const { ctx } = this;
-    const res = await ctx.service.column.usercolumnquery(ctx.query);
-    ctx.body = res;
-  }
-  async menuquery() {
-    const { ctx } = this;
-    const res = await ctx.service.column.menuquery(ctx.query);
-    ctx.body = res;
-  }
-}
-
-module.exports = ColumnController;

+ 21 - 10
app/middleware/error_handler.js

@@ -9,17 +9,24 @@ module.exports = () => {
     let mondel = '';
     let methods = '';
     let decode = {};
+    const { AdminUser: model } = ctx.model;
     const date = moment().format('YYYY-MM-DD HH:mm:ss');
-    if (url.indexOf('power') === -1 && method !== 'GET') {
+    if (method !== 'GET') {
       // token
       const tokenstr = ctx.request.header.authorization;
-      const token = tokenstr.substring(7);
-      decode = ctx.app.jwt.verify(token, ctx.app.config.secret);
+      if (tokenstr) {
+        const token = tokenstr.substring(7);
+        decode = ctx.app.jwt.verify(token, ctx.app.config.secret);
+      } else {
+        const { acct } = ctx.request.body;
+        const res = await model.find({ acct });
+        decode = res[0];
+      }
       const str = url.split('/');
       for (let i = 0; i < str.length; i++) {
         const e = str[i];
         if (e !== '' && e !== 'api') {
-          if (e === 'create' || e === 'update' || e === 'delete' || e === 'upload') {
+          if (e === 'create' || e === 'update' || e === 'delete' || e === 'upload' || e === 'login') {
             methods = routerMethod[e];
             if (e === 'delete') {
               break;
@@ -32,19 +39,23 @@ module.exports = () => {
       jsons = { mondel, method: methods, data: body };
     }
     try {
-      if (method !== 'GET' && url.indexOf('power') === -1) {
+      if (method !== 'GET') {
         jsons.result = '成功';
-        jsons.userName = decode.userName;
-        jsons.acct = decode.acct;
+        if (decode) {
+          jsons.userName = decode.userName;
+          jsons.acct = decode.acct;
+        }
         jsons.date = date;
         await ctx.service.log.create(jsons);
       }
       await next();
     } catch (err) {
-      if (method !== 'GET' && url.indexOf('power') === -1) {
+      if (method !== 'GET') {
         jsons.result = '失败';
-        jsons.userName = decode.userName;
-        jsons.acct = decode.acct;
+        if (decode) {
+          jsons.userName = decode.userName || '';
+          jsons.acct = decode.acct;
+        }
         jsons.date = date;
         await ctx.service.log.create(jsons);
       }

+ 0 - 4
app/model/AdminUser.js

@@ -27,10 +27,6 @@ module.exports = app => {
     roleList: {
       type: Array,
     },
-    // 用户栏目绑定组
-    columnList: {
-      type: Array,
-    },
     // 用户状态
     state: {
       type: String,

+ 0 - 23
app/model/Column.js

@@ -1,23 +0,0 @@
-'use strict';
-module.exports = app => {
-  const { mongoose } = app;
-  const { Schema } = mongoose;
-  const ColumnSchema = new Schema({
-    name: {
-      type: String,
-    },
-    code: {
-      type: String,
-    },
-    id: {
-      type: String,
-    },
-    menuList: {
-      type: String,
-    },
-    createAt: {
-      type: String,
-    },
-  });
-  return mongoose.model('Column', ColumnSchema);
-};

+ 2 - 2
app/model/Content.js

@@ -39,8 +39,8 @@ module.exports = app => {
     id: {
       type: String,
     },
-    // 绑定栏目
-    columns: {
+    // 绑定菜单
+    menus: {
       type: String,
     },
     // 文章年

+ 0 - 3
app/model/Menu.js

@@ -30,9 +30,6 @@ module.exports = app => {
     sort: {
       type: Number,
     },
-    columnList: {
-      type: Array,
-    },
     pages: {
       type: String,
     },

+ 0 - 4
app/model/Page.js

@@ -34,10 +34,6 @@ module.exports = app => {
     id: {
       type: String,
     },
-    // 绑定菜单
-    menu: {
-      type: String,
-    },
   });
   return mongoose.model('Page', PageSchema);
 };

+ 20 - 28
app/public/adminMenu.js

@@ -4,7 +4,7 @@ module.exports = [
     title: '内容管理',
     path: '1',
     id: '1',
-    icons: 'el-icon-user-solid',
+    icons: 'el-icon-reading',
     parentId: '',
     module: '@wokes',
   },
@@ -12,47 +12,39 @@ module.exports = [
     title: '菜单管理',
     path: '/wokes/menu',
     id: '1-1',
-    icons: 'el-icon-user-solid',
-    parentId: '1',
-    module: '@wokes',
-  },
-  {
-    title: '栏目管理',
-    path: '/wokes/column',
-    id: '1-2',
-    icons: 'el-icon-user-solid',
+    icons: 'el-icon-menu',
     parentId: '1',
     module: '@wokes',
   },
   {
     title: '文章管理',
     path: '/wokes/content',
-    id: '1-3',
-    icons: 'el-icon-user-solid',
+    id: '1-2',
+    icons: 'el-icon-tickets',
     parentId: '1',
     module: '@wokes',
   },
   {
     title: '单页管理',
     path: '/wokes/pages',
-    id: '1-4',
-    icons: 'el-icon-user-solid',
+    id: '1-3',
+    icons: 'el-icon-document',
     parentId: '1',
     module: '@wokes',
   },
   {
     title: '文件管理',
     path: '/wokes/files',
-    id: '1-5',
-    icons: 'el-icon-user-solid',
+    id: '1-4',
+    icons: 'el-icon-folder-opened',
     parentId: '1',
     module: '@wokes',
   },
   {
     title: '资源管理',
     path: '/wokes/resource',
-    id: '1-6',
-    icons: 'el-icon-user-solid',
+    id: '1-5',
+    icons: 'el-icon-files',
     parentId: '1',
     module: '@wokes',
   },
@@ -61,7 +53,7 @@ module.exports = [
     title: '系统管理',
     path: '2',
     id: '2',
-    icons: 'el-icon-user-solid',
+    icons: 'el-icon-s-operation',
     parentId: '',
     module: '@gaf',
   },
@@ -69,7 +61,7 @@ module.exports = [
     title: '系统用户',
     path: '/gaf/user',
     id: '2-1',
-    icons: 'el-icon-user-solid',
+    icons: 'el-icon-user',
     parentId: '2',
     module: '@gaf',
   },
@@ -77,7 +69,7 @@ module.exports = [
     title: '系统角色',
     path: '/gaf/role',
     id: '2-2',
-    icons: 'el-icon-user-solid',
+    icons: 'el-icon-s-custom',
     parentId: '2',
     module: '@gaf',
   },
@@ -85,7 +77,7 @@ module.exports = [
     title: '用户授权',
     path: '/gaf/userpower',
     id: '2-3',
-    icons: 'el-icon-user-solid',
+    icons: 'el-icon-s-check',
     parentId: '2',
     module: '@gaf',
   },
@@ -93,7 +85,7 @@ module.exports = [
     title: '角色授权',
     path: '/gaf/rolepower',
     id: '2-4',
-    icons: 'el-icon-user-solid',
+    icons: 'el-icon-s-check',
     parentId: '2',
     module: '@gaf',
   },
@@ -101,7 +93,7 @@ module.exports = [
     title: '日志审计',
     path: '/gaf/log',
     id: '2-5',
-    icons: 'el-icon-user-solid',
+    icons: 'el-icon-s-order',
     parentId: '2',
     module: '@gaf',
   },
@@ -110,7 +102,7 @@ module.exports = [
     title: '网站配置',
     path: '3',
     id: '3',
-    icons: 'el-icon-user-solid',
+    icons: 'el-icon-setting',
     parentId: '',
     module: '@wokes',
   },
@@ -118,7 +110,7 @@ module.exports = [
     title: '轮播图配置',
     path: '/wokes/banner',
     id: '3-1',
-    icons: 'el-icon-user-solid',
+    icons: 'el-icon-picture-outline',
     parentId: '3',
     module: '@wokes',
   },
@@ -126,7 +118,7 @@ module.exports = [
     title: '友情链接配置',
     path: '/wokes/links',
     id: '3-2',
-    icons: 'el-icon-user-solid',
+    icons: 'el-icon-link',
     parentId: '3',
     module: '@wokes',
   },
@@ -134,7 +126,7 @@ module.exports = [
     title: '站点配置',
     path: '/wokes/webconfig',
     id: '3-3',
-    icons: 'el-icon-user-solid',
+    icons: 'el-icon-s-platform',
     parentId: '3',
     module: '@wokes',
   },

+ 1 - 8
app/router.js

@@ -21,13 +21,6 @@ module.exports = app => {
   router.post('/api/menu/update', jwt, controller.menu.update);
   router.delete('/api/menu/delete/:id', jwt, controller.menu.del);
   router.get('/api/menu/query', controller.menu.query);
-  // 栏目
-  router.post('/api/column/create', jwt, controller.column.create);
-  router.post('/api/column/update', jwt, controller.column.update);
-  router.delete('/api/column/delete/:id', jwt, controller.column.del);
-  router.get('/api/column/query', controller.column.query);
-  router.get('/api/column/usercolumnquery', controller.column.usercolumnquery);
-  router.get('/api/column/menuquery', controller.column.menuquery);
   // 登录
   router.post('/api/power/login', controller.power.login);
   router.get('/api/power/getUserMenu', controller.power.getUserMenu);
@@ -38,7 +31,7 @@ module.exports = app => {
   router.get('/api/content/query', controller.content.query);
   router.get('/api/content/details/:id', controller.content.details);
   // 修改内容img标签src地址函数
-  // router.get('/api/content/filepath', controller.content.filepath);
+  router.get('/api/content/filepath', controller.content.filepath);
   // 单页
   router.post('/api/page/create', jwt, controller.page.create);
   router.post('/api/page/update', jwt, controller.page.update);

+ 4 - 4
app/service/adminUser.js

@@ -5,7 +5,7 @@ const assert = require('assert');
 const moment = require('moment');
 const crypto = require('crypto');
 class adminUserService extends Service {
-  async create({ acct, password, userName, phone, state, roleList, columnList }) {
+  async create({ acct, password, userName, phone, state, roleList }) {
     assert(acct, '帐号不存在');
     assert(password, '密码不存在');
     assert(userName, '用户名不存在');
@@ -17,18 +17,18 @@ class adminUserService extends Service {
     const hash = crypto.createHmac('sha256', this.app.config.userSecret);
     const pwa = hash.update(password).digest('hex');
     try {
-      const res = await model.create({ acct, password: pwa, userName, phone, createAt, state, roleList, columnList });
+      const res = await model.create({ acct, password: pwa, userName, phone, createAt, state, roleList });
       return { errmsg: '', errcode: 0, res };
     } catch (error) {
       console.log(error);
       throw new Error({ errcode: -2001, errmsg: '添加失败' });
     }
   }
-  async update({ userName, phone, _id, roleList, state, columnList }) {
+  async update({ userName, phone, _id, roleList, state }) {
     assert(_id, 'id不存在');
     const { AdminUser: model } = this.ctx.model;
     try {
-      await model.findById(_id).update({ userName, phone, roleList, state, columnList });
+      await model.findById(_id).update({ userName, phone, roleList, state });
       return { errmsg: '', errcode: 0 };
     } catch (error) {
       console.log(error);

+ 0 - 103
app/service/column.js

@@ -1,103 +0,0 @@
-'use strict';
-
-const Service = require('egg').Service;
-const assert = require('assert');
-const moment = require('moment');
-// const _ = require('lodash');
-class ColumnService extends Service {
-  async create({ name, code, menuList }) {
-    assert(name, '名称不存在');
-    assert(code, '编码不存在');
-    const { Column: model } = this.ctx.model;
-    const createAt = moment().format('x');
-    try {
-      const isdata = await model.find({ code });
-      if (isdata.length > 0) return { errmsg: '编码已存在', errcode: -2001 };
-      await model.create({ name, code, menuList, createAt });
-      return { errmsg: '', errcode: 0 };
-    } catch (error) {
-      throw new Error({ errcode: -2001, errmsg: '添加失败' });
-    }
-  }
-  async update({ name, code, _id, menuList }) {
-    assert(_id, 'id不存在');
-    const { Column: model } = this.ctx.model;
-    try {
-      await model.findById(_id).update({ name, code, menuList });
-      return { errmsg: '', errcode: 0 };
-    } catch (error) {
-      throw new Error({ errcode: -2001, errmsg: '修改失败' });
-    }
-  }
-  async del({ id }) {
-    assert(id, 'id不存在');
-    const { Column: model } = this.ctx.model;
-    const { Content: Contentmodel } = this.ctx.model;
-    try {
-      // 当前数据
-      const res = await model.findById(id);
-      // 复杂查询文章数据
-      const contentList = await Contentmodel.find({ columns: res.code });
-      contentList.filter(async p => {
-        await Contentmodel.findById(p._id).update({ columns: '' });
-      });
-      await model.findById(id).remove();
-      return { errmsg: '', errcode: 0 };
-    } catch (error) {
-      throw new Error({ errcode: -2001, errmsg: '删除失败' });
-    }
-  }
-  async menuquery({ code }) {
-    const { Column: model } = this.ctx.model;
-
-    try {
-      const res = await model.where('menuList').in(code);
-      return { errmsg: '', errcode: 0, data: res };
-    } catch (error) {
-      throw new Error({ errcode: -2001, errmsg: '查询失败' });
-    }
-  }
-  async usercolumnquery() {
-    const { Column: model } = this.ctx.model;
-    const { AdminUser: Usermodel } = this.ctx.model;
-    try {
-      const str = this.ctx.request.header.authorization;
-      const token = str.substring(7);
-      const decode = this.ctx.app.jwt.verify(token, this.app.config.jwt.secret);
-      const columnList = [];
-      const res = await Usermodel.find({ acct: decode.acct });
-      if (res.length > 0) {
-        const usercolumnList = res[0].columnList;
-        if (usercolumnList.length > 0) {
-          for (let i = 0; i < usercolumnList.length; i++) {
-            const item = await model.find({ code: usercolumnList[i] });
-            columnList.push(item[0]);
-          }
-        }
-      }
-      return { errmsg: '', errcode: 0, data: columnList };
-    } catch (error) {
-      throw new Error({ errcode: -2001, errmsg: '查询失败' });
-    }
-  }
-  async query({ skip, limit, name, code }) {
-    const { Column: model } = this.ctx.model;
-    const filter = {};
-    if (name) filter.name = name;
-    if (code) filter.code = code;
-    try {
-      let res;
-      const total = await model.find({ ...filter });
-      if (skip && limit) {
-        res = await model.find({ ...filter }).skip(Number(skip) * Number(limit)).limit(Number(limit));
-      } else {
-        res = await model.find({ ...filter });
-      }
-      return { errmsg: '', errcode: 0, data: res, total: total.length };
-    } catch (error) {
-      throw new Error({ errcode: -2001, errmsg: '查询失败' });
-    }
-  }
-}
-
-module.exports = ColumnService;

+ 12 - 8
app/service/content.js

@@ -4,7 +4,7 @@ const Service = require('egg').Service;
 const assert = require('assert');
 const moment = require('moment');
 class ContentService extends Service {
-  async create({ title, thumbnail, annex, content, istop, columns, date, annexname, term }) {
+  async create({ title, thumbnail, annex, content, istop, menus, date, annexname, term }) {
     assert(title, '标题不存在');
     assert(thumbnail, '缩略图不存在');
     assert(content, '内容不存在');
@@ -15,20 +15,21 @@ class ContentService extends Service {
     const slug = text.substring(0, 200);
     try {
       const year = date.slice(0, 3) + '年';
-      await model.create({ title, slug, thumbnail, annex, content, istop, columns, createAt, year, date, annexname, term, hits: 0 });
+      await model.create({ title, slug, thumbnail, annex, content, istop, menus, createAt, year, date, annexname, term, hits: 0 });
       return { errmsg: '', errcode: 0 };
     } catch (error) {
       throw new Error({ errcode: -2001, errmsg: '添加失败' });
     }
   }
-  async update({ title, thumbnail, annex, content, istop, columns, _id, year, date, annexname }) {
+  async update({ title, thumbnail, annex, content, istop, menus, date, annexname, term, _id }) {
     assert(_id, 'id不存在');
     const { Content: model } = this.ctx.model;
     let text = content.replace(new RegExp('</?[^>]+>', 'gm'), '');
     text = text.replace('\\s*|\t|\r|\n', '');
     const slug = text.substring(0, 200);
+    const year = date.slice(0, 3) + '年';
     try {
-      await model.findById(_id).update({ title, slug, thumbnail, annex, content, istop, columns, year, date, annexname });
+      await model.findById(_id).update({ title, slug, thumbnail, annex, content, istop, menus, year, date, annexname, term });
       return { errmsg: '', errcode: 0 };
     } catch (error) {
       throw new Error({ errcode: -2001, errmsg: '修改失败' });
@@ -59,25 +60,28 @@ class ContentService extends Service {
       throw new Error({ errcode: -2001, errmsg: '删除失败' });
     }
   }
-  async query({ skip, limit, title, columns }) {
+  async query({ skip, limit, title, code }) {
     const { Content: model } = this.ctx.model;
     const filter = {};
     if (title) filter.title = title;
-    if (columns) filter.columns = columns;
+    // 后续修改字段 columns - menus
+    if (code) filter.menus = code;
     let total = 0;
     try {
       let res;
       total = await model.find({ ...filter });
       if (skip && limit) {
-        res = await model.find({ ...filter }, { content: false }).skip(Number(skip) * Number(limit)).limit(Number(limit));
+        res = await model.find({ ...filter }, { content: false }).skip(Number(skip) * Number(limit)).limit(Number(limit))
+          .sort({ date: -1 });
       } else {
-        res = await model.find({ ...filter }, { content: false });
+        res = await model.find({ ...filter }, { content: false }).sort({ date: -1 });
       }
       return { errmsg: '', errcode: 0, data: res, total: total.length };
     } catch (error) {
       throw new Error({ errcode: -2001, errmsg: '查询失败' });
     }
   }
+  // 数据库添加过滤数据方法
   async filepath() {
     const { Content: model } = this.ctx.model;
     try {

+ 12 - 27
app/service/menu.js

@@ -4,7 +4,7 @@ const Service = require('egg').Service;
 const assert = require('assert');
 const moment = require('moment');
 class MenuService extends Service {
-  async create({ name, code, state, type, uri, en, sort }) {
+  async create({ name, code, state, type, uri, en, sort, pages }) {
     assert(name, '名称不存在');
     assert(code, '编码不存在');
     assert(state, '状态不存在');
@@ -16,17 +16,17 @@ class MenuService extends Service {
     try {
       const isdata = await model.find({ code });
       if (isdata.length > 0) return { errmsg: '编码已存在', errcode: -2001 };
-      await model.create({ name, code, createAt, state, type, uri, en, sort: Number(sort) });
+      await model.create({ name, code, createAt, state, type, uri, en, sort: Number(sort), pages });
       return { errmsg: '', errcode: 0 };
     } catch (error) {
       throw new Error({ errcode: -2001, errmsg: '添加失败' });
     }
   }
-  async update({ name, state, _id, uri, en, sort }) {
+  async update({ name, state, _id, uri, en, sort, pages }) {
     assert(_id, 'id不存在');
     const { Menu: model } = this.ctx.model;
     try {
-      await model.findById(_id).update({ name, state, uri, en, sort: Number(sort) });
+      await model.findById(_id).update({ name, state, uri, en, sort: Number(sort), pages });
       return { errmsg: '', errcode: 0 };
     } catch (error) {
       throw new Error({ errcode: -2001, errmsg: '修改失败' });
@@ -36,8 +36,7 @@ class MenuService extends Service {
     assert(id, 'id不存在');
     const { Menu: model } = this.ctx.model;
     const { Role: Rolemodel } = this.ctx.model;
-    const { Page: Pagemodel } = this.ctx.model;
-    const { Column: Columnmodel } = this.ctx.model;
+    const { Content: Contentmodel } = this.ctx.model;
     try {
       const menu = await model.findById(id);
       const roleList = await Rolemodel.where('adminMenuList').in(menu.code);
@@ -46,29 +45,15 @@ class MenuService extends Service {
         await Rolemodel.findById(e._id).update({ adminMenuList });
       });
       switch (menu.type) {
-        case 0: {
+        case '0': {
           // 栏目
-          const menuList = await Columnmodel.find({ menuList: { $in: [ menu.code ] } });
-          menuList.filter(async p => {
-            const menuList = p.menuList.filter(p => p !== menu.code);
-            await Columnmodel.findById(p._id).update({ menuList });
-          });
-          break;
-        }
-        case 2: {
-          // 单页
-          const pageList = await Pagemodel.find({ menu: menu.code });
-          pageList.filter(async p => {
-            await Pagemodel.findById(p._id).update({ menu: null });
-          });
-          break;
-        }
-        case 3: {
-          // 父级
-          const pmenu = await model.find({ pid: menu.code });
-          if (pmenu.length > 0) {
-            return { errmsg: '存在子级菜单,请先删除子级菜单', errcode: -1001 };
+          const list = await Contentmodel.find({ menus: menu.code });
+          if (list.length > 0) {
+            return { errmsg: '存在绑定文章,请先删除文章', errcode: -1001 };
           }
+          // list.filter(async p => {
+          //   await Contentmodel.findById(p._id).update({ menus: '' });
+          // });
           break;
         }
         default: {

+ 10 - 9
app/service/page.js

@@ -4,7 +4,7 @@ const Service = require('egg').Service;
 const assert = require('assert');
 const moment = require('moment');
 class PageService extends Service {
-  async create({ title, annex, content, istop, menu, annexname, date }) {
+  async create({ title, annex, content, istop, annexname, date }) {
     assert(title, '标题不存在');
     assert(content, '内容不存在');
     assert(content, '内容不存在');
@@ -14,25 +14,20 @@ class PageService extends Service {
       let text = content.replace(new RegExp('</?[^>]+>', 'gm'), '');
       text = text.replace('\\s*|\t|\r|\n', '');
       const slug = text.substring(0, 200);
-      const menus = await model.find({ menu });
-      if (menus.length > 0) return { errmsg: '不能重复绑定菜单', errcode: -2001 };
-      await model.create({ title, slug, date, annex, content, istop, menu, createAt, annexname });
+      await model.create({ title, slug, date, annex, content, istop, createAt, annexname });
       return { errmsg: '', errcode: 0 };
     } catch (error) {
       throw new Error({ errcode: -2001, errmsg: '添加失败' });
     }
   }
-  async update({ title, annex, content, istop, menu, _id, annexname, date }) {
+  async update({ title, annex, content, istop, _id, annexname, date }) {
     assert(_id, 'id不存在');
     const { Page: model } = this.ctx.model;
     try {
       let text = content.replace(new RegExp('</?[^>]+>', 'gm'), '');
       text = text.replace('\\s*|\t|\r|\n', '');
       const slug = text.substring(0, 200);
-      const menus = await model.find({ menu });
-      // eslint-disable-next-line eqeqeq
-      if (menus.length > 0 && menus[0]._id != _id) return { errmsg: '不能重复绑定菜单', errcode: -2001 };
-      await model.findById(_id).update({ title, date, slug, annex, content, istop, menu, annexname });
+      await model.findById(_id).update({ title, date, slug, annex, content, istop, annexname });
       return { errmsg: '', errcode: 0 };
     } catch (error) {
       throw new Error({ errcode: -2001, errmsg: '修改失败' });
@@ -41,7 +36,13 @@ class PageService extends Service {
   async del({ id }) {
     assert(id, 'id不存在');
     const { Page: model } = this.ctx.model;
+    const { Menu: Menumodel } = this.ctx.model;
     try {
+      const menulist = await Menumodel.find({ menus: id });
+      menulist.filter(async p => {
+        p.menus = '';
+        await Menumodel.findById(p._id).update(p);
+      });
       await model.findById(id).remove();
       return { errmsg: '', errcode: 0 };
     } catch (error) {

+ 1 - 1
app/service/power.js

@@ -48,7 +48,7 @@ class UserService extends Service {
               const adminMenuList = role[0].adminMenuList;
               for (let i = 0; i < adminMenuList.length; i++) {
                 const item = menu.filter(j => adminMenuList[i] === j.id)[0];
-                if (!menulist.includes(item)) {
+                if (!menulist.includes(item) && item) {
                   menulist.push(item);
                 }
               }

+ 1 - 0
config/routerMethod.js

@@ -8,4 +8,5 @@ module.exports = {
   'update': '修改',
   'delete': '删除',
   'upload': '上传文件',
+  'login': '系统登录',
 };

+ 1 - 0
config/routerMondel.js

@@ -13,4 +13,5 @@ module.exports = {
   'links': '系统用户',
   'banner': '轮播图管理',
   'configuration': '站点配置',
+  'power': '系统鉴权',
 };