context.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. 'use strict';
  2. module.exports = {
  3. test() {
  4. // this 就是 ctx 对象,在其中可以调用 ctx 上的其他方法,或访问属性
  5. },
  6. // 他们写在拦截器里面 把请求参数合并到一个 现在放在这 这是错误的写法 不能使用
  7. // params() {
  8. // return {
  9. // ...this.query,
  10. // ...this.request.body,
  11. // };
  12. // },
  13. // get params() {
  14. // return { ...this.query, ...this.request.body };
  15. // },
  16. // 将客户端请求的oldV 变成 newV 并且转成正则匹配 --{ $regex: '^' + value } 以xx开头
  17. setRegexMongoSql(oldV, newV) {
  18. const value = this.query[oldV];
  19. if (value) {
  20. this.query[newV] = { $regex: value };
  21. }
  22. delete this.query[oldV];
  23. },
  24. setOrder(key, des) { // asc true 倒序 des false 正序
  25. this.query.sort = {};
  26. if (des) {
  27. this.query.sort[key || 'order'] = -1;
  28. } else {
  29. this.query.sort[key || 'order'] = 1;
  30. }
  31. },
  32. getCommonDeptPop() {
  33. return [{ path: 'dept1', select: 'name' }, { path: 'dept2', select: 'name' },
  34. { path: 'dept3', select: 'name' }, { path: 'dept4', select: 'name' },
  35. { path: 'dept5', select: 'name' },
  36. ];
  37. },
  38. getUserPop() {
  39. return [{ path: 'dept1', select: 'name' }, { path: 'dept2', select: 'name' },
  40. { path: 'dept3', select: 'name' }, { path: 'dept4', select: 'name' },
  41. { path: 'dept5', select: 'name' }, { path: 'dept' },
  42. { path: 'role' },
  43. ];
  44. },
  45. // 响应成功
  46. success(result) {
  47. this.body = {
  48. data: result || '',
  49. code: 0,
  50. };
  51. },
  52. // 响应失败
  53. error(msg, code) {
  54. this.body = {
  55. message: msg || '数据异常',
  56. code: code || 1,
  57. };
  58. },
  59. logic(result, msg, code) {
  60. result ? this.success(result) : this.error(msg, code);
  61. },
  62. };