@befly-addon/admin 1.0.3 → 1.0.5
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/admin/del.ts +3 -3
- package/apis/admin/info.ts +3 -3
- package/apis/admin/ins.ts +4 -5
- package/apis/admin/list.ts +2 -2
- package/apis/admin/roleDetail.ts +3 -3
- package/apis/admin/roleSave.ts +3 -3
- package/apis/admin/upd.ts +5 -5
- package/apis/api/all.ts +2 -2
- package/apis/auth/login.ts +4 -6
- package/apis/auth/logout.ts +1 -1
- package/apis/auth/register.ts +3 -5
- package/apis/auth/sendSmsCode.ts +1 -2
- package/apis/dashboard/addonList.ts +1 -1
- package/apis/dashboard/changelog.ts +1 -1
- package/apis/dashboard/configStatus.ts +1 -1
- package/apis/dashboard/environmentInfo.ts +1 -1
- package/apis/dashboard/performanceMetrics.ts +1 -1
- package/apis/dashboard/permissionStats.ts +4 -4
- package/apis/dashboard/serviceStatus.ts +1 -2
- package/apis/dashboard/systemInfo.ts +1 -2
- package/apis/dashboard/systemOverview.ts +4 -4
- package/apis/dashboard/systemResources.ts +1 -1
- package/apis/dict/all.ts +2 -2
- package/apis/dict/del.ts +2 -2
- package/apis/dict/detail.ts +2 -2
- package/apis/dict/ins.ts +2 -2
- package/apis/dict/list.ts +2 -2
- package/apis/dict/upd.ts +3 -3
- package/apis/menu/all.ts +3 -3
- package/apis/menu/del.ts +3 -3
- package/apis/menu/ins.ts +2 -2
- package/apis/menu/list.ts +2 -2
- package/apis/menu/upd.ts +3 -3
- package/apis/role/apiDetail.ts +2 -2
- package/apis/role/apiSave.ts +3 -3
- package/apis/role/del.ts +4 -4
- package/apis/role/detail.ts +2 -2
- package/apis/role/ins.ts +3 -3
- package/apis/role/list.ts +2 -2
- package/apis/role/menuDetail.ts +2 -2
- package/apis/role/menuSave.ts +3 -3
- package/apis/role/save.ts +3 -3
- package/apis/role/upd.ts +4 -4
- package/package.json +2 -2
- package/util.ts +0 -3
- package/apis/.gitkeep +0 -0
package/apis/admin/del.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* 删除管理员
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import { Yes, No } from '
|
|
5
|
+
import { Yes, No } from 'befly';
|
|
6
6
|
|
|
7
7
|
export default {
|
|
8
8
|
name: '删除管理员',
|
|
@@ -11,7 +11,7 @@ export default {
|
|
|
11
11
|
handler: async (befly, ctx) => {
|
|
12
12
|
// 检查管理员是否存在
|
|
13
13
|
const admin = await befly.db.getOne({
|
|
14
|
-
table: '
|
|
14
|
+
table: 'addon_admin_admin',
|
|
15
15
|
where: { id: ctx.body.id }
|
|
16
16
|
});
|
|
17
17
|
|
|
@@ -26,7 +26,7 @@ export default {
|
|
|
26
26
|
|
|
27
27
|
// 删除管理员
|
|
28
28
|
await befly.db.delData({
|
|
29
|
-
table: '
|
|
29
|
+
table: 'addon_admin_admin',
|
|
30
30
|
where: { id: ctx.body.id }
|
|
31
31
|
});
|
|
32
32
|
|
package/apis/admin/info.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* - role: 角色完整信息(包含 menus 和 apis 权限)
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import { Yes, No } from '
|
|
11
|
+
import { Yes, No } from 'befly';
|
|
12
12
|
|
|
13
13
|
export default {
|
|
14
14
|
name: '获取用户信息',
|
|
@@ -22,7 +22,7 @@ export default {
|
|
|
22
22
|
|
|
23
23
|
// 查询用户信息(框架自动转换为小驼峰)
|
|
24
24
|
const admin = await befly.db.getOne({
|
|
25
|
-
table: '
|
|
25
|
+
table: 'addon_admin_admin',
|
|
26
26
|
where: { id: userId }
|
|
27
27
|
});
|
|
28
28
|
|
|
@@ -34,7 +34,7 @@ export default {
|
|
|
34
34
|
let roleInfo = null;
|
|
35
35
|
if (admin.roleCode) {
|
|
36
36
|
roleInfo = await befly.db.getOne({
|
|
37
|
-
table: '
|
|
37
|
+
table: 'addon_admin_role',
|
|
38
38
|
where: { code: admin.roleCode }
|
|
39
39
|
});
|
|
40
40
|
}
|
package/apis/admin/ins.ts
CHANGED
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
* 添加管理员
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import { Yes, No, Cipher } from '
|
|
6
|
-
import { Cipher } from '../../lib/cipher.js';
|
|
5
|
+
import { Yes, No, Cipher } from 'befly';
|
|
7
6
|
import adminTable from '../../tables/admin.json';
|
|
8
7
|
|
|
9
8
|
export default {
|
|
@@ -14,7 +13,7 @@ export default {
|
|
|
14
13
|
// 检查用户名是否已存在
|
|
15
14
|
if (ctx.body.username) {
|
|
16
15
|
const existingByUsername = await befly.db.getOne({
|
|
17
|
-
table: '
|
|
16
|
+
table: 'addon_admin_admin',
|
|
18
17
|
where: { username: ctx.body.username }
|
|
19
18
|
});
|
|
20
19
|
|
|
@@ -25,7 +24,7 @@ export default {
|
|
|
25
24
|
|
|
26
25
|
// 检查邮箱是否已存在
|
|
27
26
|
const existingByEmail = await befly.db.getOne({
|
|
28
|
-
table: '
|
|
27
|
+
table: 'addon_admin_admin',
|
|
29
28
|
where: { email: ctx.body.email }
|
|
30
29
|
});
|
|
31
30
|
|
|
@@ -38,7 +37,7 @@ export default {
|
|
|
38
37
|
|
|
39
38
|
// 创建管理员
|
|
40
39
|
const adminId = await befly.db.insData({
|
|
41
|
-
table: '
|
|
40
|
+
table: 'addon_admin_admin',
|
|
42
41
|
data: {
|
|
43
42
|
username: ctx.body.username,
|
|
44
43
|
email: ctx.body.email,
|
package/apis/admin/list.ts
CHANGED
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
* 获取管理员列表
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import { Yes } from '
|
|
5
|
+
import { Yes } from 'befly';
|
|
6
6
|
|
|
7
7
|
export default {
|
|
8
8
|
name: '获取管理员列表',
|
|
9
9
|
handler: async (befly, ctx) => {
|
|
10
10
|
// 查询所有管理员(框架自动排除password字段,自动转换字段名为小驼峰)
|
|
11
11
|
const result = await befly.db.getList({
|
|
12
|
-
table: '
|
|
12
|
+
table: 'addon_admin_admin',
|
|
13
13
|
page: ctx.body.page || 1,
|
|
14
14
|
limit: ctx.body.limit || 10,
|
|
15
15
|
orderBy: ['createdAt#DESC']
|
package/apis/admin/roleDetail.ts
CHANGED
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
* 获取管理员的角色(单角色模式)
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import { Yes, No } from '
|
|
5
|
+
import { Yes, No } from 'befly';
|
|
6
6
|
|
|
7
7
|
export default {
|
|
8
8
|
name: '获取管理员角色',
|
|
9
9
|
handler: async (befly, ctx) => {
|
|
10
10
|
// 查询管理员信息(框架自动转换为小驼峰)
|
|
11
11
|
const admin = await befly.db.getOne({
|
|
12
|
-
table: '
|
|
12
|
+
table: 'addon_admin_admin',
|
|
13
13
|
where: { id: ctx.body.adminId }
|
|
14
14
|
});
|
|
15
15
|
|
|
@@ -21,7 +21,7 @@ export default {
|
|
|
21
21
|
let roleInfo = null;
|
|
22
22
|
if (admin.roleCode) {
|
|
23
23
|
roleInfo = await befly.db.getOne({
|
|
24
|
-
table: '
|
|
24
|
+
table: 'addon_admin_role',
|
|
25
25
|
where: { code: admin.roleCode }
|
|
26
26
|
});
|
|
27
27
|
}
|
package/apis/admin/roleSave.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* 保存管理员的角色(单角色模式)
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import { Yes, No } from '
|
|
5
|
+
import { Yes, No } from 'befly';
|
|
6
6
|
|
|
7
7
|
export default {
|
|
8
8
|
name: '保存管理员角色',
|
|
@@ -13,7 +13,7 @@ export default {
|
|
|
13
13
|
handler: async (befly, ctx) => {
|
|
14
14
|
// 查询角色是否存在(使用 roleCode 而非 roleId)
|
|
15
15
|
const role = await befly.db.getOne({
|
|
16
|
-
table: '
|
|
16
|
+
table: 'addon_admin_role',
|
|
17
17
|
where: { code: ctx.body.roleCode }
|
|
18
18
|
});
|
|
19
19
|
|
|
@@ -26,7 +26,7 @@ export default {
|
|
|
26
26
|
|
|
27
27
|
// 更新管理员的角色ID、角色编码和角色类型
|
|
28
28
|
await befly.db.updData({
|
|
29
|
-
table: '
|
|
29
|
+
table: 'addon_admin_admin',
|
|
30
30
|
where: { id: ctx.body.adminId },
|
|
31
31
|
data: {
|
|
32
32
|
roleId: role.id,
|
package/apis/admin/upd.ts
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* 更新管理员信息
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import { Yes, No } from '
|
|
6
|
-
import adminTable from '
|
|
5
|
+
import { Yes, No } from 'befly';
|
|
6
|
+
import adminTable from '../../tables/admin.json';
|
|
7
7
|
|
|
8
8
|
export default {
|
|
9
9
|
name: '更新管理员',
|
|
@@ -19,7 +19,7 @@ export default {
|
|
|
19
19
|
|
|
20
20
|
// 检查管理员是否存在
|
|
21
21
|
const admin = await befly.db.getOne({
|
|
22
|
-
table: '
|
|
22
|
+
table: 'addon_admin_admin',
|
|
23
23
|
where: { id }
|
|
24
24
|
});
|
|
25
25
|
|
|
@@ -30,7 +30,7 @@ export default {
|
|
|
30
30
|
// 如果更新邮箱,检查是否重复
|
|
31
31
|
if (updateData.email && updateData.email !== admin.email) {
|
|
32
32
|
const existingAdmin = await befly.db.getOne({
|
|
33
|
-
table: '
|
|
33
|
+
table: 'addon_admin_admin',
|
|
34
34
|
where: { email: updateData.email }
|
|
35
35
|
});
|
|
36
36
|
|
|
@@ -41,7 +41,7 @@ export default {
|
|
|
41
41
|
|
|
42
42
|
// 更新管理员信息
|
|
43
43
|
await befly.db.updData({
|
|
44
|
-
table: '
|
|
44
|
+
table: 'addon_admin_admin',
|
|
45
45
|
data: updateData,
|
|
46
46
|
where: { id }
|
|
47
47
|
});
|
package/apis/api/all.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* 说明:用于角色权限配置,返回所有接口信息
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
import { Yes, No } from '
|
|
6
|
+
import { Yes, No } from 'befly';
|
|
7
7
|
|
|
8
8
|
export default {
|
|
9
9
|
name: '获取所有接口',
|
|
@@ -16,7 +16,7 @@ export default {
|
|
|
16
16
|
if (!allApis || allApis.length === 0) {
|
|
17
17
|
befly.logger.info('接口缓存未命中,从数据库查询');
|
|
18
18
|
allApis = await befly.db.getAll({
|
|
19
|
-
table: '
|
|
19
|
+
table: 'addon_admin_api',
|
|
20
20
|
fields: ['id', 'name', 'path', 'method', 'description', 'addonName', 'addonTitle'],
|
|
21
21
|
orderBy: ['addonName#ASC', 'path#ASC']
|
|
22
22
|
});
|
package/apis/auth/login.ts
CHANGED
|
@@ -2,10 +2,8 @@
|
|
|
2
2
|
* 管理员登录接口
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import { Yes, No } from '
|
|
6
|
-
import
|
|
7
|
-
import { Jwt } from '../../../core/lib/jwt.js';
|
|
8
|
-
import adminTable from '../../../core/tables/admin.json';
|
|
5
|
+
import { Yes, No, Cipher, Jwt } from 'befly';
|
|
6
|
+
import adminTable from '../../tables/admin.json';
|
|
9
7
|
|
|
10
8
|
export default {
|
|
11
9
|
name: '管理员登录',
|
|
@@ -18,7 +16,7 @@ export default {
|
|
|
18
16
|
handler: async (befly, ctx) => {
|
|
19
17
|
// 查询管理员(account 匹配 username 或 email)
|
|
20
18
|
const admin = await befly.db.getOne({
|
|
21
|
-
table: '
|
|
19
|
+
table: 'addon_admin_admin',
|
|
22
20
|
where: {
|
|
23
21
|
$or: [{ username: ctx.body.account }, { email: ctx.body.account }]
|
|
24
22
|
}
|
|
@@ -46,7 +44,7 @@ export default {
|
|
|
46
44
|
|
|
47
45
|
// 更新最后登录信息
|
|
48
46
|
await befly.db.updData({
|
|
49
|
-
table: '
|
|
47
|
+
table: 'addon_admin_admin',
|
|
50
48
|
where: { id: admin.id },
|
|
51
49
|
data: {
|
|
52
50
|
lastLoginTime: Date.now(),
|
package/apis/auth/logout.ts
CHANGED
package/apis/auth/register.ts
CHANGED
|
@@ -2,9 +2,7 @@
|
|
|
2
2
|
* 管理员注册接口
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import { Yes, No } from '
|
|
6
|
-
import { Cipher } from '../../lib/cipher.js';
|
|
7
|
-
|
|
5
|
+
import { Yes, No, Cipher } from 'befly';
|
|
8
6
|
import adminTable from '../../tables/admin.json';
|
|
9
7
|
|
|
10
8
|
export default {
|
|
@@ -19,7 +17,7 @@ export default {
|
|
|
19
17
|
handler: async (befly, ctx) => {
|
|
20
18
|
// 检查邮箱是否已存在
|
|
21
19
|
const existingAdmin = await befly.db.getOne({
|
|
22
|
-
table: '
|
|
20
|
+
table: 'addon_admin_admin',
|
|
23
21
|
where: { email: ctx.body.email }
|
|
24
22
|
});
|
|
25
23
|
|
|
@@ -32,7 +30,7 @@ export default {
|
|
|
32
30
|
|
|
33
31
|
// 创建管理员
|
|
34
32
|
const adminId = await befly.db.insData({
|
|
35
|
-
table: '
|
|
33
|
+
table: 'addon_admin_admin',
|
|
36
34
|
data: {
|
|
37
35
|
name: ctx.body.name,
|
|
38
36
|
email: ctx.body.email,
|
package/apis/auth/sendSmsCode.ts
CHANGED
|
@@ -2,24 +2,24 @@
|
|
|
2
2
|
* 获取权限统计信息
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import { Yes } from '
|
|
5
|
+
import { Yes } from 'befly';
|
|
6
6
|
|
|
7
7
|
export default {
|
|
8
8
|
name: '获取权限统计',
|
|
9
9
|
handler: async (befly, ctx) => {
|
|
10
10
|
// 统计菜单数量
|
|
11
11
|
const menuCount = await befly.db.count({
|
|
12
|
-
table: '
|
|
12
|
+
table: 'addon_admin_menu'
|
|
13
13
|
});
|
|
14
14
|
|
|
15
15
|
// 统计接口数量
|
|
16
16
|
const apiCount = await befly.db.count({
|
|
17
|
-
table: '
|
|
17
|
+
table: 'addon_admin_api'
|
|
18
18
|
});
|
|
19
19
|
|
|
20
20
|
// 统计角色数量
|
|
21
21
|
const roleCount = await befly.db.count({
|
|
22
|
-
table: '
|
|
22
|
+
table: 'addon_admin_role'
|
|
23
23
|
});
|
|
24
24
|
|
|
25
25
|
return Yes('获取成功', {
|
|
@@ -2,24 +2,24 @@
|
|
|
2
2
|
* 获取系统概览数据
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import { Yes } from '
|
|
5
|
+
import { Yes } from 'befly';
|
|
6
6
|
|
|
7
7
|
export default {
|
|
8
8
|
name: '获取系统概览数据',
|
|
9
9
|
handler: async (befly, ctx) => {
|
|
10
10
|
// 权限统计
|
|
11
11
|
const menuCount = await befly.db.getCount({
|
|
12
|
-
table: '
|
|
12
|
+
table: 'addon_admin_menu',
|
|
13
13
|
where: { state: 1 }
|
|
14
14
|
});
|
|
15
15
|
|
|
16
16
|
const roleCount = await befly.db.getCount({
|
|
17
|
-
table: '
|
|
17
|
+
table: 'addon_admin_role',
|
|
18
18
|
where: { state: 1 }
|
|
19
19
|
});
|
|
20
20
|
|
|
21
21
|
const apiCount = await befly.db.getCount({
|
|
22
|
-
table: '
|
|
22
|
+
table: 'addon_admin_api',
|
|
23
23
|
where: { state: 1 }
|
|
24
24
|
});
|
|
25
25
|
|
package/apis/dict/all.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Yes, No } from '
|
|
1
|
+
import { Yes, No } from 'befly';
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* 获取所有字典(不分页)
|
|
@@ -8,7 +8,7 @@ export default {
|
|
|
8
8
|
handler: async (befly, ctx) => {
|
|
9
9
|
try {
|
|
10
10
|
const dicts = await befly.db.getAll({
|
|
11
|
-
table: '
|
|
11
|
+
table: 'addon_admin_dict',
|
|
12
12
|
fields: ['id', 'name', 'code', 'value', 'sort', 'pid', 'description', 'state', 'created_at', 'updated_at'],
|
|
13
13
|
orderBy: [
|
|
14
14
|
{ field: 'sort', direction: 'ASC' },
|
package/apis/dict/del.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { Field, Yes, No } from '
|
|
1
|
+
import { Field, Yes, No } from 'befly';
|
|
2
2
|
export default {
|
|
3
3
|
name: '删除字典',
|
|
4
4
|
handler: async (befly, ctx) => {
|
|
5
5
|
try {
|
|
6
6
|
await befly.db.delData({
|
|
7
|
-
table: '
|
|
7
|
+
table: 'addon_admin_dict',
|
|
8
8
|
where: {
|
|
9
9
|
id: ctx.body.id
|
|
10
10
|
}
|
package/apis/dict/detail.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { Yes, No } from '
|
|
1
|
+
import { Yes, No } from 'befly';
|
|
2
2
|
|
|
3
3
|
export default {
|
|
4
4
|
name: '获取字典详情',
|
|
5
5
|
handler: async (befly, ctx) => {
|
|
6
6
|
try {
|
|
7
7
|
const dict = await befly.db.getDetail({
|
|
8
|
-
table: '
|
|
8
|
+
table: 'addon_admin_dict',
|
|
9
9
|
fields: ['id', 'name', 'code', 'value', 'sort', 'pid', 'description', 'state', 'created_at', 'updated_at'],
|
|
10
10
|
where: {
|
|
11
11
|
id: ctx.body.id
|
package/apis/dict/ins.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Yes, No } from '
|
|
1
|
+
import { Yes, No } from 'befly';
|
|
2
2
|
import adminDictTable from '../../tables/dict.json';
|
|
3
3
|
|
|
4
4
|
export default {
|
|
@@ -7,7 +7,7 @@ export default {
|
|
|
7
7
|
handler: async (befly, ctx) => {
|
|
8
8
|
try {
|
|
9
9
|
const dictId = await befly.db.insData({
|
|
10
|
-
table: '
|
|
10
|
+
table: 'addon_admin_dict',
|
|
11
11
|
data: {
|
|
12
12
|
name: ctx.body.name,
|
|
13
13
|
code: ctx.body.code,
|
package/apis/dict/list.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Yes, No } from '
|
|
1
|
+
import { Yes, No } from 'befly';
|
|
2
2
|
export default {
|
|
3
3
|
name: '获取字典列表',
|
|
4
4
|
handler: async (befly, ctx) => {
|
|
5
5
|
const result = await befly.db.getList({
|
|
6
|
-
table: '
|
|
6
|
+
table: 'addon_admin_dict',
|
|
7
7
|
fields: ['id', 'name', 'code', 'value', 'sort', 'pid', 'description', 'state', 'created_at', 'updated_at'],
|
|
8
8
|
page: ctx.body.page,
|
|
9
9
|
limit: ctx.body.limit,
|
package/apis/dict/upd.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Yes, No } from '
|
|
2
|
-
import adminDictTable from '
|
|
1
|
+
import { Yes, No } from 'befly';
|
|
2
|
+
import adminDictTable from '../../tables/dict.json';
|
|
3
3
|
|
|
4
4
|
export default {
|
|
5
5
|
name: '更新字典',
|
|
@@ -7,7 +7,7 @@ export default {
|
|
|
7
7
|
handler: async (befly, ctx) => {
|
|
8
8
|
try {
|
|
9
9
|
await befly.db.updData({
|
|
10
|
-
table: '
|
|
10
|
+
table: 'addon_admin_dict',
|
|
11
11
|
data: {
|
|
12
12
|
name: ctx.body.name,
|
|
13
13
|
code: ctx.body.code,
|
package/apis/menu/all.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* 4. 仅返回状态为启用的菜单
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import { Yes, No } from '
|
|
10
|
+
import { Yes, No } from 'befly';
|
|
11
11
|
|
|
12
12
|
export default {
|
|
13
13
|
name: '获取用户菜单',
|
|
@@ -15,7 +15,7 @@ export default {
|
|
|
15
15
|
try {
|
|
16
16
|
// 2. 查询角色信息获取菜单权限(使用 roleCode 而非 roleId)
|
|
17
17
|
const role = await befly.db.getOne({
|
|
18
|
-
table: '
|
|
18
|
+
table: 'addon_admin_role',
|
|
19
19
|
where: { code: ctx.user.roleCode }
|
|
20
20
|
});
|
|
21
21
|
|
|
@@ -40,7 +40,7 @@ export default {
|
|
|
40
40
|
if (!allMenus || allMenus.length === 0) {
|
|
41
41
|
befly.logger.info('菜单缓存未命中,从数据库查询');
|
|
42
42
|
allMenus = await befly.db.getAll({
|
|
43
|
-
table: '
|
|
43
|
+
table: 'addon_admin_menu',
|
|
44
44
|
fields: ['id', 'pid', 'name', 'path', 'icon', 'type', 'sort'],
|
|
45
45
|
orderBy: ['sort#ASC', 'id#ASC']
|
|
46
46
|
});
|
package/apis/menu/del.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* 删除菜单
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import { Yes, No } from '
|
|
5
|
+
import { Yes, No } from 'befly';
|
|
6
6
|
|
|
7
7
|
export default {
|
|
8
8
|
name: '删除菜单',
|
|
@@ -10,7 +10,7 @@ export default {
|
|
|
10
10
|
try {
|
|
11
11
|
// 检查是否有子菜单(使用 getList 代替 getAll)
|
|
12
12
|
const childrenList = await befly.db.getList({
|
|
13
|
-
table: '
|
|
13
|
+
table: 'addon_admin_menu',
|
|
14
14
|
where: { pid: ctx.body.id }
|
|
15
15
|
});
|
|
16
16
|
|
|
@@ -20,7 +20,7 @@ export default {
|
|
|
20
20
|
|
|
21
21
|
// 删除菜单
|
|
22
22
|
await befly.db.delData({
|
|
23
|
-
table: '
|
|
23
|
+
table: 'addon_admin_menu',
|
|
24
24
|
where: { id: ctx.body.id }
|
|
25
25
|
});
|
|
26
26
|
|
package/apis/menu/ins.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Yes, No } from '
|
|
1
|
+
import { Yes, No } from 'befly';
|
|
2
2
|
import adminMenuTable from '../../tables/menu.json';
|
|
3
3
|
|
|
4
4
|
export default {
|
|
@@ -7,7 +7,7 @@ export default {
|
|
|
7
7
|
handler: async (befly, ctx) => {
|
|
8
8
|
try {
|
|
9
9
|
const menuId = await befly.db.insData({
|
|
10
|
-
table: '
|
|
10
|
+
table: 'addon_admin_menu',
|
|
11
11
|
data: ctx.body
|
|
12
12
|
});
|
|
13
13
|
|
package/apis/menu/list.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { Yes, No } from '
|
|
1
|
+
import { Yes, No } from 'befly';
|
|
2
2
|
export default {
|
|
3
3
|
name: '获取菜单列表',
|
|
4
4
|
handler: async (befly, ctx) => {
|
|
5
5
|
try {
|
|
6
6
|
const menus = await befly.db.getAll({
|
|
7
|
-
table: '
|
|
7
|
+
table: 'addon_admin_menu',
|
|
8
8
|
fields: ['id', 'name', 'path', 'icon', 'sort', 'pid', 'type', 'state', 'created_at', 'updated_at'],
|
|
9
9
|
orderBy: [
|
|
10
10
|
{ field: 'sort', direction: 'ASC' },
|
package/apis/menu/upd.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Yes, No } from '
|
|
2
|
-
import adminMenuTable from '
|
|
1
|
+
import { Yes, No } from 'befly';
|
|
2
|
+
import adminMenuTable from '../../tables/menu.json';
|
|
3
3
|
|
|
4
4
|
export default {
|
|
5
5
|
name: '更新菜单',
|
|
@@ -7,7 +7,7 @@ export default {
|
|
|
7
7
|
handler: async (befly, ctx) => {
|
|
8
8
|
try {
|
|
9
9
|
await befly.db.updData({
|
|
10
|
-
table: '
|
|
10
|
+
table: 'addon_admin_menu',
|
|
11
11
|
where: { id: ctx.body.id },
|
|
12
12
|
data: {
|
|
13
13
|
name: ctx.body.name,
|
package/apis/role/apiDetail.ts
CHANGED
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
* 获取角色的接口权限
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import { Yes, No } from '
|
|
5
|
+
import { Yes, No } from 'befly';
|
|
6
6
|
|
|
7
7
|
export default {
|
|
8
8
|
name: '获取角色接口权限',
|
|
9
9
|
handler: async (befly, ctx) => {
|
|
10
10
|
// 查询角色信息
|
|
11
11
|
const role = await befly.db.getOne({
|
|
12
|
-
table: '
|
|
12
|
+
table: 'addon_admin_role',
|
|
13
13
|
where: { id: ctx.body.roleId }
|
|
14
14
|
});
|
|
15
15
|
|
package/apis/role/apiSave.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* 保存角色的接口权限
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import { Yes, No } from '
|
|
5
|
+
import { Yes, No } from 'befly';
|
|
6
6
|
import adminRoleTable from '../../tables/role.json';
|
|
7
7
|
|
|
8
8
|
export default {
|
|
@@ -13,7 +13,7 @@ export default {
|
|
|
13
13
|
handler: async (befly, ctx) => {
|
|
14
14
|
// 查询角色是否存在
|
|
15
15
|
const role = await befly.db.getOne({
|
|
16
|
-
table: '
|
|
16
|
+
table: 'addon_admin_role',
|
|
17
17
|
where: { id: ctx.body.roleId }
|
|
18
18
|
});
|
|
19
19
|
|
|
@@ -26,7 +26,7 @@ export default {
|
|
|
26
26
|
|
|
27
27
|
// 更新角色的接口权限
|
|
28
28
|
await befly.db.updData({
|
|
29
|
-
table: '
|
|
29
|
+
table: 'addon_admin_role',
|
|
30
30
|
where: { id: ctx.body.roleId },
|
|
31
31
|
data: {
|
|
32
32
|
apis: apiIdsStr
|
package/apis/role/del.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* 删除角色
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import { Yes, No } from '
|
|
5
|
+
import { Yes, No } from 'befly';
|
|
6
6
|
|
|
7
7
|
export default {
|
|
8
8
|
name: '删除角色',
|
|
@@ -10,7 +10,7 @@ export default {
|
|
|
10
10
|
try {
|
|
11
11
|
// 检查是否有用户使用此角色(使用 getList 代替 getAll)
|
|
12
12
|
const adminList = await befly.db.getList({
|
|
13
|
-
table: '
|
|
13
|
+
table: 'addon_admin_admin',
|
|
14
14
|
where: { roleId: ctx.body.id }
|
|
15
15
|
});
|
|
16
16
|
|
|
@@ -20,13 +20,13 @@ export default {
|
|
|
20
20
|
|
|
21
21
|
// 获取角色信息(用于删除缓存)
|
|
22
22
|
const role = await befly.db.getDetail({
|
|
23
|
-
table: '
|
|
23
|
+
table: 'addon_admin_role',
|
|
24
24
|
where: { id: ctx.body.id }
|
|
25
25
|
});
|
|
26
26
|
|
|
27
27
|
// 删除角色
|
|
28
28
|
await befly.db.delData({
|
|
29
|
-
table: '
|
|
29
|
+
table: 'addon_admin_role',
|
|
30
30
|
where: { id: ctx.body.id }
|
|
31
31
|
});
|
|
32
32
|
|
package/apis/role/detail.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* 获取用户的角色(单角色模式)
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import { Yes, No } from '
|
|
5
|
+
import { Yes, No } from 'befly';
|
|
6
6
|
|
|
7
7
|
export default {
|
|
8
8
|
name: '获取用户角色',
|
|
@@ -10,7 +10,7 @@ export default {
|
|
|
10
10
|
let roleInfo = null;
|
|
11
11
|
if (ctx.body.id && ctx.user.roleType === 'admin') {
|
|
12
12
|
roleInfo = await befly.db.getOne({
|
|
13
|
-
table: '
|
|
13
|
+
table: 'addon_admin_role',
|
|
14
14
|
where: { code: ctx.body.id }
|
|
15
15
|
});
|
|
16
16
|
}
|
package/apis/role/ins.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Yes, No } from '
|
|
1
|
+
import { Yes, No } from 'befly';
|
|
2
2
|
import adminRoleTable from '../../tables/role.json';
|
|
3
3
|
|
|
4
4
|
/**
|
|
@@ -10,7 +10,7 @@ export default {
|
|
|
10
10
|
handler: async (befly, ctx) => {
|
|
11
11
|
// 检查角色代码是否已存在
|
|
12
12
|
const existing = await befly.db.getOne({
|
|
13
|
-
table: '
|
|
13
|
+
table: 'addon_admin_role',
|
|
14
14
|
where: { code: ctx.body.code }
|
|
15
15
|
});
|
|
16
16
|
|
|
@@ -19,7 +19,7 @@ export default {
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
const roleId = await befly.db.insData({
|
|
22
|
-
table: '
|
|
22
|
+
table: 'addon_admin_role',
|
|
23
23
|
data: {
|
|
24
24
|
name: ctx.body.name,
|
|
25
25
|
code: ctx.body.code,
|
package/apis/role/list.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { Yes } from '
|
|
1
|
+
import { Yes } from 'befly';
|
|
2
2
|
|
|
3
3
|
export default {
|
|
4
4
|
name: '获取角色列表',
|
|
5
5
|
handler: async (befly, ctx) => {
|
|
6
6
|
const roles = await befly.db.getList({
|
|
7
7
|
limit: 30,
|
|
8
|
-
table: '
|
|
8
|
+
table: 'addon_admin_role',
|
|
9
9
|
orderBy: ['sort#ASC', 'id#ASC']
|
|
10
10
|
});
|
|
11
11
|
|
package/apis/role/menuDetail.ts
CHANGED
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
* 获取角色的菜单权限
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import { Yes, No } from '
|
|
5
|
+
import { Yes, No } from 'befly';
|
|
6
6
|
|
|
7
7
|
export default {
|
|
8
8
|
name: '获取角色菜单权限',
|
|
9
9
|
handler: async (befly, ctx) => {
|
|
10
10
|
// 查询角色信息
|
|
11
11
|
const role = await befly.db.getOne({
|
|
12
|
-
table: '
|
|
12
|
+
table: 'addon_admin_role',
|
|
13
13
|
where: { id: ctx.body.roleId }
|
|
14
14
|
});
|
|
15
15
|
|
package/apis/role/menuSave.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* 保存角色的菜单权限
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import { Yes, No } from '
|
|
5
|
+
import { Yes, No } from 'befly';
|
|
6
6
|
import adminRoleTable from '../../tables/role.json';
|
|
7
7
|
|
|
8
8
|
export default {
|
|
@@ -13,7 +13,7 @@ export default {
|
|
|
13
13
|
handler: async (befly, ctx) => {
|
|
14
14
|
// 查询角色是否存在
|
|
15
15
|
const role = await befly.db.getOne({
|
|
16
|
-
table: '
|
|
16
|
+
table: 'addon_admin_role',
|
|
17
17
|
where: { id: ctx.body.roleId }
|
|
18
18
|
});
|
|
19
19
|
|
|
@@ -26,7 +26,7 @@ export default {
|
|
|
26
26
|
|
|
27
27
|
// 更新角色的菜单权限
|
|
28
28
|
await befly.db.updData({
|
|
29
|
-
table: '
|
|
29
|
+
table: 'addon_admin_role',
|
|
30
30
|
where: { id: ctx.body.roleId },
|
|
31
31
|
data: {
|
|
32
32
|
menus: menuIdsStr
|
package/apis/role/save.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* 保存用户的角色(单角色模式)
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import { Yes, No } from '
|
|
5
|
+
import { Yes, No } from 'befly';
|
|
6
6
|
|
|
7
7
|
export default {
|
|
8
8
|
name: '保存用户角色',
|
|
@@ -13,7 +13,7 @@ export default {
|
|
|
13
13
|
try {
|
|
14
14
|
// 查询角色是否存在(使用 roleCode 而非 roleId)
|
|
15
15
|
const role = await befly.db.getOne({
|
|
16
|
-
table: '
|
|
16
|
+
table: 'addon_admin_role',
|
|
17
17
|
where: { code: ctx.body.roleCode }
|
|
18
18
|
});
|
|
19
19
|
|
|
@@ -26,7 +26,7 @@ export default {
|
|
|
26
26
|
|
|
27
27
|
// 更新管理员的角色ID、角色编码和角色类型
|
|
28
28
|
await befly.db.updData({
|
|
29
|
-
table: '
|
|
29
|
+
table: 'addon_admin_admin',
|
|
30
30
|
where: { id: ctx.body.adminId },
|
|
31
31
|
data: {
|
|
32
32
|
roleId: role.id,
|
package/apis/role/upd.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Yes, No } from '
|
|
2
|
-
import adminRoleTable from '
|
|
1
|
+
import { Yes, No } from 'befly';
|
|
2
|
+
import adminRoleTable from '../../tables/role.json';
|
|
3
3
|
|
|
4
4
|
export default {
|
|
5
5
|
name: '更新角色',
|
|
@@ -7,7 +7,7 @@ export default {
|
|
|
7
7
|
handler: async (befly, ctx) => {
|
|
8
8
|
// 检查角色代码是否被其他角色占用
|
|
9
9
|
const existing = await befly.db.getList({
|
|
10
|
-
table: '
|
|
10
|
+
table: 'addon_admin_role',
|
|
11
11
|
where: {
|
|
12
12
|
code: ctx.body.code,
|
|
13
13
|
id$ne: ctx.body.id
|
|
@@ -19,7 +19,7 @@ export default {
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
await befly.db.updData({
|
|
22
|
-
table: '
|
|
22
|
+
table: 'addon_admin_role',
|
|
23
23
|
where: { id: ctx.body.id },
|
|
24
24
|
data: {
|
|
25
25
|
name: ctx.body.name,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@befly-addon/admin",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.5",
|
|
4
4
|
"description": "Befly Admin Addon - 管理后台功能组件",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"private": false,
|
|
@@ -39,5 +39,5 @@
|
|
|
39
39
|
"peerDependencies": {
|
|
40
40
|
"befly": "^3.0.0"
|
|
41
41
|
},
|
|
42
|
-
"gitHead": "
|
|
42
|
+
"gitHead": "131c2482f3668346adbbd153e14d5b74cd19e725"
|
|
43
43
|
}
|
package/util.ts
CHANGED
package/apis/.gitkeep
DELETED
|
File without changes
|