$code,"message"=>$message,"data"=>$data]; if(env("APP_DEBUG")){ return json($result,$httpStatus); } return json(["RD"=>app\tools\Aes::encrypt(json_encode($result),$appKey)],$httpStatus); } } /** * 验证手机号是否正确 * @author honfei * @param number $mobile */ if(!function_exists('is_mobile_number')) { function is_mobile_number($mobile) { if (!is_numeric($mobile)) return false; return (bool)preg_match('#^1[3,4,5,7,8,9]{1}[\d]{9}$#', $mobile); } } /** * 生成随机字符串 * @param int $length 生成随机字符串的长度 * @param string $char 组成随机字符串的字符串 * @return string $string 生成的随机字符串 */ if(!function_exists('strRand')) { function strRand(int $length = 32, string $char = '0123456789&abcdefghijklmnopqrstuvwxyz@ABCDEFGHIJKLMNOPQRSTUVWXYZ$') { if (!is_int($length) || $length < 0) { return false; } $string = ''; for ($i = $length; $i > 0; $i--) { $string .= $char[mt_rand(0, strlen($char) - 1)]; } return $string; } } /** * Discuz 经典双向加密/解密 * @param string $string 明文 或 密文 * @param string $operation DECODE表示解密,其它表示加密 * @param string $key 密匙 * @param string $expiry 密文有效期 */ if(!function_exists('authcode')) { function authcode($string, $operation = 'DECODE', $key = '', $expiry = 0) { if ($operation == 'DECODE') { $string = str_replace(' ', '+', $string); } $ckey_length = 4; $key = md5($key ? $key : env('data_auth_key')); $keya = md5(substr($key, 0, 16)); $keyb = md5(substr($key, 16, 16)); $keyc = $ckey_length ? ($operation == 'DECODE' ? substr($string, 0, $ckey_length) : substr(md5(microtime()), -$ckey_length)) : ''; $cryptkey = $keya . md5($keya . $keyc); $key_length = strlen($cryptkey); $string = $operation == 'DECODE' ? base64_decode(substr($string, $ckey_length)) : sprintf('%010d', $expiry ? $expiry + time() : 0) . substr(md5($string . $keyb), 0, 16) . $string; $string_length = strlen($string); $result = ''; $box = range(0, 255); $rndkey = []; for ($i = 0; $i <= 255; $i++) { $rndkey[$i] = ord($cryptkey[$i % $key_length]); } for ($j = $i = 0; $i < 256; $i++) { $j = ($j + $box[$i] + $rndkey[$i]) % 256; $tmp = $box[$i]; $box[$i] = $box[$j]; $box[$j] = $tmp; } for ($a = $j = $i = 0; $i < $string_length; $i++) { $a = ($a + 1) % 256; $j = ($j + $box[$a]) % 256; $tmp = $box[$a]; $box[$a] = $box[$j]; $box[$j] = $tmp; $result .= chr(ord($string[$i]) ^ ($box[($box[$a] + $box[$j]) % 256])); } if ($operation == 'DECODE') { if ((substr($result, 0, 10) == 0 || substr($result, 0, 10) - time() > 0) && substr($result, 10, 16) == substr(md5(substr($result, 26) . $keyb), 0, 16)) { return substr($result, 26); } else { return ''; } } else { return $keyc . str_replace('=', '', base64_encode($result)); } } } use OSS\Core\OssException; use OSS\OssClient; //阿里云OSS /* if (!function_exists('aliyun')) { function aliyun($savePath, $category = '', $isunlink = false, $bucket = "hphb-storage") { $accessKeyId = env('aliyunsms.accessKeyId');//去阿里云后台获取秘钥 $accessKeySecret = env('aliyunsms.accesskey');//去阿里云后台获取秘钥 $endpoint = env('aliyunsms.oss_endpoint');//你的阿里云OSS地址 $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint); // 判断bucketname是否存在,不存在就去创建 if (!$ossClient->doesBucketExist($bucket)) { $ossClient->createBucket($bucket); } $category = empty($category) ? $bucket : $category; $savePath = str_replace("\\", "/", $savePath); $object = '/' . $savePath;//想要保存文件的名称 $file = env("upload_directory").'\\' . $savePath;//文件路径,必须是本地的。 try { echo 'bc'; $obj = $ossClient->uploadFile($bucket, $object, $file); echo 'abc'; if ($isunlink == true) { unlink($file); } print_r($obj); } catch (OssException $e) { echo $e->getErrorMessage(); } $web = "https://hphb-storage.".env('aliyunsms.oss_endpoint').'/'.$object;//这里是你阿里云oss外网访问的Bucket域名 return $web; } } */ if (!function_exists('aliyun')) { function aliyun($localfile = '', $path = '') { $config = [ 'access' => env('aliyunsms.accessKeyId'), 'access_key' => env('aliyunsms.accesskey'), 'bucket' => 'hphb-storage', 'url' => 'https://oss-cn-beijing.aliyuncs.com' ]; $path = "r/".$localfile; $localfile = env("upload_directory").'/' . $localfile;//文件路径,必须是本地的。 if (!file_exists($localfile)) { return ('Not found file'); } if ($path == "") { return ['code' => 1, 'message' => "远程文件名不能为空"]; } $accessKeyId = $config['access']; $accessKeySecret = $config['access_key']; $endpoint = $config['url']; try { $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint); $info = $ossClient->uploadFile($config['bucket'], $path, $localfile); if(empty($info['info']['url'])){ return ['code' => 1, 'message' => "上传失败"]; } return ['code' => 0, 'message' => "", 'url' => $info['info']['url']]; } catch (OssException $e) { return ['code' => 1, 'message' => $e->getMessage()]; } } } function getExt($filename) { $arr = explode('.',$filename); return array_pop($arr); } function StudentToArray($list = []) : array { $result = []; $result['lastIndex'] = 0; $result['list']=[]; foreach($list as $key => $vo){ if($vo['id']>$result['lastIndex']){ $result['lastIndex'] = $vo['id']; } $result["list"][] = [ "id"=>$vo['id'], "hot"=>$vo['hot'], "avatar"=>$vo['avatar'], "nickname"=>$vo['nickname'], "is_disabled"=>$vo['disabled'], "type"=>$vo["type"], "identifier"=>$vo['identifier'], "article_count"=>$vo['article_count'], "city"=>$vo['city'], "school"=>$vo['school'], "age"=>$vo['age'], ]; } if(count($list)where("id", "IN", $UserIds)->field($getFieldString)->select()->toArray(); foreach ($UserLists as $vo) { $getAllUsersMessage[$vo['id']] = $vo; } return $getAllUsersMessage; } }