1. 添加README说明项目结构 2. 配置Python和Node.js的.gitignore 3. 包含认证模块和账号管理的前后端基础代码 4. 开发计划文档记录当前阶段任务
43 lines
1007 B
Vue
43 lines
1007 B
Vue
<template>
|
|
<el-form :model="form" label-width="80px">
|
|
<el-form-item label="用户名">
|
|
<el-input v-model="form.username" />
|
|
</el-form-item>
|
|
<el-form-item label="密码">
|
|
<el-input v-model="form.password" type="password" />
|
|
</el-form-item>
|
|
<el-form-item>
|
|
<el-button type="primary" @click="handleLogin">登录</el-button>
|
|
<el-button @click="handleRegister">注册</el-button>
|
|
</el-form-item>
|
|
</el-form>
|
|
</template>
|
|
|
|
<script lang="ts" setup>
|
|
import { reactive } from 'vue'
|
|
import { useRouter } from 'vue-router'
|
|
import { useUserStore } from '../../../store/modules/user'
|
|
|
|
const router = useRouter()
|
|
const userStore = useUserStore()
|
|
|
|
const form = reactive({
|
|
username: '',
|
|
password: ''
|
|
})
|
|
|
|
const handleLogin = async () => {
|
|
try {
|
|
// 调用登录API
|
|
await userStore.login(form)
|
|
router.push('/dashboard')
|
|
} catch (error) {
|
|
console.error('登录失败:', error)
|
|
}
|
|
}
|
|
|
|
const handleRegister = () => {
|
|
router.push('/register')
|
|
}
|
|
</script>
|