Helpers.php 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: qiuzijian
  5. * Date: 2021-04-14
  6. * Time: 17:34
  7. */
  8. /**
  9. * 密码验证
  10. */
  11. if (!function_exists('validPass')) {
  12. function validPass($candidate)
  13. {
  14. $r1 = '/[A-Z]/'; // 大写字母
  15. $r2 = '/[a-z]/'; // 小写字母
  16. $r3 = '/[!@#$%^&*()\-_=+{};:,<.>]/'; // 特殊字符
  17. $r4 = '/[0-9]/'; // 数字
  18. if (preg_match_all($r1, $candidate, $o) < 1) return '至少有一个大写字母';
  19. if (preg_match_all($r2, $candidate, $o) < 1) return '至少有一个小写字母';
  20. if (preg_match_all($r3, $candidate, $o) < 1) return '至少有一个特殊字符';
  21. if (preg_match_all($r4, $candidate, $o) < 1) return '至少有一个数字';
  22. if (strlen($candidate) < 8) return '至少8个字符';
  23. return true;
  24. }
  25. }
  26. /**
  27. * 判断按钮权限
  28. */
  29. if (!function_exists('checkBtn')) {
  30. function checkBtn($path = '', $permissionsList = [])
  31. {
  32. return true; //permission todo
  33. $path = explode('?', $path)[0];
  34. if (in_array($path, $permissionsList, true) || in_array('/' . $path, $permissionsList, true)) {
  35. return true;
  36. }
  37. return false;
  38. }
  39. }
  40. if (! function_exists('pinyin')) {
  41. /**
  42. * Get the Pinyin of given string.
  43. *
  44. * @param string $string
  45. * @param string $option
  46. *
  47. * @return string
  48. */
  49. function pinyin($string)
  50. {
  51. return app(\Overtrue\Pinyin\Pinyin::class)->convert($string, 64);
  52. }
  53. } else {
  54. Log::warning('There exist multiple function "pinyin".');
  55. }
  56. if (! function_exists('curl_request')) {
  57. /**
  58. * 作者: qiuzijian
  59. * 注释: curl请求方法
  60. * @param $url
  61. * @param null $data
  62. * @return bool|string
  63. */
  64. function curl_request($url, $data = null)
  65. {
  66. $curl = curl_init();
  67. curl_setopt($curl, CURLOPT_SSLVERSION, 1);
  68. curl_setopt($curl, CURLOPT_URL, $url);
  69. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
  70. curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
  71. if (!empty($data)) {
  72. curl_setopt($curl, CURLOPT_POST, 1);
  73. curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
  74. }
  75. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  76. $result = curl_exec($curl);
  77. if (curl_errno($curl)) {
  78. return 'Errno' . curl_error($curl);
  79. }
  80. curl_close($curl);
  81. return $result;
  82. }
  83. }