cool-team-official / cool-admin-midway

🔥 cool-admin(midway版)一个很酷的后台权限管理框架,Ai编码、流程编排、模块化、插件化、CRUD极速开发,永久开源免费,基于midway.js 3.x、typescript、typeorm、mysql、jwt、vue3、vite、element-ui等构建
https://cool-js.com
MIT License
2.65k stars 588 forks source link

page接口报错 SelectQueryBuilder.addOrderBy "order" can accept only "ASC" and "DESC" values. #19

Closed Alioth1017 closed 3 years ago

Alioth1017 commented 3 years ago

midwayjs-cool-core\service\base.js 方法:getOptionFind // 接口请求的排序处

for (const i in sorts) {
    find.addOrderBy(orders[i], sorts[i]);
}

此处的sorts特定情况下会被污染读取到原型链上的属性导致接口报错 需修改成如下 sorts.forEach((_,i)=>find.addOrderBy(orders[i], sorts[i]))

cool-team-official commented 3 years ago

报错很明显了, 排序方式错误sorts[i]需要是“ASC”或者“DESC”

Alioth1017 commented 3 years ago

传入的是DESC 但是因为原型链上的属性也加入到了排序中 导致报错

Alioth1017 commented 3 years ago

参数信息如下: node版本:v14.16.0 微信图片编辑_20210418222935 第一次取值正确: 微信图片编辑_20210418222946 第二次开始取原型链上的属性: 微信图片编辑_20210418222953

cool-team-official commented 3 years ago

代码是怎么写的呢

Alioth1017 commented 3 years ago

用的框架自动生成的page接口 /admin/base/sys/param/page