Example #1
0
 /**
  * Get current url.
  *
  * @return string
  */
 public function getUrl()
 {
     if ($this->url) {
         return $this->url;
     }
     return UrlHelper::current();
 }
Example #2
0
 /**
  * Return current url.
  *
  * @return string
  */
 public function current()
 {
     return UrlHelper::current();
 }
Example #3
0
 /**
  * Return authorization URL.
  *
  * @param string $to
  * @param string $scope
  * @param string $state
  *
  * @return string
  */
 public function url($to = null, $scope = 'snsapi_userinfo', $state = 'STATE')
 {
     $to !== null || ($to = Url::current());
     $params = ['appid' => $this->appId, 'redirect_uri' => $to, 'response_type' => 'code', 'scope' => $scope, 'state' => $state];
     return self::API_URL . '?' . http_build_query($params) . '#wechat_redirect';
 }
Example #4
0
 /**
  * Generate js config for share user address.
  *
  * @param string|\Overtrue\Socialite\AccessTokenInterface $accessToken
  * @param bool                                            $json
  *
  * @return string|array
  */
 public function configForShareAddress($accessToken, $json = true)
 {
     if ($accessToken instanceof AccessTokenInterface) {
         $accessToken = $accessToken->getToken();
     }
     $params = ['appId' => $this->merchant->app_id, 'scope' => 'jsapi_address', 'timeStamp' => strval(time()), 'nonceStr' => uniqid(), 'signType' => 'SHA1'];
     $signParams = ['appid' => $params['appId'], 'url' => UrlHelper::current(), 'timestamp' => $params['timeStamp'], 'noncestr' => $params['nonceStr'], 'accesstoken' => strval($accessToken)];
     ksort($signParams);
     $params['addrSign'] = sha1(urldecode(http_build_query($signParams)));
     return $json ? json_encode($params) : $params;
 }
Example #5
0
 /**
  * Generate js config for share user address.
  *
  * @param string|accessToken $accessToken
  * @param bool               $json
  *
  * @return string|array
  */
 public function configForShareAddress($accessToken, $json = true)
 {
     if ($accessToken instanceof AccessToken) {
         $accessToken = $accessToken->getToken();
     }
     $params = ['appId' => $this->merchant->app_id, 'scope' => 'jsapi_address', 'timeStamp' => strval(time()), 'nonceStr' => uniqid(), 'signType' => 'SHA1'];
     $signParams = ['appid' => $params['appId'], 'url' => UrlHelper::current(), 'timestamp' => $params['timeStamp'], 'noncestr' => $params['nonceStr'], 'accesstoken' => $accessToken];
     $params['addrSign'] = generate_sign($signParams, $this->merchant->key, 'sha1');
     return $json ? json_encode($params) : $params;
 }