cool-admin(midway版)一个很酷的后台权限管理框架,模块化、插件化、CRUD极速开发,永久开源免费,基于midway.js 3.x、typescript、typeorm、mysql、jwt、vue3、vite、element-ui等构建
Go to file
2024-04-26 11:00:20 +08:00
.vscode 增加初始化快捷方式 2024-03-15 14:13:03 +08:00
public 移除swagger 2024-03-13 17:13:54 +08:00
src 插件就绪事件示例 2024-04-26 11:00:20 +08:00
test release 7.x 2023-09-28 14:08:24 +08:00
view 集成swagger,优化部分内容 2023-11-18 15:37:31 +08:00
.dockerignore release 7.x 2023-09-28 14:08:24 +08:00
.editorconfig 5.x 2022-03-14 14:46:21 +08:00
.eslintrc.json 新增校验规则 2024-02-18 15:54:20 +08:00
.gitattributes 5.x 2022-03-14 14:46:21 +08:00
.gitignore 发布6.x 2023-03-08 15:36:37 +08:00
.hintrc 发布6.x 2023-03-08 15:36:37 +08:00
.prettierrc.js 5.x 2022-03-14 14:46:21 +08:00
bootstrap.js 5.x 2022-03-14 14:46:21 +08:00
docker-compose.yml 发布6.x 2023-03-08 15:36:37 +08:00
Dockerfile 完善docker配置文件 2024-03-28 13:52:37 +08:00
jest.config.js 5.x 2022-03-14 14:46:21 +08:00
LICENSE 发布6.x 2023-03-08 15:36:37 +08:00
package.json 依赖更新到最新 2024-04-24 09:11:06 +08:00
README.md 部署教程 2024-03-27 13:43:37 +08:00
tsconfig.json 更新启动方式到midway最新,修复多数据源报错BUG 2024-03-20 11:40:56 +08:00

Midway Logo

cool-admin(midway版)一个很酷的后台权限管理系统开源免费模块化、插件化、极速开发CRUD方便快速构建迭代后台管理系统支持serverless、docker、普通服务器等多种方式部署 到 官网 进一步了解。

GitHub license GitHub tag GitHub tag

技术栈

  • 后端:node.js midway.js koa.js typescript
  • 前端:vue.js element-plus jsx pinia vue-router
  • 数据库:mysql postgresql sqlite

如果你是前端,后端的这些技术选型对你是特别友好的,前端开发者可以较快速地上手。 如果你是后端Typescript 的语法又跟 java、php 等特别类似,一切看起来也是那么得熟悉。

如果你想使用 java 版本后端,请移步cool-admin-java

官网

https://cool-js.com

演示

AI 极速编码

https://show.cool-admin.com

  • 账户admin
  • 密码123456

Admin Home

项目前端

https://github.com/cool-team-official/cool-admin-vue

微信群

Admin Wechat

运行

修改数据库配置,配置文件位于src/config/config.local.ts

以 Mysql 为例,其他数据库请参考数据库配置文档

Mysql(>=5.7版本),建议 8.0node 版本(>=16.x),建议 18.x首次启动会自动初始化并导入数据

// mysql驱动已经内置无需安装
typeorm: {
    dataSource: {
      default: {
        type: 'mysql',
        host: '127.0.0.1',
        port: 3306,
        username: 'root',
        password: '123456',
        database: 'cool',
        // 自动建表 注意:线上部署的时候不要使用,有可能导致数据丢失
        synchronize: true,
        // 打印日志
        logging: false,
        // 字符集
        charset: 'utf8mb4',
        // 是否开启缓存
        cache: true,
        // 实体路径
        entities: ['**/modules/*/entity'],
      },
    },
  },

安装依赖并运行

$ npm i
$ npm run dev
$ open http://localhost:8001/

注: npm i如果安装失败可以尝试使用cnpm,或者切换您的镜像源,推荐使用pnpm

CURD(快速增删改查)

大部分的后台管理系统,或者 API 服务都是对数据进行管理,所以可以看到大量的 CRUD 场景(增删改查)cool-admin 对此进行了大量地封装,让这块的编码量变得极其地少。

新建一个数据表

src/modules/demo/entity/goods.ts,项目启动数据库会自动创建该表,无需手动创建

import { BaseEntity } from '@cool-midway/core';
import { Column, Entity, Index } from 'typeorm';

/**
 * 商品
 */
@Entity('demo_app_goods')
export class DemoAppGoodsEntity extends BaseEntity {
  @Column({ comment: '标题' })
  title: string;

  @Column({ comment: '图片' })
  pic: string;

  @Column({ comment: '价格', type: 'decimal', precision: 5, scale: 2 })
  price: number;
}

编写 api 接口

src/modules/demo/controller/app/goods.ts,快速编写 6 个 api 接口

import { CoolController, BaseController } from '@cool-midway/core';
import { DemoAppGoodsEntity } from '../../entity/goods';

/**
 * 商品
 */
@CoolController({
  api: ['add', 'delete', 'update', 'info', 'list', 'page'],
  entity: DemoAppGoodsEntity,
})
export class DemoAppGoodsController extends BaseController {
  /**
   * 其他接口
   */
  @Get('/other')
  async other() {
    return this.ok('hello, cool-admin!!!');
  }
}

这样我们就完成了 6 个接口的编写,对应的接口如下:

  • POST /app/demo/goods/add 新增
  • POST /app/demo/goods/delete 删除
  • POST /app/demo/goods/update 更新
  • GET /app/demo/goods/info 单个信息
  • POST /app/demo/goods/list 列表信息
  • POST /app/demo/goods/page 分页查询(包含模糊查询、字段全匹配等)

部署

部署教程

内置指令

  • 使用 npm run lint 来做代码风格检查。

低价服务器

阿里云、腾讯云、华为云低价云服务器,不限新老