物业小区管理系统登录页面以及逻辑实现

2023-11-06

        学习vue3和springboot那肯定是少不了写项目的,在各个项目中肯定是离不开登录和注册的事情的,这也是一个项目起步的需求。

        接下来我们来看看我们所写的项目起步。首先搭建vue3和springboot的项目环境,这些搭建大家自行完成即可,架子有了之后就得开始往里面装东西了。

        首先 是登录页面的渲染情况,大家根据自己的设计来实现自己登录页面的样式,下面先给大家一个参考:

代码也给大家参考:

<template>
  <div class="bgc">
    <div class="modalbox">
        <h2 style="text-align: center;font-family: '宋体';">系统登录</h2>
        <el-input prefix-icon="User" class="name" v-model="input" placeholder="请输入用户登录账号" />
        <el-input
          class="password"
          prefix-icon="Lock"
          v-model="password"
          type="password"
          placeholder="请输入用户密码"
          show-password
        />
        <el-input prefix-icon="CircleCheck" class="verificationcode" v-model="verificationcode" placeholder="请输入验证码" />
        <el-input class="code" v-model="code" placeholder="1569" disabled/>
        <div class="register">
          <el-text @click="register" class="mx-1" type="success">注册账号</el-text>
        </div>
        <el-button class="login" type="success" @click="login">登录</el-button>
    </div>
  </div>
</template>

//如果只考虑样式,那么script代码可以删掉
<script setup>
import { ref , onMounted} from 'vue';
import {useRouter} from "vue-router";
const router = useRouter();
const input = ref('');
const password = ref('');
const code = ref('');
const verificationcode = ref("");
import { ElMessage } from 'element-plus';
import axios from 'axios';
onMounted(()=>{
  code.value = parseInt(Math.random()*10000);
})
const register = () => {
  router.push('/register');
}
//下面这里的是登录验证,在只考虑样式的情况下,下面的代码可以不要
const login = () => {
    axios({
         url:`http://localhost:8080/user`,
         method:"post", 
         data:{
            username : input.value,
            password : password.value
         }
    }).then(res=>{
        let arr = res.data;
        let flg = false;
        console.log(res.data);
        for(let i = 0 ; i < arr.length ; i++){
          if(arr[i].username == input.value && arr[i].password == password.value && verificationcode.value == code.value){
              ElMessage({
                  message: '登录成功',
                  type: 'success',
                });
                return ;
          }
        };
        if(flg == false){
          ElMessage.error('账号密码不正确,请重新输入');
          return ;
        }
    })
  
}
</script>

<style scoped>
.bgc{
    
    width: 100%;
    height: 100%;
    background-image: url(../assets/bj.jpg);
    background-repeat: no-repeat;
    background-size: cover;
}
.modalbox{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 35%;
    height: 50%;
    border-radius: 10px;
    background-color: #fff;
}
.name{
    margin-top: 5%;
    margin-left: 10%;
    width: 80%;
    height: 40px;
}
.password{
    margin-top: 5%;
    margin-left: 10%;
    width: 80%;
    height: 40px;
}
.verificationcode{
    margin-top: 5%;
    margin-left: 10%;
    width: 40%;
    height: 45px;
}
.code{
    margin-top: 5%;
    margin-left: 4%;
    width: 35%;
    height: 40px;
}
.register{
    width: 15%;
    height: 5%;
    cursor: pointer;
    margin-top: 5%;
    margin-left: 10%;
}
.login{
    width: 80%;
    height: 10%;
    margin-top: 2%;
    margin-left: 10%;
}
</style>

        样式有了之后我们还需要逻辑,前端的逻辑上面代码已经都给全了,现在给大家参考后端的处理以及数据库的一些情况:

        控制类

package com.example.vue3spring.controller;

import com.example.vue3spring.entity.User;
import com.example.vue3spring.mapper.user;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
public class Users {
    @Autowired
    private user user;

   @RequestMapping(value = "/user",method = RequestMethod.POST)
   @CrossOrigin
    public List<User> user(@RequestBody User users){
       System.out.println(users.getUsername());
       System.out.println(users.getPassword());
       List<User> list = user.users();

//       for (int i = 0; i < list.size(); i++) {
//           System.out.println(list.get(i));
//       }
//       System.out.println(list);
       return list ;
    }
}

     实体类

package com.example.vue3spring.entity;

public class User {
    private String username;
    private String password;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    @Override
    public String toString() {
        return "User{" +
                "username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

        mybatis-plus接口

package com.example.vue3spring.mapper;

import com.example.vue3spring.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper
@Repository
public interface user {
    @Select("select * from login")
    public List<User> users();
}

在springboot使用mybatis-plus要在pom中加入以下依赖才可使用哦:

        </dependency>
        <!--        mybatis-plus依赖-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.2</version>
        </dependency>
        <!--        mysql驱动依赖-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.23</version>
        </dependency>
        <!--        数据连接池-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.23</version>
        </dependency>

以及在properties文件中数据库连接的配置:

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/springboot?useSSL=false
spring.datasource.username=root
spring.datasource.password=w123456789
mybatis-plus.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl

好了。以上就是所有的配置情况,仅供大家参考使用

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

物业小区管理系统登录页面以及逻辑实现 的相关文章

随机推荐

  • CSDN 缩进、目录、表格输入竖线或回车、字体及颜色设置

    目录 0 Markdown在线转换 1 缩进 2 目录 3 转义字符 4 字体 颜色 字号 4 1 颜色 4 2 字体 4 3 字号 4 4 背景色 5 表格 5 1 单元格对齐 5 2 合并单元格 6 数学公式 6 1 上下标 幂指数等
  • mmcls 多标签模型部署在torch serve

    GitHub仓库 gy 7 mmcls multi label torchserve github com 各个文件说明 cls requests demo 分类模型请求api服务的demo det requests demo 检测模型请求
  • linux hostname设置步骤

    查询hostname 设置步骤 其它相关点 hostid etc hosts EDA工具license破解注意事项 以RHEL 6 5为例 查询hostname uname a hostname 设置步骤 vim etc sysconfig
  • 最小年龄仅5岁!盘点全球最“天才”少年黑客 TOP 10

    你还能想起自己8岁的时候 每天都在玩什么吗 可能是在楼下和小朋友一起捉迷藏 在家追一本连载的漫画书 又或者在电脑上玩种菜偷菜的小游戏 当同龄人还在沉迷于这些比较 基础 的小游戏时 有这样一批和互联网 打交道 的少年 已经在忙着发现并修补游戏
  • ciclop读音,购机必备,15种 3D扫描 设备 优缺点汇总

    原标题 购机必备 15种 3D扫描 设备 优缺点汇总 小编总结了市场上常见的15种 可用于3D扫描的软件和设备 并详细列出有关它们的价格 优缺点等特征 以供大家在购机时有比较实用性参考 一 软件选择 根据研究表明 很多人可能不需要买一个3D
  • Android实现倒计时的几种方案

    前言 关于倒计时可以说我们App开发中常见的一种场景了 比如Splash倒计时跳转首页 比如发送短信之后倒计时60秒显示等等 关于倒计时的实现方式 大家可能有不同的做法 这里做一下总结看看你使用的是哪一种呢 一 CountDownTimer
  • 3、Nginx系列之: location和alias的区别

    Nginx系列之 location和alias的区别 一 概述 root 语法 root path 默认值 root html 配置段 http server location if alias 语法 alias path 配置段 loca
  • 【多线程】三种实现方案

    目录 1 多线程中的并发和并行概念 2 多线程中的进程和线程概念 3 多线程的实现方案 3 1 方式1 继承Thread类的方式进行实现 3 2 方式2 实现Runnable接口 3 3 方式3 Callble和Future 可以获取返回结
  • 关于MaxCompute的基本了解

    大数据计算服务 MaxCompute 原名 ODPS 是一种快速 完全托管的 GB TB PB 级数据仓库解决方案 MaxCompute 为您提供了完善的数据导入方案以及多种经典的分布式计算模型 能够更快速的解决海量数据计算问题 有效降低企
  • 【高数】导数存在,导数就连续吗?

    高数 导数存在 导数就连续吗 一 概念理解 二 问题讨论 三 小结 一 概念理解 函数连续 y f x 在 x 0 的某邻域有定义 且满足下式 也就说明 连续意味着 x 0 处 f x 的极限存在 也即 f x 的左极限 右极限 该点函数值
  • 【STM32】【HAL库】遥控关灯1主机

    相关连接 STM32 HAL库 遥控关灯0 概述 STM32 HAL库 遥控关灯1主机 STM32 HAL库 遥控关灯2 分机 STM32 HAL库 遥控关灯3 遥控器 需求 主机需要以下功能 接收来自物联网平台的命令 发送RF433信号给
  • crmeb多商户系统安装(1)

    服务器配置 以阿里云ECS服务器为例 1 在阿里云控制台 云服务器ECS 实例 点击最右侧更多 实力状态 停止 2 选择停止 点击确定 3 输入短信验证码 4 等待服务器状态为 已停止 点击最右侧更多 磁盘和镜像 更换系统盘 5 点击确定
  • 踩坑日记:java.lang.IllegalStateException: For queries with named parameters you need to use provide ...

    今天的错误是这个 java lang IllegalStateException For queries with named parameters you need to use provide names for method para
  • SQLI-labs-第五关和第六关

    目录 1 判断注入点 2 判断当前表的字段数 3 爆库名 4 爆表名 5 爆字段名 6 爆值 知识点 布尔盲注 思路 1 判断注入点 首先 我们看看正常的回显内容 id 1 接着输入 id 1 结果出现语句错误 这里说明存在单引号的闭合错误
  • 【信号分解】基于辛几何模态SGMD实现信号数据分解附Matlab代码

    作者简介 热爱科研的Matlab仿真开发者 修心和技术同步精进 matlab项目合作可私信 个人主页 Matlab科研工作室 个人信条 格物致知 更多Matlab仿真内容点击 智能优化算法 神经网络预测 雷达通信 无线传感器 电力系统 信号
  • 【网络工程】如何本地调试微信公众号开发教程(Nginx代理方法)

    目录 前言 目的 通过Nginx代理实现本地调试微信公众号 实现工具 实现步骤 1 启动本地前端项目 2 首先配置Nginx 3 填写app conf内容 把本地前端项目与域名形成映射 4 把app conf加入到Nginx配置中 5 打开
  • vue-cordova修改app图标+文字以及启动图

    前言 在使用 vue cordova 打包成apk的时候 我们一定会根据项目改把app的图标还有显示文字 加载图片也有可能改动 这里来说一说这个 1 修改显示文字 地址 D cordova app config xml 修改name里面的文
  • 鸿蒙相符合的图片,鸿蒙操作系统亮相——目标是未来的物联网

    原标题 鸿蒙操作系统亮相 目标是未来的物联网 本文由什么值得买用户原创 太空铁 咱们好 我是太空铁 这两天 华为开发者大会很热闹 华为接连发布了鸿蒙 凌霄以及才智屏等软硬件产品 其间最让人等待的当属鸿蒙操作体系了 鸿蒙操作体系早前可说是进行
  • 系统环境变量修改后需要重启qt才能响应

    修改系统环境变量 不需要重启系统 但需要重启qt才能感知新的环境变量
  • 物业小区管理系统登录页面以及逻辑实现

    学习vue3和springboot那肯定是少不了写项目的 在各个项目中肯定是离不开登录和注册的事情的 这也是一个项目起步的需求 接下来我们来看看我们所写的项目起步 首先搭建vue3和springboot的项目环境 这些搭建大家自行完成即可