调整模块中间件只针对本模块有效,不再是全局,根据eslint整理代码

This commit is contained in:
ap 2021-04-26 11:03:33 +08:00
parent 888a9f84cf
commit 76e868dedc
11 changed files with 50 additions and 21 deletions

View File

@ -15,7 +15,7 @@
"lodash": "^4.17.21",
"md5": "^2.3.0",
"midwayjs-cool-alipay": "^1.0.3",
"midwayjs-cool-core": "^3.1.9",
"midwayjs-cool-core": "^3.2.0",
"midwayjs-cool-oss": "^1.0.12",
"midwayjs-cool-queue": "^1.0.7",
"midwayjs-cool-redis": "^1.1.6",
@ -44,7 +44,7 @@
"node": ">=12.0.0"
},
"scripts": {
"start": "egg-scripts start --daemon --title=cool-admin-midway --framework=@midwayjs/web --port=8001 --sticky",
"start": "egg-scripts start --title=cool-admin-midway --framework=@midwayjs/web --port=8001 --sticky",
"stop": "egg-scripts stop --title=cool-admin-midway",
"start_build": "npm run build && cross-env NODE_ENV=development midway-bin dev",
"docker": "egg-scripts start --title=cool-admin-midway --framework=@midwayjs/web --sticky",

View File

@ -1,10 +1,12 @@
const duration = 0.8;
const delay = 0.3;
// eslint-disable-next-line no-undef
const revealText = document.querySelector('.reveal');
const letters = revealText.textContent.split('');
revealText.textContent = '';
const middle = letters.filter(e => e !== ' ').length / 2;
letters.forEach((letter, i) => {
// eslint-disable-next-line no-undef
const span = document.createElement('span');
span.textContent = letter;
span.style.animationDelay = `${delay + Math.abs(i - middle) * 0.1}s`;

View File

@ -43,5 +43,4 @@ export class BaseSysMenuEntity extends BaseEntity {
@Column({ comment: '父菜单名称', default: true })
isShow: boolean;
}

View File

@ -34,7 +34,7 @@ export class BaseAuthorityMiddleware implements IWebMiddleware {
if (_.startsWith(url, adminUrl)) {
try {
ctx.admin = jwt.verify(token, this.coolConfig.jwt.secret);
} catch (err) { }
} catch (err) {}
// 不需要登录 无需权限校验
if (new RegExp(`^${adminUrl}?.*/open/`).test(url)) {
await next();

View File

@ -11,6 +11,6 @@ export default (app: Application) => {
// 模块描述
description: '演示示例',
// 中间件
middlewares: [],
middlewares: ['testMiddleware'],
} as ModuleConfig;
};

View File

@ -8,13 +8,18 @@ import { DemoGoodsService } from '../../service/goods';
*
*/
@Provide()
@CoolController({
api: ['add', 'delete', 'update', 'info', 'list', 'page'],
entity: DemoAppGoodsEntity,
listQueryOp: {
keyWordLikeFields: ['title'],
@CoolController(
{
api: ['add', 'delete', 'update', 'info', 'list', 'page'],
entity: DemoAppGoodsEntity,
listQueryOp: {
keyWordLikeFields: ['title'],
},
},
})
{
middleware: [],
}
)
export class DemoAppGoodsController extends BaseController {
@Inject()
demoGoodsService: DemoGoodsService;
@ -36,10 +41,13 @@ export class DemoAppGoodsController extends BaseController {
*
*/
@Post('/queue')
async queue(){
this.demoQueue.queue.add({a: 1}, {
removeOnComplete: true,
removeOnFail: true,
});
async queue() {
this.demoQueue.queue.add(
{ a: 1 },
{
removeOnComplete: true,
removeOnFail: true,
}
);
}
}

View File

@ -0,0 +1,20 @@
import { Provide } from '@midwayjs/decorator';
import { IWebMiddleware, IMidwayWebNext } from '@midwayjs/web';
import { Context } from 'egg';
/**
*
*/
@Provide()
export class TestMiddleware implements IWebMiddleware {
resolve() {
return async (ctx: Context, next: IMidwayWebNext) => {
// 控制器前执行的逻辑
const startTime = Date.now();
// 执行下一个 Web 中间件,最后执行到控制器
await next();
// 控制器之后执行的逻辑
console.log(Date.now() - startTime);
};
}
}

View File

@ -11,6 +11,6 @@ export default (app: Application) => {
// 模块描述
description: '上传和管理文件资源',
// 中间件
middlewares: [],
middlewares: ['baseAuthorityMiddleware', 'baseLogMiddleware'],
} as ModuleConfig;
};

View File

@ -11,6 +11,6 @@ export default (app: Application) => {
// 模块描述
description: '任务调度模块支持分布式任务由redis整个集群的任务',
// 中间件
middlewares: [],
middlewares: ['baseAuthorityMiddleware', 'baseLogMiddleware'],
} as ModuleConfig;
};

View File

@ -9,7 +9,7 @@ export default (appInfo: EggAppInfo) => {
type: 'mysql',
host: '127.0.0.1',
port: 3306,
username: 'cool',
username: 'root',
password: '123123',
database: 'cool',
// 自动建表 注意:线上部署的时候不要使用,有可能导致数据丢失

View File

@ -35,7 +35,7 @@ export class ContainerLifeCycle implements ILifeCycle {
@App()
app: Application;
// 应用启动完成
async onReady(container?: IMidwayContainer) { }
async onReady(container?: IMidwayContainer) {}
// 应用停止
async onStop() { }
async onStop() {}
}