From 3bb0271d3288c80554d1ecfeb6872cce55a5459a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=95=8A=E5=B9=B3?= <951984189@qq.com> Date: Fri, 26 Feb 2021 18:47:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=9B=BE=E7=89=87=E7=A9=BA?= =?UTF-8?q?=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 10 ++++------ src/app/modules/base/config.ts | 4 ++-- .../base/controller/admin/app/space/info.ts | 18 +++++++++++++++++ .../base/controller/admin/app/space/type.ts | 15 ++++++++++++++ src/app/modules/base/controller/admin/comm.ts | 13 ++++++++++++ .../modules/base/controller/admin/sys/role.ts | 2 ++ src/app/modules/base/entity/app/space/info.ts | 20 +++++++++++++++++++ src/app/modules/base/entity/app/space/type.ts | 17 ++++++++++++++++ src/app/modules/base/service/sys/login.ts | 11 ++++++++++ src/app/modules/base/service/sys/role.ts | 2 +- src/config/config.default.ts | 2 +- src/configuration.ts | 4 ++-- 12 files changed, 106 insertions(+), 12 deletions(-) create mode 100644 src/app/modules/base/controller/admin/app/space/info.ts create mode 100644 src/app/modules/base/controller/admin/app/space/type.ts create mode 100644 src/app/modules/base/entity/app/space/info.ts create mode 100644 src/app/modules/base/entity/app/space/type.ts diff --git a/package.json b/package.json index 61cdc54..8587fd0 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { - "name": "cool-admin-next", - "version": "1.0.0", + "name": "cool-admin", + "version": "3.0.0", "description": "", "private": true, "dependencies": { @@ -13,13 +13,11 @@ "ipip-ipdb": "^0.3.0", "jsonwebtoken": "^8.5.1", "md5": "^2.3.0", - "midway-test-component": "^1.0.1", "midwayjs-cool-core": "/Users/ap/Documents/srcs/cool-admin/midway-core/core/dist", - "midwayjs-cool-redis": "file:/Users/ap/Documents/srcs/cool-admin/midway-core/redis/dist", + "midwayjs-cool-oss": "/Users/ap/Documents/srcs/cool-admin/midway-core/oss/dist", "mysql2": "^2.2.5", "svg-captcha": "^1.4.0", - "svg-to-dataurl": "^1.0.0", - "uuid": "^8.3.2" + "svg-to-dataurl": "^1.0.0" }, "devDependencies": { "@midwayjs/cli": "^1.2.41", diff --git a/src/app/modules/base/config.ts b/src/app/modules/base/config.ts index 17b22d4..8851ef2 100644 --- a/src/app/modules/base/config.ts +++ b/src/app/modules/base/config.ts @@ -9,8 +9,8 @@ export default (app: Application) => { // 模块名称 name: '权限管理', // 模块描述 - describe: '基础的权限管理功能,包括登录,权限校验', + description: '基础的权限管理功能,包括登录,权限校验', // 中间件 - middlewares: ['baseAuthorityMiddleware', 'baseLogMiddleware'], + middlewares: [], } as ModuleConfig; }; diff --git a/src/app/modules/base/controller/admin/app/space/info.ts b/src/app/modules/base/controller/admin/app/space/info.ts new file mode 100644 index 0000000..b76f875 --- /dev/null +++ b/src/app/modules/base/controller/admin/app/space/info.ts @@ -0,0 +1,18 @@ +import { Provide } from '@midwayjs/decorator'; +import { CoolController, BaseController } from 'midwayjs-cool-core'; +import { BaseAppSpaceInfoEntity } from '../../../../entity/app/space/info'; + +/** + * 图片空间信息 + */ +@Provide() +@CoolController({ + api: ['add', 'delete', 'update', 'info', 'list', 'page'], + entity: BaseAppSpaceInfoEntity, + pageQueryOp: { + fieldEq: ['type', 'classifyId'] + } +}) +export class BaseAppSpaceInfoController extends BaseController { + +} \ No newline at end of file diff --git a/src/app/modules/base/controller/admin/app/space/type.ts b/src/app/modules/base/controller/admin/app/space/type.ts new file mode 100644 index 0000000..1c7bf65 --- /dev/null +++ b/src/app/modules/base/controller/admin/app/space/type.ts @@ -0,0 +1,15 @@ +import { Provide } from '@midwayjs/decorator'; +import { CoolController, BaseController } from 'midwayjs-cool-core'; +import { BaseAppSpaceTypeEntity } from '../../../../entity/app/space/type'; + +/** + * 空间分类 + */ +@Provide() +@CoolController({ + api: ['add', 'delete', 'update', 'info', 'list', 'page'], + entity: BaseAppSpaceTypeEntity +}) +export class BaseAppSpaceTypeController extends BaseController { + +} \ No newline at end of file diff --git a/src/app/modules/base/controller/admin/comm.ts b/src/app/modules/base/controller/admin/comm.ts index eef228b..10ac8d3 100644 --- a/src/app/modules/base/controller/admin/comm.ts +++ b/src/app/modules/base/controller/admin/comm.ts @@ -2,6 +2,7 @@ import { Provide, Inject, Get, Post, Body, ALL } from '@midwayjs/decorator'; import { Context } from 'egg'; import { CoolController, BaseController, CoolFile } from 'midwayjs-cool-core'; import { BaseSysUserEntity } from '../../entity/sys/user'; +import { BaseSysLoginService } from '../../service/sys/login'; import { BaseSysPermsService } from '../../service/sys/perms'; import { BaseSysUserService } from '../../service/sys/user'; @@ -18,6 +19,9 @@ export class BaseCommController extends BaseController { @Inject() baseSysPermsService: BaseSysPermsService; + @Inject() + baseSysLoginService: BaseSysLoginService; + @Inject() ctx: Context; @@ -65,4 +69,13 @@ export class BaseCommController extends BaseController { return this.ok(this.coolFile.getMode()); } + /** + * 退出 + */ + @Post('/logout') + async logout() { + await this.baseSysLoginService.logout(); + return this.ok(); + } + } \ No newline at end of file diff --git a/src/app/modules/base/controller/admin/sys/role.ts b/src/app/modules/base/controller/admin/sys/role.ts index 1aed75b..837595e 100644 --- a/src/app/modules/base/controller/admin/sys/role.ts +++ b/src/app/modules/base/controller/admin/sys/role.ts @@ -2,6 +2,7 @@ import { Provide } from '@midwayjs/decorator'; import { CoolController, BaseController } from 'midwayjs-cool-core'; import { Context } from 'vm'; import { BaseSysRoleEntity } from '../../../entity/sys/role'; +import { BaseSysRoleService } from '../../../service/sys/role'; /** * 系统角色 @@ -10,6 +11,7 @@ import { BaseSysRoleEntity } from '../../../entity/sys/role'; @CoolController({ api: ['add', 'delete', 'update', 'info', 'list', 'page'], entity: BaseSysRoleEntity, + service: BaseSysRoleService, // 新增的时候插入当前用户ID insertParam: (async (ctx: Context) => { return { diff --git a/src/app/modules/base/entity/app/space/info.ts b/src/app/modules/base/entity/app/space/info.ts new file mode 100644 index 0000000..3273617 --- /dev/null +++ b/src/app/modules/base/entity/app/space/info.ts @@ -0,0 +1,20 @@ +import { EntityModel } from '@midwayjs/orm'; +import { BaseEntity } from 'midwayjs-cool-core'; +import { Column } from 'typeorm'; + +/** + * 文件空间信息 + */ +@EntityModel('base_app_space_info') +export class BaseAppSpaceInfoEntity extends BaseEntity { + + @Column({comment: '地址'}) + url: string; + + @Column({comment: '类型'}) + type: string; + + @Column({comment:'分类ID', type: 'bigint', nullable: true }) + classifyId: number; + +} \ No newline at end of file diff --git a/src/app/modules/base/entity/app/space/type.ts b/src/app/modules/base/entity/app/space/type.ts new file mode 100644 index 0000000..c9f6e05 --- /dev/null +++ b/src/app/modules/base/entity/app/space/type.ts @@ -0,0 +1,17 @@ +import { EntityModel } from '@midwayjs/orm'; +import { BaseEntity } from 'midwayjs-cool-core'; +import { Column } from 'typeorm'; + +/** + * 图片空间信息分类 + */ +@EntityModel('base_app_space_type') +export class BaseAppSpaceTypeEntity extends BaseEntity { + + @Column({ comment: '类别名称' }) + name: string; + + @Column({ comment: '父分类ID', type: 'tinyint', nullable: true }) + parentId: number; + +} \ No newline at end of file diff --git a/src/app/modules/base/service/sys/login.ts b/src/app/modules/base/service/sys/login.ts index 0f725d0..18cf066 100644 --- a/src/app/modules/base/service/sys/login.ts +++ b/src/app/modules/base/service/sys/login.ts @@ -120,6 +120,17 @@ export class BaseSysLoginService extends BaseService { return result; } + /** + * 退出登录 + */ + async logout() { + const { userId } = this.ctx.admin; + await this.coolCache.del(`admin:department:${userId}`); + await this.coolCache.del(`admin:perms:${userId}`); + await this.coolCache.del(`admin:token:${userId}`); + await this.coolCache.del(`admin:token:refresh:${userId}`); + } + /** * 检验图片验证码 * @param captchaId 验证码ID diff --git a/src/app/modules/base/service/sys/role.ts b/src/app/modules/base/service/sys/role.ts index b926805..34a8592 100644 --- a/src/app/modules/base/service/sys/role.ts +++ b/src/app/modules/base/service/sys/role.ts @@ -52,7 +52,7 @@ export class BaseSysRoleService extends BaseService { */ async modifyAfter(param) { if (param.id) { - await this.updatePerms(param.id, param.menuIdList, param.departmentIdList); + this.updatePerms(param.id, param.menuIdList, param.departmentIdList); } } diff --git a/src/config/config.default.ts b/src/config/config.default.ts index 2bf59ab..977d5a3 100644 --- a/src/config/config.default.ts +++ b/src/config/config.default.ts @@ -62,7 +62,7 @@ export default (appInfo: EggAppInfo) => { // token token: { // 2小时过期,需要用刷新token - expire: 2 * 5, + expire: 2 * 3600, // 15天内,如果没操作过就需要重新登录 refreshExpire: 24 * 3600 * 15 }, diff --git a/src/configuration.ts b/src/configuration.ts index a1bee60..87b7e6c 100644 --- a/src/configuration.ts +++ b/src/configuration.ts @@ -3,7 +3,7 @@ import { ILifeCycle, IMidwayContainer } from '@midwayjs/core'; import { Application } from 'egg'; import * as orm from '@midwayjs/orm'; import * as cool from 'midwayjs-cool-core'; -//import * as redis from 'midwayjs-cool-redis'; +import * as oss from 'midwayjs-cool-oss'; @Configuration({ // 注意组件顺序 cool 有依赖orm组件, 所以必须放在,orm组件之后 cool的其他组件必须放在cool 核心组件之后 @@ -12,7 +12,7 @@ import * as cool from 'midwayjs-cool-core'; orm, // 必须,不可移除, cool-admin 官方组件 https://www.cool-js.com cool, - //redis + oss ] }) export class ContainerLifeCycle implements ILifeCycle {