|
@@ -68,16 +68,22 @@ class UsersV2Controller extends Controller
|
|
|
$unionid = $user_data['unionid'];
|
|
|
$user = UserService::getUserByUnionAndChannelId($openid,$distribution_channel_id);
|
|
|
!isset($url_info['path']) && $url_info['path'] = '/';
|
|
|
-
|
|
|
- !$user && $user = $this->createUser($openid,$unionid,$distribution_channel_id,$send_order_id);
|
|
|
+ $rp = [];
|
|
|
+ $ip = '';
|
|
|
+ if(isset($url_info['query'])){
|
|
|
+ parse_str($url_info['query'],$rp);
|
|
|
+ if(isset($rp['ip'])){
|
|
|
+ $ip = $rp['ip'];
|
|
|
+ unset($rp['ip']);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ !$user && $user = $this->createUser($openid,$unionid,$distribution_channel_id,$send_order_id,$ip);
|
|
|
|
|
|
$query = ['auth_uid'=>$user->id,'atime'=>time()];
|
|
|
$sign = get_sign($query);
|
|
|
$query['sign'] = $sign;
|
|
|
- if(isset($url_info['query'])){
|
|
|
- parse_str($url_info['query'],$p);
|
|
|
- $query = array_merge($query,$p);
|
|
|
- }
|
|
|
+ if($rp) $query = array_merge($query,$rp);
|
|
|
+
|
|
|
$url = sprintf('%s://%s%s?%s',$url_info['scheme'],$url_info['host'],$url_info['path'],http_build_query($query));
|
|
|
Log::info('wcCallbackParse back url is :');
|
|
|
Log::info($url);
|
|
@@ -113,7 +119,15 @@ class UsersV2Controller extends Controller
|
|
|
$unionid = $user_data['unionid'];
|
|
|
$user = UserService::getUserByUnionAndChannelId($openid,$distribution_channel_id);
|
|
|
!isset($url_info['path']) && $url_info['path'] = '/';
|
|
|
-
|
|
|
+ $ip = '';
|
|
|
+ $rp = [];
|
|
|
+ if(isset($url_info['query'])){
|
|
|
+ parse_str($url_info['query'],$rp);
|
|
|
+ if(isset($rp['ip'])){
|
|
|
+ $ip = $rp['ip'];
|
|
|
+ unset($rp['ip']);
|
|
|
+ }
|
|
|
+ }
|
|
|
if(!$user){
|
|
|
$auth_redirect_two_appids = specialChannelAuthInfo();
|
|
|
if($auth_times == 1 && $auth_redirect_two_appids && isset($auth_redirect_two_appids[$distribution_channel_id])){
|
|
@@ -134,13 +148,14 @@ class UsersV2Controller extends Controller
|
|
|
$app = new Application($options);
|
|
|
return $app->oauth->redirect();
|
|
|
}else{
|
|
|
- $user = $this->createUser($openid,$unionid,$distribution_channel_id,$send_order_id);
|
|
|
+ $user = $this->createUser($openid,$unionid,$distribution_channel_id,$send_order_id,$ip);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
$query = ['auth_uid'=>$user->id,'atime'=>time()];
|
|
|
$sign = get_sign($query);
|
|
|
$query['sign'] = $sign;
|
|
|
+ if($rp) $query = array_merge($query,$rp);
|
|
|
$url = sprintf('%s://%s%s?%s',$url_info['scheme'],$url_info['host'],$url_info['path'],http_build_query($query));
|
|
|
Log::info('wcCallbackParse back url is :');
|
|
|
Log::info($url);
|
|
@@ -148,13 +163,14 @@ class UsersV2Controller extends Controller
|
|
|
return redirect()->to($url);
|
|
|
}
|
|
|
|
|
|
- private function createUser($openid,$unionid,$distribution_channel_id,$send_order_id){
|
|
|
+ private function createUser($openid,$unionid,$distribution_channel_id,$send_order_id,$ip){
|
|
|
$user = UserService::addUser(
|
|
|
['openid' => $openid,
|
|
|
'unionid' => $unionid,
|
|
|
'distribution_channel_id' =>$distribution_channel_id,
|
|
|
'send_order_id'=>$send_order_id,
|
|
|
- 'is_new'=>1
|
|
|
+ 'is_new'=>1,
|
|
|
+ 'register_ip'=>$ip
|
|
|
]);
|
|
|
// 注册动作
|
|
|
$action_type = 'Register';
|