From f1d079f9c0b3d384090477ca54e0548373d62b57 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Thu, 16 Jan 2025 11:56:39 +0800
Subject: [PATCH] 配置修改

---
 web_src/src/components/Login.vue |  128 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 128 insertions(+), 0 deletions(-)

diff --git a/web_src/src/components/Login.vue b/web_src/src/components/Login.vue
new file mode 100644
index 0000000..37c8a83
--- /dev/null
+++ b/web_src/src/components/Login.vue
@@ -0,0 +1,128 @@
+<template>
+<div class="login" id="login">
+  <div class="limiter">
+    <div class="container-login100">
+      <div class="wrap-login100">
+					<span class="login100-form-title p-b-26">WVP视频平台</span>
+          <span class="login100-form-title p-b-48">
+						<i class="fa fa-video-camera"></i>
+					</span>
+
+          <div class="wrap-input100 validate-input" data-validate = "Valid email is: a@b.c">
+            <input :class="'input100 ' + (username==''?'':'has-val')" type="text" v-model="username" name="username">
+            <span class="focus-input100" data-placeholder="用户名"></span>
+          </div>
+
+          <div class="wrap-input100 validate-input" data-validate="Enter password">
+						<span class="btn-show-pass">
+							<i :class="'fa ' + (!showPassword?'fa-eye':'fa-eye-slash')" @click="showPassword = !showPassword"></i>
+						</span>
+            <input :class="'input100 ' + (password==''?'':'has-val')" :type="(!showPassword?'password':'text')" v-model="password" name="password">
+            <span class="focus-input100" data-placeholder="密码"></span>
+          </div>
+
+          <div class="container-login100-form-btn">
+            <div class="wrap-login100-form-btn" :class="{'login-loading': isLoging}" v-loading="isLoging" element-loading-background="rgb(0 0 0 / 0%);" element-loading-custom-class="login-loading-class">
+              <div class="login100-form-bgbtn"></div>
+              <button class="login100-form-btn" @click="login">登录</button>
+            </div>
+          </div>
+      </div>
+    </div>
+  </div>
+</div>
+</template>
+
+<script>
+import crypto from 'crypto'
+export default {
+  name: 'Login',
+  data(){
+  	return {
+      isLoging: false,
+      showPassword: false,
+      loginLoading: false,
+  		username: '',
+  		password: ''
+  	}
+  },
+  created(){
+    var that = this;
+    document.onkeydown = function(e) {
+      var key = window.event.keyCode;
+      if (key == 13) {
+        that.login();
+      }
+    }
+  },
+  methods:{
+
+  	//登录逻辑
+  	login(){
+  		if(this.username!='' && this.password!=''){
+  			this.toLogin();
+  		}
+  	},
+
+  	//登录请求
+  	toLogin(){
+  		//需要想后端发送的登录参数
+  		let loginParam = {
+  			username: this.username,
+  			password: crypto.createHash('md5').update(this.password, "utf8").digest('hex')
+  		}
+      var that = this;
+      //设置在登录状态
+      this.isLoging = true;
+      let timeoutTask = setTimeout(()=>{
+        that.$message.error("登录超时");
+        that.isLoging = false;
+      }, 1000)
+
+      this.$axios({
+      	method: 'get',
+        url:"/api/user/login",
+        params: loginParam
+      }).then(function (res) {
+        window.clearTimeout(timeoutTask)
+        console.log(JSON.stringify(res));
+          if (res.data.code === 0 ) {
+            that.$cookies.set("session", {"username": that.username,"roleId":res.data.data.role.id}) ;
+            //登录成功后
+            that.cancelEnterkeyDefaultAction();
+            that.$router.push('/');
+          }else{
+            that.isLoging = false;
+            that.$message({
+                  showClose: true,
+                  message: '登录失败,用户名或密码错误',
+                  type: 'error'
+              });
+          }
+      }).catch(function (error) {
+        console.log(error)
+        window.clearTimeout(timeoutTask)
+        that.$message.error(error.response.data.msg);
+        that.isLoging = false;
+      });
+    },
+    setCookie: function (cname, cvalue, exdays) {
+      var d = new Date();
+      d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
+      var expires = "expires=" + d.toUTCString();
+      console.info(cname + "=" + cvalue + "; " + expires);
+      document.cookie = cname + "=" + cvalue + "; " + expires;
+      console.info(document.cookie);
+    },
+    cancelEnterkeyDefaultAction: function() {
+        document.onkeydown = function(e) {
+        var key = window.event.keyCode;
+        if (key == 13) {
+          return false;
+        }
+      }
+    }
+  }
+}
+</script>
+

--
Gitblit v1.9.3