项目整体流程:
①建数据库、建表
②初始化服务端项目结构
npm init -y npm i express
③先启动一个web服务器
app.js
const express = require('express')
const router = require ('./router')
//在Express 获取表单 POST 请求体数据 npm install --save body-parser
const bodyParser = require('body-parser')
const app = express()
// 把路由应用到 app 中
app.use(bodyParser.urlencoded({ extended:false }))
app.use(bodyParser.json())
app.use(router)
app.listen(3000,()=>{
console.log('App is running at port 3000.')
console.log('Please visit http://127.0.0.1:3000/')
})
router.js
const express = require('express')
const router = express.Router()
const userContoller = require('./controllers/user')
router
.get('/users',userContoller.query)
.post('/users',userContoller.new)
.patch('/users/id',userContoller.update)
.delete('/users/id',userContoller.delete)
user.js
const moment = require('moment') //最强大js时间处理函数包 npm i moment
const md5 = require('blueimp-md5') //md5加密算法 首先 在控制台 npm i blueimp-md5
exports.query = (req, res, next) =>{ }
exports.new = (req, res, next) =>{
const body = req.body
// 将新建用户信息插入到users表 mysql设置默认值让创建时间等于系统时间(百度)
const sqlStr =
`INSERT INTO 'users'(username, password, email, avater, gender , nickname, create_time, modify_time)
VALUES( '${body.username}',
'md5( md5( ${body.password} ) )',
'default-avatar.png',
'${moment().format('YYYY-MM-DD hh:mm:ss')}', //利用moment获取当前时间 '${moment().format('YYYY-MM-DD hh:mm:ss')}', //利用moment获取当前时间 ) `
// 连接数据库 去npmjs.com 搜mysql 连接代码
}
exports.update = (req, res, next) =>{
}
exports.delete = (req, res, next) =>{
}
④设计接口(数据接口路由)
4.1 RESTful ( 接口设计规范 )
http://www.ruanyifeng.com/blog/2014/05/restful_api.html
4.1.1 获取所有用户 /users get 返回整个数组
4.1.2 添加用户 /users post提交 请求体:{username: , password: , email:} 返回整个数组
4.1.3 修改用户 /users/id patch 返回整个数组
4.1.4 删除用户 /users/id delete 返回空数组
用户登录成功以后记录session
A. npm i express-session 去百度搜它的配置使用 在app.js进行配置