新增图片空间

This commit is contained in:
啊平 2021-02-26 18:47:57 +08:00
parent 32f169fb76
commit 3bb0271d32
12 changed files with 106 additions and 12 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "cool-admin-next", "name": "cool-admin",
"version": "1.0.0", "version": "3.0.0",
"description": "", "description": "",
"private": true, "private": true,
"dependencies": { "dependencies": {
@ -13,13 +13,11 @@
"ipip-ipdb": "^0.3.0", "ipip-ipdb": "^0.3.0",
"jsonwebtoken": "^8.5.1", "jsonwebtoken": "^8.5.1",
"md5": "^2.3.0", "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-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", "mysql2": "^2.2.5",
"svg-captcha": "^1.4.0", "svg-captcha": "^1.4.0",
"svg-to-dataurl": "^1.0.0", "svg-to-dataurl": "^1.0.0"
"uuid": "^8.3.2"
}, },
"devDependencies": { "devDependencies": {
"@midwayjs/cli": "^1.2.41", "@midwayjs/cli": "^1.2.41",

View File

@ -9,8 +9,8 @@ export default (app: Application) => {
// 模块名称 // 模块名称
name: '权限管理', name: '权限管理',
// 模块描述 // 模块描述
describe: '基础的权限管理功能,包括登录,权限校验', description: '基础的权限管理功能,包括登录,权限校验',
// 中间件 // 中间件
middlewares: ['baseAuthorityMiddleware', 'baseLogMiddleware'], middlewares: [],
} as ModuleConfig; } as ModuleConfig;
}; };

View File

@ -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 {
}

View File

@ -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 {
}

View File

@ -2,6 +2,7 @@ import { Provide, Inject, Get, Post, Body, ALL } from '@midwayjs/decorator';
import { Context } from 'egg'; import { Context } from 'egg';
import { CoolController, BaseController, CoolFile } from 'midwayjs-cool-core'; import { CoolController, BaseController, CoolFile } from 'midwayjs-cool-core';
import { BaseSysUserEntity } from '../../entity/sys/user'; import { BaseSysUserEntity } from '../../entity/sys/user';
import { BaseSysLoginService } from '../../service/sys/login';
import { BaseSysPermsService } from '../../service/sys/perms'; import { BaseSysPermsService } from '../../service/sys/perms';
import { BaseSysUserService } from '../../service/sys/user'; import { BaseSysUserService } from '../../service/sys/user';
@ -18,6 +19,9 @@ export class BaseCommController extends BaseController {
@Inject() @Inject()
baseSysPermsService: BaseSysPermsService; baseSysPermsService: BaseSysPermsService;
@Inject()
baseSysLoginService: BaseSysLoginService;
@Inject() @Inject()
ctx: Context; ctx: Context;
@ -65,4 +69,13 @@ export class BaseCommController extends BaseController {
return this.ok(this.coolFile.getMode()); return this.ok(this.coolFile.getMode());
} }
/**
* 退
*/
@Post('/logout')
async logout() {
await this.baseSysLoginService.logout();
return this.ok();
}
} }

View File

@ -2,6 +2,7 @@ import { Provide } from '@midwayjs/decorator';
import { CoolController, BaseController } from 'midwayjs-cool-core'; import { CoolController, BaseController } from 'midwayjs-cool-core';
import { Context } from 'vm'; import { Context } from 'vm';
import { BaseSysRoleEntity } from '../../../entity/sys/role'; import { BaseSysRoleEntity } from '../../../entity/sys/role';
import { BaseSysRoleService } from '../../../service/sys/role';
/** /**
* *
@ -10,6 +11,7 @@ import { BaseSysRoleEntity } from '../../../entity/sys/role';
@CoolController({ @CoolController({
api: ['add', 'delete', 'update', 'info', 'list', 'page'], api: ['add', 'delete', 'update', 'info', 'list', 'page'],
entity: BaseSysRoleEntity, entity: BaseSysRoleEntity,
service: BaseSysRoleService,
// 新增的时候插入当前用户ID // 新增的时候插入当前用户ID
insertParam: (async (ctx: Context) => { insertParam: (async (ctx: Context) => {
return { return {

View File

@ -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;
}

View File

@ -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;
}

View File

@ -120,6 +120,17 @@ export class BaseSysLoginService extends BaseService {
return result; 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 * @param captchaId ID

View File

@ -52,7 +52,7 @@ export class BaseSysRoleService extends BaseService {
*/ */
async modifyAfter(param) { async modifyAfter(param) {
if (param.id) { if (param.id) {
await this.updatePerms(param.id, param.menuIdList, param.departmentIdList); this.updatePerms(param.id, param.menuIdList, param.departmentIdList);
} }
} }

View File

@ -62,7 +62,7 @@ export default (appInfo: EggAppInfo) => {
// token // token
token: { token: {
// 2小时过期需要用刷新token // 2小时过期需要用刷新token
expire: 2 * 5, expire: 2 * 3600,
// 15天内如果没操作过就需要重新登录 // 15天内如果没操作过就需要重新登录
refreshExpire: 24 * 3600 * 15 refreshExpire: 24 * 3600 * 15
}, },

View File

@ -3,7 +3,7 @@ import { ILifeCycle, IMidwayContainer } from '@midwayjs/core';
import { Application } from 'egg'; import { Application } from 'egg';
import * as orm from '@midwayjs/orm'; import * as orm from '@midwayjs/orm';
import * as cool from 'midwayjs-cool-core'; import * as cool from 'midwayjs-cool-core';
//import * as redis from 'midwayjs-cool-redis'; import * as oss from 'midwayjs-cool-oss';
@Configuration({ @Configuration({
// 注意组件顺序 cool 有依赖orm组件 所以必须放在orm组件之后 cool的其他组件必须放在cool 核心组件之后 // 注意组件顺序 cool 有依赖orm组件 所以必须放在orm组件之后 cool的其他组件必须放在cool 核心组件之后
@ -12,7 +12,7 @@ import * as cool from 'midwayjs-cool-core';
orm, orm,
// 必须,不可移除, cool-admin 官方组件 https://www.cool-js.com // 必须,不可移除, cool-admin 官方组件 https://www.cool-js.com
cool, cool,
//redis oss
] ]
}) })
export class ContainerLifeCycle implements ILifeCycle { export class ContainerLifeCycle implements ILifeCycle {