1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/ASCIPHX-ThinkTs

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

ThinkTs

  • Поддержка typeorm, лучшей ORM-фреймворк для TypeScript, и лёгкое написание любой логики слоя Dao.
  • Разрешение модификации статического типа и вывода типа для поддержки разработки и обслуживания бэкенда.
  • Модульная разработка упрощает разделение приложения на слои и предоставляет простой в использовании механизм управления модулями.
  • Код АОП написан незаметно, но легко реализовать логирование, перехватчики, фильтры и другие функции.
  • MVC, API, websocket, микросервисы и другие системы строятся быстро, хорошо и яростно.
  • Конфигурация важнее кода, приоритет отдаётся автоматической реализации пяти методов: добавление, удаление, изменение и запрос, а также пагинация, чтобы упростить создание фоновой системы авторизации.
  • С помощью RBAC на уровне полей и подключаемого декоратора промежуточного программного обеспечения функция сборки имеет неограниченные возможности.
  • Поддержка бессерверных технологий, введение маршрутизатора в метод контроллера позволяет легко изменять фоновые страницы или даже записывать данные в файл.
  • Допускается использование нескольких баз данных, если это реляционная база данных, поддерживаемая typeorm. В настоящее время доступны MySQL и Postgres.
  • Добавьте пример каталога socketio demo [по умолчанию версия для управления (пароль Redis по умолчанию — 6543210)].
  • Можно использовать переопределение метода для замены автоматически сгенерированного метода curdp, поэтому нет необходимости беспокоиться о наличии избыточности в маршрутизации.
  • Начиная с ES6, генератор магических функций плюс асинхронность в целом ещё больше повышает эффективность, делая её стабильной и чрезвычайно быстрой.

ThinkTs

Thinkts относится к реализации [ThinkPHP + Nestjs + FastAPI]. Конечно, цель также состоит в том, чтобы помочь менеджерам продуктов. Идея заключается в том, что можно достигать небольшой цели (проекта) каждый день…

Benchmarks🚀

С ThinkTs ваш контроллер выглядит так:

@Class(["add","del","fix","info","page"])//or @Class("/admin",……)or @Class("admin",……)
class Admin extends Controller{
  @Inject(Admin$) readonly a_:Admin$
  @Inject(User$) readonly u_:User$

  @Middle(W.Log,W.V_B("account|1#3~10","pwd#6~23|1"))
  @app.post("register")
  add(@B b,@R r:Response) {
    r.status=202;//Set status code
    return this.u_.register(b.account,b.pwd)
  }
}
/** Здесь показано, как отобразить рендеринг шаблона EJS */
class View{
  @Get() @Get("index.html")
  index(ctx:Context){
    html(ctx,{test:"test",author:"asciphx"}).next().value
  }
  @Get("login.html")
  login(ctx:Context){
    html(ctx,{test:"test",author:"Login"}).next().value
  }
}

И ваша служба выглядит так:

export default class User$ extends $ implements F{
  constructor(
    private u=Inject(User),private r=Inject(Role)
  ) {
    super({
      leftJoin:{e:"u.roles",a:'role'},
      addSelect:['role.id','role.name'],
      where: query => new Brackets(qb => {
        if (query.account) qb.where('account like :v', { v: `%${query.account}%` })
        if (query.id) qb.andWhere('u.id >:i', { i: query.id })
      }),
      orderBy: { "u.id": "desc" }
    },"u")
  }
}

А ваш интерфейс выглядит так:

export default interface UserFace{
  /** register one*/register(entity)
  /** login one*/login(entity)
}

Наконец, пожалуйста, обратитесь к методу написания класса сущности TypeORM

Cache

Особенности

  • Значение по умолчанию для декоратора класса класса — / + имя класса сущности, которое также можно настроить.
  • Автоматическое сканирование каталога контроллеров и настройка маршрутов маршрута.
  • Автоматическое сканирование каталога сущностей и загрузка его в кэш, который эквивалентен контейнеру, позволяющему избежать множественных экземпляров сущности.
  • Автоматическая генерация файла конфигурации маршрута для справки, который находится в каталоге маршрутов.
  • Автоматическая реализация добавления, удаления, изменения и запроса.
  • Теперь добавьте базовый контроллер и сервисный уровень.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
GPL-3.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/ASCIPHX-ThinkTs.git
git@api.gitlife.ru:oschina-mirror/ASCIPHX-ThinkTs.git
oschina-mirror
ASCIPHX-ThinkTs
ASCIPHX-ThinkTs
master