mirror of
https://gitee.com/koogua/course-tencent-cloud.git
synced 2025-07-04 07:51:32 +08:00
Merge branch 'develop' of https://gitee.com/koogua/course-tencent-cloud into demo
# Conflicts: # app/Http/Admin/Views/templates/main.volt # app/Http/Home/Controllers/ConnectController.php # app/Http/Home/Services/Connect.php # app/Services/OAuth/QQ.php # app/Services/OAuth/WeiBo.php # app/Services/OAuth/WeiXin.php
This commit is contained in:
commit
83580d330d
@ -115,12 +115,11 @@ class ConnectController extends Controller
|
||||
$service = new ConnectService();
|
||||
|
||||
$openUser = $service->getOpenUserInfo($code, $state, $provider);
|
||||
|
||||
$connect = $service->getConnectRelation($openUser['id'], $provider);
|
||||
$connect = $service->getConnectRelation($openUser['id'], $openUser['provider']);
|
||||
|
||||
if ($connect && $connect->deleted == 0) {
|
||||
if ($this->authUser->id > 0) {
|
||||
$service->bindUser($openUser, $provider);
|
||||
$service->bindUser($openUser);
|
||||
return $this->response->redirect(['for' => 'home.uc.account']);
|
||||
} else {
|
||||
$service->authLogin($connect);
|
||||
|
@ -30,7 +30,7 @@ class Connect extends Service
|
||||
|
||||
$openUser = json_decode($post['open_user'], true);
|
||||
|
||||
$this->handleConnectRelation($user, $openUser, $post['provider']);
|
||||
$this->handleConnectRelation($user, $openUser);
|
||||
|
||||
$auth = $this->getAppAuth();
|
||||
|
||||
@ -55,18 +55,18 @@ class Connect extends Service
|
||||
|
||||
$user = $userRepo->findById($account->id);
|
||||
|
||||
$this->handleConnectRelation($user, $openUser, $post['provider']);
|
||||
$this->handleConnectRelation($user, $openUser);
|
||||
|
||||
$auth = $this->getAppAuth();
|
||||
|
||||
$auth->saveAuthInfo($user);
|
||||
}
|
||||
|
||||
public function bindUser($openUser, $provider)
|
||||
public function bindUser(array $openUser)
|
||||
{
|
||||
$user = $this->getLoginUser();
|
||||
|
||||
$this->handleConnectRelation($user, $openUser, $provider);
|
||||
$this->handleConnectRelation($user, $openUser);
|
||||
}
|
||||
|
||||
public function authLogin(ConnectModel $connect)
|
||||
@ -173,24 +173,27 @@ class Connect extends Service
|
||||
return $auth;
|
||||
}
|
||||
|
||||
protected function handleConnectRelation(UserModel $user, array $openUser, $provider)
|
||||
protected function handleConnectRelation(UserModel $user, array $openUser)
|
||||
{
|
||||
$connectRepo = new ConnectRepo();
|
||||
|
||||
$connect = $connectRepo->findByOpenId($openUser['id'], $provider);
|
||||
$connect = $connectRepo->findByOpenId($openUser['id'], $openUser['provider']);
|
||||
|
||||
if ($connect) {
|
||||
|
||||
if (time() - $connect->update_time > 86400) {
|
||||
$connect->open_name = $openUser['name'];
|
||||
$connect->open_avatar = $openUser['avatar'];
|
||||
$connect->open_name = $openUser['name'];
|
||||
$connect->open_avatar = $openUser['avatar'];
|
||||
|
||||
if ($connect->user_id != $user->id) {
|
||||
$connect->user_id = $user->id;
|
||||
}
|
||||
|
||||
if ($connect->deleted == 1) {
|
||||
$connect->deleted = 0;
|
||||
$connect->update();
|
||||
}
|
||||
|
||||
$connect->update();
|
||||
|
||||
} else {
|
||||
|
||||
$connect = new ConnectModel();
|
||||
@ -199,7 +202,7 @@ class Connect extends Service
|
||||
$connect->open_id = $openUser['id'];
|
||||
$connect->open_name = $openUser['name'];
|
||||
$connect->open_avatar = $openUser['avatar'];
|
||||
$connect->provider = $provider;
|
||||
$connect->provider = $openUser['provider'];
|
||||
|
||||
$connect->create();
|
||||
}
|
||||
|
@ -51,7 +51,7 @@
|
||||
<div class="security-item">
|
||||
<span class="icon"><i class="layui-icon layui-icon-email"></i></span>
|
||||
<span class="title">邮箱绑定</span>
|
||||
{% if account.phone %}
|
||||
{% if account.email %}
|
||||
<span class="summary">已绑定邮箱:{{ account.email|anonymous }}</span>
|
||||
<span class="action"><a class="layui-btn layui-btn-sm btn-edit-email" href="{{ edit_email_url }}">修改</a></span>
|
||||
{% else %}
|
||||
|
@ -7,6 +7,8 @@
|
||||
|
||||
{% set full_user_url = full_url({'for':'home.user.show','id':user.id}) %}
|
||||
{% set qrcode_url = url({'for':'home.qrcode'},{'text':full_user_url}) %}
|
||||
{% set user.area = user.area ? user.area : '火星' %}
|
||||
{% set user.about = user.about ? user.about : '这个家伙很懒,什么都没留下!' %}
|
||||
|
||||
<div class="breadcrumb">
|
||||
<span class="layui-breadcrumb">
|
||||
@ -32,9 +34,7 @@
|
||||
<p><span><i class="layui-icon layui-icon-location"></i></span><span>{{ user.area }}</span></p>
|
||||
<p><span><i class="layui-icon layui-icon-time"></i></span><span>{{ date('Y-m-d H:i',user.active_time) }}</span></p>
|
||||
</div>
|
||||
{% if user.about %}
|
||||
<div class="about">{{ user.about }}</div>
|
||||
{% endif %}
|
||||
<div class="about">{{ user.about }}</div>
|
||||
</div>
|
||||
|
||||
{% set show_tab_courses = user.course_count > 0 %}
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Services\Logic\Account;
|
||||
|
||||
use App\Library\Utils\Password as PasswordUtil;
|
||||
use App\Library\Validators\Common as CommonValidator;
|
||||
use App\Models\Account as AccountModel;
|
||||
use App\Models\ImUser as ImUserModel;
|
||||
@ -42,6 +43,10 @@ class Register extends Service
|
||||
|
||||
$data['password'] = $accountValidator->checkPassword($post['password']);
|
||||
|
||||
$data['salt'] = PasswordUtil::salt();
|
||||
|
||||
$data['password'] = PasswordUtil::hash($data['password'], $data['salt']);
|
||||
|
||||
try {
|
||||
|
||||
$this->db->begin();
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Services\OAuth;
|
||||
|
||||
use App\Models\Connect as ConnectModel;
|
||||
use App\Services\OAuth;
|
||||
|
||||
class QQ extends OAuth
|
||||
@ -18,8 +19,8 @@ class QQ extends OAuth
|
||||
'client_id' => $this->clientId,
|
||||
'redirect_uri' => $this->redirectUri,
|
||||
'state' => $this->getState(),
|
||||
'scope' => 'get_user_info',
|
||||
'response_type' => 'code',
|
||||
'scope' => 'get_user_info',
|
||||
];
|
||||
|
||||
return self::AUTHORIZE_URL . '?' . http_build_query($params);
|
||||
@ -106,6 +107,7 @@ class QQ extends OAuth
|
||||
$userInfo['id'] = $this->openId;
|
||||
$userInfo['name'] = $data['nickname'];
|
||||
$userInfo['avatar'] = $data['figureurl'];
|
||||
$userInfo['provider'] = ConnectModel::PROVIDER_QQ;
|
||||
|
||||
return $userInfo;
|
||||
}
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Services\OAuth;
|
||||
|
||||
use App\Models\Connect as ConnectModel;
|
||||
use App\Services\OAuth;
|
||||
|
||||
class WeiBo extends OAuth
|
||||
@ -81,6 +82,7 @@ class WeiBo extends OAuth
|
||||
$userInfo['id'] = $data['id'];
|
||||
$userInfo['name'] = $data['name'];
|
||||
$userInfo['avatar'] = $data['profile_image_url'];
|
||||
$userInfo['provider'] = ConnectModel::PROVIDER_WEIBO;
|
||||
|
||||
return $userInfo;
|
||||
}
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
namespace App\Services\OAuth;
|
||||
|
||||
use App\Models\Connect as ConnectModel;
|
||||
use App\Services\OAuth;
|
||||
|
||||
class WeiXin extends OAuth
|
||||
@ -81,6 +82,7 @@ class WeiXin extends OAuth
|
||||
$userInfo['id'] = $data['openid'];
|
||||
$userInfo['name'] = $data['nickname'];
|
||||
$userInfo['avatar'] = $data['headimgurl'];
|
||||
$userInfo['provider'] = ConnectModel::PROVIDER_WEIXIN;
|
||||
|
||||
return $userInfo;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user