allocatr/application/services/WorkerService.php
2025-03-28 10:01:30 +08:00

57 lines
1.4 KiB
PHP

<?php
namespace app\services;
use EasyWeChat\Factory;
use EasyWeChat\Kernel\Exceptions\InvalidConfigException;
use EasyWeChat\MiniProgram\Application;
class WorkerService extends BaseService
{
public function bindPhoneNumber(string $code)
{
//getPhoneNumber 方法通过魔术方法 __call 获取
$phoneInfo = $this->getMiniProgramApp()->getPhoneNumber($code);
if (empty($phoneInfo)) {
$this->apiError('获取手机号失败', 0, $phoneInfo);
}
if ($phoneInfo['errcode'] !== 0) {
$this->apiError('获取手机号失败', 0, $phoneInfo);
}
$phone = $phoneInfo['phone_info']['phoneNumber'];
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);
}
dd($info);
}
/**
* 获取小程序 App
* @return Application
*/
private function getMiniProgramApp(): Application
{
$config = [
'app_id' => config('mini_program.app_id'),
'secret' => config('mini_program.secret'),
];
return Factory::miniProgram($config);
}
}