提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
提示:这里可以添加本文要记录的大概内容:
现在项目已经启动起来了,我们尝试在后端通过代码配置自动生成数据库表和crud接口
提示:以下是本篇文章正文内容,下面案例可供参考
一、创建video目录以及其它子目录
在进行这一步时,我建议先把后端服务停掉。
在 cool-admin-midway/src/modules
目录下创建以下目录结构。
video
├──controller
│ └───admin
│ └──category.ts
├──entity
│ └───category.ts
│
├──service
│ └───category.ts
└──config.ts
1、config.ts
这部分先简单配置一下
import { ModuleConfig } from '@cool-midway/core';
/**
* 模块配置
*/
export default () => {
return {
// 模块名称
name: 'video模块',
// 模块描述
description: '用于管理视频',
// 中间件,只对本模块有效
middlewares: [],
// 中间件,全局有效
globalMiddlewares: [],
// 模块加载顺序,默认为0,值越大越优先加载
order: 0,
} as ModuleConfig;
};
2、entity/category.ts
因为id以及创建时间、更新时间会自动生成,所以我们这里可以不用编写。
import { BaseEntity } from '@cool-midway/core';
import { Entity, Column, Index } from 'typeorm';
/**
* 视频模块-视频分类
*/
@Entity('video_category')
export class VideoCategoryEntity extends BaseEntity {
@Column({ default: 0, comment: '父节点id,根节点为0' })
parentId: number;
@Column({ comment: '分类名称', length: 50 })
name: string;
@Column({ comment: '分类等级', type: 'tinyint' })
level: number;
@Column({ comment: '排序号' })
displayOrder: number;
}
3.controller/category.ts
import { CoolController, BaseController } from '@cool-midway/core';
import { VideoCategoryEntity } from '../../entity/category';
/**
* 用户-地址
*/
@CoolController({
api: ['add', 'delete', 'update', 'info', 'list', 'page'],
entity: VideoCategoryEntity,
})
export class AdminUserAddressesController extends BaseController {}
二、自动生成数据库表
输入 npm run dev
运行,之后会在数据库里生成对应的表 video_category
,并且已经生成了 'add', 'delete', 'update', 'info', 'list', 'page'
接口。
三、前端配置菜单页面
现在我们配置好了接口就可以在前端通过配置自动生成前端页面代码了。
1、在系统管理-权限管理-菜单列表页面点击新增添加视频管理菜单目录
2、同样是在这个页面,点击快速创建,如下图。这样前端代码就已经自动生成了,页面也有了。
但是自动生成的可能不太符合我们的需求,所以下一节我们将其改造一下。