From d48516946555c5774d338b5db1c7ac84a01c9355 Mon Sep 17 00:00:00 2001 From: caoming <604844710@qq.com> Date: Sat, 21 Dec 2019 17:57:51 +0800 Subject: [PATCH] 1. 用户登录集成 --- app-wx/config/main.php | 2 +- app-wx/controllers/BaseController.php | 17 +++-------------- app-wx/exts/User.php | 2 +- app-wx/models/User.php | 7 ++----- app-wx/modules/order/controllers/BaseController.php | 2 +- app-wx/modules/user/controllers/BaseController.php | 2 +- app-wx/modules/user/controllers/LoginController.php | 27 +++++++++++++++++++++++++-- domain/order/models/RepairFinishImages.php | 35 +++++++++++++++++++++++++++++++++++ domain/order/models/RepairOrder.php | 35 +++++++++++++++++++++++++++++++++++ domain/order/models/RepairOrderImages.php | 35 +++++++++++++++++++++++++++++++++++ domain/order/models/RepairOrderRate.php | 35 +++++++++++++++++++++++++++++++++++ domain/order/models/RepairOrderRepairPlan.php | 35 +++++++++++++++++++++++++++++++++++ domain/user/models/PhoneCode.php | 35 +++++++++++++++++++++++++++++++++++ domain/user/models/User.php | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 14 files changed, 311 insertions(+), 25 deletions(-) create mode 100644 domain/order/models/RepairFinishImages.php create mode 100644 domain/order/models/RepairOrder.php create mode 100644 domain/order/models/RepairOrderImages.php create mode 100644 domain/order/models/RepairOrderRate.php create mode 100644 domain/order/models/RepairOrderRepairPlan.php create mode 100644 domain/user/models/PhoneCode.php create mode 100644 domain/user/models/User.php diff --git a/app-wx/config/main.php b/app-wx/config/main.php index 3e299c9..0196c1b 100644 --- a/app-wx/config/main.php +++ b/app-wx/config/main.php @@ -12,7 +12,7 @@ return [ 'runtimePath' => Yii::getAlias('@rootRuntime').'/app-wx/', 'bootstrap' => ['log'], 'controllerNamespace' => 'app\wx\controllers', - 'defaultRoute' => 'order', + 'defaultRoute' => 'user', 'modules' => [ 'order' => [ 'class' => 'app\wx\modules\order\Module', diff --git a/app-wx/controllers/BaseController.php b/app-wx/controllers/BaseController.php index c17004c..9aa55ac 100644 --- a/app-wx/controllers/BaseController.php +++ b/app-wx/controllers/BaseController.php @@ -175,24 +175,13 @@ class BaseController extends AppController $appUser = Yii::$app->getUser(); if(YII_ENV_DEV && $appUser->isGuest){ $uid = Yii::$app->params['testUID']; // 请在各自的config/params-local.php里配置 - $appUser->login(0); - $this->goHome(); + header("Location: " . Yii::$app->params["baseUrl"] . "/user#login" );exit; return ; } //test和 prod 环境,进行微信登陆 if ($appUser->isGuest){ - $this->handleOAuthRedirect(); - } else { - $path = $this->request->get('jumppath'); - $model= $this->request->get('jumpmodel'); - $paramOne= $this->request->get('paramOne'); - if (!empty($path) && !empty($model)) { - $locationUrl = Yii::$app->params["baseUrl"]."/".$model."#".$path; - if (!empty($paramOne)) { - $locationUrl .= "/".urldecode($paramOne); - } - header("Location: $locationUrl");exit; - } + header("Location: " . Yii::$app->params["baseUrl"] . "/user#login" );exit; + return ; } } diff --git a/app-wx/exts/User.php b/app-wx/exts/User.php index 506d41c..80b8146 100644 --- a/app-wx/exts/User.php +++ b/app-wx/exts/User.php @@ -72,7 +72,7 @@ class User extends AppUser if ($id === null) { $identity = null; } else { - $class = 'app\wx\models\Engineer'; + $class = 'domain\user\models\User'; $identity = $class::findIdentity($id); } diff --git a/app-wx/models/User.php b/app-wx/models/User.php index dfd29f4..c43ffd5 100644 --- a/app-wx/models/User.php +++ b/app-wx/models/User.php @@ -4,16 +4,13 @@ namespace app\wx\models; use Yii; use yii\log\Logger; -use yii\base\Exception; -use common\models\EngineerProfile as EngineerProfileModel; -use common\models\Address as AddressModel; -use domain\finance\models\EngineerWallet as EngineerWalletModel; +use domain\user\models\User as UserModel; /** * Class User * @package app\wx\models */ -class User +class User extends UserModel { public function register() diff --git a/app-wx/modules/order/controllers/BaseController.php b/app-wx/modules/order/controllers/BaseController.php index 57c29f2..87efcda 100644 --- a/app-wx/modules/order/controllers/BaseController.php +++ b/app-wx/modules/order/controllers/BaseController.php @@ -19,6 +19,6 @@ class BaseController extends AppBaseController public function init() { parent::init(); // TODO: Change the autogenerated stub - + $this->handleMallAccessCtrl(); } } \ No newline at end of file diff --git a/app-wx/modules/user/controllers/BaseController.php b/app-wx/modules/user/controllers/BaseController.php index fb31d56..43cdd79 100644 --- a/app-wx/modules/user/controllers/BaseController.php +++ b/app-wx/modules/user/controllers/BaseController.php @@ -19,6 +19,6 @@ class BaseController extends AppBaseController public function init() { parent::init(); // TODO: Change the autogenerated stub - + //$this->handleMallAccessCtrl(); } } \ No newline at end of file diff --git a/app-wx/modules/user/controllers/LoginController.php b/app-wx/modules/user/controllers/LoginController.php index 8a9ee07..56d9968 100644 --- a/app-wx/modules/user/controllers/LoginController.php +++ b/app-wx/modules/user/controllers/LoginController.php @@ -6,6 +6,8 @@ use common\helpers\ImageManager; use common\helpers\ImageUtils; use common\helpers\Utils; use common\models\EngineerProfile; +use app\wx\models\User; +use common\helpers\Log as AppLog; use domain\toutiao\TtDefaultImageRepository; use domain\toutiao\TtNewsImageRepository; use domain\toutiao\TtNewsRepository; @@ -105,9 +107,30 @@ class LoginController extends BaseController // 校验验证码 // 检查车厂名称是否注册了 // 检查手机号码是否注册了 - echo $mobile.'_'.$code; $e->success = true; - + $userInfo = \domain\user\models\User::findOne(1); + $this->processLogin($userInfo); return $this->renderJson($e); } + + + /** + * 处理用户登录逻辑 + * @param User $userEntity + * @return bool|void + */ + protected function processLogin($userEntity) + { + if(!($userEntity instanceof User)) { + AppLog::debug("processLogin: 返回 UserEntity 失败"); + return false; + } + /** + * 登陆时间为7000秒,目前微信API的access token 的 expires_in 为 7200秒 + */ + if(Yii::$app->getUser()->login($userEntity, 7000)) { + return true; + } + return false; + } } \ No newline at end of file diff --git a/domain/order/models/RepairFinishImages.php b/domain/order/models/RepairFinishImages.php new file mode 100644 index 0000000..bee5828 --- /dev/null +++ b/domain/order/models/RepairFinishImages.php @@ -0,0 +1,35 @@ + [ + 'class' => TimestampBehavior::className(), + 'createdAtAttribute' => 'created_at', + 'updatedAtAttribute' => 'updated_at', + ] + ]; + } +} \ No newline at end of file diff --git a/domain/order/models/RepairOrder.php b/domain/order/models/RepairOrder.php new file mode 100644 index 0000000..4dcdf0e --- /dev/null +++ b/domain/order/models/RepairOrder.php @@ -0,0 +1,35 @@ + [ + 'class' => TimestampBehavior::className(), + 'createdAtAttribute' => 'created_at', + 'updatedAtAttribute' => 'updated_at', + ] + ]; + } +} \ No newline at end of file diff --git a/domain/order/models/RepairOrderImages.php b/domain/order/models/RepairOrderImages.php new file mode 100644 index 0000000..e0c2955 --- /dev/null +++ b/domain/order/models/RepairOrderImages.php @@ -0,0 +1,35 @@ + [ + 'class' => TimestampBehavior::className(), + 'createdAtAttribute' => 'created_at', + 'updatedAtAttribute' => 'updated_at', + ] + ]; + } +} \ No newline at end of file diff --git a/domain/order/models/RepairOrderRate.php b/domain/order/models/RepairOrderRate.php new file mode 100644 index 0000000..ce4a304 --- /dev/null +++ b/domain/order/models/RepairOrderRate.php @@ -0,0 +1,35 @@ + [ + 'class' => TimestampBehavior::className(), + 'createdAtAttribute' => 'created_at', + 'updatedAtAttribute' => 'updated_at', + ] + ]; + } +} \ No newline at end of file diff --git a/domain/order/models/RepairOrderRepairPlan.php b/domain/order/models/RepairOrderRepairPlan.php new file mode 100644 index 0000000..410e2a9 --- /dev/null +++ b/domain/order/models/RepairOrderRepairPlan.php @@ -0,0 +1,35 @@ + [ + 'class' => TimestampBehavior::className(), + 'createdAtAttribute' => 'created_at', + 'updatedAtAttribute' => 'updated_at', + ] + ]; + } +} \ No newline at end of file diff --git a/domain/user/models/PhoneCode.php b/domain/user/models/PhoneCode.php new file mode 100644 index 0000000..41f67bf --- /dev/null +++ b/domain/user/models/PhoneCode.php @@ -0,0 +1,35 @@ + [ + 'class' => TimestampBehavior::className(), + 'createdAtAttribute' => 'created_at', + 'updatedAtAttribute' => 'updated_at', + ] + ]; + } +} \ No newline at end of file diff --git a/domain/user/models/User.php b/domain/user/models/User.php new file mode 100644 index 0000000..0f34785 --- /dev/null +++ b/domain/user/models/User.php @@ -0,0 +1,67 @@ + [ + 'class' => TimestampBehavior::className(), + 'createdAtAttribute' => 'created_at', + 'updatedAtAttribute' => 'updated_at', + ] + ]; + } + + + /** @inheritdoc */ + public static function findIdentity($id) + { + return static::findOne($id); + } + + /** @inheritdoc */ + public static function findIdentityByAccessToken($token, $type = null) + { + throw new NotSupportedException('"findIdentityByAccessToken" is not implemented.'); + } + + /** @inheritdoc */ + public function getId() + { + return $this->getAttribute('id'); + } + + /** @inheritdoc */ + public function getAuthKey() + { + return $this->getAttribute('auth_key'); + } + + /** @inheritdoc */ + public function validateAuthKey($authKey) + { + return $this->getAttribute('auth_key') == $authKey; + } +} \ No newline at end of file -- libgit2 0.21.0