onlineUserController2.js 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. 'use strict';
  2. const Controller = require('egg').Controller;
  3. // 在线用户统计分析管理
  4. class OnlineUserController2 extends Controller {
  5. // 在线用户总数
  6. async index() {
  7. const { ctx, service } = this;
  8. // 校验参数 组装参数
  9. const payload = ctx.validate();
  10. // 调用 Service 进行业务处理
  11. if (ctx.isDev()) {
  12. const data = ctx.getData(payload, { count: 'total', value: [ 'total', 'appTotal', 'tBoxTotal' ] });
  13. ctx.success({ data });
  14. } else {
  15. const data = await service.onlineUserService2.index(payload);
  16. // 设置响应内容和响应状态码
  17. ctx.success({ data });
  18. }
  19. }
  20. // 在线用户区域分布 => APP
  21. async appPlace() {
  22. const { ctx, service } = this;
  23. // 调用 Service 进行业务处理 { startTime: 1587859200000, endTime: 1587859200001 }
  24. if (ctx.isDev()) {
  25. const data = ctx.getArea();
  26. ctx.success({ data });
  27. } else {
  28. const data = await service.onlineUserService2.place('appPlace');
  29. // 设置响应内容和响应状态码
  30. ctx.success({ data });
  31. }
  32. }
  33. // 在线用户区域分布 => T-BOX
  34. async tBoxPlace() {
  35. const { ctx, service } = this;
  36. // 调用 Service 进行业务处理 { startTime: 1576684800000, endTime: 1576771200000 }
  37. if (ctx.isDev()) {
  38. const data = ctx.getArea();
  39. ctx.success({ data });
  40. } else {
  41. const data = await service.onlineUserService2.place('tBoxPlace');
  42. // 设置响应内容和响应状态码
  43. ctx.success({ data });
  44. }
  45. }
  46. // 在线用户 扩展信息
  47. async ext() {
  48. const { ctx, service } = this;
  49. // 调用 Service 进行业务处理
  50. if (ctx.isDev()) {
  51. const data = ctx.getOnlineExt();
  52. ctx.success({ data });
  53. } else {
  54. const data = await service.onlineUserService2.ext();
  55. // 设置响应内容和响应状态码
  56. ctx.success({ data });
  57. }
  58. }
  59. }
  60. module.exports = OnlineUserController2;