Merge branch 'main' into prod

This commit is contained in:
RockYang 2023-07-02 00:04:59 +08:00
commit a2b1924e00
7 changed files with 11 additions and 17 deletions

View File

@ -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))
} }
// 保存当前会话 // 保存当前会话

View File

@ -218,7 +218,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) {

View File

@ -20,7 +20,7 @@ docker build -t chatgpt-plus-go:$version -f dockerfile-api-go ../
# build docker image for chatgpt-plus-vue # build docker image for chatgpt-plus-vue
docker rmi -f registry.cn-hangzhou.aliyuncs.com/geekmaster/chatgpt-plus-vue:$version docker rmi -f registry.cn-hangzhou.aliyuncs.com/geekmaster/chatgpt-plus-vue:$version
docker rmi -f chatgpt-plus-vue:$version docker rmi -f chatgpt-plus-vue:$version
docker build -t chatgpt-plus-vue:$version -f dockerfile-vue ../ docker build --platform linux/amd64 -t chatgpt-plus-vue:$version -f dockerfile-vue ../
# add tag for aliyum docker registry # add tag for aliyum docker registry
goImageId=`docker images |grep chatgpt-plus-go |grep $version |awk '{print $3}'` goImageId=`docker images |grep chatgpt-plus-go |grep $version |awk '{print $3}'`

View File

@ -2,7 +2,7 @@ version: '3'
services: services:
# 后端 API 程序 # 后端 API 程序
chatgpt-plus-go: chatgpt-plus-go:
image: registry.cn-hangzhou.aliyuncs.com/geekmaster/chatgpt-plus-go:v3.0.2 image: registry.cn-hangzhou.aliyuncs.com/geekmaster/chatgpt-plus-go:v3.0.4
# image: chatgpt-plus-go:v3.0.2 # image: chatgpt-plus-go:v3.0.2
container_name: chatgpt-plus-go container_name: chatgpt-plus-go
restart: always restart: always
@ -17,7 +17,7 @@ services:
# 前端应用 # 前端应用
chatgpt-vue: chatgpt-vue:
image: registry.cn-hangzhou.aliyuncs.com/geekmaster/chatgpt-plus-vue:v3.0.2 image: registry.cn-hangzhou.aliyuncs.com/geekmaster/chatgpt-plus-vue:v3.0.4
# image: chatgpt-plus-vue:v3.0.2 # image: chatgpt-plus-vue:v3.0.2
container_name: chatgpt-plus-vue container_name: chatgpt-plus-vue
restart: always restart: always

View File

@ -8,8 +8,5 @@ COPY ./api/go/bin/chatgpt-v3-amd64-linux /var/www/app
EXPOSE 5678 EXPOSE 5678
RUN apt-get -qq update \
&& apt-get -qq install -y --no-install-recommends ca-certificates curl
# 容器启动时执行的命令 # 容器启动时执行的命令
CMD ["./chatgpt-v3-amd64-linux"] CMD ["./chatgpt-v3-amd64-linux"]

View File

@ -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(() => {
// //

View File

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