<template>
<div class="login-wrap">
<div class="ms-login">
<div class="ms-title">后台管理系统</div>
<el-form :model="param" :rules="rules" ref="login" label-width="0px" class="ms-content">
<el-form-item prop="username">
<el-input v-model="param.username" placeholder="username">
<el-button slot="prepend" icon="el-icon-lx-people"></el-button>
</el-input>
</el-form-item>
<el-form-item prop="password">
<el-input
type="password"
placeholder="password"
v-model="param.password"
@keyup.enter.native="submitForm()"
>
<el-button slot="prepend" icon="el-icon-lx-lock"></el-button>
</el-input>
</el-form-item>
<div class="login-btn">
<el-button type="primary" @click="submitForm()">登录</el-button>
</div>
<p class="login-tips">Tips : 用户名和密码随便填。</p>
</el-form>
</div>
</div>
</template>
<script>
export default {
data: function() {
return {
param: {
username: 'mahesh',
password: 'password1',
},
rules: {
username: [{ required: true, message: '请输入用户名', trigger: 'blur' }],
password: [{ required: true, message: '请输入密码', trigger: 'blur' }],
},
};
},
methods: {
submitForm() {
this.$refs.login.validate(valid => {
if (valid) {
localStorage.setItem('ms_username', this.param.username);
this.$axios.get("login/"+this.param.username+"/"+this.param.password, {
params:{
name: this.param.username,
password: this.param.password
}
}).then(response =>{
console.log("Id:" , this.param.username)
console.log("response:", response)//服务端返回数据
console.log("data:" , response.data)
console.log("status:", response.status)
if (response.status == 200
&& response.data['name'] == this.param.username)
{
this.$message.success('登录成功');
this.$router.push('/');
}
else
{
this.$message.error('请输入账号和密码');
}
}).catch(error => {
console.log("Error", error);
this.$message.error(error.message);
});
} else {
this.$message.error('请输入账号和密码');
console.log('error submit!!');
return false;
}
});
},
},
};
</script>
<style scoped>
.login-wrap {
position: relative;
width: 100%;
height: 100%;
background-image: url(../../assets/img/login-bg.jpg);
background-size: 100%;
}
.ms-title {
width: 100%;
line-height: 50px;
text-align: center;
font-size: 20px;
color: #fff;
border-bottom: 1px solid #ddd;
}
.ms-login {
position: absolute;
left: 50%;
top: 50%;
width: 350px;
margin: -190px 0 0 -175px;
border-radius: 5px;
background: rgba(255, 255, 255, 0.3);
overflow: hidden;
}
.ms-content {
padding: 30px 30px;
}
.login-btn {
text-align: center;
}
.login-btn button {
width: 100%;
height: 36px;
margin-bottom: 10px;
}
.login-tips {
font-size: 12px;
line-height: 30px;
color: #fff;
}
</style>
//Ref Link:https://www.runoob.com/nodejs/nodejs-restful-api.html
var express = require('express');
var app = express();
var fs = require("fs");
//----------------------------------------------------------------
app.get('/listUsers', function (req, res) {
fs.readFile( __dirname + "/" + "users.json", 'utf8', function (err, data) {
console.log("--listUsers--\n" , data );
res.end( data );
});
})
//----------------------------------------------------------------
//添加的新用户数据
var user = {
"user4" : {
"name" : "mohit",
"password" : "password4",
"profession" : "teacher",
"id": 4
}
}
app.get('/addUser', function (req, res) {
// 读取已存在的数据
fs.readFile( __dirname + "/" + "users.json", 'utf8', function (err, data) {
data = JSON.parse( data );
data["user4"] = user["user4"];
console.log("--addUser--\n" + data );
res.end( JSON.stringify(data));
});
})
//----------------------------------------------------------------
app.get('/getUser/:id', function (req, res) {
// 首先我们读取已存在的用户
fs.readFile( __dirname + "/" + "users.json", 'utf8', function (err, data) {
data = JSON.parse( data );
var user = data["user" + req.params.id]
console.log("--getUser--\n" + user );
res.end( JSON.stringify(user));
});
})
//----------------------------------------------------------------
app.get('/login/:name/:password', function (req, res) {
// 首先我们读取已存在的用户
fs.readFile( __dirname + "/" + "users.json", 'utf8', function (err, data) {
var user = null;
var rspData = JSON.parse(data);
console.log("--login--",);
console.log("param name=", req.params.name);
console.log("param password=", req.params.password);
for (x in rspData) {
//console.log(rspData[x]);
if(req.params.name == rspData[x].name
&& req.params.password == rspData[x].password)
{
user = rspData[x];
console.log(user);
break;
}
}
if (user == null)
{
console.log("Cannot find the user!");
//res.statusCode = 404;
user = ""
}
res.end( JSON.stringify(user));
});
})
//----------------------------------------------------------------
var id = 2;
app.get('/deleteUser', function (req, res) {
// First read existing users.
fs.readFile( __dirname + "/" + "users.json", 'utf8', function (err, data) {
data = JSON.parse( data );
delete data["user" + id];
console.log("--deleteUser--\n" + data );
res.end( JSON.stringify(data));
});
})
var server = app.listen(8081, function () {
var host = server.address().address
var port = server.address().port
console.log("应用实例,访问地址为 http://%s:%s", host, port)
})
{
"user1" : {
"name" : "mahesh",
"password" : "password1",
"profession" : "teacher",
"id": 1
},
"user2" : {
"name" : "suresh",
"password" : "password2",
"profession" : "librarian",
"id": 2
},
"user3" : {
"name" : "ramesh",
"password" : "password3",
"profession" : "clerk",
"id": 3
}
}
分享到:
相关推荐
this.$axios.get('/api/v1/user/' + this.username + '/' + this.password) .then(data => { alert('get//' + data.data.code); }) .catch(error => { alert(error); }); ``` - 带查询参数的GET请求: ```...
import VueCompositionAPI from '@vue/composition-api' Vue . use ( VueCompositionAPI ) // use the APIs import { ref , reactive } from '@vue/composition-api' :light_bulb: 当您迁移到Vue 3时,只需将@vue...
基于Vue的Restful后端管理面板
《WMS系统源码解析:前端VUE与后端Java Spring RESTful API的结合》 在信息化管理领域,仓库管理系统(Warehouse Management System,简称WMS)扮演着至关重要的角色,它帮助企业实现库存精细化管理,提高运营效率...
Keysight SystemVue 2017/2018 和谐 64bit version, :-)
- 获取图文资讯地址/api/getnewslist:这个API主要用于获取首页“新闻资讯”模块的图文列表数据。开发者可以通过发送GET请求来获取JSON格式的数据,然后在前端页面上展示这些信息。 2. 图片分享区域: - 图片...
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用!...小说阅读器与采集系统源码+项目说明(基于node-koa的开源小说系统前端vue-ssr,后端RestfulAPI 架构.jwt身份认证,redis和mysql的存储系统).zip
前端面试问题(jwt/布局/vue数组下标/扁平化/菜单树形/url api/新版本)
标题 "A back-end management system based on SpringBoot+Vue3" 提供了项目的关键技术栈,即后端管理系统是建立在SpringBoot框架之上,并且前端采用了Vue3。这表明这是一个结合了现代Java微服务架构和最新...
Vue 只关注视图层, 采用自底向上增量开发的设计。 Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。 Vue 学习起来非常简单,本教程基于 Vue 2.1.8 版本测试。
采用 SystemVue 和 ADS( Advanced Design System)两个仿真软件,可以在进行系统仿真的前提下,对其中的微波系统及单元电路进行设计,从而满足系统的设计需要。这种实验教学方法,兼顾了基带信号的处理和射频收发系统...
实验内容: ? SystemVue软件环境及使用操作简介 ? 实验一:脉冲信号源 ? 实验二:线性调频脉冲信号及脉冲压缩 ? 实验三:脉冲多普勒雷达系统仿真 ? 实验四:舰载雷达系统仿真 ? 总结
博主在使用 Vue 3 和 Vite 4 构建的项目中,基于 vueuse 提供的丰富 API,成功实现了虚拟滚动和无限滚动列表的功能,这一成果充分展现了博主在前端开发领域的深厚技术功底和创新能力。 首先,博主通过充分利用 vue...
SystemVue是一款由Keysight Technologies公司开发的软件产品,主要用于电路和系统级的分析和设计,尤其是针对射频(RF)系统。从给出的文件内容来看,SystemVue培训教程会向用户介绍SystemVue模拟器的基础知识以及...
这是一个基于Flask的MVC分层RESTful API设计,使用Python、JavaScript、Vue、HTML和CSS语言...该项目是一个采用MVC分层、RESTful API和JSON API设计模式的Flask框架,适合用于个人学习和实践Python和Vue的开发技术。
使用vue/vuex/redux开发的卖座网 【本项目设计到的技术】 vue/maizuo_v1: webpack + vue1.0 + vue-resource + vue-router vue/maizuo_v2: webpack + vue1.0 + vuex + vue-resource + vue-router vue/maizuo_v3: ...
"Vue_api_server.zip" 提供的是一个使用Vue全家桶技术栈开发的电商管理系统后端接口。Vue全家桶通常包括Vue.js核心库、Vuex状态管理器、Vue Router路由管理和Element-UI组件库。 Vue.js 提供了丰富的API和指令,如v...
宠物商城系统由:Spring Boot后端API,web管理后台 和 微信小程序用户前端 这3部组成。 技术栈:java Spring Boot框架,Maven, MySQL,Vue.js,微信小程序 客户端使用的uniapp编写的(可发布IOS/Android/H5/微信小...
SystemVue是一款专业的电子设计自动化软件,用于电子系统级设计,允许用户模拟并验证他们设计的通信系统。SystemVue可以在时域和频域同时进行模拟,拥有基频和射频组件、滤波器、调制解调器等多种器件。同时,它还...