Browse Source

pnpm重新安装依赖

lrf 1 year ago
parent
commit
e1184f6773
6 changed files with 6877 additions and 3 deletions
  1. 2 1
      package.json
  2. 6835 0
      pnpm-lock.yaml
  3. 2 0
      src/configuration.ts
  4. 5 2
      src/filter/customError.filter.ts
  5. 2 0
      src/index.ts
  6. 31 0
      src/middleware/checkToken.middleware.ts

+ 2 - 1
package.json

@@ -44,6 +44,7 @@
     "@midwayjs/upload": "^3.12.7",
     "@types/mime": "^3.0.2",
     "fs-extra": "^11.1.1",
-    "mime": "^3.0.0"
+    "mime": "^3.0.0",
+    "@midwayjs/jwt": "^3.13.7"
   }
 }

File diff suppressed because it is too large
+ 6835 - 0
pnpm-lock.yaml


+ 2 - 0
src/configuration.ts

@@ -11,6 +11,7 @@ import { IMidwayContainer, Inject, MidwayConfigService } from '@midwayjs/core';
 import * as upload from '@midwayjs/upload';
 import { UseFile } from './entity/useFile.entity';
 import { CustomErrorFilter } from './filter/customError.filter';
+import { CheckTokenMiddleware } from './middleware/checkToken.middleware';
 
 const axiosResponse = response => {
   if (response.status === 200) return response.data;
@@ -74,6 +75,7 @@ export class FreeConfiguration {
   }
   async onReady(container: IMidwayContainer) {
     // TODO something
+    this.app.getMiddleware().insertFirst(CheckTokenMiddleware);
     this.app.getMiddleware().insertLast(ResponseMiddleware);
     this.app.useFilter([CustomErrorFilter]);
     // typegoose设置

+ 5 - 2
src/filter/customError.filter.ts

@@ -6,10 +6,13 @@ import { ServiceError } from '../error/service.error';
 export class CustomErrorFilter {
   async catch(err: Error, ctx: Context) {
     // 所有的未分类错误会到这里
-    return {
+    const result: any = {
       errcode: err['code'],
       errmsg: err.message,
-      details: err.stack,
     };
+    if (process.env.NODE_ENV !== 'production') {
+      result.details = err.stack;
+    }
+    return result;
   }
 }

+ 2 - 0
src/index.ts

@@ -18,6 +18,8 @@ export * as meta from './entity/meta';
 export { VOBase } from './interface/VOBase';
 /**返回结果格式化插件 */
 export { ResponseMiddleware } from './middleware/response.middleware';
+export { CheckOnePointLoginMiddleware } from './middleware/checkOnePointLogin.middleware';
+export { CheckTokenMiddleware } from './middleware/checkToken.middleware';
 /**获取model实例的工具函数 */
 export { GetModel } from './util/getModel';
 /**数据库业务服务 */

+ 31 - 0
src/middleware/checkToken.middleware.ts

@@ -0,0 +1,31 @@
+import { IMiddleware } from '@midwayjs/core';
+import { Middleware, Inject } from '@midwayjs/decorator';
+import { NextFunction, Context } from '@midwayjs/koa';
+import get = require('lodash/get');
+import { JwtService } from '@midwayjs/jwt';
+
+@Middleware()
+export class CheckTokenMiddleware implements IMiddleware<Context, NextFunction> {
+  @Inject()
+  jwtService: JwtService;
+  resolve() {
+    return async (ctx: Context, next: NextFunction) => {
+      const token: any = get(ctx.request, 'header.token');
+      if (token) {
+        const data = this.jwtService.decodeSync(token);
+        if (data) ctx.user = data;
+      }
+      // 添加管理员身份
+      const adminToken: any = get(ctx.request, 'header.admin-token');
+      if (adminToken) {
+        const data = this.jwtService.decodeSync(adminToken);
+        if (data) ctx.admin = data;
+      }
+      await next();
+    };
+  }
+
+  static getName(): string {
+    return 'checkToken';
+  }
+}