|
<script setup lang='ts'> |
|
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 |
|
reverseProxy?: string |
|
apiModel?: string |
|
socksProxy?: string |
|
httpsProxy?: string |
|
usage?: 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 |
|
const { data } = await fetchChatConfig<ConfigState>() |
|
config.value = data |
|
} |
|
finally { |
|
loading.value = false |
|
} |
|
} |
|
|
|
onMounted(() => { |
|
fetchConfig() |
|
}) |
|
</script> |
|
|
|
<template> |
|
<NSpin :show="loading"> |
|
<div class="p-4 space-y-4"> |
|
<h2 class="text-xl font-bold"> |
|
Version - {{ pkg.version }} |
|
</h2> |
|
<div class="p-2 space-y-2 rounded-md bg-neutral-100 dark:bg-neutral-700"> |
|
<p> |
|
此项目开源于 |
|
<a |
|
class="text-blue-600 dark:text-blue-500" |
|
href="https://github.com/Chanzhaoyu/chatgpt-web" |
|
target="_blank" |
|
> |
|
GitHub |
|
</a> |
|
,免费且基于 MIT 协议,没有任何形式的付费行为! |
|
</p> |
|
<p> |
|
如果你觉得此项目对你有帮助,请在 GitHub 帮我点个 Star 或者给予一点赞助,谢谢! |
|
</p> |
|
</div> |
|
<p>{{ $t("setting.api") }}:{{ config?.apiModel ?? '-' }}</p> |
|
<p v-if="isChatGPTAPI"> |
|
{{ $t("setting.monthlyUsage") }}:{{ config?.usage ?? '-' }} |
|
</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> |
|
</div> |
|
</NSpin> |
|
</template> |
|
|