Skip to content

cool-admin是一个vue midway集成的后台管理基础权限框架

midway使用了基于koa2框架

前端如何请求的后端

​ 目前使用是按照被封装好的去请求

ts
	 const { service } = useCool();
 
​    service.compare.ediQuery.data({});  //这个是根据后端控制器获取到的接口地址,会生成ts路由文件

image-20250522170758585

后端如何添加控制器

是根据这个修饰词来检测的

ts
@CoolController({
})

如何使用自己写的类

需要在自己的类配置修饰器,这样就可以在其他地方用了,用的时候需要用另一个修饰器来表示 @Inject()

image-20250522171124742

数据库查询

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');

Released under the MIT License.