学习路线
1、javascript基础;
2、nodejs核心模块
fs: 文件系统操作
path: 路径处理
http / https: 创建服务器或发起请求
events: 事件机制(EventEmitter)
stream: 流式数据处理
buffer: 处理二进制数据
os: 获取操作系统信息
util: 工具方法(如 promisify)
3、express框架入口
路由定义(GET、POST 等)—ok
```js
// app.js里面
const loginRouter =require(‘./router/login’)
app.use(‘/api’,loginRouter)
// router文件夹下 login.js里面
const express = require('express')
const router = express.Router()
//导入处理模块
const loginHasndler = require('./router_handle/login.js')
// 路由表
router.post('/returnMenuList',loginHasndler.returnMenuList)
module.exports = router
// 这个里面读取数据库 router_handle/login.js
const db = require('../../db/index.js')
exports.returnMenuList = (req, res) => {
const sql = 'select identity from users where id = ?'
db.query(sql, req.body.id, (err, result) => {
console.log('result: ', result);
if (err) return res.cc(err)
let menu = []
if (result[0].identity == "超级管理员") {
menu = superAdminRouter
}
if (result[0].identity == "管理员") {
menu = superAdminRouter
}
res.send(menu)
})
}
// 调用示例url
http://localhost:9090/api/returnMenuList
```
中间件(应用级、错误处理)
请求与响应对象(req, res)—ok
静态资源托管(express.static)
使用 body-parser 解析请求体 —ok
使用 cors 解决跨域问题 —ok
4、身份验证与安全
Session/Cookie
JWT(JSON Web Token)
Passport.js(第三方登录)
5、数据库操作
sql操作
```js
// 增加 这条 SQL 语句的作用是 将一个 JavaScript 对象直接插入到数据库的 users 表中,并且字段和值会自动匹配。
insert into users set ?
// 删除 这条 SQL 语句的作用是 删除 logs_login 表中的所有记录。
DELETE FROM logs_login
// 修改1 更新 product 表中某一条记录的多个字段内容,条件是这条记录的 product_id 等于指定的值。
UPDATE product SET ? WHERE product_id = ?
// 修改2 这条 SQL 语句的作用是 将 product 表中某条记录的 product_status 字段值更新为 300,根据指定的 product_id 条件。
UPDATE product SET product_status = 300 WHERE product_id = ?
// 查找1 这个 ? 是一个 占位符(placeholder),用于在执行 SQL 查询时 动态传入参数值。
SELECT * FROM users WHERE account = ?
// 查找2 如果数据库中 id=1 的用户身份是 "超级管理员",则接口会返回所有配置好的菜单路由
SELECT identity FROM users WHERE id = 1
// 查找3 这条 SQL 查询语句的作用是从 logs_login 表中 查询所有字段的所有记录,并按照 operating_time 字段进行 降序排序。
select * from logs_login ORDER BY operating_time DESC
```
```js
WHERE name LIKE ‘Da%’ 查找以Da开头的名字 David, Davidson
WHERE name LIKE ‘%th’ 查找以th结尾的名字 查找以th结尾的名字 Elizabeth, Smith
WHERE name LIKE ‘%on%’ 查找包含on的名字 Davidson, Toni
WHERE name LIKE ‘Sa_’ 查找以Sa开头且最多后跟一个字符的名字 Sa
WHERE name LIKE ‘_oy’ 查找以oy结尾且最多包含一个字符的名字 Joy, Roy
WHERE name LIKE ‘an’ 查找包含an的名字,并以一个字符开头和结尾 Dana, Hans
WHERE name LIKE ‘%ar_’ 查找包含ar的名字,该名字以任意数量的字符开头,并以最多一个字符结尾 Richard, Karl
WHERE name LIKE ‘_ar%’ 查找包含ar的名字,最多以一个字符开头,以任意数量的字符结尾 Karl, Mariya
```
引用
https://blog.csdn.net/m0_55519586/article/details/122456348