Skip to content

Commit

Permalink
feat: session 返回接口方式做显示判断
Browse files Browse the repository at this point in the history
  • Loading branch information
Chanzhaoyu committed Mar 17, 2023
1 parent c555289 commit 9572484
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 7 deletions.
4 changes: 2 additions & 2 deletions service/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import express from 'express'
import type { ChatContext, ChatMessage } from './chatgpt'
import { chatConfig, chatReplyProcess } from './chatgpt'
import { chatConfig, chatReplyProcess, currentModel } from './chatgpt'
import { auth } from './middleware/auth'
import { isNotEmptyString } from './utils/is'

Expand Down Expand Up @@ -50,7 +50,7 @@ router.post('/session', async (req, res) => {
try {
const AUTH_SECRET_KEY = process.env.AUTH_SECRET_KEY
const hasAuth = isNotEmptyString(AUTH_SECRET_KEY)
res.send({ status: 'Success', message: '', data: { auth: hasAuth } })
res.send({ status: 'Success', message: '', data: { auth: hasAuth, model: currentModel() } })
}
catch (error) {
res.send({ status: 'Fail', message: error.message, data: null })
Expand Down
15 changes: 12 additions & 3 deletions src/components/common/Setting/About.vue
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
<script setup lang='ts'>
import { onMounted, ref } from 'vue'
import { computed, onMounted, ref } from 'vue'
import { NSpin } from 'naive-ui'
import { fetchChatConfig } from '@/api'
import pkg from '@/../package.json'
import { useAuthStore } from '@/store'
interface ConfigState {
timeoutMs?: number
Expand All @@ -13,10 +14,14 @@ interface ConfigState {
balance?: string
}
const authStore = useAuthStore()
const loading = ref(false)
const config = ref<ConfigState>()
const isChatGPTAPI = computed<boolean>(() => !!authStore.isChatGPTAPI)
async function fetchConfig() {
try {
loading.value = true
Expand Down Expand Up @@ -56,8 +61,12 @@ onMounted(() => {
</p>
</div>
<p>{{ $t("setting.api") }}:{{ config?.apiModel ?? '-' }}</p>
<p>{{ $t("setting.balance") }}:{{ config?.balance ?? '-' }}</p>
<p>{{ $t("setting.reverseProxy") }}:{{ config?.reverseProxy ?? '-' }}</p>
<p v-if="isChatGPTAPI">
{{ $t("setting.balance") }}:{{ config?.balance ?? '-' }}
</p>
<p v-if="!isChatGPTAPI">
{{ $t("setting.reverseProxy") }}:{{ config?.reverseProxy ?? '-' }}
</p>
<p>{{ $t("setting.timeout") }}:{{ config?.timeoutMs ?? '-' }}</p>
<p>{{ $t("setting.socks") }}:{{ config?.socksProxy ?? '-' }}</p>
<p>{{ $t("setting.httpsProxy") }}:{{ config?.httpsProxy ?? '-' }}</p>
Expand Down
15 changes: 13 additions & 2 deletions src/store/modules/auth/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,14 @@ import { getToken, removeToken, setToken } from './helper'
import { store } from '@/store'
import { fetchSession } from '@/api'

interface SessionResponse {
auth: boolean
model: 'ChatGPTAPI' | 'ChatGPTUnofficialProxyAPI'
}

export interface AuthState {
token: string | undefined
session: { auth: boolean } | null
session: SessionResponse | null
}

export const useAuthStore = defineStore('auth-store', {
Expand All @@ -14,10 +19,16 @@ export const useAuthStore = defineStore('auth-store', {
session: null,
}),

getters: {
isChatGPTAPI(state): boolean {
return state.session?.model === 'ChatGPTAPI'
},
},

actions: {
async getSession() {
try {
const { data } = await fetchSession<{ auth: boolean }>()
const { data } = await fetchSession<SessionResponse>()
this.session = { ...data }
return Promise.resolve(data)
}
Expand Down

0 comments on commit 9572484

Please sign in to comment.