【案例】登录注册

news2024/11/6 3:00:09

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

<template>
  <div class="loginhome">
    <Header :butShow="butShow"></Header>
    <div class="formdiv">
      <div style="text-align:center;padding:10px;">
          <h3>你好登录账号{{ stauts == 3? '注册':'登录' }}</h3><el-divider>{{ stauts == 1 ?'账号登录':stauts == 2 ?'短信登录':stauts == 3 ?'立即注册':'--' }}</el-divider>
      </div>
      <el-form :model="Form">
        <!-- 账号密码登录 -->
        <template v-if="stauts == 1">
          <table class="table" cellspacing="3">
            <tr>
              <td colspan="5">
                <el-form-item prop="phone" :rules="[{ required: true, message: '输入手机号', trigger: 'blur' },{type:'phone', max: 12, message: '输入正确的11位手机号', trigger: 'blur'}]">
                  <el-input type="phone" placeholder="手机号" maxlength="11" v-model="Form.phone"></el-input>
                </el-form-item>
              </td>
            </tr>
            <tr>
              <td colspan="5">
                <el-form-item prop="password" :rules="[{ required: true, message: '输入密码', trigger: 'blur' },{min:8, max: 20, message: '输入8~20位', trigger: 'blur'}]">
                  <el-input :type="eyeshow ? 'text':'password'" maxlength="20" placeholder="密码" v-model="Form.password" show-password>
                    <!-- <el-button slot="suffix" type="text"><i  :class="eyeshow ? 'el-icon-key':'el-icon-unlock'" @click="iClick"></i></el-button> -->
                  </el-input>
                </el-form-item>
              </td>
            </tr>
            <tr>
              <td></td>
              <td colspan="3"></td>
              <td><el-button type="text" @click="stauts = 2">短信登录</el-button></td>
            </tr>
            <tr>
              <td colspan="5">
                <el-button style="width:100%;" type="primary" @click="CodeLoginClick()">登录</el-button>
              </td>
            </tr>
            <tr>
              <td class="table_td"></td>
              <td class="table_td"><el-button type="text" @click="stauts = 3; eyeshow = false;">立即注册</el-button></td>
              <td class="table_td"><el-button type="text" :disabled="true">忘记密码</el-button></td>
              <td class="table_td"><el-button type="text" :disabled="true">修改密码</el-button></td>
              <td class="table_td"></td>
            </tr>
          </table>
        </template>
        <!-- 短信验证码登录 -->
        <template v-else-if="stauts == 2">
          <table class="table" cellspacing="3">
            <tr>
              <td colspan="5">
                <el-form-item prop="telephone" :rules="[{ required: true, message: '输入手机号', trigger: 'blur' },{type:'number', max: 11, message: '输入正确的11位手机号', trigger: 'blur'}]">
                  <el-input type="text" placeholder="手机号" v-model="Form.telephone"></el-input>
                </el-form-item>
              </td>
            </tr>
            <tr>
              <td colspan="5">
                <el-form-item prop="code" :rules="[{ required: true, message: '输入验证码', trigger: 'blur' },{type:'number',  message: '请输入正确的', trigger: 'blur'}]">
                  <el-input :type="eyeshow ? 'text':'password'" placeholder="验证码" v-model="Form.code">
                    <el-button slot="suffix" type="text" @click="iClick">获取验证码</el-button>
                  </el-input>
                </el-form-item>
              </td>
            </tr>
            <tr>
              <td></td>
              <td colspan="3"></td>
              <td><el-button type="text" @click="stauts = 1">账号登录</el-button></td>
            </tr>
            <tr>
              <td colspan="5">
                <el-button style="width:100%;" type="primary">登录</el-button>
              </td>
            </tr>
            <tr>
              <td class="table_td"></td>
              <td class="table_td"></td>
              <td class="table_td"><el-button type="text" @click="stauts = 3; eyeshow = false;">立即注册</el-button></td>
              <td class="table_td"></td>
              <td class="table_td"></td>
            </tr>
          </table>
        </template>
        <!-- 立即注册 -->
        <template v-else-if="stauts == 3">
          <table class="table" cellspacing="3">
            <tr>
              <td colspan="5">
                <el-form-item prop="register_telephone" :rules="[{ required: true, message: '输入手机号', trigger: 'blur' },{type:'number', max: 11, message: '输入正确的11位手机号', trigger: 'blur'}]">
                  <el-input type="text" placeholder="手机号" v-model="Form.register_telephone"></el-input>
                </el-form-item>
              </td>
            </tr>
            <tr>
              <td colspan="5">
                <el-form-item prop="register_password" :rules="[{ required: true, message: '设置密码', trigger: 'blur' },{min:8, max: 11, message: '输入8~11位', trigger: 'blur'}]">
                  <el-input :type="eyeshow ? 'text':'password'" placeholder="设置您的密码" v-model="Form.register_password" show-password>
                    <!-- <el-button slot="suffix" type="text"><i  :class="eyeshow ? 'el-icon-key':'el-icon-unlock'" @click="iClick"></i></el-button> -->
                  </el-input>
                </el-form-item>
              </td>
            </tr>
            <tr>
              <td colspan="5">
                <el-form-item prop="register_again_password" :rules="[{ required: true, message: '输入密码', trigger: 'blur' },{min:8, max: 11, message: '请输入8~11位', trigger: 'blur'}]">
                  <el-input :type="eyeshow ? 'text':'password'" placeholder="再次输入您的密码" v-model="Form.register_again_password" show-password>
                    <!-- <el-button slot="suffix" type="text"><i  :class="eyeshow ? 'el-icon-key':'el-icon-unlock'" @click="iClick"></i></el-button> -->
                  </el-input>
                </el-form-item>
              </td>
            </tr>
            <tr>
              <td colspan="5">
                <el-form-item prop="register_code" :rules="[{ required: true, message: '输入验证码', trigger: 'blur' },{ type:'number',min:6, max: 6, message: '输入完整的验证码', trigger: 'change'}]">
                  <el-input type="text" placeholder="验证码" v-model="Form.register_code">
                    <el-button slot="suffix" type="text" @click="SendCodeClick">获取验证码</el-button>
                  </el-input>
                </el-form-item>
              </td>
            </tr>
            <tr>
              <td></td>
              <td colspan="3"></td>
              <td></td>
            </tr>
            <tr>
              <td colspan="5">
                <el-button style="width:100%;margin-top:3px;" type="primary">注册</el-button>
              </td>
            </tr>
            <tr>
              <td class="table_td"><el-button type="text" @click="stauts = 1; eyeshow = false;">账号登录</el-button></td>
              <td class="table_td"></td>
              <td class="table_td"></td>
              <td class="table_td"></td>
              <td class="table_td"><el-button type="text" @click="stauts = 2">短信登录</el-button></td>
            </tr>
          </table>
        </template>
      </el-form>
      <el-divider></el-divider>
    </div>
  </div>
</template>
<script>
import Header from '@/components/header.vue'
export default {
  components: {
    Header
  },
  data() {
    return {
      stauts: 1,  // 模式
      
      butShow: 1,
      eyeshow: false,
      againPassword_message: '',
      Form: {
        phone: '', password: '',  // 账号登录
        telephone: '',  code: '',  // 短信登录
        register_password: '', register_again_password: '', register_telephone:'', register_code:'',  // 立即注册
      },
      
    }
  },
  methods: {
    iClick() {
      console.log(this.eyeshow);
      this.eyeshow = !this.eyeshow
    },
    // 获取验证码
    SendCodeClick() {
      console.log('获取验证码');
    },
    //  账号登录
    CodeLoginClick() {
      if (this.Form.phone =='17602931841' &&  this.Form.password == '17602931841') {
        this.$notify.success('登录成功')
        setTimeout(() => {
          this.$router.push('/fristhome')
        },1000)
      } else {
        this.$notify.warning('账号或密码错误!!')
      }
    }
  }
}
</script>
<style scoped>
.loginhome { width: 100%;height: calc(100vh); background-color: rgb(243, 248, 250); }
.formdiv { width: 500px; height: 550px; background-color: rgb(253, 253, 253); position: relative; top: 5%; left: calc((100vw - 500px) / 2); }
#i { position: relative; top: 0; right: 0; }
.table { width:80%;margin:0 10%;text-align:center; }
.table_td { width: 25%; }
.input_btu { position: relative; top: 0; right: 0; }
#suffix { position: absolute; top: 0; right: 0; color: red; }
.show-pwd {
    position: absolute;
    right: 10px;
    top: 7px;
    font-size: 16px;
    color: red;
    cursor: pointer;
    user-select: none;
  }
</style>
<style>
.table .el-form-item__error {
    color: #F56C6C;
    font-size: 12px;
    line-height: -1;
    padding-top: 4px;
    position: absolute;
    top: 100%;
    left: 0;
}
.table .el-form-item {
    margin-bottom: 0px;
}
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/919643.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++】—— 简述C++11新特性

序言&#xff1a; 从本期开始&#xff0c;我将会带大家学习的是关于C11 新增的相关知识&#xff01;废话不多说&#xff0c;我们直接开始今天的学习。 目录 &#xff08;一&#xff09;C11简介 &#xff08;二&#xff09;统一的列表初始化 1、&#xff5b;&#xff5d;初始…

FreeCAD向实体填充\添加材料\镜像\制作投影

任务 在本教程中&#xff0c;您将使用零件设计工作台创建下图所示零件的 3D 实体模型。给出了完成此任务的所有必要维度。 首先从基础草图创建核心形状&#xff0c;然后在该形状的基础上进行构建&#xff0c;添加所谓的特征。 这些特征将使用附加草图和随附的特征操作向实体添…

CTFshow 限时活动 红包挑战9 详细题解

CTFshow红包挑战9 题目源码开源了。源码如下&#xff1a; common.php <?phpclass user{public $id;public $username;private $password;public function __toString(){return $this->username;}}class cookie_helper{private $secret "*************"; /…

搭建电路(最大生成树)

本文为最近做过的一道编程笔试题&#xff0c;代码实现方式多种多样&#xff0c;此处本人提供的代码可以获得正确解&#xff0c;仅供大家参考。 目录 一、题目描述二、实现代码程序三、测试结果截图 一、题目描述 题目描述&#xff1a; 明明迷上了一个搭建电路的游戏。 在游戏…

Prometheus+Grafana+AlertManager监控SpringBoot项目并发送邮件告警通知

文章目录 PrometheusGrafanaAlertManager监控平台搭建新建SpringBoot项目为Prometheus提供指标新建项目&#xff0c;引入依赖新建接口&#xff0c;运行程序 推送指标到pushgateway 开始监控Grafana连接Prometheus数据源导入Grafana模板监控SpringBoot项目 邮件告警通知同系列文…

javaee idea创建maven项目,然后创建servlet

idea创建maven项目 参考我的上一篇博客点击查看 创建servlet 步骤一 引入依赖 步骤二 新建directory并设置mark directory as 步骤三 新建package和servlet

TCP半连接队列和全连接队列

目录 什么是 TCP 半连接队列和全连接队列&#xff1f; TCP 全连接队列溢出 如何知道应用程序的 TCP 全连接队列大小&#xff1f; 如何模拟 TCP 全连接队列溢出的场景&#xff1f; 全连接队列溢出会发生什么 ? 如何增大全连接队列呢 ? TCP 半连接队列溢出 如何查看 TC…

【C#学习笔记】数据类中常用委托及接口——以List<T>为例

文章目录 List\<T\>/LinkedList \<T\>为什么是神&#xff1f;&#xff08;泛型为什么是神&#xff09;一些常见&#xff0c;通用的委托和接口ComparisonEnumerator List<T>/LinkedList <T>为什么是神&#xff1f;&#xff08;泛型为什么是神&#xff0…

STM32 进不了main 函数

1. 我用的是STM32L151C8T6 的芯片&#xff0c;在github 上找了个别人的例程&#xff0c;拿来当模板改&#xff0c;由于他用的是HSE 外部晶振&#xff0c;我用的是内部晶振HSI&#xff0c;所以需要改系统时钟&#xff0c;改完后debug&#xff0c; 一直进不了main 函数&#xff0…

Docker容器与虚拟化技术:GitHub账户注册

目录 一、实验 1.GitHub 一、实验 1.GitHub &#xff08;1&#xff09;GitHub是一个面向开源及私有软件项目的托管平台&#xff0c;因为只支持Git作为唯一的版本库格式进行托管&#xff0c;故名GitHub。 &#xff08;2&#xff09;官网 GitHub: Let’s build from here …

206.Flink(一):flink概述,flink集群搭建,flink中执行任务,单节点、yarn运行模式,三种部署模式的具体实现

一、Flink概述 1.基本描述 Flink官网地址:Apache Flink — Stateful Computations over Data Streams | Apache Flink Flink是一个框架和分布式处理引擎,用于对无界和有界数据流进行有状态计算。 2.有界流和无界流 无界流(流): 有定义流的开始,没有定义结束。会无休止…

Apache StreamPark系列教程第一篇——安装和体验

一、StreamPark介绍 实时即未来,在实时处理流域 Apache Spark 和 Apache Flink 是一个伟大的进步,尤其是Apache Flink被普遍认为是下一代大数据流计算引擎, 我们在使用 Flink & Spark 时发现从编程模型, 启动配置到运维管理都有很多可以抽象共用的地方, 我们将一些好的经验…

机器学习中XGBoost算法调参技巧

本文将详细解释XGBoost中十个最常用超参数的介绍&#xff0c;功能和值范围&#xff0c;及如何使用Optuna进行超参数调优。 对于XGBoost来说&#xff0c;默认的超参数是可以正常运行的&#xff0c;但是如果你想获得最佳的效果&#xff0c;那么就需要自行调整一些超参数来匹配你…

如何深入理解 Node.js 中的流(Streams)

Node.js是一个强大的允许开发人员构建可扩展和高效的应用程序。Node.js的一个关键特性是其内置对流的支持。流是Node.js中的一个基本概念&#xff0c;它能够实现高效的数据处理&#xff0c;特别是在处理大量信息或实时处理数据时。 在本文中&#xff0c;我们将探讨Node.js中的流…

es和数据库同步方案

5.5 课程信息索引同步 5.5.1 技术方案 通过向索引中添加课程信息最终实现了课程的搜索&#xff0c;我们发现课程信息是先保存在关系数据库中&#xff0c;而后再写入索引&#xff0c;这个过程是将关系数据中的数据同步到elasticsearch索引中的过程&#xff0c;可以简单成为索引…

SD-WebUI和ComfyUI的局域网访问设置!

如何通过局域网访问AI绘画软件&#xff0c;这是星球成员提的一个问题&#xff0c;而且两个软件都问到了&#xff0c;我也回答过了。现在把内容整理一下发出来&#xff0c;大家可能用得着。 SD-WebUI和ComfyUI这两个AI绘画工具都是通过浏览器来使用&#xff0c;但是默认情况下并…

oops Framwork creator游戏开发框架

环境&#xff1a; Mac oops Framework 该框架是由gdflas编写&#xff0c;基于cocosCreator 3.x 而实现的开源游戏框架。特点&#xff1a; 框架通过插件方式提供&#xff0c;与项目相分离&#xff0c;方便不同版本平滑升级内置模块低耦合&#xff0c; 可根据需要进行删减&…

如何使用HTML5新增的标签来构建语义化的页面结构?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ <header>&#xff1a;⭐ <nav>&#xff1a;⭐ <main>&#xff1a;⭐ <section>&#xff1a;⭐ <article>&#xff1a;⭐ <aside>&#xff1a;⭐ <footer>&#xff1a;⭐ <figure> 和 &l…

开黑啦kook 机器人开发 PHP swoole Liunx 服务器(宝塔)

安装环境 PHP 拓展 直接使用 宝塔一键安装 &#xff08;Windows系统不支持&#xff09; 设置命令行的PHP版本避免执行脚本时 获取不到 swoole 检查swoole是否安装成功 获取官方SDK GitHub - kaiheila/php-bot: 开黑啦机器人的php版本https://github.com/kaiheila/php-bot 配…

同态排序算法

参考文献&#xff1a; [Batcher68] Batcher K E. Sorting networks and their applications[C]//Proceedings of the April 30–May 2, 1968, spring joint computer conference. 1968: 307-314. [SV11] Smart, N.P., Vercauteren, F.: Fully homomorphic SIMD operations. IA…