@befly-addon/admin 1.1.30 → 1.1.31

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.
Files changed (111) hide show
  1. package/apis/admin/cacheRefresh.ts +29 -21
  2. package/apis/admin/del.ts +10 -10
  3. package/apis/admin/detail.ts +7 -7
  4. package/apis/admin/ins.ts +11 -11
  5. package/apis/admin/list.ts +10 -10
  6. package/apis/admin/upd.ts +14 -14
  7. package/apis/api/all.ts +8 -8
  8. package/apis/api/list.ts +10 -10
  9. package/apis/auth/login.ts +43 -43
  10. package/apis/auth/sendSmsCode.ts +6 -6
  11. package/apis/dashboard/configStatus.ts +18 -18
  12. package/apis/dashboard/environmentInfo.ts +12 -12
  13. package/apis/dashboard/performanceMetrics.ts +5 -5
  14. package/apis/dashboard/permissionStats.ts +7 -7
  15. package/apis/dashboard/serviceStatus.ts +29 -29
  16. package/apis/dashboard/systemInfo.ts +5 -5
  17. package/apis/dashboard/systemOverview.ts +7 -7
  18. package/apis/dashboard/systemResources.ts +8 -8
  19. package/apis/dict/all.ts +16 -16
  20. package/apis/dict/del.ts +6 -6
  21. package/apis/dict/detail.ts +19 -19
  22. package/apis/dict/ins.ts +9 -9
  23. package/apis/dict/items.ts +8 -8
  24. package/apis/dict/list.ts +22 -22
  25. package/apis/dict/upd.ts +11 -11
  26. package/apis/dictType/all.ts +5 -5
  27. package/apis/dictType/del.ts +8 -8
  28. package/apis/dictType/detail.ts +6 -6
  29. package/apis/dictType/ins.ts +7 -7
  30. package/apis/dictType/list.ts +8 -10
  31. package/apis/dictType/upd.ts +8 -8
  32. package/apis/email/config.ts +4 -4
  33. package/apis/email/logList.ts +8 -8
  34. package/apis/email/send.ts +18 -18
  35. package/apis/email/verify.ts +5 -5
  36. package/apis/loginLog/list.ts +8 -8
  37. package/apis/menu/all.ts +16 -18
  38. package/apis/menu/list.ts +12 -12
  39. package/apis/operateLog/list.ts +8 -8
  40. package/apis/role/all.ts +7 -7
  41. package/apis/role/apiSave.ts +10 -13
  42. package/apis/role/apis.ts +7 -12
  43. package/apis/role/del.ts +14 -14
  44. package/apis/role/detail.ts +6 -6
  45. package/apis/role/ins.ts +10 -10
  46. package/apis/role/list.ts +11 -11
  47. package/apis/role/menuSave.ts +8 -11
  48. package/apis/role/menus.ts +7 -12
  49. package/apis/role/save.ts +12 -12
  50. package/apis/role/upd.ts +10 -10
  51. package/apis/sysConfig/all.ts +5 -5
  52. package/apis/sysConfig/del.ts +9 -9
  53. package/apis/sysConfig/get.ts +9 -9
  54. package/apis/sysConfig/ins.ts +11 -11
  55. package/apis/sysConfig/list.ts +9 -9
  56. package/apis/sysConfig/upd.ts +10 -10
  57. package/libs/emailHelper.ts +7 -7
  58. package/package.json +46 -34
  59. package/plugins/email.ts +9 -9
  60. package/tables/role.json +4 -2
  61. package/views/403_1/index.vue +19 -3
  62. package/views/config/dict/components/edit.vue +26 -28
  63. package/views/config/dict/index.vue +88 -52
  64. package/views/config/dictType/components/edit.vue +22 -23
  65. package/views/config/dictType/index.vue +82 -46
  66. package/views/config/index.vue +12 -0
  67. package/views/config/system/components/edit.vue +36 -36
  68. package/views/config/system/index.vue +79 -50
  69. package/views/index/components/addonList.vue +3 -3
  70. package/views/index/components/environmentInfo.vue +10 -10
  71. package/views/index/components/operationLogs.vue +10 -10
  72. package/views/index/components/performanceMetrics.vue +8 -8
  73. package/views/index/components/quickActions.vue +3 -3
  74. package/views/index/components/serviceStatus.vue +19 -19
  75. package/views/index/components/systemNotifications.vue +12 -12
  76. package/views/index/components/systemOverview.vue +7 -7
  77. package/views/index/components/systemResources.vue +11 -11
  78. package/views/index/components/userInfo.vue +20 -19
  79. package/views/index/index.vue +12 -5
  80. package/views/log/email/index.vue +58 -51
  81. package/views/log/index.vue +12 -0
  82. package/views/log/login/index.vue +45 -38
  83. package/views/log/operate/index.vue +55 -48
  84. package/views/login_1/index.vue +25 -18
  85. package/views/people/admin/components/edit.vue +25 -26
  86. package/views/people/admin/index.vue +76 -40
  87. package/views/people/index.vue +12 -0
  88. package/views/permission/api/index.vue +21 -15
  89. package/views/permission/index.vue +12 -0
  90. package/views/permission/menu/index.vue +31 -16
  91. package/views/permission/role/components/api.vue +21 -21
  92. package/views/permission/role/components/edit.vue +18 -18
  93. package/views/permission/role/components/menu.vue +14 -16
  94. package/views/permission/role/index.vue +84 -49
  95. package/views/403_1/meta.json +0 -4
  96. package/views/config/dict/meta.json +0 -4
  97. package/views/config/dictType/meta.json +0 -4
  98. package/views/config/meta.json +0 -4
  99. package/views/config/system/meta.json +0 -4
  100. package/views/index/meta.json +0 -4
  101. package/views/log/email/meta.json +0 -4
  102. package/views/log/login/meta.json +0 -4
  103. package/views/log/meta.json +0 -4
  104. package/views/log/operate/meta.json +0 -4
  105. package/views/login_1/meta.json +0 -4
  106. package/views/people/admin/meta.json +0 -4
  107. package/views/people/meta.json +0 -4
  108. package/views/permission/api/meta.json +0 -4
  109. package/views/permission/menu/meta.json +0 -4
  110. package/views/permission/meta.json +0 -4
  111. package/views/permission/role/meta.json +0 -4
@@ -1,23 +1,23 @@
1
- export default {
2
- name: '获取配置状态',
3
- handler: async (befly, ctx) => {
1
+ export default {
2
+ name: "获取配置状态",
3
+ handler: async (befly) => {
4
4
  const status = {
5
- database: { status: 'ok', latency: 0 },
6
- redis: { status: 'ok', latency: 0 },
7
- fileSystem: { status: 'ok' },
8
- email: { status: 'warning', message: '未配置' },
9
- oss: { status: 'warning', message: '未配置' }
5
+ database: { status: "ok", latency: 0 },
6
+ redis: { status: "ok", latency: 0 },
7
+ fileSystem: { status: "ok" },
8
+ email: { status: "warning", message: "未配置" },
9
+ oss: { status: "warning", message: "未配置" }
10
10
  };
11
11
 
12
12
  // 检查数据库连接
13
13
  try {
14
14
  const startTime = Date.now();
15
- await befly.db.query('SELECT 1');
15
+ await befly.db.query("SELECT 1");
16
16
  status.database.latency = Date.now() - startTime;
17
- status.database.status = 'ok';
18
- } catch (error) {
19
- status.database.status = 'error';
20
- status.database.message = '连接失败';
17
+ status.database.status = "ok";
18
+ } catch {
19
+ status.database.status = "error";
20
+ status.database.message = "连接失败";
21
21
  }
22
22
 
23
23
  // 检查 Redis 连接
@@ -25,12 +25,12 @@
25
25
  const startTime = Date.now();
26
26
  await befly.redis.ping();
27
27
  status.redis.latency = Date.now() - startTime;
28
- status.redis.status = 'ok';
29
- } catch (error) {
30
- status.redis.status = 'error';
31
- status.redis.message = '连接失败';
28
+ status.redis.status = "ok";
29
+ } catch {
30
+ status.redis.status = "error";
31
+ status.redis.message = "连接失败";
32
32
  }
33
33
 
34
- return befly.tool.Yes('获取成功', status);
34
+ return befly.tool.Yes("获取成功", status);
35
35
  }
36
36
  };
@@ -1,32 +1,32 @@
1
- import os from 'node:os';
1
+ import os from "node:os";
2
2
 
3
3
  export default {
4
- name: '获取运行环境信息',
5
- handler: async (befly, ctx) => {
4
+ name: "获取运行环境信息",
5
+ handler: async (befly) => {
6
6
  // 获取数据库版本
7
- let databaseVersion = 'Unknown';
7
+ let databaseVersion = "Unknown";
8
8
  try {
9
- const versionResult = await befly.db.query('SELECT VERSION() as version');
10
- databaseVersion = versionResult?.[0]?.version || 'Unknown';
11
- } catch (error) {
9
+ const versionResult = await befly.db.query("SELECT VERSION() as version");
10
+ databaseVersion = versionResult?.[0]?.version || "Unknown";
11
+ } catch {
12
12
  // 忽略错误
13
13
  }
14
14
 
15
15
  // 获取 Redis 版本
16
- let redisVersion = '未配置';
16
+ let redisVersion = "未配置";
17
17
  if (befly.redis) {
18
18
  try {
19
- const info = await befly.redis.info('server');
19
+ const info = await befly.redis.info("server");
20
20
  const match = info.match(/redis_version:([^\r\n]+)/);
21
21
  if (match) {
22
22
  redisVersion = match[1];
23
23
  }
24
- } catch (error) {
25
- redisVersion = '未知';
24
+ } catch {
25
+ redisVersion = "未知";
26
26
  }
27
27
  }
28
28
 
29
- return befly.tool.Yes('获取成功', {
29
+ return befly.tool.Yes("获取成功", {
30
30
  os: `${os.type()} ${os.arch()}`,
31
31
  server: `${os.platform()} ${os.release()}`,
32
32
  nodeVersion: process.version,
@@ -1,15 +1,15 @@
1
- export default {
2
- name: '获取性能指标',
3
- handler: async (befly, ctx) => {
1
+ export default {
2
+ name: "获取性能指标",
3
+ handler: async (befly) => {
4
4
  // 实际项目中,这些数据应该从监控系统或日志中获取
5
5
  // 这里提供示例数据结构
6
- return befly.tool.Yes('获取成功', {
6
+ return befly.tool.Yes("获取成功", {
7
7
  avgResponseTime: 125,
8
8
  qps: 856,
9
9
  errorRate: 0.8,
10
10
  activeConnections: 45,
11
11
  slowestApi: {
12
- path: '/addon/admin/menuList',
12
+ path: "/addon/admin/menuList",
13
13
  time: 450
14
14
  }
15
15
  });
@@ -1,22 +1,22 @@
1
- export default {
2
- name: '获取权限统计',
3
- handler: async (befly, ctx) => {
1
+ export default {
2
+ name: "获取权限统计",
3
+ handler: async (befly) => {
4
4
  // 统计菜单数量
5
5
  const menuCount = await befly.db.count({
6
- table: 'addon_admin_menu'
6
+ table: "addon_admin_menu"
7
7
  });
8
8
 
9
9
  // 统计接口数量
10
10
  const apiCount = await befly.db.count({
11
- table: 'addon_admin_api'
11
+ table: "addon_admin_api"
12
12
  });
13
13
 
14
14
  // 统计角色数量
15
15
  const roleCount = await befly.db.count({
16
- table: 'addon_admin_role'
16
+ table: "addon_admin_role"
17
17
  });
18
18
 
19
- return befly.tool.Yes('获取成功', {
19
+ return befly.tool.Yes("获取成功", {
20
20
  menuCount: menuCount,
21
21
  apiCount: apiCount,
22
22
  roleCount: roleCount
@@ -1,24 +1,24 @@
1
- export default {
2
- name: '获取服务状态',
3
- handler: async (befly, ctx) => {
1
+ export default {
2
+ name: "获取服务状态",
3
+ handler: async (befly) => {
4
4
  const services = [];
5
5
 
6
6
  // 数据库状态
7
7
  try {
8
8
  const startTime = Date.now();
9
- await befly.db.query('SELECT 1');
9
+ await befly.db.query("SELECT 1");
10
10
  const responseTime = Date.now() - startTime;
11
11
  services.push({
12
- name: '数据库',
13
- status: 'running',
12
+ name: "数据库",
13
+ status: "running",
14
14
  responseTime: `${responseTime}ms`
15
15
  });
16
16
  } catch (error) {
17
- befly.logger.error({ err: error }, '数据库状态检测失败');
17
+ befly.logger.error({ err: error }, "数据库状态检测失败");
18
18
  services.push({
19
- name: '数据库',
20
- status: 'stopped',
21
- responseTime: '-'
19
+ name: "数据库",
20
+ status: "stopped",
21
+ responseTime: "-"
22
22
  });
23
23
  }
24
24
 
@@ -29,47 +29,47 @@
29
29
  await befly.redis.ping();
30
30
  const responseTime = Date.now() - startTime;
31
31
  services.push({
32
- name: 'Redis',
33
- status: 'running',
32
+ name: "Redis",
33
+ status: "running",
34
34
  responseTime: `${responseTime}ms`
35
35
  });
36
36
  } catch (error) {
37
- befly.logger.error({ err: error }, 'Redis状态检测失败');
37
+ befly.logger.error({ err: error }, "Redis状态检测失败");
38
38
  services.push({
39
- name: 'Redis',
40
- status: 'stopped',
41
- responseTime: '-'
39
+ name: "Redis",
40
+ status: "stopped",
41
+ responseTime: "-"
42
42
  });
43
43
  }
44
44
  } else {
45
45
  services.push({
46
- name: 'Redis',
47
- status: 'stopped',
48
- responseTime: '-'
46
+ name: "Redis",
47
+ status: "stopped",
48
+ responseTime: "-"
49
49
  });
50
50
  }
51
51
 
52
52
  // 文件系统状态
53
53
  services.push({
54
- name: '文件系统',
55
- status: 'running',
56
- responseTime: '-'
54
+ name: "文件系统",
55
+ status: "running",
56
+ responseTime: "-"
57
57
  });
58
58
 
59
59
  // 邮件服务状态(示例)
60
60
  services.push({
61
- name: '邮件服务',
62
- status: 'unconfigured',
63
- responseTime: '-'
61
+ name: "邮件服务",
62
+ status: "unconfigured",
63
+ responseTime: "-"
64
64
  });
65
65
 
66
66
  // OSS存储状态(示例)
67
67
  services.push({
68
- name: 'OSS存储',
69
- status: 'unconfigured',
70
- responseTime: '-'
68
+ name: "OSS存储",
69
+ status: "unconfigured",
70
+ responseTime: "-"
71
71
  });
72
72
 
73
- return befly.tool.Yes('获取成功', { services });
73
+ return befly.tool.Yes("获取成功", { services });
74
74
  }
75
75
  };
@@ -1,6 +1,6 @@
1
- export default {
2
- name: '获取系统信息',
3
- handler: async (befly, ctx) => {
1
+ export default {
2
+ name: "获取系统信息",
3
+ handler: async (befly) => {
4
4
  // 系统启动时间(从进程启动时间计算)
5
5
  const startTime = Date.now() - Math.floor(process.uptime() * 1000);
6
6
 
@@ -8,9 +8,9 @@
8
8
  const uptime = Math.floor(process.uptime() * 1000);
9
9
 
10
10
  // 环境
11
- const environment = Env.NODE_ENV || 'development';
11
+ const environment = Env.NODE_ENV || "development";
12
12
 
13
- return befly.tool.Yes('获取成功', {
13
+ return befly.tool.Yes("获取成功", {
14
14
  environment: environment,
15
15
  startTime: startTime,
16
16
  uptime: uptime
@@ -1,23 +1,23 @@
1
- export default {
2
- name: '获取系统概览数据',
3
- handler: async (befly, ctx) => {
1
+ export default {
2
+ name: "获取系统概览数据",
3
+ handler: async (befly) => {
4
4
  // 权限统计
5
5
  const menuCount = await befly.db.getCount({
6
- table: 'addon_admin_menu',
6
+ table: "addon_admin_menu",
7
7
  where: { state: 1 }
8
8
  });
9
9
 
10
10
  const roleCount = await befly.db.getCount({
11
- table: 'addon_admin_role',
11
+ table: "addon_admin_role",
12
12
  where: { state: 1 }
13
13
  });
14
14
 
15
15
  const apiCount = await befly.db.getCount({
16
- table: 'addon_admin_api',
16
+ table: "addon_admin_api",
17
17
  where: { state: 1 }
18
18
  });
19
19
 
20
- return befly.tool.Yes('获取成功', {
20
+ return befly.tool.Yes("获取成功", {
21
21
  menuCount,
22
22
  roleCount,
23
23
  apiCount
@@ -1,12 +1,12 @@
1
- import os from 'node:os';
2
- import fs from 'node:fs';
3
- import { promisify } from 'node:util';
1
+ import fs from "node:fs";
2
+ import os from "node:os";
3
+ import { promisify } from "node:util";
4
4
 
5
5
  export default {
6
- name: '获取系统资源',
6
+ name: "获取系统资源",
7
7
  auth: true,
8
8
  fields: {},
9
- handler: async (befly, ctx) => {
9
+ handler: async (befly) => {
10
10
  // CPU 使用率
11
11
  const cpus = os.cpus();
12
12
  const cpuCount = cpus.length; // 逻辑核心数(包括超线程)
@@ -84,17 +84,17 @@ export default {
84
84
  }
85
85
  } else {
86
86
  // statfs 不可用,返回默认值
87
- befly.logger.warn('fs.statfs 不可用,无法获取磁盘信息');
87
+ befly.logger.warn("fs.statfs 不可用,无法获取磁盘信息");
88
88
  }
89
89
  } catch (error) {
90
- befly.logger.warn({ err: error }, '获取磁盘信息失败');
90
+ befly.logger.warn({ err: error }, "获取磁盘信息失败");
91
91
  // 获取失败时返回 0
92
92
  diskPercentage = 0;
93
93
  diskUsed = 0;
94
94
  diskTotal = 0;
95
95
  }
96
96
 
97
- return befly.tool.Yes('获取成功', {
97
+ return befly.tool.Yes("获取成功", {
98
98
  cpu: {
99
99
  usage: cpuUsage,
100
100
  cores: cpuCount
package/apis/dict/all.ts CHANGED
@@ -1,29 +1,29 @@
1
- export default {
2
- name: '获取所有字典',
1
+ export default {
2
+ name: "获取所有字典",
3
3
  handler: async (befly) => {
4
4
  const result = await befly.db.getAll({
5
- table: 'addon_admin_dict',
5
+ table: "addon_admin_dict",
6
6
  joins: [
7
7
  {
8
- table: 'addon_admin_dict_type',
9
- on: 'addon_admin_dict.type_code = addon_admin_dict_type.code'
8
+ table: "addon_admin_dict_type",
9
+ on: "addon_admin_dict.type_code = addon_admin_dict_type.code"
10
10
  }
11
11
  ],
12
12
  fields: [
13
13
  //
14
- 'addon_admin_dict.id',
15
- 'addon_admin_dict.typeCode',
16
- 'addon_admin_dict.key',
17
- 'addon_admin_dict.label',
18
- 'addon_admin_dict.sort',
19
- 'addon_admin_dict.remark',
20
- 'addon_admin_dict.createdAt',
21
- 'addon_admin_dict.updatedAt',
22
- 'addon_admin_dict_type.name AS typeName'
14
+ "addon_admin_dict.id",
15
+ "addon_admin_dict.typeCode",
16
+ "addon_admin_dict.key",
17
+ "addon_admin_dict.label",
18
+ "addon_admin_dict.sort",
19
+ "addon_admin_dict.remark",
20
+ "addon_admin_dict.createdAt",
21
+ "addon_admin_dict.updatedAt",
22
+ "addon_admin_dict_type.name AS typeName"
23
23
  ],
24
- orderBy: ['addon_admin_dict.sort#ASC', 'addon_admin_dict.id#ASC']
24
+ orderBy: ["addon_admin_dict.sort#ASC", "addon_admin_dict.id#ASC"]
25
25
  });
26
26
 
27
- return befly.tool.Yes('获取成功', result);
27
+ return befly.tool.Yes("获取成功", result);
28
28
  }
29
29
  };
package/apis/dict/del.ts CHANGED
@@ -1,13 +1,13 @@
1
- export default {
2
- name: '删除字典',
3
- fields: { '@id': true },
4
- required: ['id'],
1
+ export default {
2
+ name: "删除字典",
3
+ fields: { "@id": true },
4
+ required: ["id"],
5
5
  handler: async (befly, ctx) => {
6
6
  await befly.db.delData({
7
- table: 'addon_admin_dict',
7
+ table: "addon_admin_dict",
8
8
  where: { id: ctx.body.id }
9
9
  });
10
10
 
11
- return befly.tool.Yes('删除成功');
11
+ return befly.tool.Yes("删除成功");
12
12
  }
13
13
  };
@@ -1,36 +1,36 @@
1
- export default {
2
- name: '获取字典详情',
3
- fields: { '@id': true },
4
- required: ['id'],
1
+ export default {
2
+ name: "获取字典详情",
3
+ fields: { "@id": true },
4
+ required: ["id"],
5
5
  handler: async (befly, ctx) => {
6
6
  const dict = await befly.db.getOne({
7
- table: 'addon_admin_dict',
7
+ table: "addon_admin_dict",
8
8
  joins: [
9
9
  //
10
10
  {
11
- table: 'addon_admin_dict_type',
12
- on: 'addon_admin_dict.type_code = addon_admin_dict_type.code'
11
+ table: "addon_admin_dict_type",
12
+ on: "addon_admin_dict.type_code = addon_admin_dict_type.code"
13
13
  }
14
14
  ],
15
15
  fields: [
16
16
  //
17
- 'addon_admin_dict.id',
18
- 'addon_admin_dict.typeCode',
19
- 'addon_admin_dict.key',
20
- 'addon_admin_dict.label',
21
- 'addon_admin_dict.sort',
22
- 'addon_admin_dict.remark',
23
- 'addon_admin_dict.createdAt',
24
- 'addon_admin_dict.updatedAt',
25
- 'addon_admin_dict_type.name AS typeName'
17
+ "addon_admin_dict.id",
18
+ "addon_admin_dict.typeCode",
19
+ "addon_admin_dict.key",
20
+ "addon_admin_dict.label",
21
+ "addon_admin_dict.sort",
22
+ "addon_admin_dict.remark",
23
+ "addon_admin_dict.createdAt",
24
+ "addon_admin_dict.updatedAt",
25
+ "addon_admin_dict_type.name AS typeName"
26
26
  ],
27
- where: { 'addon_admin_dict.id': ctx.body.id }
27
+ where: { "addon_admin_dict.id": ctx.body.id }
28
28
  });
29
29
 
30
30
  if (!dict?.id) {
31
- return befly.tool.No('字典项不存在');
31
+ return befly.tool.No("字典项不存在");
32
32
  }
33
33
 
34
- return befly.tool.Yes('获取成功', dict);
34
+ return befly.tool.Yes("获取成功", dict);
35
35
  }
36
36
  };
package/apis/dict/ins.ts CHANGED
@@ -1,23 +1,23 @@
1
- import adminDictTable from '../../tables/dict.json';
1
+ import adminDictTable from "../../tables/dict.json";
2
2
 
3
3
  export default {
4
- name: '添加字典',
4
+ name: "添加字典",
5
5
  fields: adminDictTable,
6
- required: ['typeCode', 'key', 'label'],
6
+ required: ["typeCode", "key", "label"],
7
7
  handler: async (befly, ctx) => {
8
8
  // 验证 typeCode 是否存在
9
9
  const dictType = await befly.db.getOne({
10
- table: 'addon_admin_dict_type',
10
+ table: "addon_admin_dict_type",
11
11
  where: { code: ctx.body.typeCode }
12
12
  });
13
13
 
14
14
  if (!dictType?.id) {
15
- return befly.tool.No('字典类型不存在');
15
+ return befly.tool.No("字典类型不存在");
16
16
  }
17
17
 
18
18
  // 检查 typeCode+key 是否已存在
19
19
  const existing = await befly.db.getOne({
20
- table: 'addon_admin_dict',
20
+ table: "addon_admin_dict",
21
21
  where: {
22
22
  typeCode: ctx.body.typeCode,
23
23
  key: ctx.body.key
@@ -25,11 +25,11 @@ export default {
25
25
  });
26
26
 
27
27
  if (existing?.id) {
28
- return befly.tool.No('该类型下已存在相同的键名');
28
+ return befly.tool.No("该类型下已存在相同的键名");
29
29
  }
30
30
 
31
31
  const dictId = await befly.db.insData({
32
- table: 'addon_admin_dict',
32
+ table: "addon_admin_dict",
33
33
  data: {
34
34
  typeCode: ctx.body.typeCode,
35
35
  key: ctx.body.key,
@@ -39,6 +39,6 @@ export default {
39
39
  }
40
40
  });
41
41
 
42
- return befly.tool.Yes('添加成功', { id: dictId });
42
+ return befly.tool.Yes("添加成功", { id: dictId });
43
43
  }
44
44
  };
@@ -1,27 +1,27 @@
1
1
  export default {
2
- name: '获取字典项列表',
2
+ name: "获取字典项列表",
3
3
  fields: {
4
- typeCode: { type: 'string', label: '类型代码', required: true }
4
+ typeCode: { type: "string", label: "类型代码", required: true }
5
5
  },
6
- required: ['typeCode'],
6
+ required: ["typeCode"],
7
7
  handler: async (befly, ctx) => {
8
8
  // 验证 typeCode 是否存在
9
9
  const dictType = await befly.db.getOne({
10
- table: 'addon_admin_dict_type',
10
+ table: "addon_admin_dict_type",
11
11
  where: { code: ctx.body.typeCode }
12
12
  });
13
13
 
14
14
  if (!dictType?.id) {
15
- return befly.tool.No('字典类型不存在');
15
+ return befly.tool.No("字典类型不存在");
16
16
  }
17
17
 
18
18
  // 获取该类型下的所有字典项
19
19
  const items = await befly.db.getAll({
20
- table: 'addon_admin_dict',
20
+ table: "addon_admin_dict",
21
21
  where: { typeCode: ctx.body.typeCode },
22
- orderBy: ['sort#ASC', 'id#ASC']
22
+ orderBy: ["sort#ASC", "id#ASC"]
23
23
  });
24
24
 
25
- return befly.tool.Yes('获取成功', items);
25
+ return befly.tool.Yes("获取成功", items);
26
26
  }
27
27
  };
package/apis/dict/list.ts CHANGED
@@ -1,45 +1,45 @@
1
- export default {
2
- name: '获取字典列表',
1
+ export default {
2
+ name: "获取字典列表",
3
3
  fields: {
4
- page: '@page',
5
- limit: '@limit',
6
- typeCode: { type: 'string', label: '类型代码' },
7
- keyword: '@keyword'
4
+ page: "@page",
5
+ limit: "@limit",
6
+ typeCode: { type: "string", label: "类型代码" },
7
+ keyword: "@keyword"
8
8
  },
9
9
  handler: async (befly, ctx) => {
10
10
  const where: any = {};
11
- if (ctx.body.typeCode) where['addon_admin_dict.typeCode'] = ctx.body.typeCode;
11
+ if (ctx.body.typeCode) where["addon_admin_dict.typeCode"] = ctx.body.typeCode;
12
12
  if (ctx.body.keyword) {
13
- where.$or = [{ 'addon_admin_dict.key$like': `%${ctx.body.keyword}%` }, { 'addon_admin_dict.label$like': `%${ctx.body.keyword}%` }];
13
+ where.$or = [{ "addon_admin_dict.key$like": `%${ctx.body.keyword}%` }, { "addon_admin_dict.label$like": `%${ctx.body.keyword}%` }];
14
14
  }
15
15
 
16
16
  const result = await befly.db.getList({
17
- table: 'addon_admin_dict',
17
+ table: "addon_admin_dict",
18
18
  joins: [
19
19
  //
20
20
  {
21
- table: 'addon_admin_dict_type',
22
- on: 'addon_admin_dict.type_code = addon_admin_dict_type.code'
21
+ table: "addon_admin_dict_type",
22
+ on: "addon_admin_dict.type_code = addon_admin_dict_type.code"
23
23
  }
24
24
  ],
25
25
  fields: [
26
26
  //
27
- 'addon_admin_dict.id',
28
- 'addon_admin_dict.typeCode',
29
- 'addon_admin_dict.key',
30
- 'addon_admin_dict.label',
31
- 'addon_admin_dict.sort',
32
- 'addon_admin_dict.remark',
33
- 'addon_admin_dict.createdAt',
34
- 'addon_admin_dict.updatedAt',
35
- 'addon_admin_dict_type.name AS typeName'
27
+ "addon_admin_dict.id",
28
+ "addon_admin_dict.typeCode",
29
+ "addon_admin_dict.key",
30
+ "addon_admin_dict.label",
31
+ "addon_admin_dict.sort",
32
+ "addon_admin_dict.remark",
33
+ "addon_admin_dict.createdAt",
34
+ "addon_admin_dict.updatedAt",
35
+ "addon_admin_dict_type.name AS typeName"
36
36
  ],
37
37
  where: where,
38
38
  page: ctx.body.page,
39
39
  limit: ctx.body.limit,
40
- orderBy: ['addon_admin_dict.sort#ASC', 'addon_admin_dict.id#ASC']
40
+ orderBy: ["addon_admin_dict.sort#ASC", "addon_admin_dict.id#ASC"]
41
41
  });
42
42
 
43
- return befly.tool.Yes('获取成功', result);
43
+ return befly.tool.Yes("获取成功", result);
44
44
  }
45
45
  };