后台直接进入前台

This commit is contained in:
augushong
2020-10-20 10:12:14 +08:00
parent 4a04418766
commit 63ec3c4356
5 changed files with 49 additions and 6 deletions

View File

@@ -1,2 +1,5 @@
<?php
use think\facade\Route;
Route::rule('a:uid', 'Post/read');
Route::rule('i[:category_id]/s[:sub_category_id]/p[:page]', 'Index/index');

View File

@@ -20,6 +20,7 @@ use think\File;
use think\facade\Filesystem;
use app\model\UploadFiles;
use think\facade\Session;
use think\app\Url;
function json_message($data = [], $code = 0, $msg = '')
{
@@ -257,3 +258,39 @@ function check_permission($key,$admin_id = null)
return false;
}
/**
* 多应用下的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]]) && $app_default_doamin[$url_result[1]] != '*') {
$url = $url_result[0] . "@" . $app_default_doamin[$url_result[1]];
}
}
return url($url, $vars, $suffix, $domain);
}

View File

@@ -23,11 +23,14 @@ return [
'app_map' => [],
// 域名绑定(自动多应用模式有效)
'domain_bind' => [
'www'=>'index',
'*'=>'index',
'www'=>'index',
'admin'=>'admin',
'api'=>'api',
],
// 应用默认域名(自动多应用模式有效,为空时采用domain_bind的设置键值对换,适合跨应用生成url
'app_default_doamin' => [],
// 禁止URL访问的应用列表自动多应用模式有效
'deny_app_list' => [],

View File

@@ -9,4 +9,3 @@
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------
use think\facade\Route;

View File

@@ -1,5 +1,6 @@
<div class="layui-header">
<a class="layui-logo" href="{:url('index/Index/index')}" target="_blank">{:get_system_config('site_name')}</a>
<a class="layui-logo" href="{:app_url('index/index@index')}" target="_blank">{:get_system_config('site_name')}</a>
<!-- 头部区域可配合layui已有的水平导航 PC端显示 -->
<ul class="layui-nav layui-layout-left layui-hide-xs pc-nav-container">
<li class="layui-nav-item header-nav-item" data-name="Index"><a href="{:url('admin/Index/index')}">首页</a></li>