代码初始化
This commit is contained in:
58
addons/epay/library/RedirectResponse.php
Normal file
58
addons/epay/library/RedirectResponse.php
Normal file
@@ -0,0 +1,58 @@
|
||||
<?php
|
||||
|
||||
namespace addons\epay\library;
|
||||
|
||||
class RedirectResponse extends \Symfony\Component\HttpFoundation\RedirectResponse implements \JsonSerializable, \Serializable
|
||||
{
|
||||
public function __toString()
|
||||
{
|
||||
return $this->getContent();
|
||||
}
|
||||
|
||||
public function setTargetUrl($url)
|
||||
{
|
||||
if ('' === ($url ?? '')) {
|
||||
throw new \InvalidArgumentException('无法跳转到空页面');
|
||||
}
|
||||
|
||||
$this->targetUrl = $url;
|
||||
|
||||
$this->setContent(
|
||||
sprintf('<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta http-equiv="refresh" content="0;url=\'%1$s\'" />
|
||||
|
||||
<title>正在跳转支付 %1$s</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="redirect" style="display:none;">正在跳转支付 <a href="%1$s">%1$s</a></div>
|
||||
<script type="text/javascript">
|
||||
setTimeout(function(){
|
||||
document.getElementById("redirect").style.display = "block";
|
||||
}, 1000);
|
||||
</script>
|
||||
</body>
|
||||
</html>', htmlspecialchars($url, \ENT_QUOTES, 'UTF-8')));
|
||||
|
||||
$this->headers->set('Location', $url);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function jsonSerialize()
|
||||
{
|
||||
return $this->getContent();
|
||||
}
|
||||
|
||||
public function serialize()
|
||||
{
|
||||
return serialize($this->content);
|
||||
}
|
||||
|
||||
public function unserialize($serialized)
|
||||
{
|
||||
return $this->content = unserialize($serialized);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user