mirror of
https://gitee.com/ulthon/ulthon_admin.git
synced 2026-07-08 11:02:48 +08:00
实现多应用链接生成
This commit is contained in:
@@ -263,3 +263,36 @@ function get_order_sn($start = '', $end = '')
|
|||||||
{
|
{
|
||||||
return $start . date('YmdHis') . mt_rand(1000, 9999) . $end;
|
return $start . date('YmdHis') . mt_rand(1000, 9999) . $end;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 多应用下的url生成器
|
||||||
|
* 在这里的@后面跟随的首先被认为成应用名而不是源文档的域名(或子域名)
|
||||||
|
* 程序会尝试找到应用对应的域名来生成地址,如果没找到,则按照源文档的逻辑执行
|
||||||
|
* @param string $url
|
||||||
|
* @param array $vars
|
||||||
|
* @param boolean $suffix
|
||||||
|
* @param boolean $domain
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
function app_url(string $url = '', array $vars = [], $suffix = true, $domain = false)
|
||||||
|
{
|
||||||
|
|
||||||
|
$url_result = explode('@', $url);
|
||||||
|
// 在这里,@首先认为是应用名,而不是域名(或子域名)
|
||||||
|
if (isset($url_result[1])) {
|
||||||
|
$app_default_doamin = config('app.app_default_doamin');
|
||||||
|
if (empty($app_default_doamin)) {
|
||||||
|
$app_domain_bind = config('app.domain_bind');
|
||||||
|
|
||||||
|
if (!empty($app_domain_bind)) {
|
||||||
|
$app_default_doamin = array_flip($app_domain_bind);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isset($app_default_doamin[$url_result[1]])) {
|
||||||
|
$url = $url_result[0] . "@" . $app_default_doamin[$url_result[1]];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return url($url, $vars, $suffix, $domain);
|
||||||
|
}
|
||||||
|
|||||||
@@ -23,6 +23,8 @@ return [
|
|||||||
'app_map' => [],
|
'app_map' => [],
|
||||||
// 域名绑定(自动多应用模式有效)
|
// 域名绑定(自动多应用模式有效)
|
||||||
'domain_bind' => [],
|
'domain_bind' => [],
|
||||||
|
// 应用默认域名(自动多应用模式有效,为空时采用domain_bind的设置键值对换,适合跨应用生成url)
|
||||||
|
'app_default_doamin' => [],
|
||||||
// 禁止URL访问的应用列表(自动多应用模式有效)
|
// 禁止URL访问的应用列表(自动多应用模式有效)
|
||||||
'deny_app_list' => [],
|
'deny_app_list' => [],
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user