NoticeEnum.php 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | likeadmin快速开发前后端分离管理后台(PHP版)
  4. // +----------------------------------------------------------------------
  5. // | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
  6. // | 开源版本可自由商用,可去除界面版权logo
  7. // | gitee下载:https://gitee.com/likeshop_gitee/likeadmin
  8. // | github下载:https://github.com/likeshop-github/likeadmin
  9. // | 访问官网:https://www.likeadmin.cn
  10. // | likeadmin团队 版权所有 拥有最终解释权
  11. // +----------------------------------------------------------------------
  12. // | author: likeadminTeam
  13. // +----------------------------------------------------------------------
  14. namespace app\common\enum\notice;
  15. /**
  16. * 通知枚举
  17. * Class NoticeEnum
  18. * @package app\common\enum
  19. */
  20. class NoticeEnum
  21. {
  22. /**
  23. * 通知类型
  24. */
  25. const SYSTEM = 1;
  26. const SMS = 2;
  27. const OA = 3;
  28. const MNP = 4;
  29. /**
  30. * 短信验证码场景
  31. */
  32. const LOGIN_CAPTCHA = 101;
  33. const BIND_MOBILE_CAPTCHA = 102;
  34. const CHANGE_MOBILE_CAPTCHA = 103;
  35. const FIND_LOGIN_PASSWORD_CAPTCHA = 104;
  36. const OTHER_CAPTCHA = 105;
  37. const GCSSJHM_CAPTCHA =106;
  38. /**
  39. * 验证码场景
  40. */
  41. const SMS_SCENE = [
  42. self::LOGIN_CAPTCHA,
  43. self::BIND_MOBILE_CAPTCHA,
  44. self::CHANGE_MOBILE_CAPTCHA,
  45. self::FIND_LOGIN_PASSWORD_CAPTCHA,
  46. self::OTHER_CAPTCHA,
  47. ];
  48. //通知类型
  49. const BUSINESS_NOTIFICATION = 1;//业务通知
  50. const VERIFICATION_CODE = 2;//验证码
  51. /**
  52. * @notes 通知类型
  53. * @param bool $value
  54. * @return string|string[]
  55. * @author ljj
  56. * @date 2022/2/17 2:49 下午
  57. */
  58. public static function getTypeDesc($value = true)
  59. {
  60. $data = [
  61. self::BUSINESS_NOTIFICATION => '业务通知',
  62. self::VERIFICATION_CODE => '验证码'
  63. ];
  64. if ($value === true) {
  65. return $data;
  66. }
  67. return $data[$value];
  68. }
  69. /**
  70. * @notes 获取场景描述
  71. * @param $sceneId
  72. * @param false $flag
  73. * @return string|string[]
  74. * @author 段誉
  75. * @date 2022/3/29 11:33
  76. */
  77. public static function getSceneDesc($sceneId, $flag = false)
  78. {
  79. $desc = [
  80. self::LOGIN_CAPTCHA => '登录验证码',
  81. self::BIND_MOBILE_CAPTCHA => '绑定手机验证码',
  82. self::CHANGE_MOBILE_CAPTCHA => '变更手机验证码',
  83. self::FIND_LOGIN_PASSWORD_CAPTCHA => '找回登录密码验证码',
  84. self::OTHER_CAPTCHA => '其它',
  85. self::GCSSJHM_CAPTCHA => '工程师入驻',
  86. ];
  87. if ($flag) {
  88. return $desc;
  89. }
  90. return $desc[$sceneId] ?? '';
  91. }
  92. /**
  93. * @notes 更具标记获取场景
  94. * @param $tag
  95. * @return int|string
  96. * @author 段誉
  97. * @date 2022/9/15 15:08
  98. */
  99. public static function getSceneByTag($tag)
  100. {
  101. $scene = [
  102. // 手机验证码登录
  103. 'YZMDL' => self::LOGIN_CAPTCHA,
  104. // 绑定手机号验证码
  105. 'BDSJHM' => self::BIND_MOBILE_CAPTCHA,
  106. // 变更手机号验证码
  107. 'BGSJHM' => self::CHANGE_MOBILE_CAPTCHA,
  108. // 找回登录密码
  109. 'ZHDLMM' => self::FIND_LOGIN_PASSWORD_CAPTCHA,
  110. //其它
  111. 'OTHER' => self::OTHER_CAPTCHA,
  112. //工程师入住
  113. 'GCSSJHM' => self::GCSSJHM_CAPTCHA
  114. ];
  115. return $scene[$tag] ?? '';
  116. }
  117. /**
  118. * @notes 获取场景变量
  119. * @param $sceneId
  120. * @param false $flag
  121. * @return array|string[]
  122. * @author 段誉
  123. * @date 2022/3/29 11:33
  124. */
  125. public static function getVars($sceneId, $flag = false)
  126. {
  127. $desc = [
  128. self::LOGIN_CAPTCHA => '验证码:code',
  129. self::BIND_MOBILE_CAPTCHA => '验证码:code',
  130. self::CHANGE_MOBILE_CAPTCHA => '验证码:code',
  131. self::FIND_LOGIN_PASSWORD_CAPTCHA => '验证码:code',
  132. self::OTHER_CAPTCHA => '验证码:code',
  133. self::GCSSJHM_CAPTCHA => '验证码:code',
  134. ];
  135. if ($flag) {
  136. return $desc;
  137. }
  138. return isset($desc[$sceneId]) ? ['可选变量 ' . $desc[$sceneId]] : [];
  139. }
  140. /**
  141. * @notes 获取系统通知示例
  142. * @param $sceneId
  143. * @param false $flag
  144. * @return array|string[]
  145. * @author 段誉
  146. * @date 2022/3/29 11:33
  147. */
  148. public static function getSystemExample($sceneId, $flag = false)
  149. {
  150. $desc = [];
  151. if ($flag) {
  152. return $desc;
  153. }
  154. return isset($desc[$sceneId]) ? [$desc[$sceneId]] : [];
  155. }
  156. /**
  157. * @notes 获取短信通知示例
  158. * @param $sceneId
  159. * @param false $flag
  160. * @return array|string[]
  161. * @author 段誉
  162. * @date 2022/3/29 11:33
  163. */
  164. public static function getSmsExample($sceneId, $flag = false)
  165. {
  166. $desc = [
  167. self::LOGIN_CAPTCHA => '您正在登录,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。',
  168. self::BIND_MOBILE_CAPTCHA => '您正在绑定手机号,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。',
  169. self::CHANGE_MOBILE_CAPTCHA => '您正在变更手机号,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。',
  170. self::FIND_LOGIN_PASSWORD_CAPTCHA => '您正在找回登录密码,验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。',
  171. self::OTHER_CAPTCHA => '您的验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。',
  172. self::GCSSJHM_CAPTCHA => '工程师,您的验证码${code},切勿将验证码泄露于他人,本条验证码有效期5分钟。',
  173. ];
  174. if ($flag) {
  175. return $desc;
  176. }
  177. return isset($desc[$sceneId]) ? ['示例:' . $desc[$sceneId]] : [];
  178. }
  179. /**
  180. * @notes 获取公众号模板消息示例
  181. * @param $sceneId
  182. * @param false $flag
  183. * @return array|string[]|\string[][]
  184. * @author 段誉
  185. * @date 2022/3/29 11:33
  186. */
  187. public static function getOaExample($sceneId, $flag = false)
  188. {
  189. $desc = [];
  190. if ($flag) {
  191. return $desc;
  192. }
  193. return $desc[$sceneId] ?? [];
  194. }
  195. /**
  196. * @notes 获取小程序订阅消息示例
  197. * @param $sceneId
  198. * @param false $flag
  199. * @return array|mixed
  200. * @author 段誉
  201. * @date 2022/3/29 11:33
  202. */
  203. public static function getMnpExample($sceneId, $flag = false)
  204. {
  205. $desc = [];
  206. if ($flag) {
  207. return $desc;
  208. }
  209. return $desc[$sceneId] ?? [];
  210. }
  211. /**
  212. * @notes 提示
  213. * @param $type
  214. * @param $sceneId
  215. * @return array|string|string[]|\string[][]
  216. * @author 段誉
  217. * @date 2022/3/29 11:33
  218. */
  219. public static function getOperationTips($type, $sceneId)
  220. {
  221. // 场景变量
  222. $vars = self::getVars($sceneId);
  223. // 其他提示
  224. $other = [];
  225. // 示例
  226. switch ($type) {
  227. case self::SYSTEM:
  228. $example = self::getSystemExample($sceneId);
  229. break;
  230. case self::SMS:
  231. $other[] = '生效条件:1、管理后台完成短信设置。 2、第三方短信平台申请模板。';
  232. $example = self::getSmsExample($sceneId);
  233. break;
  234. case self::OA:
  235. $other[] = '配置路径:公众号后台 > 广告与服务 > 模板消息';
  236. $other[] = '推荐行业:主营行业:IT科技/互联网|电子商务 副营行业:消费品/消费品';
  237. $example = self::getOaExample($sceneId);
  238. break;
  239. case self::MNP:
  240. $other[] = '配置路径:小程序后台 > 功能 > 订阅消息';
  241. $example = self::getMnpExample($sceneId);
  242. break;
  243. }
  244. $tips = array_merge($vars, $example, $other);
  245. return $tips;
  246. }
  247. }