springboot+vue——22

登录的实现

        数据绑定和校验

//用于注册的数据模型
const registerData = ref({
    username: '',
    password: '',
    // rePassword: ''
})

//自定义确认密码的校验函数
const rePasswordValid = (rule, value, callback) => {
    if (value == null || value === '') {
        return callback(new Error('请再次确认密码'))
    }
    if (registerData.password !== value) {
        return callback(new Error('两次输入密码不一致'))
    }
}
//用于注册的表单校验模型
const registerDataRules = ref({
    username: [
        { required: true, message: '请输入用户名', trigger: 'blur' },
        { min: 5, max: 16, message: '用户名的长度必须为5~16位', trigger: 'blur' }
    ],
    password: [
        { required: true, message: '请输入密码', trigger: 'blur' },
        { min: 5, max: 16, message: '密码长度必须为5~16位', trigger: 'blur' }
    ],
    // rePassword: [
    //     { validator: rePasswordValid, trigger: 'blur' }
    // ]
})
import { registerService,loginService} from '@/api/user.js'
//用于登录的事件函数
const login = async () => {
    let result = await loginService(registerData.value)
    if(result.code===0){
        alert('登录成功!')
    }else{
        alert('登录失败!')
    }
}

路由

        根据不同的访问路径,展示不同组件的内容

        新建router文件夹,新建index.js文件

import {createRouter,createWebHistory} from 'vue-router'

//导入组件
import LoginVue from '@/views/Login.vue'
import LayoutVue from '@/views/Layout.vue'

//定义路由关系
const routes = [
    {path:'/login',component:LoginVue},
    {path:'/',component:LayoutVue},
]

//创建路由器
const router = createRouter({
    history:createWebHistory(),
    routes:routes
})

//导出路由
export default router

        main.js导入router

import './assets/main.scss'

import { createApp } from 'vue'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import App from './App.vue'
import router from '@/router'

const app = createApp(App)
app.use(router)
app.use(ElementPlus)
app.mount('#app')

        App.vue修改

<script setup>
</script>

<template>
    <router-view></router-view>
</template>

<style scoped>

</style>

子路由

//定义路由关系
const routes = [
    {path:'/login',component:LoginVue},
    {path:'/',component:LayoutVue,redirect:'/article/manage',children:[
        {path:'/article/category',component:ArticleCategory},
        {path:'/article/manage',component:ArticleManage},
        {path:'/user/avatar',component:UserAvatar},
        {path:'/user/info',component:UserInfo},
        {path:'/user/resetPassword',component:UserResetPassword},
    ]},
]

子路由children        重定向redirect

        在Layout.vue组件的右侧中间区域,添加router-view标签

<!-- 中间区域 -->
<el-main>
    <div style="width: 1290px; height: 570px;border: 1px solid red;">
        <router-view></router-view>
    </div>
</el-main>

        el-menu-item 标签的index属性可以设置点击后的路由路径

<el-menu-item index="/article/category">
    <el-icon>
        <Management />
    </el-icon>
    <span>文章分类</span>
</el-menu-item>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值