소스 검색

获取手机号

shish 4 년 전
부모
커밋
0649e59809
1개의 변경된 파일35개의 추가작업 그리고 0개의 파일을 삭제
  1. 35 0
      app-hd/controllers/AuthController.php

+ 35 - 0
app-hd/controllers/AuthController.php

@@ -29,6 +29,41 @@ use yii\helpers\Json;
 class AuthController extends PublicController
 {
 
+    //本机号码一键登录 shish 20210117
+    public function actionPhoneLogin()
+    {
+        $get = Yii::$app->request->get();
+        $access_token = $get['access_token'] ?? '';
+        $openid = $get['openid'] ?? '';
+        if (empty($access_token) || empty($openid)) {
+            util::fail('参数错误');
+        }
+        //密钥,需要和uniCloud里的一致
+        $secret = 'XHB2021198819640123';
+        $params = ['access_token' => $access_token, 'openid' => $openid];
+        $stringSignTemp = '';
+        foreach ($params as $k => $v) {
+            $stringSignTemp .= $k . '=' . $v . '&';
+        }
+        $stringSignTemp = rtrim($stringSignTemp, '&');
+        $sign = hash_hmac('sha256', $stringSignTemp, $secret);
+        $url = Yii::$app->params['hdUniCloudHost'] . "/getMobileNumber?access_token=" . $access_token . "&sign=" . $sign . "&" . $stringSignTemp;
+        $curl = new curl\Curl();
+        $respond = $curl->get($url);
+        Yii::info($respond);
+        $result = json_decode($respond, true);
+        if (isset($result['code']) == false || $result['code'] != 1) {
+            util::fail('获取手机号失败');
+        }
+        $phoneNumber = $result['data']['phoneNumber'] ?? '';
+        if (empty($phoneNumber)) {
+            util::fail('没有获取到手机号');
+        }
+
+        //参考供应商的代码
+
+    }
+
     //准备授权 ssh 2019.11.19
     public function actionPrepare()
     {