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

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

...@@ -7,7 +7,11 @@ ...@@ -7,7 +7,11 @@
<UNotifications /> <UNotifications />
</template> </template>
<script setup> <script setup>
const { $updateUserInfo } = useUserStore()
useHead({ useHead({
title: 'GitBot AI' title: 'GitBot AI'
}) })
nextTick(() => {
$updateUserInfo()
})
</script> </script>
...@@ -15,19 +15,10 @@ ...@@ -15,19 +15,10 @@
color="gray" color="gray"
size="md" size="md"
@click="handleGetSignUrl('gitcode')" @click="handleGetSignUrl('gitcode')"
disabled
> >
<img src="~/assets/svg/logo-gitcode.svg" /> <img src="~/assets/svg/logo-gitcode.svg" />
使用 GitCode 登录 使用 GitCode 登录
</UButton> </UButton>
<UButton
block
leading-icon="i-simple-icons-google"
label="使用 Google 登录"
color="gray"
size="md"
disabled
/>
<UButton <UButton
block block
leading-icon="i-simple-icons-github" leading-icon="i-simple-icons-github"
...@@ -36,20 +27,28 @@ ...@@ -36,20 +27,28 @@
size="md" size="md"
@click="handleGetSignUrl('github')" @click="handleGetSignUrl('github')"
/> />
<UDivider label="或" />
<UInput
class="w-full"
v-model="email"
placeholder="输入邮箱地址..."
size="md"
/>
<UButton <UButton
block block
leading-icon="i-heroicons-envelope-20-solid" leading-icon="i-simple-icons-google"
label="邮箱登录" label="使用 Google 登录"
color="gray"
size="md" 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> </div>
</template> </template>
<script setup> <script setup>
...@@ -66,6 +65,9 @@ async function handleGetSignUrl (source) { ...@@ -66,6 +65,9 @@ async function handleGetSignUrl (source) {
if (source === 'github') { if (source === 'github') {
const { data } = await useRequest('/v1/user/github/authorize_url') const { data } = await useRequest('/v1/user/github/authorize_url')
url = data.value.data.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 window.location.href = url
} }
......
...@@ -26,7 +26,7 @@ const request = async (url, options = {}) => { ...@@ -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 export default request
...@@ -12,14 +12,17 @@ const state = reactive({ ...@@ -12,14 +12,17 @@ const state = reactive({
source: route.query.source || '', source: route.query.source || '',
code: route.query.code || '' code: route.query.code || ''
}) })
let url
const { data } = await useRequest('/v1/user/github/login', { 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 }, query: { code: state.code },
server: false, server: false,
onResponse({ response }) { onResponse({ response }) {
useStorage('token', response._data.data.access_token) useStorage('token', response._data.data.access_token)
useStorage('user-info', response._data.data.user_info) useStorage('user-info', response._data.data.user_info)
// useCookie('token')
navigateTo('/') navigateTo('/')
} }
}) })
</script> </script>
\ No newline at end of file
...@@ -19,5 +19,11 @@ export const useUserStore = defineStore('user', () => { ...@@ -19,5 +19,11 @@ export const useUserStore = defineStore('user', () => {
userInfo.value = null 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.
先完成此消息的编辑!
想要评论请 注册