学生openid

This commit is contained in:
Dai 2024-07-25 17:07:01 +08:00
parent fe84095fd7
commit cfa7e8a385
2 changed files with 39 additions and 17 deletions

View File

@ -19,9 +19,9 @@ class WechatSubscriptController extends BaseController
public function getCode(Request $request)
{
$appid = getenv('WECHAT_APPID');
if($request->all('client') == 'student'){
if ($request->all('client') == 'student') {
$redirect_uri = urlencode(getenv('SERVER_DOMAIN') . "/h5/student#/pages/login/login");//重定向地址
}else{
} else {
$redirect_uri = urlencode(getenv('SERVER_DOMAIN') . "/h5/teacher#/pages/login/login");//重定向地址
}
@ -30,7 +30,6 @@ class WechatSubscriptController extends BaseController
}
/**
* @desc 获取网页授权code的access_token
* @param $code
@ -40,13 +39,13 @@ class WechatSubscriptController extends BaseController
public static function getCodeAccessToken($code)
{
try {
$client = new Client(['base_uri'=>self::BASE_URI]);
$client = new Client(['base_uri' => self::BASE_URI]);
$response = $client->request('get', 'sns/oauth2/access_token', [
'query' => [
'appid' => getenv('APP_ID'),
'secret' => getenv('APP_SECRET'),
'code'=>$code,
'grant_type'=>'authorization_code'
'code' => $code,
'grant_type' => 'authorization_code'
]
]);
@ -61,10 +60,41 @@ class WechatSubscriptController extends BaseController
return $result;
}
}catch (Exception $e){
} catch (Exception $e) {
return [
'code'=>ResponseCode::FAIL,
'msg'=>$e->getMessage()
'code' => ResponseCode::FAIL,
'msg' => $e->getMessage()
];
}
}
public static function getUserinfo($openid, $access_token)
{
try {
$client = new Client(['base_uri' => self::BASE_URI]);
$response = $client->request('get', 'sns/userinfo', [
'query' => [
'access_token' => getenv('APP_ID'),
'openid' => $openid,
'lang' => 'zh_CN',
]
]);
$response_contents = $response->getBody()->getContents();
raw_log('wechat/get_user_info', ['result' => $response_contents]);
if ($response->getStatusCode() == 200) {
$result = json_decode($response_contents, true);
raw_log('wechat/get_user_info', ['result' => $result]);
if (isset($result['errcode'])) {
throw new Exception($result['errmsg']);
}
return $result;
}
}catch (Exception $e) {
return [
'code' => ResponseCode::FAIL,
'msg' => $e->getMessage()
];
}
}

View File

@ -100,16 +100,8 @@ class StudentService
$code = $request->post('code');
print '<pre>';
print_r($code);
die;
$user_info = WechatSubscriptController::getCodeAccessToken($code);
print '<pre>';
print_r($user_info);
die;
if (isset($result['code'])) {
throw new Exception('获取信息失败');
}