在上文设置了 experss 反对 es6 之后,就能够把 vue 代码里的 axios 搬过去了。
这一步只新增一个 qs 包 npm install qs
在 src 文件夹下新建一个 libs 文件,把 api.request.js
和axios.js
文件搬过去,批改一下 import 的门路:
import HttpRequest from './axios'
import config from '../config'
axios.js 中的 store 不会用到,删除之,addErrorLog 办法也删除掉。
新建一个 config 文件夹,用来放配置文件。server/node_api/src/config/index.js
export default {
baseUrl: {
dev: 'http://www.xxxx/', // 测试服务器
prod: 'http://www.xxxx/' // 正式服务器
},
}
新建一个 api 文件夹,用来放 api,server/node_api/src/api/users.js
import express from 'express'
import axios from '../libs/api.request'
import qs from 'qs'
/**
* 登陆
*/
export const login = (data) => {
return axios.request({
url: 'hdapi/admin/login',
method: 'post',
data: qs.stringify(data)
})
}
/**
* 登陆
*/
export const getUserInfo = (query) => {
return axios.request({
url: 'hdapi/admin/queryUserByToken',
method: 'get',
params: query
})
}
当初开始用 usersRouter 了。编辑 server/node_api/src/app.js
新增
import usersRouter from './routes/users'
...
app.use('/users', usersRouter)
编辑server/node_api/src/routes/users.js
,把 controller 操作写在这外面
import express from 'express'
import {login, getUserInfo} from '../api/users'
var router = express.Router()
router.post('/login', (req, res, next) => {login({user_name: 'admin', user_pwd: '666'}).then(result => {const {result: { data: { data: {user, token}}}} = {result}
console.log('token',token)
res.send({
token,
user
})
})
})
export default router
后续还能够做的
- 后盾做谬误页面跳转
- 减少分流机制