提交 157a54ea 编写于 作者: D DebugIsFalse

Merge branch 'main' of gitcode.com:git_bot/ai-fe

......@@ -7,7 +7,11 @@
<UNotifications />
</template>
<script setup>
const { $updateUserInfo } = useUserStore()
useHead({
title: 'GitBot AI'
})
nextTick(() => {
$updateUserInfo()
})
</script>
......@@ -15,19 +15,10 @@
color="gray"
size="md"
@click="handleGetSignUrl('gitcode')"
disabled
>
<img src="~/assets/svg/logo-gitcode.svg" />
使用 GitCode 登录
</UButton>
<UButton
block
leading-icon="i-simple-icons-google"
label="使用 Google 登录"
color="gray"
size="md"
disabled
/>
<UButton
block
leading-icon="i-simple-icons-github"
......@@ -36,20 +27,28 @@
size="md"
@click="handleGetSignUrl('github')"
/>
<UDivider label="或" />
<UInput
class="w-full"
v-model="email"
placeholder="输入邮箱地址..."
size="md"
/>
<UButton
block
leading-icon="i-heroicons-envelope-20-solid"
label="邮箱登录"
leading-icon="i-simple-icons-google"
label="使用 Google 登录"
color="gray"
size="md"
@click="handleSign"
disabled
/>
<!-- <UDivider label="或" />-->
<!-- <UInput-->
<!-- class="w-full"-->
<!-- v-model="email"-->
<!-- placeholder="输入邮箱地址..."-->
<!-- size="md"-->
<!-- />-->
<!-- <UButton-->
<!-- block-->
<!-- leading-icon="i-heroicons-envelope-20-solid"-->
<!-- label="邮箱登录"-->
<!-- size="md"-->
<!-- @click="handleSign"-->
<!-- />-->
</div>
</template>
<script setup>
......@@ -66,6 +65,9 @@ async function handleGetSignUrl (source) {
if (source === 'github') {
const { data } = await useRequest('/v1/user/github/authorize_url')
url = data.value.data.url
} else if (source === 'gitcode') {
const { data } = await useRequest('/v1/user/gitcode/authorize_url')
url = data.value.data.url
}
window.location.href = url
}
......
......@@ -26,7 +26,7 @@ const request = async (url, options = {}) => {
}
}
return await useFetch(fullUrl, Object.assign(config, options))
return useFetch(fullUrl, Object.assign(config, options));
}
export default request
......@@ -12,13 +12,16 @@ const state = reactive({
source: route.query.source || '',
code: route.query.code || ''
})
const { data } = await useRequest('/v1/user/github/login', {
let url
if (state.source === 'github') url = '/v1/user/github/login'
else if (state.source === 'gitcode') url = '/v1/user/gitcode/login'
const { data } = await useRequest(url, {
query: { code: state.code },
server: false,
onResponse({ response }) {
useStorage('token', response._data.data.access_token)
useStorage('user-info', response._data.data.user_info)
// useCookie('token')
navigateTo('/')
}
})
......
......@@ -19,5 +19,11 @@ export const useUserStore = defineStore('user', () => {
userInfo.value = null
}
return { $info, $isSignIn, $signOut }
async function $updateUserInfo () {
if (!token.value) return
const { data } = await useRequest('/v1/user/user_info')
userInfo.value = JSON.stringify(data.value.data)
}
return { $info, $isSignIn, $signOut, $updateUserInfo }
})
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册