befly 3.18.5 → 3.18.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/apis/api/list.js CHANGED
@@ -15,7 +15,7 @@ export default {
15
15
  const result = await befly.mysql.getList({
16
16
  table: "beflyApi",
17
17
  where: {
18
- $or: [{ name$like: `%${ctx.body.keyword}%` }, { path$like: `%${ctx.body.keyword}%` }]
18
+ $or: [{ name$like: ctx.body.keyword }, { path$like: ctx.body.keyword }]
19
19
  },
20
20
  orderBy: ["id#ASC"],
21
21
  page: ctx.body.page,
package/apis/dict/all.js CHANGED
@@ -1,9 +1,12 @@
1
+ import dictTable from "../../tables/dict.json";
1
2
  export default {
2
3
  name: "获取所有字典",
3
4
  method: "POST",
4
5
  body: "none",
5
- auth: true,
6
- fields: {},
6
+ auth: false,
7
+ fields: {
8
+ typeCode: dictTable.typeCode
9
+ },
7
10
  required: [],
8
11
  handler: async (befly) => {
9
12
  const result = await befly.mysql.getAll({
@@ -2,8 +2,10 @@ export default {
2
2
  name: "获取字典详情",
3
3
  method: "POST",
4
4
  body: "none",
5
- auth: true,
6
- fields: { id: { name: "ID", input: "integer", min: 1, max: null } },
5
+ auth: false,
6
+ fields: {
7
+ id: { name: "ID", input: "integer", min: 1, max: null }
8
+ },
7
9
  required: ["id"],
8
10
  handler: async (befly, ctx) => {
9
11
  const dict = await befly.mysql.getOne({
package/apis/dict/ins.js CHANGED
@@ -1,4 +1,4 @@
1
- import adminDictTable from "../../tables/dict.json";
1
+ import dictTable from "../../tables/dict.json";
2
2
 
3
3
  export default {
4
4
  name: "添加字典",
@@ -6,11 +6,11 @@ export default {
6
6
  body: "none",
7
7
  auth: true,
8
8
  fields: {
9
- typeCode: adminDictTable.typeCode,
10
- key: adminDictTable.key,
11
- label: adminDictTable.label,
12
- sort: adminDictTable.sort,
13
- remark: adminDictTable.remark
9
+ typeCode: dictTable.typeCode,
10
+ key: dictTable.key,
11
+ label: dictTable.label,
12
+ sort: dictTable.sort,
13
+ remark: dictTable.remark
14
14
  },
15
15
  required: ["typeCode", "key", "label"],
16
16
  handler: async (befly, ctx) => {
@@ -4,7 +4,7 @@ export default {
4
4
  name: "获取字典项列表",
5
5
  method: "POST",
6
6
  body: "none",
7
- auth: true,
7
+ auth: false,
8
8
  fields: {
9
9
  typeCode: dictTable.typeCode
10
10
  },
package/apis/dict/list.js CHANGED
@@ -4,7 +4,7 @@ export default {
4
4
  name: "获取字典列表",
5
5
  method: "POST",
6
6
  body: "none",
7
- auth: true,
7
+ auth: false,
8
8
  fields: {
9
9
  page: { name: "页码", input: "integer", min: 1, max: 9999 },
10
10
  limit: { name: "每页数量", input: "integer", min: 1, max: 100 },
@@ -23,8 +23,7 @@ export default {
23
23
  ],
24
24
  fields: ["beflyDict.id", "beflyDict.typeCode", "beflyDict.key", "beflyDict.label", "beflyDict.sort", "beflyDict.remark", "beflyDict.createdAt", "beflyDict.updatedAt", "beflyDictType.name AS typeName"],
25
25
  where: {
26
- "beflyDict.typeCode": ctx.body.typeCode,
27
- $or: [{ "beflyDict.key$like": `%${ctx.body.keyword}%` }, { "beflyDict.label$like": `%${ctx.body.keyword}%` }]
26
+ "beflyDict.typeCode": ctx.body.typeCode
28
27
  },
29
28
  page: ctx.body.page,
30
29
  limit: ctx.body.limit,
package/apis/dict/upd.js CHANGED
@@ -1,4 +1,4 @@
1
- import adminDictTable from "../../tables/dict.json";
1
+ import dictTable from "../../tables/dict.json";
2
2
 
3
3
  export default {
4
4
  name: "更新字典",
@@ -7,11 +7,11 @@ export default {
7
7
  auth: true,
8
8
  fields: {
9
9
  id: { name: "ID", input: "integer", min: 1, max: null },
10
- typeCode: adminDictTable.typeCode,
11
- key: adminDictTable.key,
12
- label: adminDictTable.label,
13
- sort: adminDictTable.sort,
14
- remark: adminDictTable.remark
10
+ typeCode: dictTable.typeCode,
11
+ key: dictTable.key,
12
+ label: dictTable.label,
13
+ sort: dictTable.sort,
14
+ remark: dictTable.remark
15
15
  },
16
16
  required: ["id"],
17
17
  handler: async (befly, ctx) => {
@@ -14,7 +14,7 @@ export default {
14
14
  const result = await befly.mysql.getList({
15
15
  table: "beflyDictType",
16
16
  where: {
17
- name$like: ctx.body.keyword ? `%${ctx.body.keyword}%` : undefined
17
+ name$like: ctx.body.keyword
18
18
  },
19
19
  orderBy: ["sort#ASC", "id#ASC"],
20
20
  page: ctx.body.page,
@@ -292,6 +292,21 @@ function compileOperatorNode(node, quoteIdent) {
292
292
  const escapedField = escapeField(node.field, quoteIdent);
293
293
  const operator = node.operator;
294
294
 
295
+ const buildLikeParam = (value, mode) => {
296
+ validateParam(value);
297
+ const text = String(value);
298
+
299
+ if (mode === "left") {
300
+ return `%${text}`;
301
+ }
302
+
303
+ if (mode === "right") {
304
+ return `${text}%`;
305
+ }
306
+
307
+ return `%${text}%`;
308
+ };
309
+
295
310
  switch (operator) {
296
311
  case "$ne":
297
312
  case "$not":
@@ -315,8 +330,14 @@ function compileOperatorNode(node, quoteIdent) {
315
330
  return { sql: `${escapedField} NOT IN (${placeholders})`, params: params };
316
331
  }
317
332
  case "$like":
318
- validateParam(node.value);
319
- return { sql: `${escapedField} LIKE ?`, params: [node.value] };
333
+ case "like":
334
+ return { sql: `${escapedField} LIKE ?`, params: [buildLikeParam(node.value, "both")] };
335
+ case "$leftLike":
336
+ case "leftLike":
337
+ return { sql: `${escapedField} LIKE ?`, params: [buildLikeParam(node.value, "left")] };
338
+ case "$rightLike":
339
+ case "rightLike":
340
+ return { sql: `${escapedField} LIKE ?`, params: [buildLikeParam(node.value, "right")] };
320
341
  case "$notLike":
321
342
  validateParam(node.value);
322
343
  return { sql: `${escapedField} NOT LIKE ?`, params: [node.value] };
@@ -289,6 +289,14 @@ function buildOperatorNode(fieldName, operator, value) {
289
289
  return { type: "op", field: fieldName, operator: operator, value: value };
290
290
  }
291
291
  return null;
292
+ case "$like":
293
+ case "like":
294
+ case "$leftLike":
295
+ case "leftLike":
296
+ case "$rightLike":
297
+ case "rightLike":
298
+ validateParam(value);
299
+ return { type: "op", field: fieldName, operator: operator, value: value };
292
300
  default:
293
301
  validateParam(value);
294
302
  return { type: "op", field: fieldName, operator: operator, value: value };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "befly",
3
- "version": "3.18.5",
4
- "gitHead": "84757b703a0df82ccfbc685fd661379e2b3d442c",
3
+ "version": "3.18.7",
4
+ "gitHead": "3fa0a8724e2cefb8e888ffc71edef7fb02fed9d8",
5
5
  "private": false,
6
6
  "description": "Befly - 为 Bun 专属打造的 JavaScript API 接口框架核心引擎",
7
7
  "keywords": [