vue3-登录小案例(借助ElementPlus+axios)

1.创建一个vue3的项目。

复制代码
npm create vue@latest

2.引入Elementplus组件库

链接:安装 | Element Plus

复制代码
npm install element-plus --save

在main.js中引入

复制代码
import ElementPlus from "element-plus";

import "element-plus/dist/index.css";

app.use(ElementPlus);

3.开始渲染页面

引入axios

链接:POST 请求 | Axios中文文档 | Axios中文网

引入步骤:

1.导入

复制代码
import axios from "axios";

2.调用axios.post

复制代码
const SubmitEvent = async () => {
  const { data } = await axios.post(
    "https://v5.crmeb.net/api/login",
    {
      account: acc.value,
      password: pwd.value,
    },
    {
      headers: {
        "Content-Type": "application/json",
      },
    }
  );

具体实现代码如下:

复制代码
<template>
  <div>
    <div class="box">
      <br />
      <el-input
        v-model="acc"
        style="width: 240px"
        placeholder="Please input"
        clearable
      />
      <br />
      <br />
      <el-input
        v-model="pwd"
        style="width: 240px"
        type="password"
        placeholder="Please input password"
        show-password
      />
      <br /><br />
      <el-button @click="SubmitEvent" type="primary" style="width: 240px"
        >login</el-button
      >
    </div>
  </div>
</template>

<style>
.box {
  width: 300px;
  height: 300px;
  background-color: antiquewhite;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
</style>

<script setup>
import { ref } from "vue";
import { ElMessage } from "element-plus";
import axios from "axios";
import { useRouter } from "vue-router";
const router = useRouter();
const acc = ref("");
const pwd = ref("");
const SubmitEvent = async () => {
  const { data } = await axios.post(
    "https://v5.crmeb.net/api/login",
    {
      account: acc.value,
      password: pwd.value,
    },
    {
      headers: {
        "Content-Type": "application/json",
      },
    }
  );
  if (data.status == 200) {
    ElMessage({
      message: "登录成功",
      type: "success",
    });
    // 保存到本地
    localStorage.setItem("token", data.data.token);
    // 跳转
    router.replace({
      name: "about",
    });
  } else {
    ElMessage.error("登录失败");
    acc.value = "";
    pwd.value = "";
  }
};
</script>

效果图:

输入信息错误会清空数据并提示登录失败:

输入信息正确会跳转到另外一个页面并提示登录成功:

相关推荐
weixin_417396838 小时前
监控画面卡顿与录像缺失:码率、NVR与存储容量的排查顺序
前端·网络·技术·酒店·综合布线·弱电
曹牧8 小时前
Eclipse 工作空间(Workspace)的默认 JDK 配置
前端
其实防守也摸鱼9 小时前
Cylab在线靶场——挑战图书馆初学者指南
服务器·前端·数据库·chrome·安全·网络安全·靶场
拆房老料11 小时前
【第四部分:Agentic 智能体设计模式】16. 一个 Prompt 搞不定复杂任务?试试 Prompt Chaining
java·前端·人工智能·设计模式·prompt
曹牧16 小时前
C#:空合并运算符
java·前端·数据库
小羊没烦恼!17 小时前
铁道部新客票系统设计(二)
开发语言·前端·数据库·python·oracle·c#·php
智能直播20 小时前
RK3518:1.5G 内存 + 8G 存储,如何跑起硬件编解码、Web、AI 识别、绿幕特效
前端·人工智能·5g
掘金酱21 小时前
【10.24 特别活动】AI 时代,程序员的新饭碗在哪里?
前端·人工智能·后端
excel21 小时前
多进程环境下使用 PM2 部署 Socket.IO:需要注意什么
前端
IT_陈寒21 小时前
Redis的原子性竟然失效了?记一次分布式锁翻车实录
前端·人工智能·后端