更新代码
This commit is contained in:
@@ -46,10 +46,11 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { reactive, ref, h } from 'vue';
|
||||
import { useRouter } from 'vue-router';
|
||||
import { message } from 'ant-design-vue';
|
||||
import { UserOutlined, LockOutlined } from '@ant-design/icons-vue';
|
||||
import { reactive, ref, h } from 'vue'
|
||||
import { useRouter } from 'vue-router'
|
||||
import { message } from 'ant-design-vue'
|
||||
import { UserOutlined, LockOutlined } from '@ant-design/icons-vue'
|
||||
import { useUserStore } from '@/stores/modules/user'
|
||||
|
||||
// 定义组件名称(多词命名)
|
||||
defineOptions({
|
||||
@@ -58,6 +59,7 @@ defineOptions({
|
||||
|
||||
const router = useRouter();
|
||||
const loading = ref(false);
|
||||
const userStore = useUserStore()
|
||||
|
||||
const formState = reactive({
|
||||
username: '',
|
||||
@@ -68,10 +70,26 @@ const formState = reactive({
|
||||
const handleLogin = async () => {
|
||||
loading.value = true;
|
||||
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('登录成功');
|
||||
router.push('/');
|
||||
// 跳转到首页或重定向页面
|
||||
const redirect = router.currentRoute.value.query.redirect || '/'
|
||||
router.push(redirect)
|
||||
} catch {
|
||||
message.error('登录失败,请检查用户名和密码');
|
||||
} finally {
|
||||
|
||||
+2
-2
@@ -108,8 +108,8 @@ router.beforeEach(async (to, from, next) => {
|
||||
|
||||
// 设置页面标题
|
||||
document.title = to.meta.title
|
||||
? `${to.meta.title} - ${config.app_title}`
|
||||
: config.app_title
|
||||
? `${to.meta.title} - ${config.APP_NAME}`
|
||||
: config.APP_NAME
|
||||
|
||||
const userStore = useUserStore()
|
||||
const isLoggedIn = userStore.isLoggedIn()
|
||||
|
||||
Reference in New Issue
Block a user