set($key, $version); } } } $access_token = input_params('access_token'); if (!$access_token && in_array(Yii::$app->controller->getRoute(), self::ALLOW_LIST)) { return true; } // 支付宝依然取user表数据 // if (input_params('platform') == 'alipay') { // $user = User::findIdentityByAccessToken($access_token); // if ($user) { // \Yii::$app->jwt->setUser($user); // } else { // \Yii::$app->response->format = Response::FORMAT_JSON; // \Yii::$app->response->data = [ // 'code' => 401, // 'msg' => '登陆失败' // ]; // return false; // } // } else { // 微信平台目前统一走saas_user表,统一用户 $saas_user = SaasUser::findIdentityByAccessToken($access_token); if (empty($access_token) && $saas_user) { \Yii::$app->response->format = Response::FORMAT_JSON; \Yii::$app->response->data = [ 'code' => 401, 'msg' => '登录失败' ]; return false; } if ($saas_user) { \Yii::$app->jwt->setSaasUser($saas_user); if (input_params('store_id') > 0) { $user = User::findOne(['binding' => $saas_user->mobile, 'store_id' => input_params('store_id')]); if (!$user) { try { $user = new User(); $user->access_token = \Yii::$app->security->generateRandomString(); $user->binding = $saas_user->mobile; $user->type = User::USER_TYPE_NORMAL; $user->nickname = substr_replace($saas_user->mobile, '******', 3, 6); $user->avatar_url = \Yii::$app->request->hostInfo . \Yii::$app->request->baseUrl . '/web/v1/statics/images/avatar.png'; $user->username = \Yii::$app->security->generateRandomString(); $user->password = \Yii::$app->security->generatePasswordHash(\Yii::$app->security->generateRandomString(), 5); $user->auth_key = \Yii::$app->security->generateRandomString(); $user->is_delete = User::USER_NOT_DELETE; $user->store_id = input_params('store_id'); $user->platform = input_params('platform') == 'alipay'?User::USER_FROM_ALIPAY:User::USER_FROM_WECHAT; // 微信 $user->save(); } catch (\Exception $e){} } if (!$user) { $user = User::findOne(['binding' => $saas_user->mobile, 'store_id' => input_params('store_id')]); } \Yii::$app->jwt->setUser($user); } } else { \Yii::$app->response->format = Response::FORMAT_JSON; \Yii::$app->response->data = [ 'code' => 401, 'msg' => '登录失败' ]; return false; } return true; } }