From 3ca06f8d50d0fb59f334f6eec7f82dc1c303e9b2 Mon Sep 17 00:00:00 2001 From: CGD <3030332422@qq.com> Date: Thu, 27 Mar 2025 17:54:05 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E2=80=9D=E7=BB=91=E5=AE=9A?= =?UTF-8?q?=E8=AE=BE=E5=A4=87=E2=80=9C=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main/manager-web/src/apis/module/user.js | 48 +++++++++++++------ .../src/components/AddDeviceDialog.vue | 43 +++++++++++++++-- .../src/views/DeviceManagement.vue | 9 ++-- 3 files changed, 74 insertions(+), 26 deletions(-) diff --git a/main/manager-web/src/apis/module/user.js b/main/manager-web/src/apis/module/user.js index 83f5457f..66fefdbc 100755 --- a/main/manager-web/src/apis/module/user.js +++ b/main/manager-web/src/apis/module/user.js @@ -186,6 +186,7 @@ export default { }, // 已绑设备 getAgentBindDevices(agentId, callback) { + console.log("77777777777777777777777") RequestService.sendRequest() .url(`${getServiceUrl()}/api/v1/user/agent/device/bind/${agentId}`) .method('GET') @@ -202,19 +203,36 @@ export default { }, // 解绑设备 unbindDevice(device_id, callback) { - RequestService.sendRequest() - .url(`${getServiceUrl()}/api/v1/user/device/unbind/${device_id}`) - .method('PUT') - .success((res) => { - RequestService.clearRequestTime(); - callback(res); - }) - .fail((err) => { - console.error('解绑设备失败:', err); - RequestService.reAjaxFun(() => { - this.unbindDevice(device_id, callback); - }); - }) - .send(); - } + RequestService.sendRequest() + .url(`${getServiceUrl()}/api/v1/user/device/unbind/${device_id}`) + .method('PUT') + .success((res) => { + RequestService.clearRequestTime(); + callback(res); + }) + .fail((err) => { + console.error('解绑设备失败:', err); + RequestService.reAjaxFun(() => { + this.unbindDevice(device_id, callback); + }); + }).send(); + }, + // 绑定设备 + bindDevice(agentId, code, callback) { + console.log("32323234343434344340000") + RequestService.sendRequest() + .url(`${getServiceUrl()}/api/v1/user/agent/device/bind/${agentId}`) + .method('POST') + .data({ code }) + .success((res) => { + RequestService.clearRequestTime(); + callback(res); + }) + .fail((err) => { + // console.error('绑定设备失败:', err); + // RequestService.reAjaxFun(() => { + // this.bindDevice(agentId, code, callback); + // }); + }).send(); + }, } diff --git a/main/manager-web/src/components/AddDeviceDialog.vue b/main/manager-web/src/components/AddDeviceDialog.vue index e7ba492e..6c99a038 100644 --- a/main/manager-web/src/components/AddDeviceDialog.vue +++ b/main/manager-web/src/components/AddDeviceDialog.vue @@ -33,16 +33,49 @@ export default { name: 'AddDeviceDialog', props: { - visible: { type: Boolean, required: true } + visible: { type: Boolean, required: true }, + agentId: { type: String, required: true } }, data() { - return { deviceCode: "" } + return { + deviceCode: "", + loading: false, + } }, methods: { confirm() { - this.$emit('update:visible', false) - this.$emit('added', this.deviceCode) - this.deviceCode = "" + // console.log(this.agentId) + // console.log("=========") + // console.log(this.$route.query.agentId) + if (!/^\d{6}$/.test(this.deviceCode)) { + this.$message.error('请输入6位数字验证码'); + return; + } + this.loading = true; + import('@/apis/module/user').then(({ default: userApi }) => { + userApi.bindDevice( + this.agentId, + this.deviceCode, ({data}) => { + this.loading = false; + if (data.code === 0) { + this.$emit('refresh'); + this.$message.success('设备绑定成功'); + this.closeDialog(); + } else { + this.$message.error(data.msg || '绑定失败'); + } + } + ); + }).catch((err) => { + this.loading = false; + console.error('API模块加载失败:', err); + this.$message.error('绑定服务不可用'); + }); + }, + closeDialog() { + this.$emit('update:visible', false); + this.deviceCode = ''; + }, cancel() { this.$emit('update:visible', false) diff --git a/main/manager-web/src/views/DeviceManagement.vue b/main/manager-web/src/views/DeviceManagement.vue index b6741d7e..2e853f17 100644 --- a/main/manager-web/src/views/DeviceManagement.vue +++ b/main/manager-web/src/views/DeviceManagement.vue @@ -51,7 +51,7 @@
©2025 xiaozhi-esp32-server
- + @@ -59,12 +59,12 @@