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 @@