From 1fe1e40a435f3d8fac1cee7e76827a45b35ac0d7 Mon Sep 17 00:00:00 2001 From: RockYang Date: Wed, 23 Oct 2024 18:04:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=AE=9E=E6=97=B6=E8=AF=AD?= =?UTF-8?q?=E9=9F=B3=E5=AF=B9=E8=AF=9D=E7=BB=84=E4=BB=B6=EF=BC=8C=E5=A4=84?= =?UTF-8?q?=E7=90=86=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/handler/admin/config_handler.go | 124 ++++++++++---------- web/src/components/RealtimeConversation.vue | 15 ++- web/src/views/ChatPlus.vue | 4 + web/src/views/admin/SysConfig.vue | 6 +- 4 files changed, 79 insertions(+), 70 deletions(-) diff --git a/api/handler/admin/config_handler.go b/api/handler/admin/config_handler.go index 2d87c9a1..f03bedb0 100644 --- a/api/handler/admin/config_handler.go +++ b/api/handler/admin/config_handler.go @@ -143,65 +143,67 @@ func (h *ConfigHandler) GetLicense(c *gin.Context) { // FixData 修复数据 func (h *ConfigHandler) FixData(c *gin.Context) { - var fixed bool - version := "data_fix_4.1.4" - err := h.levelDB.Get(version, &fixed) - if err == nil || fixed { - resp.ERROR(c, "当前版本数据修复已完成,请不要重复执行操作") - return - } - tx := h.DB.Begin() - var users []model.User - err = tx.Find(&users).Error - if err != nil { - resp.ERROR(c, err.Error()) - return - } - for _, user := range users { - if user.Email != "" || user.Mobile != "" { - continue - } - if utils.IsValidEmail(user.Username) { - user.Email = user.Username - } else if utils.IsValidMobile(user.Username) { - user.Mobile = user.Username - } - err = tx.Save(&user).Error - if err != nil { - resp.ERROR(c, err.Error()) - tx.Rollback() - return - } - } - - var orders []model.Order - err = h.DB.Find(&orders).Error - if err != nil { - resp.ERROR(c, err.Error()) - return - } - for _, order := range orders { - if order.PayWay == "支付宝" { - order.PayWay = "alipay" - order.PayType = "alipay" - } else if order.PayWay == "微信支付" { - order.PayWay = "wechat" - order.PayType = "wxpay" - } else if order.PayWay == "hupi" { - order.PayType = "wxpay" - } - err = tx.Save(&order).Error - if err != nil { - resp.ERROR(c, err.Error()) - tx.Rollback() - return - } - } - tx.Commit() - err = h.levelDB.Put(version, true) - if err != nil { - resp.ERROR(c, err.Error()) - return - } - resp.SUCCESS(c) + resp.ERROR(c, "当前升级版本没有数据需要修正!") + return + //var fixed bool + //version := "data_fix_4.1.4" + //err := h.levelDB.Get(version, &fixed) + //if err == nil || fixed { + // resp.ERROR(c, "当前版本数据修复已完成,请不要重复执行操作") + // return + //} + //tx := h.DB.Begin() + //var users []model.User + //err = tx.Find(&users).Error + //if err != nil { + // resp.ERROR(c, err.Error()) + // return + //} + //for _, user := range users { + // if user.Email != "" || user.Mobile != "" { + // continue + // } + // if utils.IsValidEmail(user.Username) { + // user.Email = user.Username + // } else if utils.IsValidMobile(user.Username) { + // user.Mobile = user.Username + // } + // err = tx.Save(&user).Error + // if err != nil { + // resp.ERROR(c, err.Error()) + // tx.Rollback() + // return + // } + //} + // + //var orders []model.Order + //err = h.DB.Find(&orders).Error + //if err != nil { + // resp.ERROR(c, err.Error()) + // return + //} + //for _, order := range orders { + // if order.PayWay == "支付宝" { + // order.PayWay = "alipay" + // order.PayType = "alipay" + // } else if order.PayWay == "微信支付" { + // order.PayWay = "wechat" + // order.PayType = "wxpay" + // } else if order.PayWay == "hupi" { + // order.PayType = "wxpay" + // } + // err = tx.Save(&order).Error + // if err != nil { + // resp.ERROR(c, err.Error()) + // tx.Rollback() + // return + // } + //} + //tx.Commit() + //err = h.levelDB.Put(version, true) + //if err != nil { + // resp.ERROR(c, err.Error()) + // return + //} + //resp.SUCCESS(c) } diff --git a/web/src/components/RealtimeConversation.vue b/web/src/components/RealtimeConversation.vue index d4a72f4e..b89954c8 100644 --- a/web/src/components/RealtimeConversation.vue +++ b/web/src/components/RealtimeConversation.vue @@ -305,19 +305,22 @@ onUnmounted(() => { const hangUp = async () => { try { isConnected.value = false + // 停止播放拨号音乐 + if (backgroundAudio.value?.currentTime) { + backgroundAudio.value?.pause() + backgroundAudio.value.currentTime = 0 + } // 断开客户端的连接 - client.value.disconnect() + client.value.reset() // 中断语音输入和输出服务 await wavRecorder.value.end() await wavStreamPlayer.value.interrupt() - // 停止播放拨号音乐 - backgroundAudio.value?.pause() - backgroundAudio.value.currentTime = 0 + } catch (e) { + console.error(e) + } finally { // 播放挂断音乐 hangUpAudio.value?.play() emits('close') - } catch (e) { - console.error(e) } }; diff --git a/web/src/views/ChatPlus.vue b/web/src/views/ChatPlus.vue index 6e3918aa..74982ecd 100644 --- a/web/src/views/ChatPlus.vue +++ b/web/src/views/ChatPlus.vue @@ -902,6 +902,10 @@ const showConversationDialog = ref(false) const conversationRef = ref(null) const dialogHeight = ref(window.innerHeight - 75); const realtimeChat = () => { + if (!isLogin.value) { + store.setShowLoginDialog(true) + return + } showConversationDialog.value = true; nextTick(() => { conversationRef.value.connect() diff --git a/web/src/views/admin/SysConfig.vue b/web/src/views/admin/SysConfig.vue index 8c7105e2..8d252698 100644 --- a/web/src/views/admin/SysConfig.vue +++ b/web/src/views/admin/SysConfig.vue @@ -403,11 +403,11 @@
-

有些版本升级的时候更新了数据库的结构,比如字段名字改了,需要把之前的字段的值转移到其他字段,这些无法通过简单的 SQL 语句可以实现的,需要手动写程序修正数据。

+ -

当前版本 v4.1.4 需要修正用户数据,增加了 mobile 和 email 字段,需要把之前用手机号或者邮箱注册的用户的 username 字段数据初始化到 mobile 或者 email 字段。另外,需要把订单的支付渠道从名字称修正为 key。

+ - 请注意:在修复数据前,请先备份好数据库,以免数据丢失! +

立即修复