common.php 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. <?php
  2. use app\common\library\sms\Sms;
  3. use \think\facade\Request;
  4. use think\facade\Db;
  5. function createUrl(string $url = '', array $vars = [], $suffix = true, $domain = false){
  6. $arr = explode("/",$url);
  7. if(count($arr) == 1){
  8. $url = Request::controller(true) . '/' . $url;
  9. }else if(count($arr) == 2){
  10. // app('http')->getName()
  11. }
  12. return (string)url($url,$vars,$suffix, $domain);
  13. }
  14. function getUserName($data=[]){
  15. if(isset($data["user_id"])){
  16. $data = Db::name("users")->where("id",$data["user_id"])->find();
  17. }
  18. if(empty($data)){
  19. return "未知用户";
  20. }
  21. $wechat_users = Db::name("wechat_users")->where("user_id",$data["id"])->find();
  22. if(!empty($wechat_users["nickname"])){
  23. return $wechat_users["nickname"] == "微信用户" ? $data["username"] : $wechat_users["nickname"];
  24. }
  25. if(!empty($data["nickname"])){
  26. return $data["nickname"] == "微信用户" ? $data["username"] : $data["nickname"];
  27. }else if(!empty($data["realname"])){
  28. return $data["realname"];
  29. }
  30. return isset($data["username"]) ? $data["username"] : "游客";
  31. }
  32. function G($name = null){
  33. static $_arr = array();
  34. if(is_null($name)){
  35. return $_arr;
  36. }
  37. if(is_string($name)){
  38. $arr = explode('.', $name);
  39. $count = count($arr);
  40. $string = $_string = null;
  41. for($i=0; $i<$count;$i++){
  42. if(empty($string)){
  43. $string = empty($_arr[$arr[$i]]) ? null : $_arr[$arr[$i]];
  44. }else{
  45. $_string = $string[$arr[$i]];
  46. $string = $_string;
  47. }
  48. }
  49. return $string;
  50. }
  51. if (is_array($name)) {
  52. $_arr = array_merge($_arr, $name);
  53. }
  54. return $_arr;
  55. }
  56. function checkMobile() {
  57. $user_agent = $_SERVER['HTTP_USER_AGENT'];
  58. $mobile_browser = [
  59. "mqqbrowser",
  60. "MicroMessenger",
  61. "opera mobi",
  62. "juc","iuc",
  63. "fennec","ios",
  64. "applewebKit/420",
  65. "applewebkit/525",
  66. "applewebkit/532","ipad","iphone","ipaq","ipod",
  67. "iemobile", "windows ce",
  68. "240×320","480×640","acer","android",
  69. "anywhereyougo.com","asus","audio",
  70. "blackberry","blazer","coolpad" ,
  71. "dopod", "etouch", "hitachi",
  72. "htc","huawei", "jbrowser",
  73. "lenovo","lg","lg-","lge-","lge",
  74. "mobi","moto","nokia","phone",
  75. "samsung","sony","symbian",
  76. "tablet","tianyu","wap","xda","xde","zte"
  77. ];
  78. $is_mobile = false;
  79. foreach ($mobile_browser as $device) {
  80. if (stristr($user_agent, $device)) {
  81. $is_mobile = true;
  82. break;
  83. }
  84. }
  85. return $is_mobile;
  86. }
  87. /**
  88. * 生成订单号
  89. * @param string $number
  90. * @param string $date
  91. * @return string
  92. */
  93. function orderNo($number = '', $date = 'YmdHis') {
  94. $arr = explode(" ", microtime());
  95. $usec = substr(str_replace('0.', '', $arr[0]), 0, 2) . rand(100, 999);
  96. return $number . date($date) . $usec;
  97. }
  98. /**
  99. * 发送短信
  100. * @param $data
  101. * @param string $template
  102. * @return bool
  103. */
  104. function sendSMS($data,$template=""){
  105. try {
  106. Sms::send($data, $template);
  107. return true;
  108. }catch (\Exception $e){
  109. return false;
  110. }
  111. }
  112. /**
  113. * 获取域名
  114. * @return string
  115. */
  116. function getDomain(){
  117. return trim(Request::domain(),"/");
  118. }
  119. /**
  120. * 获取IP
  121. * @return string
  122. */
  123. function getIP(){
  124. return Request::ip();
  125. }