GithubHelp home page GithubHelp logo

buqiyuan / nest-admin Goto Github PK

View Code? Open in Web Editor NEW
976.0 13.0 265.0 917 KB

NestJS CRUD for RESTful API 使用 NestJS + Mysql + Typeorm + Redis + JWT + Swagger 企业中后台管理系统项目RBAC权限管理(细粒度到按钮)、实现单点登录等...

Home Page: http://buqiyuan.gitee.io/vue3-antdv-admin/

License: MIT License

Shell 1.21% JavaScript 0.28% Dockerfile 0.47% PLpgSQL 17.33% TypeScript 80.61% Handlebars 0.09%
nestjs vue3-typescript mysql nestjs-template typeorm nestjs-backend restful-api nestjs-starter-template rabc admin

nest-admin's People

Contributors

buqiyuan avatar eamd-wq avatar gslnzfq avatar haiziohhue avatar kumv-net avatar nnnnzs avatar rankanin avatar stx0821 avatar wuzhangting avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nest-admin's Issues

使用crud工厂出来的swagger数据模型统一被命名为dto

Bug report(问题描述)

多个使用basecurd工厂时,会导致重复命名为dto然后数据模型丢失,只保留一个

将工厂中的@ApiBody({ type: Dto })改为dto可解决

Steps to reproduce(问题复现步骤)

Screenshot or Gif(截图或动态图)

jiejueqian
jiejue

Link to minimal reproduction(最小可在线还原demo)

@ApiTags('goods')
@ApiSecurityAuth()
export class GoodController extends BaseCrudFactory({ entity: GoodEntity, dto: GoodDto }) {
  constructor(private readonly service: GoodService) {
    super(service)
  }
}
@ApiTags('orders')
@ApiSecurityAuth()
export class OrderController extends BaseCrudFactory({ entity: OrderEntity, dto: OrderDto }) {
  constructor(
    private service: OrderService,
  ) {
    super(service)
  }
}

Other relevant information(格外信息)

  • Your OS:
  • Node.js version:
  • Mysql version:
  • Redis version:

1

Feature request(新功能建议)

定时任务bug

Bug report(问题描述)

定时任务按【时间间隔】设置任务,修改创建成功后执行正常;此时编辑时间间隔再保存;定时任务执行一次后就会自动关闭

Steps to reproduce(问题复现步骤)

Screenshot or Gif(截图或动态图)

image

Link to minimal reproduction(最小可在线还原demo)

Other relevant information(格外信息)

  • Your OS: windows 11
  • Node.js version: 18的最新版
  • Mysql version:docker compose文件创建
  • Redis version:docker compose文件创建

sql文件无法导入

image

Bug report(问题描述)

Steps to reproduce(问题复现步骤)

Screenshot or Gif(截图或动态图)

Link to minimal reproduction(最小可在线还原demo)

Other relevant information(格外信息)

  • Your OS:
  • Node.js version:
  • Mysql version:
  • Redis version:

docker compose部署日志【logs】没有挂载到宿主机

Bug report(问题描述)

使用docker compose部署了项目
日志 【logs】 却还存在于容器中

Screenshot or Gif(截图或动态图)

image

Other relevant information(格外信息)

  • Your OS:windows 11
  • Node.js version: 18最新版
  • Mysql version: 通过docker compose安装
  • Redis version: 通过docker compose安装

node mina.js 出错,请问如何解决?

[Nest] 15984 - 2024/02/08 11:25:38 LOG [InstanceLoader] SharedModule dependencies initialized +1ms
[Nest] 15984 - 2024/02/08 11:25:38 LOG [InstanceLoader] MailerModule dependencies initialized +0ms
[Nest] 15984 - 2024/02/08 11:25:38 LOG [InstanceLoader] TypeOrmModule dependencies initialized +0ms
[Nest] 15984 - 2024/02/08 11:25:38 LOG [InstanceLoader] PassportModule dependencies initialized +0ms
[Nest] 15984 - 2024/02/08 11:25:38 LOG [InstanceLoader] SystemModule dependencies initialized +0ms
[Nest] 15984 - 2024/02/08 11:25:38 LOG [InstanceLoader] HttpModule dependencies initialized +0ms
[Nest] 15984 - 2024/02/08 11:25:38 LOG [InstanceLoader] ThrottlerModule dependencies initialized +1ms
[Nest] 15984 - 2024/02/08 11:25:38 LOG [InstanceLoader] ConfigHostModule dependencies initialized +0ms
[Nest] 15984 - 2024/02/08 11:25:38 LOG [InstanceLoader] DiscoveryModule dependencies initialized +0ms
[Nest] 15984 - 2024/02/08 11:25:38 LOG [InstanceLoader] RouterModule dependencies initialized +0ms
[Nest] 15984 - 2024/02/08 11:25:38 LOG [InstanceLoader] ConfigModule dependencies initialized +0ms
[Nest] 15984 - 2024/02/08 11:25:38 LOG [InstanceLoader] ConfigModule dependencies initialized +0ms
[Nest] 15984 - 2024/02/08 11:25:38 ERROR [ExceptionHandler] JwtStrategy requires a secret or key
TypeError: JwtStrategy requires a secret or key
at new JwtStrategy (E:\dev\YorkPorn\nest-admin-main2\node_modules.pnpm\[email protected]\node_modules\passport-jwt\lib\strategy.js:45:15)
at new MixinStrategy (E:\dev\YorkPorn\nest-admin-main2\node_modules.pnpm@nestjs+passport@10.0.3_@nestjs[email protected][email protected]\node_modules@nestjs\passport\dist\passport\passport.strategy.js:32:13)
at new JwtStrategy (E:\dev\YorkPorn\nest-admin-main2\dist\modules\auth\strategies\jwt.strategy.js:24:9)
at Injector.instantiateClass (E:\dev\YorkPorn\nest-admin-main2\node_modules.pnpm@nestjs+core@10.3.2_@nestjs+common@10.3.2_@nestjs[email protected][email protected][email protected]\node_modules@nestjs\core\injector\injector.js:365:19)
at callback (E:\dev\YorkPorn\nest-admin-main2\node_modules.pnpm@nestjs+core@10.3.2_@nestjs+common@10.3.2_@nestjs[email protected][email protected][email protected]\node_modules@nestjs\core\injector\injector.js:65:45)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Injector.resolveConstructorParams (E:\dev\YorkPorn\nest-admin-main2\node_modules.pnpm@nestjs+core@10.3.2_@nestjs+common@10.3.2_@nestjs[email protected][email protected][email protected]\node_modules@nestjs\core\injector\injector.js:144:24)
at async Injector.loadInstance (E:\dev\YorkPorn\nest-admin-main2\node_modules.pnpm@nestjs+core@10.3.2_@nestjs+common@10.3.2_@nestjs[email protected][email protected][email protected]\node_modules@nestjs\core\injector\injector.js:70:13)
at async Injector.loadProvider (E:\dev\YorkPorn\nest-admin-main2\node_modules.pnpm@nestjs+core@10.3.2_@nestjs+common@10.3.2_@nestjs[email protected][email protected][email protected]\node_modules@nestjs\core\injector\injector.js:97:9)
at async E:\dev\YorkPorn\nest-admin-main2\node_modules.pnpm@nestjs+core@10.3.2_@nestjs+common@10.3.2_@nestjs[email protected][email protected][email protected]\node_modules@nestjs\core\injector\instance-loader.js:56:13

新增的所有菜单,使用超管角色登录,接口列表报无权限

新增的菜单,接口列表报无权限

表里新建了一个用户列表菜单,api/admin/sys/dept/list 【接口报无权限,请联系管理员申请权限 】错误

  • 菜单表
  • 用户表
  • 用户角色表
  • 在事件模块controller列表

我新建的事件模块或者其他所有菜单,我使用的超管角色,为啥模块都是接口无权限啊,我想在无@authorize()时接口也可以正常使用

比如:

  @Post('list')
  async info_list(@Body() dto: InfoEventManagementDto): Promise<responResult> {
    return await this.EventManagementService.info_list(dto);
  }

这样接口也能正常不报无权限问题

获取登录图片验证码API报500错误

后台运行起来,获取登录图片验证码API报500错误

你好,我将后台程序运行起来,结果前台登录报500错误,具体错误见如下截图:

image
image

@buqiyuan 你知道这个什么原因导致的吗,望看到回复下,谢谢

在线用户列表

Feature request(新功能建议)

image

nest-admin是否需要加一个在线用户列表?,就像登录日志那样的表格。但是貌似nest-admin没有提供个人设置模块

网盘有个小Bug

src/modules/netdisk/overview/overview.service.ts

blob_io的参数是$bucket,但是space和count是bucket,导致如果有多个bucket的时候space和count统计出来是所有bucket的数据

  getStatisticUrl(type: string, queryParams = {}) {
    const bucketKey = type === 'blob_io' ? '$bucket' : 'bucket'
    const defaultParams = {
      [bucketKey]: this.qiniuConfig.bucket,
      g: 'day',
    }
    const searchParams = new URLSearchParams({ ...defaultParams, ...queryParams })
    return decodeURIComponent(`${OSS_API}/v6/${type}?${searchParams}`)
  }

Mac m1. docker运行报错 [ioredis] Unhandled error event: ReplyError: WRONGPASS invalid username-password pair or user is disabled.

大佬你好,我使用Windows的docker跑项目,没发现报错,使用Macm1 的docker跑的时候报一下错误,就单单按照文档上的步骤跑的。

ioredis官网说redis版本高于6,要设置username,我把docker里的redis降到了5版本,还是报错

没搞懂为什么window和Mac运行不一样

[ioredis] Unhandled error event: ReplyError: WRONGPASS invalid username-password pair or user is disabled.

image

refreshToken问题

  async refreshToken(accessToken: AccessTokenEntity) {
    const { user, refreshToken } = accessToken

    if (refreshToken) {
      const now = dayjs()
      // 判断refreshToken是否过期
      if (now.isAfter(refreshToken.expired_at))
        return null

      const roleIds = await this.roleService.getRoleIdsByUser(user.id)
      const roleValues = await this.roleService.getRoleValues(roleIds)

      // 如果没过期则生成新的access_token和refresh_token
      const token = await this.generateAccessToken(user.id, roleValues)

      await accessToken.remove()
      return token
    }
    return null
  }

refreshToken没有相关接口,refreshToken校验也只用了过期时间匹配,

大佬有关form表单接收数据的问题

Feature request(新功能建议)

大佬,能不能写一个例子来接收form-data表单的数据,就是那种包含文件流跟表单数据的
包含file类型的文件跟jsonstring类型的表单数据,折腾了好几天搞不定.
以前使用的nest+express很容易实现,但是现在项目中使用nest+ Fastify有点搞不定

项目方便集成安全方面的库吗?

Feature request(新功能建议)

helmet和express rate limit都是express. js的库,而大佬你的这个项目底层是基于fastify的,请问fastify有类似的库吗?或者整个项目底层切换成express便捷吗?感谢

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.