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,测试如下