app.js 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. 'use strict';
  2. // app.js
  3. module.exports = app => {
  4. // 开始前执行
  5. app.beforeStart(async () => {
  6. // 此处是你原来的逻辑代码
  7. app.logger.info('启动成功');
  8. // TODO
  9. // 考虑所有的下拉都对应一个接口
  10. // 1.5-6上报类型
  11. // 2.br7里面的 驾驶模式等
  12. // 3.11里的远控功能 + app功能(后台处理好一定有名字)
  13. // 4.br22里的下拉
  14. // 5.车的人 一定在全量人里得有 在线记录里得人在全量人里得有 || 车行为对应的车必须在全量车里有
  15. // 车娱乐行为对应车行为对应全量车有 app功能的使用人对应全量人有 车辆上报对应车 转换车主对应全量人 tbox对应全车 在线车对应全车
  16. // app 3个用户 里的位置 车机3个用户 里的位置 问题 ==>rbac,onlineuser里通过数据in过滤来源的方式 ==> 多个promise 预处理后聚合处理
  17. // 6.drive_behavior年合计可能需要优化
  18. //
  19. });
  20. // 准备好执行
  21. app.ready(async () => {
  22. // 举例,获取数据库图片域名,放到缓存,便于使用
  23. });
  24. // 关闭前执行
  25. app.beforeClose(async () => {
  26. // this.app.logger 应用级别的日志记录,如记录启动阶段的一些数据信息,记录一些业务上与请求无关的信息
  27. // this.app.coreLogger 开发应用时都不应该通过 CoreLogger 打印日志,而框架和插件则需要通过它来打印应用级别的日志,这样可以更清晰的区分应用和框架打印的日志,通过 CoreLogger 打印的日志会放到和 Logger 不同的文件中
  28. // this.ctx.logger 请求相关的,它打印的日志都会在前面带上一些当前请求相关的信息(如 [$userId/$ip/$traceId/${cost}ms $method $url])
  29. // this.ctx.coreLogger 和 Context Logger 的区别是一般只有插件和框架会通过它来记录日志
  30. // Controller Logger & Service Logger this.logger 本质上就是一个 Context Logger,会额外的加上文件路径
  31. // 同时 Context 上也挂载了 Request 和 Response 两个对象。和 Express 类似,
  32. // 这两个对象都提供了大量的便捷方法辅助开发,例如
  33. //
  34. // get request.query
  35. // get request.hostname
  36. // set response.body
  37. // set response.status
  38. // 参数校验 validate接入egg
  39. // this.ctx.curl 相当于ajax
  40. });
  41. // 监听
  42. // app.once('server', server => {
  43. // // websocket
  44. // });
  45. // app.on('error', (err, ctx) => {
  46. // // report error
  47. // });
  48. // app.on('request', ctx => {
  49. // // log receive request
  50. // });
  51. // app.on('response', ctx => {
  52. // // ctx.starttime is set by framework
  53. // const used = Date.now() - ctx.starttime;
  54. // // log total cost
  55. // });
  56. };