首页 > 其他分享 >005.实现用户登录View层

005.实现用户登录View层

时间:2022-12-06 22:57:38浏览次数:35  
标签:const 登录 form app 005 message password login View

1.login.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>慕课网OA办公系统</title>
    <!-- 引入样式 -->
    <link rel="stylesheet" type="text/css" href="assets/element-plus/index.css">
    <!-- 引入组件库 -->
    <script src="assets/vue/vue.global.js"></script>
    <script src="assets/element-plus/index.full.js"></script>
    <script src="assets/axios/axios.js"></script>
    <style>
        .login-box {
            border: 1px solid #DCDFE6;
            width: 350px;
            margin: 180px auto;
            padding: 35px 35px 15px 35px;
            border-radius: 5px;
            -webkit-border-radius: 5px;
            -moz-border-radius: 5px;
            box-shadow: 0 0 25px #909399;
        }

        .login-title {
            text-align: center;
            margin: 0 auto 40px auto;
            color: #303133;
        }
    </style>
</head>
<body>
    <div id="app">
        <el-form ref="loginForm" label-width="80px" :rules="rules" :model="form" class="login-box">
            <h2 class="login-title">慕课网OA办公系统</h2>
            <el-form-item label="账号" prop="username">
                <el-input type="text" placeholder="请输入账号" v-model="form.username"></el-input>
            </el-form-item>
            <el-form-item label="密码" prop="password">
                <el-input type="password" placeholder="请输入密码" v-model="form.password"></el-input>
            </el-form-item>
            <el-form-item>
                <el-button type="primary" v-on:click="onSubmit('loginForm')" style="width:200px">登录</el-button>
            </el-form-item>
        </el-form>
    </div>
    <script>
        const Main = {
            data() {
                return {
                    form: {
                        username: ''
                        , password: ''
                    }
                    , rules: {
                        username: [
                            {required: true, message: '账号不能为空', trigger: 'blur'}
                        ],
                        password: [
                            {required: true, message: '密码不能为空', trigger: 'blur'}
                        ]
                    }
                }
            }
            , methods: {
                onSubmit(formName) {
                    const form = this.$refs[formName];
                    form.validate((valid) => {
                        if (valid) {
                            console.info("表单校验成功,准备提交数据");
                            const form = this.form;
                            const $message = this.$message;
                            const params = new URLSearchParams();
                            params.append("username", form.username);
                            params.append("password", form.password);
                            axios.post("/api/login", params, {}).then(function (response) {
                                console.info(response);
                                const json = response.data;
                                if (json.code == "0") {
                                    window.location.href = "/index.html";
                                } else {
                                    $message.error({message: json.message, offset: 100});
                                }
                            });
                        }
                    })
                }
            }
        };
        //初始化Vue,绑定Main中的数据,利用ElementPlus对#app容器进行重新渲染
        const app = Vue.createApp(Main);
        app.use(ElementPlus);
        app.mount("#app");
    </script>
</body>
</html>

 

标签:const,登录,form,app,005,message,password,login,View
From: https://www.cnblogs.com/LLL0617/p/16961663.html

相关文章

  • vim添加markdown-preview
    我使用Vundle作为vim的插件包管理器,操作如下:Placethisinyour.vimrcorinit.vim,Plugin'iamcco/markdown-preview.nvim'...thenrunthefollowinginvim(toco......
  • 远程连接ssh以账号密码登录
    开放权限    修改完后重启ssh服务  sudosystemctlrestartsshd   密码错了是这样的提示  root密码不知道,以下方式重置成功页面 ......
  • MeterSphere做登录的接口自动化测试。从调试到自动化脚本
    做登录会遇到的问题1.登录页面的URL和 登录之后的页面URL不一样2.有些值每个接口都会用到,但是每个接口都写一遍很麻烦,而且如果这个值改变了,以后修改起来很麻烦3.后一个脚......
  • W11中使用VScode远程开发之宝塔用户自动登录
    宝塔面板开启ssh,加密方式选择rsa下载秘钥,放值目录:C:\Users\本机用户\.ssh修改该目录下的config文件Host111.112.113.114HostName111.112.113.114UserrootF......
  • Sales Process Overview
    SalesProcessing:  ShippingProcessing:creatingdeliverypicking PostGoodsIssue  BillingProcessing:creatingbillingdocument  ......
  • SSH密码登录(一次性多IP登录)
    1#-*-coding:utf-8-*-2importparamiko3importthreading4importqueue56#反弹shellpython7q=queue.Queue()8#lock=threading.Lock()910......
  • win10 登录 Samba
    Samba 1. 选择一个空闲的驱动器(默认即可),填入"\计算云IP地址\用户名",点击完成在弹窗中输入设置的用户名和密码(samba密码)  2.然后输入用户名密码即可 ......
  • Android v4包下的PagerTitleStrip PagerTabStrip ViewPager的页面标题
    1、添加androidsupport包因为几个类都是在androidsupport包中才提供,我们先添加android-support-v4.jar文件到工程的libs目录下即可。2.activity_main.xml<?xmlversion=......
  • .NET7之MiniAPI(特别篇) :Preview5优化了JWT验证(上)
    在.NET7的Preview5中,优化了asp.netcore中的JWT验证,不用像以前繁琐了,更重要的是带来了一组生成Token的工具,可以让开发人员或测试人员不需登录获取Token,而达到测试的目......
  • .NET7之MiniAPI(特别篇) :Preview5优化了JWT验证(上)
    在.NET7的Preview5中,优化了asp.netcore中的JWT验证,不用像以前繁琐了,更重要的是带来了一组生成Token的工具,可以让开发人员或测试人员不需登录获取Token,而达到测试的目......