1.配置路由
'use strict';
/**
* @param {Egg.Application} app - egg application
*/
module.exports = app => {
const { router, controller, middleware } = app;
// 传入加密字符串
const verify_token = middleware.verifyToken(app.config.jwt.secret);
...
// 获取类型列表
router.get('/api/type/list', verify_token, controller.type.list);
};
2.控制层添加 type.js 文件
新增 app\controller\type.js
,里面添加 type 方法
'use strict';
const Controller = require('egg').Controller;
class TypeController extends Controller {
async list() {
const { ctx, app } = this;
try {
// 1、拿到 token 获取用户信息 user_id
const token = ctx.request.header.authorization;
const decode = await app.jwt.verify(token, app.config.jwt.secret);
if (!decode) return;
// 3、通过 user_id 获取列表分页数据
const dayResult = await ctx.service.type.list();
const dayList = JSON.parse(JSON.stringify(dayResult));
console.log('3、获取当前用户的类型列表', dayList);
ctx.body = {
status: 200,
desc: '请求成功',
data: dayList
}
} catch (error) {
console.log(error);
ctx.body = {
status: 500,
desc: '系统错误',
data: null
}
}
}
}
module.exports = TypeController;
3.服务层添加 type.js 文件
新增 app\service\type.js
,里面添加 type 方法
'use strict';
const Service = require('egg').Service;
class TypeService extends Service {
async list() {
const { app } = this;
try {
let sql = "select * from `kaimo-cost`.type";
console.log(sql)
const result = await app.mysql.query(sql);
return result;
} catch (error) {
console.log(error);
return null;
}
}
}
module.exports = TypeService;
4.测试
我们打开 apifox 在项目里添加接口
然后登录获取到token,测试如下