feat: 完成用户登录界面,api还需完善

This commit is contained in:
539943419 committed 2025-01-14 02:10:39 +08:00
1 parent 4c69f57aaa
commit d7dcc473a9
18 files changed
+681 -129

No files matched your search

+14 -76
View File
@@ -1,90 +1,28 @@
<template>
<div>
index
<div>
<el-button @click="uploadTest">
uploadPostTest
</el-button>
<el-button @click="editTest">
editPostTest
</el-button>
<el-button @click="testLogin">
testLogin
</el-button>
<el-button @click="testRegister">
testRegister
</el-button>
<el-button @click="testRefreshToken">
testRefreshToken
</el-button>
</div>
<el-button @click="handleLogout">
logout
</el-button>
<nuxt-link to="user/test"> test</nuxt-link>
</div>
</template>
<script setup lang="ts">
import useUserStore from '~/hooks/pinia/useUserStore';
import { uploadPost, updatePost } from '~/hooks/useFetch';
const router = useRouter()
const userStore = useUserStore()
const uploadTest = () => {
uploadPost({
title: `测试上传`,
summary: `测试摘要测试摘要测试摘要测试摘要测试摘要测试摘要测试摘要测试摘要测试摘要测试摘要测试摘要`,
type:'markdown',
tags: ['test', 'test1'],
url: '',
date: parseInt(new Date().getTime().toFixed()),
content: '测试上传测试上传测试上传测试上传测试上传测试上传测试上传测试上传测试上传测试上传测试上传测试上传测试上传测试上传测试上传'
})
}
const editTest = () => {
updatePost({
id: 1,
title: `测试上传`,
summary: `测试摘要测试摘要测试摘要测试摘要测试摘要测试摘要测试摘要测试摘要测试摘要测试摘要测试摘要`,
type:'markdown',
tags: ['test', 'test1'],
url: '',
date: parseInt(new Date().getTime().toFixed()),
content: '测试上传测试上传测试上传测试上传测试上传测试上传测试上传测试上传测试上传测试上传测试上传测试上传测试上传测试上传测试上传'
})
}
const testLogin = async () => {
const response = await $fetch('/api/user/login', {
method: 'POST',
body: {
username: 'admin',
password: 'admin'
}
})
const token = response.token
userStore.setToken(token)
}
const testRegister = () => {
$fetch('/api/user/register', {
method: 'POST',
body: {
username: 'admin',
password: 'admin'
}
})
}
const testRefreshToken = async () => {
const response = await $fetch('/api/user/refreshToken', {
method: 'POST',
body: {
token: userStore.token
}
})
const token = response.token
userStore.setToken(token)
const handleLogout = () => {
userStore.logout()
router.push('user/login')
}
onBeforeMount(() => {
if (userStore.isLogin === false) {
return router.push('user/login')
}
})
</script>
<style lang="scss" scoped></style>
<style scoped></style>