更新代码
This commit is contained in:
@@ -46,10 +46,11 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { reactive, ref, h } from 'vue';
|
import { reactive, ref, h } from 'vue'
|
||||||
import { useRouter } from 'vue-router';
|
import { useRouter } from 'vue-router'
|
||||||
import { message } from 'ant-design-vue';
|
import { message } from 'ant-design-vue'
|
||||||
import { UserOutlined, LockOutlined } from '@ant-design/icons-vue';
|
import { UserOutlined, LockOutlined } from '@ant-design/icons-vue'
|
||||||
|
import { useUserStore } from '@/stores/modules/user'
|
||||||
|
|
||||||
// 定义组件名称(多词命名)
|
// 定义组件名称(多词命名)
|
||||||
defineOptions({
|
defineOptions({
|
||||||
@@ -58,6 +59,7 @@ defineOptions({
|
|||||||
|
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const loading = ref(false);
|
const loading = ref(false);
|
||||||
|
const userStore = useUserStore()
|
||||||
|
|
||||||
const formState = reactive({
|
const formState = reactive({
|
||||||
username: '',
|
username: '',
|
||||||
@@ -68,10 +70,26 @@ const formState = reactive({
|
|||||||
const handleLogin = async () => {
|
const handleLogin = async () => {
|
||||||
loading.value = true;
|
loading.value = true;
|
||||||
try {
|
try {
|
||||||
// TODO: 实现登录逻辑
|
// 模拟登录请求
|
||||||
await new Promise((resolve) => setTimeout(resolve, 1000));
|
await new Promise((resolve) => setTimeout(resolve, 1000))
|
||||||
|
// 模拟登录成功
|
||||||
|
const mockUserInfo = {
|
||||||
|
id: 1,
|
||||||
|
username: formState.username,
|
||||||
|
nickname: '管理员',
|
||||||
|
email: 'admin@example.com',
|
||||||
|
role: ['admin'],
|
||||||
|
avatar: ''
|
||||||
|
}
|
||||||
|
const mockToken = 'mock-token-' + Date.now()
|
||||||
|
const mockRefreshToken = 'mock-refresh-token-' + Date.now()
|
||||||
|
userStore.setToken(mockToken)
|
||||||
|
userStore.setRefreshToken(mockRefreshToken)
|
||||||
|
userStore.setUserInfo(mockUserInfo)
|
||||||
message.success('登录成功');
|
message.success('登录成功');
|
||||||
router.push('/');
|
// 跳转到首页或重定向页面
|
||||||
|
const redirect = router.currentRoute.value.query.redirect || '/'
|
||||||
|
router.push(redirect)
|
||||||
} catch {
|
} catch {
|
||||||
message.error('登录失败,请检查用户名和密码');
|
message.error('登录失败,请检查用户名和密码');
|
||||||
} finally {
|
} finally {
|
||||||
|
|||||||
+2
-2
@@ -108,8 +108,8 @@ router.beforeEach(async (to, from, next) => {
|
|||||||
|
|
||||||
// 设置页面标题
|
// 设置页面标题
|
||||||
document.title = to.meta.title
|
document.title = to.meta.title
|
||||||
? `${to.meta.title} - ${config.app_title}`
|
? `${to.meta.title} - ${config.APP_NAME}`
|
||||||
: config.app_title
|
: config.APP_NAME
|
||||||
|
|
||||||
const userStore = useUserStore()
|
const userStore = useUserStore()
|
||||||
const isLoggedIn = userStore.isLoggedIn()
|
const isLoggedIn = userStore.isLoggedIn()
|
||||||
|
|||||||
Reference in New Issue
Block a user