| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274 |
- <?php
- use Illuminate\Database\Events\QueryExecuted;
- function getArrt($value, $option)
- {
- if (array_key_exists($value, $option)) {
- return $option[$value];
- }
- return '';
- }
- function showJson($code = 101, $message = 1001, $data = [], $header = [])
- {
- $resData = [
- 'code' => lang($code),
- 'message' => is_int($message) ? lang($message) : $message
- ];
- // if (!empty($data)) {
- $resData['data'] = $data;
- // }
- return response($resData, 200, $header);
- }
- function showJsonSucc($message, $data = [])
- {
- return showJson(101, $message, $data);
- }
- function showJsonErr($message, $data = [])
- {
- return showJson(102, $message, $data);
- }
- function reJson($code = 101, $message = 1001, $data = [])
- {
- $resData = [
- 'code' => lang($code),
- 'message' => is_int($message) ? lang($message) : $message
- ];
- if (!empty($data)) {
- $resData['data'] = $data;
- }
- return json_encode($resData);
- }
- function lang($value)
- {
- return trans('api.' . $value);
- }
- function getValidatorError($error)
- {
- foreach ($error->messages() as $item) {
- return $item['0'];
- break;
- }
- }
- /**
- * 拼接url
- * @author lyh 894806814@qq.com
- * @date 2018/12/14
- * @description
- */
- function getUrl($url)
- {
- $url = trim($url);
- if (empty($url)) {
- return $url;
- }
- if (strpos($url, 'http') === 0 || strpos($url, 'https') === 0) {
- return $url;
- } else {
- // return url()->formatRoot('http://') . $url;
- return env('APP_URL') . $url;
- }
- }
- function perPage()
- {
- return empty(Request::all('perPage')['perPage']) ? env('PerPage', 10) : Request::all('perPage')['perPage'];
- }
- /**
- * @return \App\Modes\User|null
- */
- function Admin()
- {
- return Auth::guard(config('permission.guard'))->user();
- }
- function adminsWhere($model, $param = [], $isAll = false)
- {
- $str = '';
- if (empty($param) && $isAll == false) {
- if (Admin()->province) {
- $model->whereProvince(Admin()->province);
- $str = $str . \App\Modes\Area::getName(Admin()->province . ' ');
- }
- if (Admin()->city) {
- $model->whereCity(Admin()->city);
- $str = $str . \App\Modes\Area::getName(Admin()->city . ' ');
- }
- if (Admin()->district) {
- $model->whereDistrict(Admin()->district);
- $str = $str . \App\Modes\Area::getName(Admin()->district);
- }
- } else {
- if (!empty($param['province'])) {
- $model->whereProvince($param['province']);
- $str = $str . \App\Modes\Area::getName($param['province'] . ' ');
- }
- if (!empty($param['city'])) {
- $model->whereCity(Admin()->city);
- $str = $str . \App\Modes\Area::getName($param['city'] . ' ');
- }
- if (!empty($param['district'])) {
- $model->whereDistrict($param['district']);
- $str = $str . \App\Modes\Area::getName($param['district']);
- }
- }
- return [
- $model,
- $str,
- ];
- }
- /**
- * 地区条件过滤
- * @return \Illuminate\Database\Eloquent\Model
- */
- function whereArea($model)
- {
- if (Admin()->province) {
- $model->whereProvince(Admin()->province);
- }
- if (Admin()->city) {
- $model->whereCity(Admin()->city);
- }
- if (Admin()->district) {
- $model->whereDistrict(Admin()->district);
- }
- return $model;
- }
- /**
- * 地区条件过滤
- * @return \Illuminate\Database\Eloquent\Model
- */
- function whereAreaByParam($model, $param)
- {
- if (!empty($param['province'])) {
- $model->whereProvince($param['province']);
- }
- if (!empty($param['city'])) {
- $model->whereCity(Admin()->city);
- }
- if (!empty($param['district'])) {
- $model->whereDistrict($param['district']);
- }
- return $model;
- }
- function getIds()
- {
- $ids = \Cache::get('ids');
- return $ids;
- }
- function filterReq($postData, $data)
- {
- $filterData = array_filter($postData, function ($v, $k) use ($data) {
- return $v != null && $v != '' && in_array($k, $data);
- }, ARRAY_FILTER_USE_BOTH);
- return $filterData;
- }
- //判断是否是移动端访问
- function isMobile()
- {
- // 如果有HTTP_X_WAP_PROFILE则一定是移动设备
- if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])) {
- return TRUE;
- }
- // 如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息
- if (isset ($_SERVER['HTTP_VIA'])) {
- return stristr($_SERVER['HTTP_VIA'], "wap") ? TRUE : FALSE;// 找不到为flase,否则为TRUE
- }
- // 判断手机发送的客户端标志,兼容性有待提高
- if (isset ($_SERVER['HTTP_USER_AGENT'])) {
- $clientkeywords = array(
- 'mobile',
- 'nokia',
- 'sony',
- 'ericsson',
- 'mot',
- 'samsung',
- 'htc',
- 'sgh',
- 'lg',
- 'sharp',
- 'sie-',
- 'philips',
- 'panasonic',
- 'alcatel',
- 'lenovo',
- 'iphone',
- 'ipod',
- 'blackberry',
- 'meizu',
- 'android',
- 'netfront',
- 'symbian',
- 'ucweb',
- 'windowsce',
- 'palm',
- 'operamini',
- 'operamobi',
- 'openwave',
- 'nexusone',
- 'cldc',
- 'midp',
- 'wap'
- );
- // 从HTTP_USER_AGENT中查找手机浏览器的关键字
- if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) {
- return TRUE;
- }
- }
- if (isset ($_SERVER['HTTP_ACCEPT'])) { // 协议法,因为有可能不准确,放到最后判断
- // 如果只支持wml并且不支持html那一定是移动设备
- // 如果支持wml和html但是wml在html之前则是移动设备
- if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== FALSE) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === FALSE || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html')))) {
- return TRUE;
- }
- }
- return FALSE;
- }
- /**
- * 金钱格式化小数点
- * @param $money
- * @param int $decimal 小数点位数,默认系统配置2位
- * @return float
- */
- function moneyFormat($money, $decimal=null){
- $formatConfig = [];
- $charset = !empty($formatConfig['charset'])? trim($formatConfig['charset']) : 'utf-8';
- if($decimal == null){
- $decimal = isset($formatConfig['moneyDecimal'])? intval($formatConfig['moneyDecimal']): 2;
- }
- $money = round($money, $decimal+1);
- $data = explode('.', $money);
- $money = isset($data[0])? $data[0] : 0;
- $float = isset($data[1])? $data[1] : '';
- $len = $float? mb_strlen($float, $charset) : 0;
- $decimal = $decimal? intval($decimal) : 2;
- $float = $len>=$decimal? mb_substr($data[1], 0, $decimal, $charset) : $float.str_repeat('0', $decimal-$len);
- $money = $money.'.'.$float;
- return number_format($money, $decimal, '.', '');
- }
|