система разрешений на уровне предприятия nestjs-mysql-api

NestJS

1. Введение проекта

  • 1. ПринятьjavaизMVCКлассическая модель развития (вnestjsтакже может использоваться в разработке на основеangularМодульный режим разработки метода, в зависимости от личных предпочтений), для построения структуры проекта, который также отвечает потребностям внутренней разработки предприятия.
  • 2. Проект основан наmysqlразработка базы данных
  • 3. Используйтеjwtметод аутентификации при входе в систему (детализация касается только полномочий меню)

2. Используйте проект

  • 1, этот проект реализован толькоrbacСистема разрешений, для других функций нужно расширяться на этой основе

  • 2. Сначала создайте базу данных локально

  • 3. В корневом каталоге проекта.envИзмените файл на свою базовую конфигурацию базы данных (адрес, имя пользователя, пароль, базу данных)

  • 4. Запустите команду, сопоставьте класс сущностей с базой данных и создайте таблицу данных.

    npm run generate
    npm run db
    
  • 5. Запустите проект

    npm run start:dev
    
  • 6. При выполнении пятого шага данные меню и данные пользователя будут инициализированы по умолчанию (учетная запись:admin, Пароль: 123456)

  • 7. Если вы хотите инициализировать другие данные, вы можетеsrc/services/init-dbЗапишите данные, которые вы хотите инициализировать в

2. Основные функции

  • реализовать вход пользователя,jwtАутентификация

  • Если вы преобразуете существующий проект в новый проект (на основе существующей таблицы данных), вы можете попробовать использовать команду

    # 会将数据库文件映射生成typeORM的实体类
    npm run db1
    
  • Если вы новый проект, вы можете использовать миграцию данных, классы сущностей, которые вы пишете, когда вам нужно вручную сопоставить базу данных

    npm run generate
    npm run db
    
  • на основеRBACРеализовать контроль разрешений

    В проекте используется метод на основе учетной записи для замены пользовательского (расширение, когда у пользователя может быть несколько учетных записей), поэтому после получения проекта общий процесс

    • Сначала создайте пользователя
    • Свяжите соответствующего пользователя при создании учетной записи

  • При создании учетной записи вы можете выбрать роль, соответствующую учетной записи

  • При создании роли список разрешений отображается в виде древовидной структуры, и можно выбрать соответствующие разрешения.

  • Управление словарем в основном используется для настройки раскрывающегося списка в проекте.

  • существуетmoduleНесколько модулей одинаково упакованы в

    • codeмодуль проверочного кода
    • fileэто файловый модуль
      • upload-imgЗагрузка изображения, вы можете загрузить его в локальное хранилище и в облако Alibaba.ossначальство
      • upload-excelимпортexcelдокумент
    • redis-utilsзаключает в себе несколькоredisмодуль
    • yunpian-smsИменно Yunpian.com отправляет текстовые сообщения на мобильные телефоны.
  • ecosystem.config.jsсостоит в том, чтобы принятьPM2Файл конфигурации после разработки проекта напрямую запускает команду развертывания одним щелчком мыши.

    npm run build
    npm run pm2:prod
    
  • Лог-система не разработана и не используется напрямуюPM2Просмотр журналов

    pm2 log
    

три,гитхаб-адрес, если вы думаете, что это хорошо, поставьте мне лайк