1、关于微信公众号获取用户openid
public function getOpenid(Request $request)
{
try {
$code = $request->request->get('code', '');
if (empty($code)) return response_json(11002, config('code.11002'));
list($res, $data) = $this->getWXOpenId($code); //获取openid
if (!$res) return response_json(11066, config('code.11066'));
$openidU = PageIdentifier::where(['pi_mark'=>$data['openid'],'pi_source'=>1])->first();
if (!empty($openidU)) {
$userbase = \App\Models\Userbase::where('ub_id', $openidU->ub_id)->first();
$login = new ThumbUp();
$logins = $login->LoginSmall($userbase->ub_cellphone);
return $logins;
} else {
return response_json(200, 'success', $data['openid']);
}
} catch (\Exception $exception) {
Log::info('异常', [$exception]);
return response_json(11066, config('code.11066'));
}
}
public function getWXOpenId($code)
{
$res = $this->wechat->getOauthAccessTokenActivity($code); //有此去请求微信对应的方法
if (!empty($res['errcode'])) {
Log::info('wx_getopen_error', [$res]);
return [false, ''];
}
if (empty($res['access_token']) || empty($res['openid'])) {
Log::info('wx_getopen_loss', [$res]);
return [false, ''];
}
return [true, $res];
}
/**
* 通过code获取Access Token 营销活动
* @return array {access_token,expires_in,refresh_token,openid,scope}
*/
public function getOauthAccessTokenActivity($code){
//=>self::OAUTH_TOKEN_URL /sns/oauth2/access_token
$result = $this->http_get(self::API_BASE_URL_PREFIX.self::OAUTH_TOKEN_URL.'appid='.$this->appid.'&secret='.$this->appsecret.'&code='.$code.'&grant_type=authorization_code');
return json_decode($result, true);
}
2、关于小程序获取微信手机号
参考此篇https://blog.youkuaiyun.com/qq_35713752/article/details/90233879
1127

被折叠的 条评论
为什么被折叠?



