|
|
|
|
<script setup lang='ts'>
|
|
|
|
|
import { computed, ref, watch } from 'vue'
|
|
|
|
|
import { NCard, NModal } from 'naive-ui'
|
|
|
|
|
import pkg from '../../../../package.json'
|
|
|
|
|
import { fetchChatConfig } from '@/api'
|
|
|
|
|
|
|
|
|
|
interface Props {
|
|
|
|
|
visible: boolean
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
interface Emit {
|
|
|
|
|
(e: 'update:visible', visible: boolean): void
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
interface ConfigState {
|
|
|
|
|
timeoutMs?: number
|
|
|
|
|
reverseProxy?: string
|
|
|
|
|
apiModel?: string
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const props = defineProps<Props>()
|
|
|
|
|
|
|
|
|
|
const emit = defineEmits<Emit>()
|
|
|
|
|
|
|
|
|
|
const show = computed({
|
|
|
|
|
get() {
|
|
|
|
|
return props.visible
|
|
|
|
|
},
|
|
|
|
|
set(visible: boolean) {
|
|
|
|
|
emit('update:visible', visible)
|
|
|
|
|
},
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
const config = ref<ConfigState>()
|
|
|
|
|
|
|
|
|
|
async function fetchConfig() {
|
|
|
|
|
try {
|
|
|
|
|
const { data } = await fetchChatConfig<ConfigState>()
|
|
|
|
|
config.value = data
|
|
|
|
|
}
|
|
|
|
|
catch (error) {
|
|
|
|
|
// ...
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
watch(
|
|
|
|
|
() => props.visible,
|
|
|
|
|
(val) => {
|
|
|
|
|
if (val)
|
|
|
|
|
fetchConfig()
|
|
|
|
|
},
|
|
|
|
|
)
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<template>
|
|
|
|
|
<NModal v-model:show="show" style="width: 80%; max-width: 460px;">
|
|
|
|
|
<NCard>
|
|
|
|
|
<div class="space-y-4">
|
|
|
|
|
<h2 class="text-xl font-bold text-center">
|
|
|
|
|
Version - {{ pkg.version }}
|
|
|
|
|
</h2>
|
|
|
|
|
<hr>
|
|
|
|
|
<p>
|
|
|
|
|
此项目开源于
|
|
|
|
|
<a class="text-blue-600" href="https://github.com/Chanzhaoyu/chatgpt-web" target="_blank">Github</a>
|
|
|
|
|
如果你觉得此项目对你有帮助,请帮我点个 Star,谢谢!
|
|
|
|
|
</p>
|
|
|
|
|
<hr>
|
|
|
|
|
<p>API方式:{{ config?.apiModel ?? '-' }}</p>
|
|
|
|
|
<p>反向代理:{{ config?.reverseProxy ?? '-' }}</p>
|
|
|
|
|
<p>超时时间:{{ config?.timeoutMs ?? '-' }}</p>
|
|
|
|
|
</div>
|
|
|
|
|
</NCard>
|
|
|
|
|
</NModal>
|
|
|
|
|
</template>
|