Commit f17ef9f0 authored by christ's avatar christ

isjson

parent 59669158
...@@ -368,7 +368,7 @@ class ApiConst ...@@ -368,7 +368,7 @@ class ApiConst
//等于0表示没有选中地址时是选中当前传入经纬度,等于1表示没有命中地址是选中地址列表中按照is_default desc,address_id desc倒序的第一条地址 //等于0表示没有选中地址时是选中当前传入经纬度,等于1表示没有命中地址是选中地址列表中按照is_default desc,address_id desc倒序的第一条地址
const defaultAddressRoute = 0; const defaultAddressRoute = 0;
const shareLimitProgrameError=40001;
const addGoodsToCart = 1; //将商品加入购物车 const addGoodsToCart = 1; //将商品加入购物车
const addBundingToCart = 2; //将组合销售商品加入购物车 const addBundingToCart = 2; //将组合销售商品加入购物车
const positionPickupCodeBegin=12; const positionPickupCodeBegin=12;
......
...@@ -5,6 +5,7 @@ namespace Our; ...@@ -5,6 +5,7 @@ namespace Our;
class Common class Common
{ {
public static $requestTime; public static $requestTime;
/** /**
* 获取http状态码 * 获取http状态码
* *
...@@ -58,40 +59,42 @@ class Common ...@@ -58,40 +59,42 @@ class Common
return isset($httpStatusCodes[$num]) ? $httpStatusCodes[$num] : ''; return isset($httpStatusCodes[$num]) ? $httpStatusCodes[$num] : '';
} }
public static function isCurentTimeInSection($begin,$end) public static function isCurentTimeInSection($begin, $end)
{ {
$checkDayStr = date('Y-m-d ',time()); $checkDayStr = date('Y-m-d ', time());
$timeBegin1 = strtotime($checkDayStr.$begin.":00"); $timeBegin1 = strtotime($checkDayStr . $begin . ":00");
$timeEnd1 = strtotime($checkDayStr.$end.":00"); $timeEnd1 = strtotime($checkDayStr . $end . ":00");
$curr_time = time(); $curr_time = time();
if($curr_time >= $timeBegin1 && $curr_time <= $timeEnd1) if ($curr_time >= $timeBegin1 && $curr_time <= $timeEnd1) {
{
return true; return true;
} }
return false; return false;
} }
public static function isSerialized( $data ) {
$data = trim( $data ); public static function isSerialized($data)
if ( 'N;' == $data ) {
$data = trim($data);
if ('N;' == $data)
return true; return true;
if ( !preg_match( '/^([adObis]):/', $data, $badions ) ) if (!preg_match('/^([adObis]):/', $data, $badions))
return false; return false;
switch ( $badions[1] ) { switch ($badions[1]) {
case 'a' : case 'a' :
case 'O' : case 'O' :
case 's' : case 's' :
if ( preg_match( "/^{$badions[1]}:[0-9]+:.*[;}]\$/s", $data ) ) if (preg_match("/^{$badions[1]}:[0-9]+:.*[;}]\$/s", $data))
return true; return true;
break; break;
case 'b' : case 'b' :
case 'i' : case 'i' :
case 'd' : case 'd' :
if ( preg_match( "/^{$badions[1]}:[0-9.E-]+;\$/", $data ) ) if (preg_match("/^{$badions[1]}:[0-9.E-]+;\$/", $data))
return true; return true;
break; break;
} }
return false; return false;
} }
/** /**
* 获取客户端IP * 获取客户端IP
* *
...@@ -120,41 +123,46 @@ class Common ...@@ -120,41 +123,46 @@ class Common
{ {
return 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; return 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
} }
public static function getConfig($key){
$config=\Yaf\Registry::get('config'); public static function getConfig($key)
$configValue=$config->get($key); {
$config = \Yaf\Registry::get('config');
$configValue = $config->get($key);
return $configValue; return $configValue;
} }
public static function getBaseUrl(){ public static function getBaseUrl()
{
$prefix = 'http'; $prefix = 'http';
if(self::is_https()){ if (self::is_https()) {
$prefix = 'https'; $prefix = 'https';
} }
$url = $prefix.'://'.$_SERVER['SERVER_NAME']; $url = $prefix . '://' . $_SERVER['SERVER_NAME'];
return $url; return $url;
} }
public static function is_https() { public static function is_https()
if ( !empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off') { {
if (!empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off') {
return true; return true;
} elseif ( isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https' ) { } elseif (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
return true; return true;
} elseif ( !empty($_SERVER['HTTP_FRONT_END_HTTPS']) && strtolower($_SERVER['HTTP_FRONT_END_HTTPS']) !== 'off') { } elseif (!empty($_SERVER['HTTP_FRONT_END_HTTPS']) && strtolower($_SERVER['HTTP_FRONT_END_HTTPS']) !== 'off') {
return true; return true;
}elseif($_SERVER['SERVER_PORT'] == 89){ } elseif ($_SERVER['SERVER_PORT'] == 89) {
return true; return true;
} }
return false; return false;
} }
/** /**
* 获取静态资源文件 * 获取静态资源文件
* *
* @param unknown_type $filename * @param unknown_type $filename
*/ */
public static function getStaticFile($filename,$directory='image/',$urlName='ossHost') public static function getStaticFile($filename, $directory = 'image/', $urlName = 'ossHost')
{ {
$files = array(); $files = array();
$static = array(); $static = array();
...@@ -197,12 +205,12 @@ class Common ...@@ -197,12 +205,12 @@ class Common
case '.png' : case '.png' :
case '.apk' : case '.apk' :
foreach ($files as $f) { foreach ($files as $f) {
$output = $staticUrl . '/' .$directory . $f; $output = $staticUrl . '/' . $directory . $f;
} }
break; break;
default: default:
foreach ($files as $f) { foreach ($files as $f) {
$output = $staticUrl . '/' .$directory . $f.\Our\NameConst::jpgSuffix; $output = $staticUrl . '/' . $directory . $f . \Our\NameConst::jpgSuffix;
} }
break; break;
} }
...@@ -222,7 +230,6 @@ class Common ...@@ -222,7 +230,6 @@ class Common
} }
public static function generatePassword($length = 8) public static function generatePassword($length = 8)
{ {
// 密码字符集,可任意添加你需要的字符 // 密码字符集,可任意添加你需要的字符
...@@ -243,17 +250,17 @@ class Common ...@@ -243,17 +250,17 @@ class Common
*/ */
public static function bulidToken($mobilePhone = null, $password = null, $zenid = null, $iso = null) public static function bulidToken($mobilePhone = null, $password = null, $zenid = null, $iso = null)
{ {
$bassStr=self::getClientIp(); $bassStr = self::getClientIp();
if($zenid){ if ($zenid) {
$bassStr.=$zenid; $bassStr .= $zenid;
} }
if($iso){ if ($iso) {
$bassStr.=$zenid; $bassStr .= $zenid;
} }
if (empty($mobilePhone) || empty($password)) { if (empty($mobilePhone) || empty($password)) {
$md5Key=md5($bassStr.TIMESTAMP); $md5Key = md5($bassStr . TIMESTAMP);
}else{ } else {
$md5Key=md5($bassStr.self::generatePassword(ApiConst::randLengh).TIMESTAMP); $md5Key = md5($bassStr . self::generatePassword(ApiConst::randLengh) . TIMESTAMP);
} }
return $md5Key; return $md5Key;
} }
...@@ -263,34 +270,49 @@ class Common ...@@ -263,34 +270,49 @@ class Common
* @param unknown $phone * @param unknown $phone
* @return boolean * @return boolean
*/ */
public static function checkMobilePhone($phone){ public static function checkMobilePhone($phone)
if( empty($phone) ){ {
if (empty($phone)) {
return false; return false;
} }
if( !preg_match('/^1[3456789]\d{9}$/', $phone) ){ if (!preg_match('/^1[3456789]\d{9}$/', $phone)) {
return false; return false;
} }
return true; return true;
} }
public static function getRealStr($originStr){
$result=str_replace(array("\r\n", "\r", "\n"), "", $originStr); public static function getRealStr($originStr)
$result=trim($result); {
$result = str_replace(array("\r\n", "\r", "\n"), "", $originStr);
$result = trim($result);
return $result; return $result;
} }
public static function getDivNum($num){
return bcdiv($num,100,2); public static function getDivNum($num)
{
return bcdiv($num, 100, 2);
} }
public static function mutiplicative($num){
public static function mutiplicative($num)
{
return intval(bcmul($num, \Our\ApiConst::oneHandred)); return intval(bcmul($num, \Our\ApiConst::oneHandred));
} }
public static function isJson($string)
{
json_decode($string);
return (json_last_error() == JSON_ERROR_NONE);
}
/** /**
* sql字符串格式化 * sql字符串格式化
* @param unknown $phone * @param unknown $phone
* @return boolean * @return boolean
*/ */
public static function format() { public static function format()
{
$args = func_get_args(); $args = func_get_args();
if (count($args) == 0) { if (count($args) == 0) {
return; return;
...@@ -302,45 +324,58 @@ class Common ...@@ -302,45 +324,58 @@ class Common
$str = preg_replace_callback('/\\{(0|[1-9]\\d*)\\}/', create_function('$match', '$args = ' . var_export($args, true) . '; return isset($args[$match[1]]) ? $args[$match[1]] : $match[0];'), $str); $str = preg_replace_callback('/\\{(0|[1-9]\\d*)\\}/', create_function('$match', '$args = ' . var_export($args, true) . '; return isset($args[$match[1]]) ? $args[$match[1]] : $match[0];'), $str);
return $str; return $str;
} }
// //
public static function getDriverType($isstring=false){ public static function getDriverType($isstring = false)
{
$agent = strtolower($_SERVER['HTTP_USER_AGENT']); $agent = strtolower($_SERVER['HTTP_USER_AGENT']);
//分析数据 //分析数据
$is_wx=(strpos($agent, 'miniprogram')||strpos($agent, 'micromessenger')) ? true : false; $is_wx = (strpos($agent, 'miniprogram') || strpos($agent, 'micromessenger')) ? true : false;
$is_pc = (strpos($agent, 'windows nt')) ? true : false; $is_pc = (strpos($agent, 'windows nt')) ? true : false;
$is_iphone = (strpos($agent, 'iphone')) ? true : false; $is_iphone = (strpos($agent, 'iphone')) ? true : false;
$is_ipad = (strpos($agent, 'ipad')) ? true : false; $is_ipad = (strpos($agent, 'ipad')) ? true : false;
//$is_android = (strpos($agent, 'android')) ? true : false; //$is_android = (strpos($agent, 'android')) ? true : false;
//输出数据 //输出数据
$driverType=ApiConst::adroidType; $driverType = ApiConst::adroidType;
if($is_pc){ if ($is_pc) {
$driverType=ApiConst::pcType; $driverType = ApiConst::pcType;
} }
if($is_iphone){ if ($is_iphone) {
$driverType=ApiConst::iphoneType; $driverType = ApiConst::iphoneType;
} }
if($is_ipad){ if ($is_ipad) {
$driverType=ApiConst::ipadType; $driverType = ApiConst::ipadType;
} }
if($is_wx){ if ($is_wx) {
$driverType=ApiConst::wxType; $driverType = ApiConst::wxType;
} }
if($isstring){ if ($isstring) {
switch($driverType){ switch ($driverType) {
case ApiConst::pcType:$driverType=NameConst::pc;break; case ApiConst::pcType:
case ApiConst::iphoneType:$driverType=NameConst::iphone;break; $driverType = NameConst::pc;
case ApiConst::adroidType:$driverType=NameConst::android;break; break;
case ApiConst::ipadType:$driverType=NameConst::ipad;break; case ApiConst::iphoneType:
default:ApiConst::zero;break; $driverType = NameConst::iphone;
break;
case ApiConst::adroidType:
$driverType = NameConst::android;
break;
case ApiConst::ipadType:
$driverType = NameConst::ipad;
break;
default:
ApiConst::zero;
break;
} }
} }
return $driverType; return $driverType;
} }
public static function getIdentify(){ public static function getIdentify()
return self::getClientIp().'-'.self::getDriverType(); {
return self::getClientIp() . '-' . self::getDriverType();
} }
/** /**
...@@ -350,33 +385,38 @@ class Common ...@@ -350,33 +385,38 @@ class Common
*/ */
public static function underlineToHump($str) public static function underlineToHump($str)
{ {
$str = preg_replace_callback('/([-_]+([a-z]{1}))/i',function($matches){ $str = preg_replace_callback('/([-_]+([a-z]{1}))/i', function ($matches) {
return strtoupper($matches[2]); return strtoupper($matches[2]);
},$str); }, $str);
return $str; return $str;
} }
/** /**
* 驼峰转下划线 * 驼峰转下划线
*/ */
public static function humpToLine($str){ public static function humpToLine($str)
$str = preg_replace_callback('/([A-Z]{1})/',function($matches){ {
return '_'.strtolower($matches[0]); $str = preg_replace_callback('/([A-Z]{1})/', function ($matches) {
},$str); return '_' . strtolower($matches[0]);
}, $str);
return $str; return $str;
} }
public static function getTodayBeginTimpSpan(){
$totayTimeSpan=strtotime(date('Y-m-d')); public static function getTodayBeginTimpSpan()
{
$totayTimeSpan = strtotime(date('Y-m-d'));
return $totayTimeSpan; return $totayTimeSpan;
} }
/** /**
* 驼峰数组转下划线数组 * 驼峰数组转下划线数组
* @param array $data * @param array $data
* @return array * @return array
*/ */
public static function convertHump($data = array()){ public static function convertHump($data = array())
{
$result = []; $result = [];
if($data){ if ($data) {
foreach ($data as $key => $item) { foreach ($data as $key => $item) {
if (is_array($item) || is_object($item)) { if (is_array($item) || is_object($item)) {
$result[self::humpToLine($key)] = self::convertHump((array)$item); $result[self::humpToLine($key)] = self::convertHump((array)$item);
...@@ -394,9 +434,10 @@ class Common ...@@ -394,9 +434,10 @@ class Common
* @param array $data * @param array $data
* @return array * @return array
*/ */
public static function convertUnderline( $data=array()){ public static function convertUnderline($data = array())
{
$result = []; $result = [];
if($data){ if ($data) {
foreach ($data as $key => $item) { foreach ($data as $key => $item) {
if (is_array($item) || is_object($item)) { if (is_array($item) || is_object($item)) {
$result[self::underlineToHump($key)] = self::convertUnderline((array)$item); $result[self::underlineToHump($key)] = self::convertUnderline((array)$item);
...@@ -412,16 +453,16 @@ class Common ...@@ -412,16 +453,16 @@ class Common
public static function sendTcpMessage($data, $uid = false) public static function sendTcpMessage($data, $uid = false)
{ {
$push= \Yaf\Registry::get("push"); $push = \Yaf\Registry::get("push");
if($push['open']){ if ($push['open']) {
$argv = $GLOBALS['argv']; $argv = $GLOBALS['argv'];
$isDebug = isset($argv[1]) ? intval($argv[1]) : false; $isDebug = isset($argv[1]) ? intval($argv[1]) : false;
$message['data']=$data; $message['data'] = $data;
$message['uid']=$uid; $message['uid'] = $uid;
$message = json_encode($message); $message = json_encode($message);
$message = $message . "\r\n"; $message = $message . "\r\n";
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if(!@socket_connect($socket, $push['host'], $push['port'])){ if (!@socket_connect($socket, $push['host'], $push['port'])) {
return false; return false;
} }
// @socket_connect($socket, $push['host'], $push['port']) or die("推送连接失败"); // @socket_connect($socket, $push['host'], $push['port']) or die("推送连接失败");
...@@ -448,34 +489,38 @@ class Common ...@@ -448,34 +489,38 @@ class Common
return $server_data['data']['error_code']; return $server_data['data']['error_code'];
} }
} }
}else{ } else {
return false; return false;
} }
} }
public static function getSortArr($sortArray){
public static function getSortArr($sortArray)
{
ksort($sortArray); ksort($sortArray);
$str=''; $str = '';
foreach($sortArray as $val){ foreach ($sortArray as $val) {
$str.=$val; $str .= $val;
} }
return $str; return $str;
} }
//合并一对多列表 //合并一对多列表
public static function intergrateOneToMany($list1,$list2,$mergekey1,$mergekey2,$listName='orderGoods',$sortField='gmtUpdate'){ public static function intergrateOneToMany($list1, $list2, $mergekey1, $mergekey2, $listName = 'orderGoods', $sortField = 'gmtUpdate')
$mergeArray=array(); {
$list2key=array(); $mergeArray = array();
foreach($list1 as $value){ $list2key = array();
$list2key[$value[$mergekey1]]=$value; foreach ($list1 as $value) {
$list2key[$value[$mergekey1]] = $value;
} }
$value[$listName]=array(); $value[$listName] = array();
foreach($list2 as &$value){ foreach ($list2 as &$value) {
if(isset($list2key[$value[$mergekey2]])&&!empty($list2key[$value[$mergekey2]])){ if (isset($list2key[$value[$mergekey2]]) && !empty($list2key[$value[$mergekey2]])) {
$list2key[$value[$mergekey2]][$listName][]=$value; $list2key[$value[$mergekey2]][$listName][] = $value;
} }
} }
$orders=array_values($list2key); $orders = array_values($list2key);
array_multisort(array_column($orders,$sortField),SORT_DESC,$orders); array_multisort(array_column($orders, $sortField), SORT_DESC, $orders);
return $orders; return $orders;
} }
// //合并一对多列表 // //合并一对多列表
...@@ -496,45 +541,47 @@ class Common ...@@ -496,45 +541,47 @@ class Common
// } // }
//合并一对一数组 //合并一对一数组
//合并一对多列表 //合并一对多列表
public static function intergrateOneToOne($list1,$list2,$mergekey1,$mergekey2){ public static function intergrateOneToOne($list1, $list2, $mergekey1, $mergekey2)
$mergeArray=array(); {
$list2key=array(); $mergeArray = array();
foreach($list2 as $value){ $list2key = array();
$list2key[$value[$mergekey2]]=$value; foreach ($list2 as $value) {
$list2key[$value[$mergekey2]] = $value;
} }
foreach($list1 as &$value){ foreach ($list1 as &$value) {
if(isset($list2key[$value[$mergekey1]])&&!empty($list2key[$value[$mergekey1]])){ if (isset($list2key[$value[$mergekey1]]) && !empty($list2key[$value[$mergekey1]])) {
$value=array_merge($value,$list2key[$value[$mergekey1]]); $value = array_merge($value, $list2key[$value[$mergekey1]]);
} }
array_push($mergeArray,$value); array_push($mergeArray, $value);
} }
return $mergeArray; return $mergeArray;
} }
public static function sendurl($url,$access_token='',$data,$method='get') { public static function sendurl($url, $access_token = '', $data, $method = 'get')
{
//$data = str_replace("\'","'",$data); //$data = str_replace("\'","'",$data);
if(strtolower($method)=='post') { if (strtolower($method) == 'post') {
$curl = curl_init(); $curl = curl_init();
curl_setopt($curl,CURLOPT_URL,$url.$access_token); curl_setopt($curl, CURLOPT_URL, $url . $access_token);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
} else { } else {
$curl = curl_init($url.$access_token); $curl = curl_init($url . $access_token);
} }
//$curl = curl_init($url.$access_token); //$curl = curl_init($url.$access_token);
curl_setopt($curl,CURLOPT_FAILONERROR,1); curl_setopt($curl, CURLOPT_FAILONERROR, 1);
//设置允许页面重定向 //设置允许页面重定向
curl_setopt($curl,CURLOPT_FOLLOWLOCATION,1); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
//设置返回值赋给变量 //设置返回值赋给变量
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//设置操作时间 //设置操作时间
curl_setopt($curl,CURLOPT_TIMEOUT,5); curl_setopt($curl, CURLOPT_TIMEOUT, 5);
if($method=='post'){ if ($method == 'post') {
if(!$data) $data=''; if (!$data) $data = '';
// 使用post 请 // 使用post 请
curl_setopt($curl,CURLOPT_POST,1); curl_setopt($curl, CURLOPT_POST, 1);
// 设置请求参数 // 设置请求参数
curl_setopt($curl,CURLOPT_POSTFIELDS,$data); curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
} }
//开始事务 //开始事务
...@@ -543,14 +590,15 @@ class Common ...@@ -543,14 +590,15 @@ class Common
return $r; return $r;
} }
public static function aliyunExpressApi($expressNo,$expressType){ public static function aliyunExpressApi($expressNo, $expressType)
{
$host = SecretKeys::expressUrl; $host = SecretKeys::expressUrl;
$path = SecretKeys::expressPath; $path = SecretKeys::expressPath;
$method = "GET"; $method = "GET";
$appcode = SecretKeys::expressAppCode; $appcode = SecretKeys::expressAppCode;
$headers = array(); $headers = array();
array_push($headers, "Authorization:APPCODE " . $appcode); array_push($headers, "Authorization:APPCODE " . $appcode);
$querys=self::format("no={0}&type={1}",$expressNo,$expressType); $querys = self::format("no={0}&type={1}", $expressNo, $expressType);
$bodys = ""; $bodys = "";
$url = $host . $path . "?" . $querys; $url = $host . $path . "?" . $querys;
$curl = curl_init(); $curl = curl_init();
...@@ -560,22 +608,23 @@ class Common ...@@ -560,22 +608,23 @@ class Common
curl_setopt($curl, CURLOPT_FAILONERROR, false); curl_setopt($curl, CURLOPT_FAILONERROR, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_HEADER, false);
if (ApiConst::one == strpos("$".$host, "https://")) if (ApiConst::one == strpos("$" . $host, "https://")) {
{
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
} }
$res=curl_exec($curl); $res = curl_exec($curl);
return json_decode($res,true); return json_decode($res, true);
} }
/** /**
* 价格格式化 * 价格格式化
* *
* @param int $price * @param int $price
* @return string $price_format * @return string $price_format
*/ */
public static function priceFormat($price) { public static function priceFormat($price)
$price_format = number_format($price,2,'.',''); {
$price_format = number_format($price, 2, '.', '');
return $price_format; return $price_format;
} }
...@@ -584,10 +633,11 @@ class Common ...@@ -584,10 +633,11 @@ class Common
* 获取当前访问用户地址 * 获取当前访问用户地址
* @return string * @return string
*/ */
public static function getIP(){ public static function getIP()
{
static $realip; static $realip;
if (isset($_SERVER)){ if (isset($_SERVER)) {
if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){ if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) {
$realip = $_SERVER["HTTP_X_FORWARDED_FOR"]; $realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} else if (isset($_SERVER["HTTP_CLIENT_IP"])) { } else if (isset($_SERVER["HTTP_CLIENT_IP"])) {
$realip = $_SERVER["HTTP_CLIENT_IP"]; $realip = $_SERVER["HTTP_CLIENT_IP"];
...@@ -595,7 +645,7 @@ class Common ...@@ -595,7 +645,7 @@ class Common
$realip = $_SERVER["REMOTE_ADDR"]; $realip = $_SERVER["REMOTE_ADDR"];
} }
} else { } else {
if (getenv("HTTP_X_FORWARDED_FOR")){ if (getenv("HTTP_X_FORWARDED_FOR")) {
$realip = getenv("HTTP_X_FORWARDED_FOR"); $realip = getenv("HTTP_X_FORWARDED_FOR");
} else if (getenv("HTTP_CLIENT_IP")) { } else if (getenv("HTTP_CLIENT_IP")) {
$realip = getenv("HTTP_CLIENT_IP"); $realip = getenv("HTTP_CLIENT_IP");
...@@ -611,10 +661,11 @@ class Common ...@@ -611,10 +661,11 @@ class Common
* @param $ip * @param $ip
* @return array|bool * @return array|bool
*/ */
public static function getIpCity($ip){ public static function getIpCity($ip)
$url="http://ip.taobao.com/service/getIpInfo.php?ip=".$ip; {
$ip=json_decode(file_get_contents($url)); $url = "http://ip.taobao.com/service/getIpInfo.php?ip=" . $ip;
if((string)$ip->code=='1'){ $ip = json_decode(file_get_contents($url));
if ((string)$ip->code == '1') {
return false; return false;
} }
$data = (array)$ip->data; $data = (array)$ip->data;
......
...@@ -127,9 +127,14 @@ class ShareServiceModel extends \Business\AbstractModel ...@@ -127,9 +127,14 @@ class ShareServiceModel extends \Business\AbstractModel
$scene= \Our\Common::format(\Our\PathConst::wxStoreParams,$data['id']); $scene= \Our\Common::format(\Our\PathConst::wxStoreParams,$data['id']);
$page=\Our\PathConst::wxStorePath; $page=\Our\PathConst::wxStorePath;
$res=$this->getQrcode($page,$scene); $res=$this->getQrcode($page,$scene);
// var_dump($res);exit; if(Common::isJson($res)){
// header('Content-type: image/jpg'); $res=json_decode($res,true);
// echo $res;exit; if($res['errcode']==ApiConst::shareLimitProgrameError){
$memberRedis = \Redis\Db0\MemberRedisModel::getInstance();
$memberRedis->tableDel('wechatAccessToken');
$res=$this->getQrcode($page,$scene);
}
}
$fileName=md5($res); $fileName=md5($res);
//$fileName=$fileName.NameConst::jpgSuffix; //$fileName=$fileName.NameConst::jpgSuffix;
// $base64image=$this->dataUri($res,ImageConst::imagePgn); // $base64image=$this->dataUri($res,ImageConst::imagePgn);
...@@ -153,6 +158,14 @@ class ShareServiceModel extends \Business\AbstractModel ...@@ -153,6 +158,14 @@ class ShareServiceModel extends \Business\AbstractModel
$scene= \Our\Common::format(\Our\PathConst::wxGoodsParams,$data['id']); $scene= \Our\Common::format(\Our\PathConst::wxGoodsParams,$data['id']);
$page=\Our\PathConst::wxStorePath; $page=\Our\PathConst::wxStorePath;
$res=$this->getQrcode($page,$scene); $res=$this->getQrcode($page,$scene);
if(Common::isJson($res)){
$res=json_decode($res,true);
if($res['errcode']==ApiConst::shareLimitProgrameError){
$memberRedis = \Redis\Db0\MemberRedisModel::getInstance();
$memberRedis->tableDel('wechatAccessToken');
$res=$this->getQrcode($page,$scene);
}
}
// var_dump($res);exit; // var_dump($res);exit;
// header('Content-type: image/jpg'); // header('Content-type: image/jpg');
// echo $res;exit; // echo $res;exit;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment