|
@@ -47,10 +47,10 @@ class WechatMpAuth extends Base
|
|
|
$callback = trim(urldecode2(input("callback")));//回调地址
|
|
|
$scope = input("scope", "snsapi_userinfo");//snsapi_userinfo snsapi_base
|
|
|
$remark = trim(urldecode2(input("remark", "")));//input("remark", "");//备注
|
|
|
- $method = input("method", "get");//回调方式
|
|
|
+ $method = input("method", "post");//回调方式
|
|
|
$wechatcode = input("wechatcode");
|
|
|
$wechatConfig = WechatConfig::getEasyWechatConfig($wechatcode);
|
|
|
- Log::record("wechatConfig:".json_encode($wechatConfig,JSON_UNESCAPED_UNICODE),"debug");
|
|
|
+ Log::record("wechatConfig:" . json_encode($wechatConfig, JSON_UNESCAPED_UNICODE), "debug");
|
|
|
$app = Factory::officialAccount($wechatConfig);
|
|
|
$param = [
|
|
|
"callback" => urlencode2($callback),
|
|
@@ -61,6 +61,7 @@ class WechatMpAuth extends Base
|
|
|
$callback2 = (string)url('WechatMpAuth/callback', $param, "", true);
|
|
|
$response = $app->oauth->scopes([$scope])->redirect($callback2);
|
|
|
header("Location:$response");
|
|
|
+ return "";
|
|
|
//print_r($response);
|
|
|
// $response->send();
|
|
|
}
|
|
@@ -70,7 +71,7 @@ class WechatMpAuth extends Base
|
|
|
{
|
|
|
$param = request()->param();
|
|
|
$callback = trim(urldecode2(input("callback")));
|
|
|
- $method = input("method", "get");
|
|
|
+ $method = input("method", "post");
|
|
|
$remark = input("remark", "");
|
|
|
View::assign("method", $method);
|
|
|
View::assign("callback", $callback);
|
|
@@ -78,12 +79,12 @@ class WechatMpAuth extends Base
|
|
|
$wechatcode = input("wechatcode");
|
|
|
View::assign("wechatcode", $wechatcode);
|
|
|
$wechatConfig = WechatConfig::getEasyWechatConfig($wechatcode);
|
|
|
- Log::record("wechatConfig:".json_encode($wechatConfig,JSON_UNESCAPED_UNICODE),"debug");
|
|
|
+ Log::record("wechatConfig:" . json_encode($wechatConfig, JSON_UNESCAPED_UNICODE), "debug");
|
|
|
$app = Factory::officialAccount($wechatConfig);
|
|
|
$oauth = $app->oauth;
|
|
|
$code = input("code");
|
|
|
$user = $oauth->userFromCode($code);
|
|
|
- Log::record("user:".json_encode($user,JSON_UNESCAPED_UNICODE),"debug");
|
|
|
+ Log::record("user:" . json_encode($user, JSON_UNESCAPED_UNICODE), "debug");
|
|
|
$userArray = [
|
|
|
'openid' => $user->getId(),
|
|
|
'nickname' => $user->getNickname(),
|
|
@@ -91,11 +92,28 @@ class WechatMpAuth extends Base
|
|
|
'avatar' => $user->getAvatar(),
|
|
|
'raw' => $user->getRaw(),
|
|
|
];
|
|
|
- Log::record("userArray:".json_encode($userArray,JSON_UNESCAPED_UNICODE),"debug");
|
|
|
+ Log::record("userArray:" . json_encode($userArray, JSON_UNESCAPED_UNICODE), "debug");
|
|
|
$userJson = json_encode($userArray, JSON_UNESCAPED_UNICODE);
|
|
|
$userinfo = base64_encode($userJson);
|
|
|
- Log::record("userinfo base64:".$userinfo,"debug");
|
|
|
+ Log::record("userinfo base64:" . $userinfo, "debug");
|
|
|
View::assign("userinfo", $userinfo);
|
|
|
+ if (strtolower($method) == "get") {
|
|
|
+ $callback = $this->urlAddParam($callback, "remark", $remark);
|
|
|
+ $callback = $this->urlAddParam($callback, "wechatcode", $wechatcode);
|
|
|
+ $callback = $this->urlAddParam($callback, "userinfo", $userinfo);
|
|
|
+ header("Location:$callback");
|
|
|
+ return "";
|
|
|
+ }
|
|
|
return View::fetch();
|
|
|
}
|
|
|
+
|
|
|
+ private function urlAddParam($url, $key, $value)
|
|
|
+ {
|
|
|
+ if (strpos($url, "?") === false) {
|
|
|
+ $url .= "?$key=" . $value;
|
|
|
+ } else {
|
|
|
+ $url .= "&$key=" . $value;
|
|
|
+ }
|
|
|
+ return $url;
|
|
|
+ }
|
|
|
}
|