为了照顾大部分的小伙伴们,我把流程再说详细一点。开始我们肯定要装mysql和jsonwebtoken这两个插件的,为了更加方便之后,我还装了express,目的就是为了使用路由的时候方便操作。
打通数据库
api.js文件
const mysql = require(‘mysql’);
const sqlMap = require(‘./sqlMap’);
//创建链接对象
const pool = mysql.createPool({
host: ‘xx.xx.xxx.xxx’,
user: ‘root’,
port: 3306,
password: ‘xxxxxx’,
database: ‘xxxxxx’,
multipleStatements: true // 多语句查询
})
//写一个登录接口
module.exports = {
login(req, res, next) {
var username = req.query.username;
var password = req.query.password;
pool.getConnection((err, connection) => {
var sql = sqlMap.login; //这里有一个sqlMap对象,用来写sql语句
connection.query(sql,[username,password] ,(err, result) => {
res.json(result);
connection.release();
})
})
},
//接下来可以写更多的接口
}
还有写一个接口的路由,就是你请求这个的时候就会连接数据库和查询数据库
router.js文件
const express = require(‘express’);
const router = express.Router();
const api = require(‘./api’); //这里引入上面的文件
router.get(‘/login’, (req, res, next) => {
api.login(req, res, next);
});
//最后记得导出
module.exports = router;
上面我还有用到一个sqlMap的一个对象,我们单独写一个,就是为了以后方便,而且耦合性更低,容易扩展。
var sqlMap = {
login: ‘select * from teacher where teacherName = ? and password
= ?;’,
}
//最后也记得要导出
module.exports = sqlMap;
这样我们在文件中引入的时候就可以使用这个对象了,这里面还可以写很多sql的语句查询。
说了这么多,我们肯定要启动服务的,那么我们就简单起一个服务,可以调用我们写的所有接口,这是一个主文件,我们把它命名为index.js文件
const routerApi = require(‘./router’);
const path = require(‘path’);
const bodyParser = require(‘body-parser’); // post 数据解析
const express = require(‘express’);
const app = express();
app.use(bodyParser.json());
// 后端api路由
app.use(‘/api’, routerApi);
// 监听端口
app.listen(3000);
console.log(‘success listen at port:3000…’);
这样我们node index.js之后就会监听3000端口了,到此我们的服务启动完毕,数据库部分也就打通了。
前端页面
这里我们作为讲解,就不用写一些很好看的页面,有两个输入框就可以了,vue有双向数据绑定的功能,这样我们就可以很方便地获取输入框里面的内容,使用账号密码传给后端做sql查询。怎么样,是不是特别简单?
form: {
username: “”,
password: “”,
}
比如在data下面我们就这样来存储输入框的数据,如果大家可以做一些验证之类的操作,使用elementui组件库,你会发现新的世界。这里就不展开了。
然后再methods里面写一个login方法,用来与后端进行数据交互,这里也是很简单的操作。
//在script标签下面引入:
//const jwt = require(“jsonwebtoken”);
//const secret = “your string”; //自己的密钥
login() {
this.$axios
.get(“/api/login”, {//请求的接口
params: { username: form.username, password: form.password }//传递参数
})
.then(res => {
if (res.data.length > 0) {//假如返回有数据就使用token加密一下
const token = jwt.sign(
{
name: res.data[0]//这里就是数据库返回的用户相关的信息
},
secret,//这是一个密钥,可以使用你喜欢的字符串
{
expiresIn: 86400 //秒,到期时间,一天
}
);
this.$store.commit(“SET_TOKEN”, token);//写入token
this.$router.replace(“home”);//跳转到主页
} else {
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(资料价值较高,非无偿)
核心竞争力,怎么才能提高呢?
成年人想要改变生活,逆转状态?那就开始学习吧~
万事开头难,但是程序员这一条路坚持几年后发展空间还是非常大的,一切重在坚持。
为了帮助大家更好更高效的准备面试,特别整理了《前端工程师面试手册》电子稿文件。
前端面试题汇总
JavaScript
性能
linux
前端资料汇总
完整版PDF资料免费分享,只需你点赞支持,动动手指点击此处即可领取了。
前端工程师岗位缺口一直很大,符合岗位要求的人越来越少,所以学习前端的小伙伴要注意了,一定要把技能学到扎实,做有含金量的项目,这样在找工作的时候无论遇到什么情况,问题都不会大。
mg.cn/img_convert/ed368cc25284edda453a4c6cb49916ef.png)
前端资料汇总
完整版PDF资料免费分享,只需你点赞支持,动动手指点击此处即可领取了。
前端工程师岗位缺口一直很大,符合岗位要求的人越来越少,所以学习前端的小伙伴要注意了,一定要把技能学到扎实,做有含金量的项目,这样在找工作的时候无论遇到什么情况,问题都不会大。