mirror of
https://github.com/yangjian102621/geekai.git
synced 2025-09-17 16:56:38 +08:00
feat: 增加用户 token 消耗统计功能
This commit is contained in:
parent
4603de0e70
commit
32484bd32e
@ -319,6 +319,10 @@ func (h *ChatHandler) sendMessage(ctx context.Context, session types.ChatSession
|
|||||||
if res.Error != nil {
|
if res.Error != nil {
|
||||||
logger.Error("failed to save reply history message: ", res.Error)
|
logger.Error("failed to save reply history message: ", res.Error)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 统计用户 token 数量
|
||||||
|
h.db.Model(&user).UpdateColumn("tokens", gorm.Expr("tokens + ?",
|
||||||
|
historyUserMsg.Tokens+historyReplyMsg.Tokens))
|
||||||
}
|
}
|
||||||
|
|
||||||
// 保存当前会话
|
// 保存当前会话
|
||||||
|
@ -240,7 +240,7 @@ type userProfile struct {
|
|||||||
Avatar string `json:"avatar"`
|
Avatar string `json:"avatar"`
|
||||||
ChatConfig types.ChatConfig `json:"chat_config"`
|
ChatConfig types.ChatConfig `json:"chat_config"`
|
||||||
Calls int `json:"calls"`
|
Calls int `json:"calls"`
|
||||||
Tokens int `json:"tokens"`
|
Tokens int64 `json:"tokens"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (h *UserHandler) Profile(c *gin.Context) {
|
func (h *UserHandler) Profile(c *gin.Context) {
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
v-model="showDialog"
|
v-model="showDialog"
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
:before-close="close"
|
:before-close="close"
|
||||||
:top="top"
|
:top="50+'px'"
|
||||||
title="用户设置"
|
title="用户设置"
|
||||||
>
|
>
|
||||||
<div class="user-info" id="user-info">
|
<div class="user-info" id="user-info">
|
||||||
@ -53,7 +53,7 @@
|
|||||||
<el-form-item label="剩余调用次数">
|
<el-form-item label="剩余调用次数">
|
||||||
<el-tag>{{ form['calls'] }}</el-tag>
|
<el-tag>{{ form['calls'] }}</el-tag>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="剩余 Tokens">
|
<el-form-item label="消耗 Tokens">
|
||||||
<el-tag type="info">{{ form['tokens'] }}</el-tag>
|
<el-tag type="info">{{ form['tokens'] }}</el-tag>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="API KEY">
|
<el-form-item label="API KEY">
|
||||||
@ -100,13 +100,6 @@ const form = ref({
|
|||||||
tokens: 0,
|
tokens: 0,
|
||||||
chat_configs: {}
|
chat_configs: {}
|
||||||
})
|
})
|
||||||
const top = computed(() => {
|
|
||||||
if (window.innerHeight < 1024) {
|
|
||||||
return '5vh';
|
|
||||||
} else {
|
|
||||||
return '15vh';
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
// 获取最新用户信息
|
// 获取最新用户信息
|
||||||
|
@ -35,7 +35,7 @@
|
|||||||
</template>
|
</template>
|
||||||
</van-field>
|
</van-field>
|
||||||
|
|
||||||
<van-field label="剩余 Tokens">
|
<van-field label="消耗 Tokens">
|
||||||
<template #input>
|
<template #input>
|
||||||
<van-tag type="primary">{{ form.tokens }}</van-tag>
|
<van-tag type="primary">{{ form.tokens }}</van-tag>
|
||||||
</template>
|
</template>
|
||||||
|
Loading…
Reference in New Issue
Block a user