getMiniProgramApp()->getPhoneNumber($code); // // if (empty($phoneInfo)) { // $this->apiError('获取手机号失败', 0, $phoneInfo); // } // // if ($phoneInfo['errcode'] !== 0) { // $this->apiError('获取手机号失败', 0, $phoneInfo); // } // // $phone = $phoneInfo['phone_info']['phoneNumber']; $phone = '18628195903'; $tokenData = Token::get($vendorToken); if (!$tokenData) { $this->apiError('vendor_token 无效'); } $workerVendorId = $tokenData['user_id']; dump($phone); } public function login(string $code) { // $app = $this->getMiniProgramApp(); // try { // $info = $app->auth->session($code); // } catch (InvalidConfigException $e) { // $this->apiError('登录失败', $e); // } // // if (isset($info['errcode']) && $info['errcode'] !== 0) { // $this->apiError('登录失败', 0, $info); // } $info['openid'] = 'oNgcn42DRwoG_qE6jjvsCSbM4cX8'; $workerVendor = $this->getWorkerVendorService()->getVendorByOpenid($info['openid']); //创建 if (empty($workerVendor)) { try { $this->getWorkerVendorService()->createWechatMpVendor($info['openid']); } catch (\Exception $e) { $this->apiError('登录失败', $e, $info); } $workerVendor = $this->getWorkerVendorService()->getVendorByOpenid($info['openid']); } return $workerVendor->toArray(); } /** * 获取小程序 App * @return Application */ private function getMiniProgramApp(): Application { $config = [ 'app_id' => config('mini_program.app_id'), 'secret' => config('mini_program.secret'), ]; return Factory::miniProgram($config); } }