响应格式

接口的返回格式统一为

  1. {
  2. "code": 200,
  3. "data": [],
  4. "msg": "",
  5. }

异常

系统内置了基本异常,您可以按需取用

  1. ./vendor/mochat/framework/src/Exception
  2. ├── CommonException.php
  3. └── Handler
  4. ├── AuthExceptionHandler.php
  5. ├── CommonExceptionHandler.php
  6. ├── ErrorExceptionHandler.php
  7. ├── GuzzleRequestExceptionHandler.php
  8. └── ValidationExceptionHandler.php

错误码

系统同样已经定义了基本的错误码,如下。

  1. <?php
  2. declare(strict_types=1);
  3. namespace MoChat\Framework\Constants;
  4. use Hyperf\Constants\AbstractConstants;
  5. use Hyperf\Constants\Annotation\Constants;
  6. /**
  7. * 错误code
  8. * 3位HTTP码 + 6位业务码[前3位为模块,后3位为业务]
  9. * 有其它错误码需求,即使补充
  10. * 业务模块码:
  11. * 100 - 公共模块
  12. * 100 - 授权模块
  13. * 200 - 通讯录模块
  14. * 300 - 外部联系人模块
  15. * 301 - 外部联系人 - 高级属性模块
  16. * 400 - 会话内容存档模块.
  17. * @Constants
  18. * @method static string getMessage(int $code) 获取错误码信息
  19. * @method static int getHttpCode(int $code) 获取错误码的httpCode
  20. */
  21. class ErrorCode extends AbstractConstants
  22. {
  23. /**
  24. * @Message("token失效")
  25. * @HttpCode("401")
  26. */
  27. const TOKEN_INVALID = 100001;
  28. /**
  29. * @Message("用户或密码错误")
  30. * @HttpCode("401")
  31. */
  32. const AUTH_LOGIN_FAILED = 100002;
  33. /**
  34. * @Message("非法token")
  35. * @HttpCode("401")
  36. */
  37. const AUTH_TOKEN_INVALID = 100003;
  38. /**
  39. * @Message("token过期")
  40. * @HttpCode("401")
  41. */
  42. const AUTH_SESSION_EXPIRED = 100004;
  43. /**
  44. * @Message("未认证,没有token")
  45. * @HttpCode("401")
  46. */
  47. const AUTH_UNAUTHORIZED = 100005;
  48. /**
  49. * @Message("认证失败")
  50. * @HttpCode("401")
  51. */
  52. const AUTH_FAILED = 100006;
  53. /**
  54. * @Message("没有权限")
  55. * @HttpCode("403")
  56. */
  57. const ACCESS_DENIED = 100007;
  58. /**
  59. * @Message("拒绝客户端请求")
  60. * @HttpCode("403")
  61. */
  62. const ACCESS_REFUSE = 100008;
  63. /**
  64. * @Message("禁止重复操作")
  65. * @HttpCode("403")
  66. */
  67. const NO_REPETITION_OPERATION = 100009;
  68. /**
  69. * @Message("客户端错误")
  70. * @HttpCode("400")
  71. */
  72. const BAD_REQUEST = 100010;
  73. /**
  74. * @Message("非法的Content-Type头")
  75. * @HttpCode("401")
  76. */
  77. const INVALID_CONTENT_TYPE = 100011;
  78. /**
  79. * @Message("资源未找到")
  80. * @HttpCode("404")
  81. */
  82. const URI_NOT_FOUND = 100012;
  83. /**
  84. * @Message("非法的参数")
  85. * @HttpCode("422")
  86. */
  87. const INVALID_PARAMS = 100013;
  88. /**
  89. * @Message("服务器异常")
  90. * @HttpCode("500")
  91. */
  92. const SERVER_ERROR = 100014;
  93. /**
  94. * @Message("服务器异常(third-party-api)")
  95. * @HttpCode("500")
  96. */
  97. const THIRD_API_ERROR = 100015;
  98. }