|
|
@@ -5,6 +5,7 @@ namespace mobile\controllers;
|
|
|
use biz\merchant\services\MerchantService;
|
|
|
use biz\platform\services\WxOpenService;
|
|
|
use biz\user\services\UserService;
|
|
|
+use common\components\httpUtil;
|
|
|
use common\components\jwt;
|
|
|
use common\components\stringUtil;
|
|
|
use Yii;
|
|
|
@@ -31,11 +32,14 @@ class AuthController extends PublicController
|
|
|
public function actionPrepare()
|
|
|
{
|
|
|
$get = Yii::$app->request->get();
|
|
|
- $suffixUrl = isset($get['suffixUrl']) && !empty($get['suffixUrl']) ? $get['suffixUrl'] : '';
|
|
|
- if (empty($suffixUrl)) {
|
|
|
+ $url = isset($get['url']) && !empty($get['url']) ? $get['url'] : '';
|
|
|
+ if (empty($url)) {
|
|
|
util::fail('没有网址');
|
|
|
}
|
|
|
- $account = isset($get['account']) ? $get['account'] : 0;
|
|
|
+ $account = httpUtil::getAccount($url);
|
|
|
+ if (empty($account)) {
|
|
|
+ util::fail('没有商家帐号');
|
|
|
+ }
|
|
|
$merchant = MerchantService::getById($account);
|
|
|
if (empty($merchant)) {
|
|
|
util::fail('商家无效');
|
|
|
@@ -48,12 +52,10 @@ class AuthController extends PublicController
|
|
|
* 4.snsapi_base静默方式使用的场景更多,所以参数authScope默认使用snsapi_base
|
|
|
*/
|
|
|
$authScope = isset($get['authScope']) ? $get['authScope'] : 'snsapi_base';
|
|
|
- $host = Yii::$app->request->getHostInfo();
|
|
|
- $suffixUrlEncode = stringUtil::urlSafeB64Encode($suffixUrl);
|
|
|
- $url = $host . '/auth/get-user-info?suffixUrl=' . $suffixUrlEncode . '&authScope=' . $authScope;
|
|
|
- Yii::info($url);
|
|
|
- weixinUtil::getToken($url, $merchant, $authScope);
|
|
|
- util::success();
|
|
|
+ $urlEncode = stringUtil::urlSafeB64Encode($url);
|
|
|
+ //微信授权获取code shish 2019.11.24
|
|
|
+ weixinUtil::getCode($urlEncode, $merchant, $authScope);
|
|
|
+ util::end();
|
|
|
}
|
|
|
|
|
|
//授权获取用户信息 shish 2019.11.20
|
|
|
@@ -67,18 +69,9 @@ class AuthController extends PublicController
|
|
|
if (isset($get['state']) && $get['state'] == 'authdeny') {
|
|
|
util::fail('auth fail');
|
|
|
}
|
|
|
- //这里要换成根据前端的数据来转 todo
|
|
|
- $account = 0;
|
|
|
- $suffixUrlEncode = $get['suffixUrl'];
|
|
|
- $suffixUrl = stringUtil::urlSafeBase64Decode($suffixUrlEncode);
|
|
|
- $newSuffixUrl = str_replace("#", "", $suffixUrl);
|
|
|
- $parse = parse_url($newSuffixUrl);
|
|
|
- if (isset($parse['query'])) {
|
|
|
- parse_str($parse['query'], $queryArray);
|
|
|
- if (isset($queryArray['account']) && !empty($queryArray['account'])) {
|
|
|
- $account = $queryArray['account'];
|
|
|
- }
|
|
|
- }
|
|
|
+ $urlEncode = $get['url'];
|
|
|
+ $url = stringUtil::urlSafeBase64Decode($urlEncode);
|
|
|
+ $account = httpUtil::getAccount($url);
|
|
|
if (empty($account)) {
|
|
|
util::stop('商店ID无效!');
|
|
|
}
|
|
|
@@ -92,10 +85,9 @@ class AuthController extends PublicController
|
|
|
util::stop('没有授权类型');
|
|
|
}
|
|
|
$data = weixinUtil::getOpenId($code, $merchant);
|
|
|
- //获取code失败,重新获取
|
|
|
if ($data === false) {
|
|
|
- $url = 'http://' . $_SERVER['HTTP_HOST'] . '/auth/get-user-info?suffixUrl=' . $suffixUrlEncode . '&authScope=' . $authScope;
|
|
|
- weixinUtil::getToken($url, $merchant, $authScope);
|
|
|
+ //微信授权获取code shish 2019.11.24
|
|
|
+ weixinUtil::getCode($urlEncode, $merchant, $authScope);
|
|
|
util::end();
|
|
|
}
|
|
|
$openId = $data['openid'];
|
|
|
@@ -140,15 +132,12 @@ class AuthController extends PublicController
|
|
|
Yii::$app->params['user'] = $user;
|
|
|
Yii::$app->params['merchantId'] = $merchantId;
|
|
|
Yii::$app->params['merchant'] = $merchant;
|
|
|
- $host = Yii::$app->request->getHostInfo();
|
|
|
//来源
|
|
|
$sourceId = WxOpenService::getSourceId();
|
|
|
$userId = $user['id'];
|
|
|
//获取token
|
|
|
$token = jwt::get($sourceId, $userId);
|
|
|
- $suffixUrl = strpos($suffixUrl, '?') === false ? $suffixUrl . '?token=' . $token : $suffixUrl . '&token=' . $token;
|
|
|
- $url = $host . '/' . $suffixUrl;
|
|
|
- echo $url;die;
|
|
|
+ $url = strpos($url, '?') === false ? $url . '?token=' . $token : $url . '&token=' . $token;
|
|
|
$this->redirect($url);
|
|
|
}
|
|
|
|