|
@@ -51,15 +51,17 @@ class WechatAuthenticatedService extends Service
|
|
//$wechat_user = $user->toArray();
|
|
//$wechat_user = $user->toArray();
|
|
|
|
|
|
$data = [
|
|
$data = [
|
|
- 'openid' => $wechat_user->getId() ?? $wechat_user->getTokenResponse()['openid'],
|
|
|
|
- 'bindUser' => true
|
|
|
|
|
|
+ 'openid' => $wechat_user->getId() ?? $wechat_user->getTokenResponse()['openid']
|
|
];
|
|
];
|
|
$avatar = $wechat_user->getAvatar();
|
|
$avatar = $wechat_user->getAvatar();
|
|
$avatar && ($data['avatar'] = $avatar);
|
|
$avatar && ($data['avatar'] = $avatar);
|
|
$nickname = $wechat_user->getNickname();
|
|
$nickname = $wechat_user->getNickname();
|
|
$nickname && ($data['nickname'] = $nickname);
|
|
$nickname && ($data['nickname'] = $nickname);
|
|
|
|
|
|
|
|
+ \App\Models\Wechat\User::query()->create($data);
|
|
|
|
+
|
|
$userIsExists = User::query()->where('openid', $data['openid'])->exists();
|
|
$userIsExists = User::query()->where('openid', $data['openid'])->exists();
|
|
|
|
+ $data['bindUser'] = true;
|
|
if (!$userIsExists) {
|
|
if (!$userIsExists) {
|
|
// $user_id = User::query()->create($data)->id;
|
|
// $user_id = User::query()->create($data)->id;
|
|
// $user = User::query()->find($user_id);
|
|
// $user = User::query()->find($user_id);
|
|
@@ -121,8 +123,9 @@ class WechatAuthenticatedService extends Service
|
|
|
|
|
|
if (!$user && $autoRegister) {
|
|
if (!$user && $autoRegister) {
|
|
// 获取微信信息
|
|
// 获取微信信息
|
|
|
|
+ $wechatUser = \App\Models\Wechat\User::query()->where(['openid' => $openID])->first();
|
|
// 创建用户信息
|
|
// 创建用户信息
|
|
- $user_id = User::query()->create(['openid' => $openID])->id;
|
|
|
|
|
|
+ $user_id = User::query()->create(['nickname' => $wechatUser['nickname'], 'avatar' => $wechatUser['avatar'], 'openid' => $openID])->id;
|
|
$user = User::query()->find($user_id);
|
|
$user = User::query()->find($user_id);
|
|
}
|
|
}
|
|
$token = (new AuthService)->store($user);
|
|
$token = (new AuthService)->store($user);
|
|
@@ -167,10 +170,10 @@ class WechatAuthenticatedService extends Service
|
|
$jsapi_ticket = $ticket->getTicket();
|
|
$jsapi_ticket = $ticket->getTicket();
|
|
|
|
|
|
// 当前URL
|
|
// 当前URL
|
|
- $url = request('url',request()->header('referer'));
|
|
|
|
|
|
+ $url = request('url', request()->header('referer'));
|
|
|
|
|
|
// 生成签名
|
|
// 生成签名
|
|
- $nonceStr = 'xiaoding'.Str::random(20); // 请用随机算法生成
|
|
|
|
|
|
+ $nonceStr = 'xiaoding' . Str::random(20); // 请用随机算法生成
|
|
$timestamp = time(); // 当前时间戳
|
|
$timestamp = time(); // 当前时间戳
|
|
|
|
|
|
$signatureStr = "jsapi_ticket={$jsapi_ticket}&noncestr={$nonceStr}×tamp={$timestamp}&url={$url}";
|
|
$signatureStr = "jsapi_ticket={$jsapi_ticket}&noncestr={$nonceStr}×tamp={$timestamp}&url={$url}";
|