cool-admin-api 开源项目最佳实践教程

cool-admin-api 开源项目最佳实践教程

cool-admin-api cool-admin-api 是基于egg.js、typeorm、jwt等封装的api开发脚手架、快速开发api接口 cool-admin-api 项目地址: https://gitcode.com/gh_mirrors/co/cool-admin-api

1. 项目介绍

cool-admin-api 是一个基于 Egg.js、TypeORM、JWT 等技术封装的 API 开发脚手架。它旨在帮助开发者快速搭建后端服务,提供了一系列的基础设施和工具,使得开发者可以专注于业务逻辑的开发,提高开发效率。该项目支持自动生成数据模型、路由、控制器和服务层代码,简化了开发流程。

2. 项目快速启动

环境准备

  • Node.js 版本要求:8.9.0 或以上
  • 需要安装 Redis 和 MySQL

克隆项目

使用 Git 克隆项目到本地:

git clone https://github.com/apgzs/cool-admin-api.git

安装依赖

进入项目目录,安装项目依赖:

cd cool-admin-api
yarn

或者使用 npm:

npm install

运行项目

启动项目:

yarn dev

或者使用 npm:

npm run dev

项目启动后,可以通过 http://localhost:7001 访问。

3. 应用案例和最佳实践

数据模型

app/entities/* 目录下创建数据模型,例如创建一个 SysRole 角色模型:

import { Entity, Column, Index } from 'typeorm';
import { BaseEntity } from 'egg-cool-entity';

@Entity({ name: 'sys_role' })
export default class SysRole extends BaseEntity {
  @Index({ unique: true })
  @Column()
  name: string;

  @Index({ unique: true })
  @Column({ nullable: true })
  label: string;

  @Column({ nullable: true })
  remark: string;
}

控制器

创建控制器,例如 SysRoleController

import { BaseController } from 'egg-cool-controller';
import { Context } from 'egg';
import { routerDecorator } from 'egg-cool-router';
import { Brackets } from 'typeorm';

@routerDecorator.prefix('/admin/sys/role', ['add', 'delete', 'update', 'info', 'list', 'page'])
export default class SysRoleController extends BaseController {
  constructor(ctx: Context) {
    super(ctx);
    this.setEntity(this.ctx.repo.sys.Role);
    this.setPageOption({
      keyWordLikeFields: ['name', 'label'],
      where: new Brackets(qb => {
        qb.where('id != :id', { id: 1 });
      }),
    });
    this.setService(this.service.sys.role);
  }
}

服务层缓存

在服务层使用缓存,例如 BusRankService

import { BaseService } from 'egg-cool-service';
import { Cache } from 'egg-cool-cache';

@Cache({ ttl: 1000 })
export default class BusRankService extends BaseService {
  async rankList() {
    return ['程序猿1号', '程序猿2号', '程序猿3号'];
  }
}

4. 典型生态项目

  • egg-cool-router:用于定义路由,简化路由配置。
  • egg-cool-controller:提供基础的控制器功能。
  • egg-cool-service:服务层基础类,用于业务逻辑处理。
  • egg-cool-cache:缓存注解,用于服务层缓存。
  • egg-cool-entity:实体类基础类,用于数据模型定义。
  • egg-cool-pay:支付组件,支持多种支付方式。
  • egg-cool-es:集成 Elasticsearch 搜索功能。

以上是 cool-admin-api 的最佳实践教程,通过这些实践,开发者可以快速掌握该脚手架的使用方法,高效地开发后端服务。

cool-admin-api cool-admin-api 是基于egg.js、typeorm、jwt等封装的api开发脚手架、快速开发api接口 cool-admin-api 项目地址: https://gitcode.com/gh_mirrors/co/cool-admin-api

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

劳颜甜Hattie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值