diff --git a/main/manager-api/src/main/java/xiaozhi/modules/timbre/controller/TimbreController.java b/main/manager-api/src/main/java/xiaozhi/modules/timbre/controller/TimbreController.java index e13cb93e..15ddf8fc 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/timbre/controller/TimbreController.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/timbre/controller/TimbreController.java @@ -82,11 +82,11 @@ public class TimbreController { return new Result<>(); } - @DeleteMapping("/{id}") + @DeleteMapping @Operation(summary = "音色删除") @RequiresPermissions("sys:role:superAdmin") - public Result delete(@PathVariable String id) { - timbreService.delete(new String[] { id }); + public Result delete(@RequestBody String[] ids) { + timbreService.delete(ids); return new Result<>(); } diff --git a/main/manager-api/src/main/java/xiaozhi/modules/timbre/vo/TimbreDetailsVO.java b/main/manager-api/src/main/java/xiaozhi/modules/timbre/vo/TimbreDetailsVO.java index 68cc7bbb..3f0ace40 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/timbre/vo/TimbreDetailsVO.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/timbre/vo/TimbreDetailsVO.java @@ -14,7 +14,7 @@ import lombok.Data; @Data public class TimbreDetailsVO implements Serializable { @Schema(description = "音色id") - private Long id; + private String id; @Schema(description = "语言") private String languages; diff --git a/main/manager-web/src/apis/module/admin.js b/main/manager-web/src/apis/module/admin.js index dba012ba..76fabb87 100644 --- a/main/manager-web/src/apis/module/admin.js +++ b/main/manager-web/src/apis/module/admin.js @@ -56,6 +56,89 @@ export default { this.resetUserPassword(id, callback) }) }).send() - } + }, + getParamsList(params, callback) { + const queryParams = new URLSearchParams({ + page: params.page, + limit: params.limit + }).toString(); + RequestService.sendRequest() + .url(`${getServiceUrl()}/admin/params/page?${queryParams}`) + .method('GET') + .success((res) => { + RequestService.clearRequestTime() + callback(res) + }) + .fail((err) => { + console.error('获取参数列表失败:', err) + RequestService.reAjaxFun(() => { + this.getParamsList(params, callback) + }) + }).send() + }, + addParam(data, callback) { + RequestService.sendRequest() + .url(`${getServiceUrl()}/admin/params`) + .method('POST') + .data(data) + .success((res) => { + RequestService.clearRequestTime() + callback(res) + }) + .fail((err) => { + console.error('添加参数失败:', err) + RequestService.reAjaxFun(() => { + this.addParam(data, callback) + }) + }).send() + }, + updateParam(data, callback) { + RequestService.sendRequest() + .url(`${getServiceUrl()}/admin/params`) + .method('PUT') + .data(data) + .success((res) => { + RequestService.clearRequestTime() + callback(res) + }) + .fail((err) => { + console.error('更新参数失败:', err) + RequestService.reAjaxFun(() => { + this.updateParam(data, callback) + }) + }).send() + }, + deleteParam(id, callback) { + RequestService.sendRequest() + .url(`${getServiceUrl()}/admin/params`) + .method('DELETE') + .data({ ids: [id] }) + .success((res) => { + RequestService.clearRequestTime() + callback(res) + }) + .fail((err) => { + console.error('删除参数失败:', err) + RequestService.reAjaxFun(() => { + this.deleteParam(id, callback) + }) + }).send() + }, + batchDeleteParams(ids, callback) { + RequestService.sendRequest() + .url(`${getServiceUrl()}/admin/params`) + .method('DELETE') + .data({ ids }) + .success((res) => { + RequestService.clearRequestTime() + callback(res) + }) + .fail((err) => { + console.error('批量删除参数失败:', err) + RequestService.reAjaxFun(() => { + this.batchDeleteParams(ids, callback) + }) + }).send() + } } diff --git a/main/manager-web/src/assets/header/param_management.png b/main/manager-web/src/assets/header/param_management.png new file mode 100644 index 00000000..215b12ef Binary files /dev/null and b/main/manager-web/src/assets/header/param_management.png differ diff --git a/main/manager-web/src/components/HeaderBar.vue b/main/manager-web/src/components/HeaderBar.vue index e5f719a1..5ddcee55 100644 --- a/main/manager-web/src/components/HeaderBar.vue +++ b/main/manager-web/src/components/HeaderBar.vue @@ -26,6 +26,12 @@ :style="{ filter: $route.path === '/user-management' ? 'brightness(0) invert(1)' : 'None' }" /> 用户管理 +
+ + 参数管理 +
@@ -96,6 +102,9 @@ export default { goModelConfig() { this.$router.push('/model-config') }, + goParamManagement() { + this.$router.push('/params-management') + }, // 获取用户信息 fetchUserInfo() { userApi.getUserInfo(({ data }) => { diff --git a/main/manager-web/src/router/index.js b/main/manager-web/src/router/index.js index 75456641..9a06b07b 100644 --- a/main/manager-web/src/router/index.js +++ b/main/manager-web/src/router/index.js @@ -69,7 +69,17 @@ const routes = [ return import('../views/test.vue') } }, - + { + path: '/params-management', + name: 'ParamsManagement', + component: function () { + return import('../views/ParamsManagement.vue') + }, + meta: { + requiresAuth: true, + title: '参数管理' + } + }, ] const router = new VueRouter({ diff --git a/main/manager-web/src/views/ParamsManagement.vue b/main/manager-web/src/views/ParamsManagement.vue new file mode 100644 index 00000000..896c035e --- /dev/null +++ b/main/manager-web/src/views/ParamsManagement.vue @@ -0,0 +1,536 @@ + + + + + \ No newline at end of file