From 0975e747e1621ad590d250caa30ff0f2e67403a7 Mon Sep 17 00:00:00 2001 From: jsasg <735273025@qq.com> Date: Sat, 24 May 2025 11:15:48 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=8E=B7=E5=8F=96=E7=B3=BB=E7=BB=9Furl?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/admin/controller/v1/System.php | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/app/admin/controller/v1/System.php b/app/admin/controller/v1/System.php index 5dabf6a3..d53350ce 100644 --- a/app/admin/controller/v1/System.php +++ b/app/admin/controller/v1/System.php @@ -8,6 +8,7 @@ use app\admin\model\v1\ArticleModel; use app\admin\model\v1\ProductCategoryModel; use app\admin\model\v1\ProductModel; use think\facade\Db; +use think\facade\Route; class System { @@ -224,15 +225,28 @@ class System { if ('custom' == $link_to) return []; - $data = []; - $url = parse_url($link, PHP_URL_QUERY); - if (empty($url)) return []; - - parse_str($url, $params); + $data = []; + $params = []; + $url = parse_url($link, PHP_URL_QUERY); + if (empty($url)) { + $parts = explode('/', trim($link, '/')); + $params['id'] = (int)str_replace('.html', '', end($parts)); + } else { + parse_str($url, $params); + } + + if (empty($params['id'])) return []; + switch ($link_to) { + case 'article_category': + $data = ArticleCategoryModel::field(['id', 'name'])->bypk($params['id'])->find(); + break; case 'article': $data = ArticleModel::field(['id', 'title' => 'name'])->bypk($params['id'])->find(); break; + case 'product_category': + $data = ProductCategoryModel::field(['id', 'name'])->bypk($params['id'])->find(); + break; case 'product': $data = ProductModel::field(['id', 'name'])->bypk($params['id'])->find(); break;