cool-admin是一个vue midway集成的后台管理基础权限框架
midway使用了基于koa2框架
前端如何请求的后端
目前使用是按照被封装好的去请求
ts
const { service } = useCool();
service.compare.ediQuery.data({}); //这个是根据后端控制器获取到的接口地址,会生成ts路由文件
后端如何添加控制器
是根据这个修饰词来检测的
ts
@CoolController({
})如何使用自己写的类
需要在自己的类配置修饰器,这样就可以在其他地方用了,用的时候需要用另一个修饰器来表示 @Inject()

数据库查询
ts
/**
* 查询同屏比对详情
* @param id
*/
async getEdiQuery(id: number) {
return await this.ediHeaderEntity
.createQueryBuilder('h')
.where('h.id = :id', { id: id })
.leftJoin('running_package', 'r', 'r.id = h.id')
.select('h.*, r.xray_image_relative_path')
.getRawOne();
}midwayjs将文件上传到根目录如何访问
ts
// config/config.default.ts
import { join } from 'path';
export default {
staticFile: {
dirs: {
default: {
prefix: '/files', // 访问前缀(如 http://localhost:7001/files/xxx.jpg)
dir: join(process.cwd(), 'uploads'), // 指向根目录下的 uploads 文件夹
},
// 可以配置多个目录
another: {
prefix: '/public',
dir: join(process.cwd(), 'public'),
},
},
},
};获取目录,创建目录
ts
import { writeFileSync, mkdirSync, existsSync } from 'fs';
if (!existsSync(userDir)) {
mkdirSync(userDir, { recursive: true }); // 自动创建目录
}
writeFileSync(filePath, file.data);
{
'app.getAppDir()': this.app.getAppDir(),
'process.cwd()': process.cwd(),
'__dirname': __dirname,
}
app.getAppDir() ⭐⭐⭐⭐ Midway 官方推荐,兼容性最佳
process.cwd() ⭐⭐⭐ Node.js 原生方法,但受启动目录影响
__dirname 回溯 ⭐⭐ 依赖文件位置,灵活性差时间获取处理
ts
//有这个包 moment
import * as moment from 'moment';
moment().format('YYYY-MM-DD HH:mm:ss');