@befly-addon/admin 1.6.3 → 1.7.0
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/adminViews/config/dict/components/edit.vue +1 -1
- package/adminViews/config/dict/index.vue +22 -8
- package/adminViews/config/dictType/components/edit.vue +1 -1
- package/adminViews/config/dictType/index.vue +19 -6
- package/adminViews/config/system/components/edit.vue +1 -1
- package/adminViews/config/system/index.vue +19 -5
- package/adminViews/index/components/addonList.vue +9 -2
- package/adminViews/index/components/environmentInfo.vue +7 -1
- package/adminViews/index/components/performanceMetrics.vue +7 -1
- package/adminViews/index/components/serviceStatus.vue +7 -1
- package/adminViews/index/components/systemOverview.vue +7 -1
- package/adminViews/index/components/systemResources.vue +7 -1
- package/adminViews/index/components/userInfo.vue +8 -2
- package/adminViews/log/email/index.vue +12 -6
- package/adminViews/log/login/index.vue +10 -4
- package/adminViews/log/operate/index.vue +17 -4
- package/adminViews/login_1/index.vue +1 -1
- package/adminViews/people/admin/components/edit.vue +8 -2
- package/adminViews/people/admin/index.vue +13 -5
- package/adminViews/permission/api/index.vue +7 -1
- package/adminViews/permission/menu/index.vue +7 -1
- package/adminViews/permission/role/components/api.vue +17 -5
- package/adminViews/permission/role/components/edit.vue +1 -1
- package/adminViews/permission/role/components/menu.vue +17 -5
- package/adminViews/permission/role/index.vue +13 -5
- package/adminViews/utils/cleanParams.ts +39 -0
- package/apis/admin/cacheRefresh.ts +5 -1
- package/apis/api/all.ts +12 -5
- package/apis/auth/sendSmsCode.ts +5 -1
- package/apis/dashboard/configStatus.ts +5 -1
- package/apis/dashboard/environmentInfo.ts +5 -1
- package/apis/dashboard/performanceMetrics.ts +5 -1
- package/apis/dashboard/permissionStats.ts +5 -1
- package/apis/dashboard/serviceStatus.ts +6 -2
- package/apis/dashboard/systemInfo.ts +5 -1
- package/apis/dashboard/systemOverview.ts +5 -1
- package/apis/dashboard/systemResources.ts +5 -1
- package/apis/dict/all.ts +7 -2
- package/apis/dict/ins.ts +4 -2
- package/apis/dict/items.ts +6 -3
- package/apis/dictType/all.ts +7 -2
- package/apis/dictType/ins.ts +5 -1
- package/apis/email/_emailPlugin.ts +21 -0
- package/apis/email/config.ts +10 -3
- package/apis/email/send.ts +10 -4
- package/apis/email/verify.ts +10 -3
- package/apis/menu/all.ts +14 -11
- package/apis/role/all.ts +7 -2
- package/apis/role/apiSave.ts +4 -2
- package/apis/role/apis.ts +7 -2
- package/apis/role/ins.ts +5 -1
- package/apis/role/menuSave.ts +5 -1
- package/apis/role/menus.ts +5 -1
- package/apis/role/save.ts +5 -1
- package/apis/role/upd.ts +5 -1
- package/apis/sysConfig/all.ts +5 -1
- package/apis/sysConfig/get.ts +4 -2
- package/apis/sysConfig/ins.ts +4 -2
- package/libs/emailHelper.ts +3 -2
- package/package.json +3 -3
- package/utils/dbJsonRow.ts +3 -0
|
@@ -75,7 +75,7 @@ const $Method = {
|
|
|
75
75
|
params.id = props.rowData.id;
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
-
const res = await $Http(apiUrl, params);
|
|
78
|
+
const res = await $Http.post(apiUrl, params);
|
|
79
79
|
if (res.code === 0) {
|
|
80
80
|
MessagePlugin.success(props.actionType === "add" ? "添加成功" : "更新成功");
|
|
81
81
|
visible.value = false;
|
|
@@ -121,7 +121,13 @@ const $Method = {
|
|
|
121
121
|
},
|
|
122
122
|
async apiDictTypeAll() {
|
|
123
123
|
try {
|
|
124
|
-
const res = await $Http(
|
|
124
|
+
const res = await $Http.post(
|
|
125
|
+
"/addon/admin/dictType/all",
|
|
126
|
+
{},
|
|
127
|
+
{
|
|
128
|
+
dropValues: [""]
|
|
129
|
+
}
|
|
130
|
+
);
|
|
125
131
|
$Data.typeList = res.data.lists || [];
|
|
126
132
|
} catch (error) {
|
|
127
133
|
MessagePlugin.error("加载数据失败");
|
|
@@ -130,12 +136,18 @@ const $Method = {
|
|
|
130
136
|
async apiDictList() {
|
|
131
137
|
$Data.loading = true;
|
|
132
138
|
try {
|
|
133
|
-
const res = await $Http(
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
+
const res = await $Http.post(
|
|
140
|
+
"/addon/admin/dict/list",
|
|
141
|
+
{
|
|
142
|
+
page: $Data.pagerConfig.currentPage,
|
|
143
|
+
limit: $Data.pagerConfig.limit,
|
|
144
|
+
typeCode: $Data.searchTypeCode,
|
|
145
|
+
keyword: $Data.searchKeyword
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
dropValues: [""]
|
|
149
|
+
}
|
|
150
|
+
);
|
|
139
151
|
$Data.tableData = res.data.lists || [];
|
|
140
152
|
$Data.pagerConfig.total = res.data.total || 0;
|
|
141
153
|
|
|
@@ -176,7 +188,9 @@ const $Method = {
|
|
|
176
188
|
}
|
|
177
189
|
|
|
178
190
|
try {
|
|
179
|
-
await $Http("/addon/admin/dict/del", {
|
|
191
|
+
await $Http.post("/addon/admin/dict/del", {
|
|
192
|
+
id: row.id
|
|
193
|
+
});
|
|
180
194
|
MessagePlugin.success("删除成功");
|
|
181
195
|
destroy();
|
|
182
196
|
await $Method.apiDictList();
|
|
@@ -68,7 +68,7 @@ const $Method = {
|
|
|
68
68
|
params.id = props.rowData.id;
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
-
const res = await $Http(apiUrl, params);
|
|
71
|
+
const res = await $Http.post(apiUrl, params);
|
|
72
72
|
if (res.code === 0) {
|
|
73
73
|
MessagePlugin.success(props.actionType === "add" ? "添加成功" : "更新成功");
|
|
74
74
|
visible.value = false;
|
|
@@ -114,11 +114,22 @@ const $Method = {
|
|
|
114
114
|
async apiDictTypeList() {
|
|
115
115
|
$Data.loading = true;
|
|
116
116
|
try {
|
|
117
|
-
const res = await $Http(
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
117
|
+
const res = await $Http.post(
|
|
118
|
+
"/addon/admin/dictType/list",
|
|
119
|
+
{
|
|
120
|
+
page: $Data.pagerConfig.currentPage,
|
|
121
|
+
limit: $Data.pagerConfig.limit,
|
|
122
|
+
keyword: $Data.searchKeyword
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
dropValues: [0, ""],
|
|
126
|
+
dropKeyValue: {
|
|
127
|
+
page: [],
|
|
128
|
+
limit: [],
|
|
129
|
+
keyword: [""]
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
);
|
|
122
133
|
$Data.tableData = res.data.lists || [];
|
|
123
134
|
$Data.pagerConfig.total = res.data.total || 0;
|
|
124
135
|
|
|
@@ -159,7 +170,9 @@ const $Method = {
|
|
|
159
170
|
}
|
|
160
171
|
|
|
161
172
|
try {
|
|
162
|
-
await $Http("/addon/admin/dictType/del", {
|
|
173
|
+
await $Http.post("/addon/admin/dictType/del", {
|
|
174
|
+
id: row.id
|
|
175
|
+
});
|
|
163
176
|
MessagePlugin.success("删除成功");
|
|
164
177
|
destroy();
|
|
165
178
|
await $Method.apiDictTypeList();
|
|
@@ -147,7 +147,7 @@ const $Method = {
|
|
|
147
147
|
$Data.submitting = true;
|
|
148
148
|
try {
|
|
149
149
|
const api = $Prop.actionType === "upd" ? "/addon/admin/sysConfig/upd" : "/addon/admin/sysConfig/ins";
|
|
150
|
-
const res = await $Http(api, $Data.formData);
|
|
150
|
+
const res = await $Http.post(api, $Data.formData);
|
|
151
151
|
|
|
152
152
|
if (res.code === 0) {
|
|
153
153
|
MessagePlugin.success($Prop.actionType === "upd" ? "编辑成功" : "添加成功");
|
|
@@ -144,10 +144,22 @@ const $Method = {
|
|
|
144
144
|
async apiConfigList() {
|
|
145
145
|
$Data.loading = true;
|
|
146
146
|
try {
|
|
147
|
-
const res = await $Http(
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
147
|
+
const res = await $Http.post(
|
|
148
|
+
"/addon/admin/sysConfig/list",
|
|
149
|
+
{
|
|
150
|
+
page: $Data.pagerConfig.currentPage,
|
|
151
|
+
limit: $Data.pagerConfig.limit,
|
|
152
|
+
group: $Data.filter.group
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
dropValues: [0, ""],
|
|
156
|
+
dropKeyValue: {
|
|
157
|
+
page: [],
|
|
158
|
+
limit: [],
|
|
159
|
+
group: [""]
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
);
|
|
151
163
|
$Data.tableData = res.data.lists || [];
|
|
152
164
|
$Data.pagerConfig.total = res.data.total || 0;
|
|
153
165
|
|
|
@@ -195,7 +207,9 @@ const $Method = {
|
|
|
195
207
|
}
|
|
196
208
|
|
|
197
209
|
try {
|
|
198
|
-
await $Http("/addon/admin/sysConfig/del", {
|
|
210
|
+
await $Http.post("/addon/admin/sysConfig/del", {
|
|
211
|
+
id: row.id
|
|
212
|
+
});
|
|
199
213
|
MessagePlugin.success("删除成功");
|
|
200
214
|
destroy();
|
|
201
215
|
await $Method.apiConfigList();
|
|
@@ -32,7 +32,13 @@ const addonList = $ref([]);
|
|
|
32
32
|
// 获取数据
|
|
33
33
|
const fetchData = async () => {
|
|
34
34
|
try {
|
|
35
|
-
const { data } = await $Http(
|
|
35
|
+
const { data } = await $Http.post(
|
|
36
|
+
"/addon/admin/dashboard/addonList",
|
|
37
|
+
{},
|
|
38
|
+
{
|
|
39
|
+
dropValues: [""]
|
|
40
|
+
}
|
|
41
|
+
);
|
|
36
42
|
addonList.splice(0, addonList.length, ...data);
|
|
37
43
|
} catch (error) {
|
|
38
44
|
// 静默失败:不阻断页面展示
|
|
@@ -77,7 +83,7 @@ fetchData();
|
|
|
77
83
|
transition: all 0.3s;
|
|
78
84
|
|
|
79
85
|
&::after {
|
|
80
|
-
content:
|
|
86
|
+
content: "";
|
|
81
87
|
position: absolute;
|
|
82
88
|
top: -2px;
|
|
83
89
|
right: -2px;
|
|
@@ -86,6 +92,7 @@ fetchData();
|
|
|
86
92
|
border-radius: 50%;
|
|
87
93
|
background: var(--success-color);
|
|
88
94
|
box-shadow: 0 0 0 2px rgba(var(--success-color-rgb), 0.2);
|
|
95
|
+
}
|
|
89
96
|
}
|
|
90
97
|
|
|
91
98
|
.addon-icon {
|
|
@@ -52,7 +52,13 @@ const environmentInfo = $ref({
|
|
|
52
52
|
// 获取数据
|
|
53
53
|
const fetchData = async () => {
|
|
54
54
|
try {
|
|
55
|
-
const { data } = await $Http(
|
|
55
|
+
const { data } = await $Http.post(
|
|
56
|
+
"/addon/admin/dashboard/environmentInfo",
|
|
57
|
+
{},
|
|
58
|
+
{
|
|
59
|
+
dropValues: [""]
|
|
60
|
+
}
|
|
61
|
+
);
|
|
56
62
|
Object.assign(environmentInfo, data);
|
|
57
63
|
} catch (error) {
|
|
58
64
|
// 静默失败:不阻断页面展示
|
|
@@ -72,7 +72,13 @@ const performanceMetrics = $ref({
|
|
|
72
72
|
// 获取数据
|
|
73
73
|
const fetchData = async () => {
|
|
74
74
|
try {
|
|
75
|
-
const { data } = await $Http(
|
|
75
|
+
const { data } = await $Http.post(
|
|
76
|
+
"/addon/admin/dashboard/performanceMetrics",
|
|
77
|
+
{},
|
|
78
|
+
{
|
|
79
|
+
dropValues: [""]
|
|
80
|
+
}
|
|
81
|
+
);
|
|
76
82
|
Object.assign(performanceMetrics, data);
|
|
77
83
|
} catch (error) {
|
|
78
84
|
// 静默失败:不阻断页面展示
|
|
@@ -52,7 +52,13 @@ const services = $ref([]);
|
|
|
52
52
|
// 获取数据
|
|
53
53
|
const fetchData = async () => {
|
|
54
54
|
try {
|
|
55
|
-
const { data } = await $Http(
|
|
55
|
+
const { data } = await $Http.post(
|
|
56
|
+
"/addon/admin/dashboard/serviceStatus",
|
|
57
|
+
{},
|
|
58
|
+
{
|
|
59
|
+
dropValues: [""]
|
|
60
|
+
}
|
|
61
|
+
);
|
|
56
62
|
services.splice(0, services.length, ...data.services);
|
|
57
63
|
} catch (error) {
|
|
58
64
|
// 静默失败:不阻断页面展示
|
|
@@ -51,7 +51,13 @@ const permissionStats = $ref({
|
|
|
51
51
|
// 获取数据
|
|
52
52
|
const fetchData = async () => {
|
|
53
53
|
try {
|
|
54
|
-
const { data } = await $Http(
|
|
54
|
+
const { data } = await $Http.post(
|
|
55
|
+
"/addon/admin/dashboard/systemOverview",
|
|
56
|
+
{},
|
|
57
|
+
{
|
|
58
|
+
dropValues: [""]
|
|
59
|
+
}
|
|
60
|
+
);
|
|
55
61
|
Object.assign(permissionStats, data);
|
|
56
62
|
} catch (error) {
|
|
57
63
|
// 静默失败:不阻断页面展示
|
|
@@ -56,7 +56,13 @@ const systemResources = $ref({
|
|
|
56
56
|
// 获取数据
|
|
57
57
|
const fetchData = async () => {
|
|
58
58
|
try {
|
|
59
|
-
const { data } = await $Http(
|
|
59
|
+
const { data } = await $Http.post(
|
|
60
|
+
"/addon/admin/dashboard/systemResources",
|
|
61
|
+
{},
|
|
62
|
+
{
|
|
63
|
+
dropValues: [""]
|
|
64
|
+
}
|
|
65
|
+
);
|
|
60
66
|
Object.assign(systemResources, data);
|
|
61
67
|
} catch (error) {
|
|
62
68
|
// 静默失败:不阻断页面展示
|
|
@@ -58,7 +58,13 @@ const $Method = {
|
|
|
58
58
|
// 获取数据
|
|
59
59
|
async fetchData() {
|
|
60
60
|
try {
|
|
61
|
-
const { data } = await $Http(
|
|
61
|
+
const { data } = await $Http.post(
|
|
62
|
+
"/addon/admin/admin/detail",
|
|
63
|
+
{},
|
|
64
|
+
{
|
|
65
|
+
dropValues: [""]
|
|
66
|
+
}
|
|
67
|
+
);
|
|
62
68
|
Object.assign($Data.userInfo, data);
|
|
63
69
|
} catch (error) {
|
|
64
70
|
MessagePlugin.error("获取用户信息失败");
|
|
@@ -69,7 +75,7 @@ const $Method = {
|
|
|
69
75
|
async handleRefreshCache() {
|
|
70
76
|
try {
|
|
71
77
|
$Data.refreshing = true;
|
|
72
|
-
const result = await $Http("/addon/admin/admin/cacheRefresh");
|
|
78
|
+
const result = await $Http.post("/addon/admin/admin/cacheRefresh");
|
|
73
79
|
|
|
74
80
|
if (result.code === 0) {
|
|
75
81
|
const { apis, menus, roles } = result.data;
|
|
@@ -150,10 +150,16 @@ const $Method = {
|
|
|
150
150
|
async apiEmailLogList() {
|
|
151
151
|
$Data.loading = true;
|
|
152
152
|
try {
|
|
153
|
-
const res = await $Http(
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
153
|
+
const res = await $Http.post(
|
|
154
|
+
"/addon/admin/email/logList",
|
|
155
|
+
{
|
|
156
|
+
page: $Data.pagerConfig.currentPage,
|
|
157
|
+
limit: $Data.pagerConfig.limit
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
dropValues: [""]
|
|
161
|
+
}
|
|
162
|
+
);
|
|
157
163
|
$Data.tableData = res.data.lists || [];
|
|
158
164
|
$Data.pagerConfig.total = res.data.total || 0;
|
|
159
165
|
|
|
@@ -189,7 +195,7 @@ const $Method = {
|
|
|
189
195
|
|
|
190
196
|
$Data.sending = true;
|
|
191
197
|
try {
|
|
192
|
-
const res = await $Http("/addon/admin/email/send", {
|
|
198
|
+
const res = await $Http.post("/addon/admin/email/send", {
|
|
193
199
|
to: $Data.sendForm.to,
|
|
194
200
|
subject: $Data.sendForm.subject,
|
|
195
201
|
content: $Data.sendForm.content,
|
|
@@ -214,7 +220,7 @@ const $Method = {
|
|
|
214
220
|
// 验证配置
|
|
215
221
|
async onVerify() {
|
|
216
222
|
try {
|
|
217
|
-
const res = await $Http("/addon/admin/email/verify");
|
|
223
|
+
const res = await $Http.post("/addon/admin/email/verify");
|
|
218
224
|
if (res.code === 0) {
|
|
219
225
|
MessagePlugin.success("邮件服务配置正常");
|
|
220
226
|
} else {
|
|
@@ -106,10 +106,16 @@ const $Method = {
|
|
|
106
106
|
async apiLoginLogList() {
|
|
107
107
|
$Data.loading = true;
|
|
108
108
|
try {
|
|
109
|
-
const res = await $Http(
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
109
|
+
const res = await $Http.post(
|
|
110
|
+
"/addon/admin/loginLog/list",
|
|
111
|
+
{
|
|
112
|
+
page: $Data.pagerConfig.currentPage,
|
|
113
|
+
limit: $Data.pagerConfig.limit
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
dropValues: [""]
|
|
117
|
+
}
|
|
118
|
+
);
|
|
113
119
|
$Data.tableData = res.data.lists || [];
|
|
114
120
|
$Data.pagerConfig.total = res.data.total || 0;
|
|
115
121
|
|
|
@@ -142,10 +142,23 @@ const $Method = {
|
|
|
142
142
|
async apiOperateLogList() {
|
|
143
143
|
$Data.loading = true;
|
|
144
144
|
try {
|
|
145
|
-
const res = await $Http(
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
145
|
+
const res = await $Http.post(
|
|
146
|
+
"/addon/admin/operateLog/list",
|
|
147
|
+
{
|
|
148
|
+
page: $Data.pagerConfig.currentPage,
|
|
149
|
+
limit: $Data.pagerConfig.limit,
|
|
150
|
+
module: $Data.filter.module,
|
|
151
|
+
action: $Data.filter.action,
|
|
152
|
+
result: $Data.filter.result
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
dropValues: [""],
|
|
156
|
+
dropKeyValue: {
|
|
157
|
+
module: [""],
|
|
158
|
+
action: [""]
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
);
|
|
149
162
|
$Data.tableData = res.data.lists || [];
|
|
150
163
|
$Data.pagerConfig.total = res.data.total || 0;
|
|
151
164
|
|
|
@@ -108,7 +108,7 @@ const $Method = {
|
|
|
108
108
|
// 对密码进行 SHA-256 加密
|
|
109
109
|
const hashedPassword = await hashPassword($Data.formData.password);
|
|
110
110
|
|
|
111
|
-
const res = await $Http("/addon/admin/auth/login", {
|
|
111
|
+
const res = await $Http.post("/addon/admin/auth/login", {
|
|
112
112
|
loginType: $Data.formData.loginType,
|
|
113
113
|
account: $Data.formData.account,
|
|
114
114
|
password: hashedPassword
|
|
@@ -127,7 +127,13 @@ const $Method = {
|
|
|
127
127
|
|
|
128
128
|
async apiRoleLists() {
|
|
129
129
|
try {
|
|
130
|
-
const result = await $Http(
|
|
130
|
+
const result = await $Http.post(
|
|
131
|
+
"/addon/admin/role/all",
|
|
132
|
+
{},
|
|
133
|
+
{
|
|
134
|
+
dropValues: [""]
|
|
135
|
+
}
|
|
136
|
+
);
|
|
131
137
|
$Data.allRoleLists = result.data || [];
|
|
132
138
|
} catch (error) {
|
|
133
139
|
MessagePlugin.error("加载角色列表失败");
|
|
@@ -147,7 +153,7 @@ const $Method = {
|
|
|
147
153
|
formData.password = await hashPassword(formData.password);
|
|
148
154
|
}
|
|
149
155
|
|
|
150
|
-
const result = await $Http($Prop.actionType === "upd" ? "/addon/admin/admin/upd" : "/addon/admin/admin/ins", formData);
|
|
156
|
+
const result = await $Http.post($Prop.actionType === "upd" ? "/addon/admin/admin/upd" : "/addon/admin/admin/ins", formData);
|
|
151
157
|
|
|
152
158
|
MessagePlugin.success(result.msg);
|
|
153
159
|
$Emit("success");
|
|
@@ -116,10 +116,16 @@ const $Method = {
|
|
|
116
116
|
async apiAdminList() {
|
|
117
117
|
$Data.loading = true;
|
|
118
118
|
try {
|
|
119
|
-
const res = await $Http(
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
119
|
+
const res = await $Http.post(
|
|
120
|
+
"/addon/admin/admin/list",
|
|
121
|
+
{
|
|
122
|
+
page: $Data.pagerConfig.currentPage,
|
|
123
|
+
limit: $Data.pagerConfig.limit
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
dropValues: [""]
|
|
127
|
+
}
|
|
128
|
+
);
|
|
123
129
|
$Data.tableData = res.data.lists || [];
|
|
124
130
|
$Data.pagerConfig.total = res.data.total || 0;
|
|
125
131
|
|
|
@@ -163,7 +169,9 @@ const $Method = {
|
|
|
163
169
|
}
|
|
164
170
|
|
|
165
171
|
try {
|
|
166
|
-
await $Http("/addon/admin/admin/del", {
|
|
172
|
+
await $Http.post("/addon/admin/admin/del", {
|
|
173
|
+
id: row.id
|
|
174
|
+
});
|
|
167
175
|
MessagePlugin.success("删除成功");
|
|
168
176
|
destroy();
|
|
169
177
|
await $Method.apiAdminList();
|
|
@@ -93,7 +93,13 @@ const $Method = {
|
|
|
93
93
|
async loadApiAll() {
|
|
94
94
|
$Data.loading = true;
|
|
95
95
|
try {
|
|
96
|
-
const res = await $Http(
|
|
96
|
+
const res = await $Http.post(
|
|
97
|
+
"/addon/admin/api/all",
|
|
98
|
+
{},
|
|
99
|
+
{
|
|
100
|
+
dropValues: [""]
|
|
101
|
+
}
|
|
102
|
+
);
|
|
97
103
|
const list = res.data?.lists || [];
|
|
98
104
|
$Data.allData = list;
|
|
99
105
|
$Data.tableData = list;
|
|
@@ -72,7 +72,13 @@ const $Method = {
|
|
|
72
72
|
async apiMenuList() {
|
|
73
73
|
$Data.loading = true;
|
|
74
74
|
try {
|
|
75
|
-
const res = await $Http(
|
|
75
|
+
const res = await $Http.post(
|
|
76
|
+
"/addon/admin/menu/all",
|
|
77
|
+
{},
|
|
78
|
+
{
|
|
79
|
+
dropValues: [""]
|
|
80
|
+
}
|
|
81
|
+
);
|
|
76
82
|
const lists = Array.isArray(res?.data?.lists) ? res.data.lists : [];
|
|
77
83
|
|
|
78
84
|
const treeResult = arrayToTree(lists, "path", "parentPath", "children", "sort");
|
|
@@ -112,7 +112,13 @@ const $Method = {
|
|
|
112
112
|
// 加载所有接口
|
|
113
113
|
async apiApiAll() {
|
|
114
114
|
try {
|
|
115
|
-
const res = await $Http(
|
|
115
|
+
const res = await $Http.post(
|
|
116
|
+
"/addon/admin/api/all",
|
|
117
|
+
{},
|
|
118
|
+
{
|
|
119
|
+
dropValues: [""]
|
|
120
|
+
}
|
|
121
|
+
);
|
|
116
122
|
|
|
117
123
|
// 将接口列表按 parentPath 分组展示(routePath 已迁移为 path)
|
|
118
124
|
const apiMap = new Map();
|
|
@@ -172,9 +178,15 @@ const $Method = {
|
|
|
172
178
|
if (!$Prop.rowData.id) return;
|
|
173
179
|
|
|
174
180
|
try {
|
|
175
|
-
const res = await $Http(
|
|
176
|
-
|
|
177
|
-
|
|
181
|
+
const res = await $Http.post(
|
|
182
|
+
"/addon/admin/role/apis",
|
|
183
|
+
{
|
|
184
|
+
roleCode: $Prop.rowData.code
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
dropValues: [""]
|
|
188
|
+
}
|
|
189
|
+
);
|
|
178
190
|
|
|
179
191
|
$Data.checkedApiPaths = res.data.apiPaths || [];
|
|
180
192
|
} catch (error) {
|
|
@@ -212,7 +224,7 @@ const $Method = {
|
|
|
212
224
|
try {
|
|
213
225
|
$Data.submitting = true;
|
|
214
226
|
|
|
215
|
-
const res = await $Http("/addon/admin/role/apiSave", {
|
|
227
|
+
const res = await $Http.post("/addon/admin/role/apiSave", {
|
|
216
228
|
roleCode: $Prop.rowData.code,
|
|
217
229
|
apiPaths: $Data.checkedApiPaths
|
|
218
230
|
});
|
|
@@ -120,7 +120,7 @@ const $Method = {
|
|
|
120
120
|
|
|
121
121
|
$Data.submitting = true;
|
|
122
122
|
const formData = $Prop.actionType === "add" ? fieldClear($Data.formData, { omitKeys: ["id", "state"] }) : $Data.formData;
|
|
123
|
-
const res = await $Http($Prop.actionType === "upd" ? "/addon/admin/role/upd" : "/addon/admin/role/ins", formData);
|
|
123
|
+
const res = await $Http.post($Prop.actionType === "upd" ? "/addon/admin/role/upd" : "/addon/admin/role/ins", formData);
|
|
124
124
|
|
|
125
125
|
MessagePlugin.success(res.msg);
|
|
126
126
|
$Emit("success");
|
|
@@ -92,7 +92,13 @@ const $Method = {
|
|
|
92
92
|
// 加载菜单树(用于配置权限)
|
|
93
93
|
async apiMenuAll() {
|
|
94
94
|
try {
|
|
95
|
-
const res = await $Http(
|
|
95
|
+
const res = await $Http.post(
|
|
96
|
+
"/addon/admin/menu/all",
|
|
97
|
+
{},
|
|
98
|
+
{
|
|
99
|
+
dropValues: [""]
|
|
100
|
+
}
|
|
101
|
+
);
|
|
96
102
|
const lists = Array.isArray(res?.data?.lists) ? res.data.lists : [];
|
|
97
103
|
|
|
98
104
|
const treeResult = arrayToTree(lists, "path", "parentPath", "children", "sort");
|
|
@@ -145,9 +151,15 @@ const $Method = {
|
|
|
145
151
|
if (!$Prop.rowData.id) return;
|
|
146
152
|
|
|
147
153
|
try {
|
|
148
|
-
const res = await $Http(
|
|
149
|
-
|
|
150
|
-
|
|
154
|
+
const res = await $Http.post(
|
|
155
|
+
"/addon/admin/role/menus",
|
|
156
|
+
{
|
|
157
|
+
roleCode: $Prop.rowData.code
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
dropValues: [""]
|
|
161
|
+
}
|
|
162
|
+
);
|
|
151
163
|
|
|
152
164
|
// menus 返回的 data 直接就是菜单 path 数组
|
|
153
165
|
$Data.checkedMenuPaths = Array.isArray(res.data) ? res.data : [];
|
|
@@ -187,7 +199,7 @@ const $Method = {
|
|
|
187
199
|
try {
|
|
188
200
|
$Data.submitting = true;
|
|
189
201
|
|
|
190
|
-
const res = await $Http("/addon/admin/role/menuSave", {
|
|
202
|
+
const res = await $Http.post("/addon/admin/role/menuSave", {
|
|
191
203
|
roleCode: $Prop.rowData.code,
|
|
192
204
|
menuPaths: $Data.checkedMenuPaths
|
|
193
205
|
});
|
|
@@ -147,10 +147,16 @@ const $Method = {
|
|
|
147
147
|
async apiRoleList() {
|
|
148
148
|
$Data.loading = true;
|
|
149
149
|
try {
|
|
150
|
-
const res = await $Http(
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
150
|
+
const res = await $Http.post(
|
|
151
|
+
"/addon/admin/role/list",
|
|
152
|
+
{
|
|
153
|
+
page: $Data.pagerConfig.currentPage,
|
|
154
|
+
limit: $Data.pagerConfig.limit
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
dropValues: [""]
|
|
158
|
+
}
|
|
159
|
+
);
|
|
154
160
|
$Data.tableData = res.data.lists || [];
|
|
155
161
|
$Data.pagerConfig.total = res.data.total || 0;
|
|
156
162
|
|
|
@@ -194,7 +200,9 @@ const $Method = {
|
|
|
194
200
|
}
|
|
195
201
|
|
|
196
202
|
try {
|
|
197
|
-
await $Http("/addon/admin/role/del", {
|
|
203
|
+
await $Http.post("/addon/admin/role/del", {
|
|
204
|
+
id: row.id
|
|
205
|
+
});
|
|
198
206
|
MessagePlugin.success("删除成功");
|
|
199
207
|
destroy();
|
|
200
208
|
await $Method.apiRoleList();
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
export function cleanParams<TData extends Record<string, unknown>>(data: TData, dropValues?: readonly unknown[], dropKeyValue?: Record<string, readonly unknown[]>): Partial<TData> {
|
|
2
|
+
const globalDropValues = dropValues ?? [];
|
|
3
|
+
const perKeyDropValues = dropKeyValue ?? {};
|
|
4
|
+
|
|
5
|
+
const globalDropSet = new Set<unknown>(globalDropValues);
|
|
6
|
+
|
|
7
|
+
const out: Record<string, unknown> = {};
|
|
8
|
+
|
|
9
|
+
for (const key of Object.keys(data)) {
|
|
10
|
+
const value = data[key];
|
|
11
|
+
|
|
12
|
+
// 默认强制移除 null / undefined
|
|
13
|
+
if (value === null || value === undefined) {
|
|
14
|
+
continue;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
// 如果该 key 配了规则:以 key 规则为准,不再应用全局 dropValues
|
|
18
|
+
if (Object.hasOwn(perKeyDropValues, key)) {
|
|
19
|
+
const keyDropValues = perKeyDropValues[key] ?? [];
|
|
20
|
+
const keyDropSet = new Set<unknown>(keyDropValues);
|
|
21
|
+
|
|
22
|
+
if (keyDropSet.has(value)) {
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
out[key] = value;
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// 未配置 key 规则:应用全局 dropValues
|
|
31
|
+
if (globalDropSet.has(value)) {
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
out[key] = value;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return out as Partial<TData>;
|
|
39
|
+
}
|