mirror of
https://github.com/yangjian102621/geekai.git
synced 2025-09-18 01:06:39 +08:00
优化实时语音对话组件,处理异常
This commit is contained in:
parent
ad6e2dd370
commit
1fe1e40a43
@ -143,65 +143,67 @@ func (h *ConfigHandler) GetLicense(c *gin.Context) {
|
|||||||
|
|
||||||
// FixData 修复数据
|
// FixData 修复数据
|
||||||
func (h *ConfigHandler) FixData(c *gin.Context) {
|
func (h *ConfigHandler) FixData(c *gin.Context) {
|
||||||
var fixed bool
|
resp.ERROR(c, "当前升级版本没有数据需要修正!")
|
||||||
version := "data_fix_4.1.4"
|
return
|
||||||
err := h.levelDB.Get(version, &fixed)
|
//var fixed bool
|
||||||
if err == nil || fixed {
|
//version := "data_fix_4.1.4"
|
||||||
resp.ERROR(c, "当前版本数据修复已完成,请不要重复执行操作")
|
//err := h.levelDB.Get(version, &fixed)
|
||||||
return
|
//if err == nil || fixed {
|
||||||
}
|
// resp.ERROR(c, "当前版本数据修复已完成,请不要重复执行操作")
|
||||||
tx := h.DB.Begin()
|
// return
|
||||||
var users []model.User
|
//}
|
||||||
err = tx.Find(&users).Error
|
//tx := h.DB.Begin()
|
||||||
if err != nil {
|
//var users []model.User
|
||||||
resp.ERROR(c, err.Error())
|
//err = tx.Find(&users).Error
|
||||||
return
|
//if err != nil {
|
||||||
}
|
// resp.ERROR(c, err.Error())
|
||||||
for _, user := range users {
|
// return
|
||||||
if user.Email != "" || user.Mobile != "" {
|
//}
|
||||||
continue
|
//for _, user := range users {
|
||||||
}
|
// if user.Email != "" || user.Mobile != "" {
|
||||||
if utils.IsValidEmail(user.Username) {
|
// continue
|
||||||
user.Email = user.Username
|
// }
|
||||||
} else if utils.IsValidMobile(user.Username) {
|
// if utils.IsValidEmail(user.Username) {
|
||||||
user.Mobile = user.Username
|
// user.Email = user.Username
|
||||||
}
|
// } else if utils.IsValidMobile(user.Username) {
|
||||||
err = tx.Save(&user).Error
|
// user.Mobile = user.Username
|
||||||
if err != nil {
|
// }
|
||||||
resp.ERROR(c, err.Error())
|
// err = tx.Save(&user).Error
|
||||||
tx.Rollback()
|
// if err != nil {
|
||||||
return
|
// resp.ERROR(c, err.Error())
|
||||||
}
|
// tx.Rollback()
|
||||||
}
|
// return
|
||||||
|
// }
|
||||||
var orders []model.Order
|
//}
|
||||||
err = h.DB.Find(&orders).Error
|
//
|
||||||
if err != nil {
|
//var orders []model.Order
|
||||||
resp.ERROR(c, err.Error())
|
//err = h.DB.Find(&orders).Error
|
||||||
return
|
//if err != nil {
|
||||||
}
|
// resp.ERROR(c, err.Error())
|
||||||
for _, order := range orders {
|
// return
|
||||||
if order.PayWay == "支付宝" {
|
//}
|
||||||
order.PayWay = "alipay"
|
//for _, order := range orders {
|
||||||
order.PayType = "alipay"
|
// if order.PayWay == "支付宝" {
|
||||||
} else if order.PayWay == "微信支付" {
|
// order.PayWay = "alipay"
|
||||||
order.PayWay = "wechat"
|
// order.PayType = "alipay"
|
||||||
order.PayType = "wxpay"
|
// } else if order.PayWay == "微信支付" {
|
||||||
} else if order.PayWay == "hupi" {
|
// order.PayWay = "wechat"
|
||||||
order.PayType = "wxpay"
|
// order.PayType = "wxpay"
|
||||||
}
|
// } else if order.PayWay == "hupi" {
|
||||||
err = tx.Save(&order).Error
|
// order.PayType = "wxpay"
|
||||||
if err != nil {
|
// }
|
||||||
resp.ERROR(c, err.Error())
|
// err = tx.Save(&order).Error
|
||||||
tx.Rollback()
|
// if err != nil {
|
||||||
return
|
// resp.ERROR(c, err.Error())
|
||||||
}
|
// tx.Rollback()
|
||||||
}
|
// return
|
||||||
tx.Commit()
|
// }
|
||||||
err = h.levelDB.Put(version, true)
|
//}
|
||||||
if err != nil {
|
//tx.Commit()
|
||||||
resp.ERROR(c, err.Error())
|
//err = h.levelDB.Put(version, true)
|
||||||
return
|
//if err != nil {
|
||||||
}
|
// resp.ERROR(c, err.Error())
|
||||||
resp.SUCCESS(c)
|
// return
|
||||||
|
//}
|
||||||
|
//resp.SUCCESS(c)
|
||||||
}
|
}
|
||||||
|
@ -305,19 +305,22 @@ onUnmounted(() => {
|
|||||||
const hangUp = async () => {
|
const hangUp = async () => {
|
||||||
try {
|
try {
|
||||||
isConnected.value = false
|
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 wavRecorder.value.end()
|
||||||
await wavStreamPlayer.value.interrupt()
|
await wavStreamPlayer.value.interrupt()
|
||||||
// 停止播放拨号音乐
|
} catch (e) {
|
||||||
backgroundAudio.value?.pause()
|
console.error(e)
|
||||||
backgroundAudio.value.currentTime = 0
|
} finally {
|
||||||
// 播放挂断音乐
|
// 播放挂断音乐
|
||||||
hangUpAudio.value?.play()
|
hangUpAudio.value?.play()
|
||||||
emits('close')
|
emits('close')
|
||||||
} catch (e) {
|
|
||||||
console.error(e)
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -902,6 +902,10 @@ const showConversationDialog = ref(false)
|
|||||||
const conversationRef = ref(null)
|
const conversationRef = ref(null)
|
||||||
const dialogHeight = ref(window.innerHeight - 75);
|
const dialogHeight = ref(window.innerHeight - 75);
|
||||||
const realtimeChat = () => {
|
const realtimeChat = () => {
|
||||||
|
if (!isLogin.value) {
|
||||||
|
store.setShowLoginDialog(true)
|
||||||
|
return
|
||||||
|
}
|
||||||
showConversationDialog.value = true;
|
showConversationDialog.value = true;
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
conversationRef.value.connect()
|
conversationRef.value.connect()
|
||||||
|
@ -403,11 +403,11 @@
|
|||||||
|
|
||||||
<el-tab-pane label="修复数据" name="fixData">
|
<el-tab-pane label="修复数据" name="fixData">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<p class="text">有些版本升级的时候更新了数据库的结构,比如字段名字改了,需要把之前的字段的值转移到其他字段,这些无法通过简单的 SQL 语句可以实现的,需要手动写程序修正数据。</p>
|
<!-- <p class="text">有些版本升级的时候更新了数据库的结构,比如字段名字改了,需要把之前的字段的值转移到其他字段,这些无法通过简单的 SQL 语句可以实现的,需要手动写程序修正数据。</p>-->
|
||||||
|
|
||||||
<p class="text">当前版本 v4.1.4 需要修正用户数据,增加了 mobile 和 email 字段,需要把之前用手机号或者邮箱注册的用户的 username 字段数据初始化到 mobile 或者 email 字段。另外,需要把订单的支付渠道从名字称修正为 key。</p>
|
<!-- <p class="text">当前版本 v4.1.4 需要修正用户数据,增加了 mobile 和 email 字段,需要把之前用手机号或者邮箱注册的用户的 username 字段数据初始化到 mobile 或者 email 字段。另外,需要把订单的支付渠道从名字称修正为 key。</p>-->
|
||||||
|
|
||||||
<el-text type="danger">请注意:在修复数据前,请先备份好数据库,以免数据丢失!</el-text>
|
<!-- <el-text type="danger">请注意:在修复数据前,请先备份好数据库,以免数据丢失!</el-text>-->
|
||||||
|
|
||||||
<p><el-button type="primary" @click="fixData">立即修复</el-button></p>
|
<p><el-button type="primary" @click="fixData">立即修复</el-button></p>
|
||||||
</div>
|
</div>
|
||||||
|
Loading…
Reference in New Issue
Block a user