作者 赵彬吉
1 <?php 1 <?php
2 2
3 use App\Models\File\Image; 3 use App\Models\File\Image;
  4 +use App\Models\RouteMap\RouteMap;
4 use App\Services\CosService; 5 use App\Services\CosService;
5 use App\Utils\EncryptUtils; 6 use App\Utils\EncryptUtils;
6 use App\Utils\LogUtils; 7 use App\Utils\LogUtils;
@@ -560,3 +561,24 @@ function ends_with($string, $suffix) @@ -560,3 +561,24 @@ function ends_with($string, $suffix)
560 { 561 {
561 return substr($string, -strlen($suffix)) === $suffix; 562 return substr($string, -strlen($suffix)) === $suffix;
562 } 563 }
  564 +
  565 +/**
  566 + * @remark :获取二级路由
  567 + * @name :getRouteMap
  568 + * @author :lyh
  569 + * @method :post
  570 + * @time :2023/11/10 14:29
  571 + */
  572 +function getRouteMap($source,$source_id){
  573 + $route = '';
  574 + $routeMapModel = new RouteMap();
  575 + $info = $routeMapModel->read(['source'=>$source,'source_id'=>$source_id]);
  576 + if($info !== false){
  577 + if(!empty($info['path'])){
  578 + $route = $info['path'].'/'.$info['route'];
  579 + }else{
  580 + $route = $info['route'];
  581 + }
  582 + }
  583 + return $route;
  584 +}
@@ -24,6 +24,9 @@ class ATemplateModuleController extends BaseController @@ -24,6 +24,9 @@ class ATemplateModuleController extends BaseController
24 * @time :2023/6/28 16:54 24 * @time :2023/6/28 16:54
25 */ 25 */
26 public function lists(ATemplateModuleLogic $ATemplateModuleLogic){ 26 public function lists(ATemplateModuleLogic $ATemplateModuleLogic){
  27 + if(!isset($this->map['test_model'])){
  28 + $this->map['test_model'] = 0;
  29 + }
27 $lists = $ATemplateModuleLogic->aTemplateModuleLists($this->map,$this->page,$this->row,$this->order); 30 $lists = $ATemplateModuleLogic->aTemplateModuleLists($this->map,$this->page,$this->row,$this->order);
28 $this->response('success',Code::SUCCESS,$lists); 31 $this->response('success',Code::SUCCESS,$lists);
29 } 32 }
@@ -9,6 +9,7 @@ use App\Http\Controllers\Bside\BaseController; @@ -9,6 +9,7 @@ use App\Http\Controllers\Bside\BaseController;
9 use App\Http\Logic\Bside\User\UserLogic; 9 use App\Http\Logic\Bside\User\UserLogic;
10 use App\Models\Project\DeployBuild; 10 use App\Models\Project\DeployBuild;
11 use App\Models\Project\Project; 11 use App\Models\Project\Project;
  12 +use App\Models\RouteMap\RouteMap;
12 use App\Models\User\ProjectMenu as ProjectMenuModel; 13 use App\Models\User\ProjectMenu as ProjectMenuModel;
13 use App\Models\User\ProjectRole as ProjectRoleModel; 14 use App\Models\User\ProjectRole as ProjectRoleModel;
14 use App\Models\User\User; 15 use App\Models\User\User;
@@ -207,4 +208,36 @@ class ComController extends BaseController @@ -207,4 +208,36 @@ class ComController extends BaseController
207 $str = $common->encrypt($data); 208 $str = $common->encrypt($data);
208 $this->response('success',Code::SUCCESS,['str'=>$str]); 209 $this->response('success',Code::SUCCESS,['str'=>$str]);
209 } 210 }
  211 +
  212 + /**
  213 + * @remark :获取访问链接
  214 + * @name :getLink
  215 + * @author :lyh
  216 + * @method :post
  217 + * @time :2023/11/10 15:18
  218 + */
  219 + public function getLink(){
  220 + $this->request->validate([
  221 + 'type' => 'required',
  222 + ], [
  223 + 'type.required' => '类型不能为空',
  224 + ]);
  225 + switch ($this->param['type']){
  226 + case 'news':
  227 + $url_link = $this->user['domain'].RouteMap::SOURCE_NEWS.'/';
  228 + break;
  229 + case 'news_category':
  230 + $url_link = $this->user['domain'].RouteMap::PATH_NEWS_CATE.'/';
  231 + break;
  232 + case 'blog':
  233 + $url_link = $this->user['domain'].RouteMap::SOURCE_BLOG.'/';
  234 + break;
  235 + case 'blog_category':
  236 + $url_link = $this->user['domain'].RouteMap::PATH_BLOG_CATE.'/';
  237 + break;
  238 + default:
  239 + $url_link = $this->user['domain'];
  240 + }
  241 + $this->response('success',Code::SUCCESS,['url'=>$url_link]);
  242 + }
210 } 243 }
@@ -27,7 +27,7 @@ class BlogCategoryController extends BaseController @@ -27,7 +27,7 @@ class BlogCategoryController extends BaseController
27 $blogModel = new BlogModel(); 27 $blogModel = new BlogModel();
28 foreach ($lists as $k => $v){ 28 foreach ($lists as $k => $v){
29 $v['num'] = $blogModel->formatQuery(['category_id'=>['like','%,' . $v['id'] . ',%']])->count(); 29 $v['num'] = $blogModel->formatQuery(['category_id'=>['like','%,' . $v['id'] . ',%']])->count();
30 - $v['url'] = $this->user['domain'] . $v['alias'].'/'; 30 + $v['url'] = $this->user['domain'] . getRouteMap(RouteMap::SOURCE_BLOG_CATE,$v['id']);
31 $lists[$k] = $v; 31 $lists[$k] = $v;
32 } 32 }
33 if(!isset($this->map['name'])){ 33 if(!isset($this->map['name'])){
@@ -81,7 +81,6 @@ class BlogCategoryController extends BaseController @@ -81,7 +81,6 @@ class BlogCategoryController extends BaseController
81 'id.required' => 'ID不能为空' 81 'id.required' => 'ID不能为空'
82 ]); 82 ]);
83 $info = $blogCategoryLogic->info_blog_category(); 83 $info = $blogCategoryLogic->info_blog_category();
84 - $info['url'] = $this->user['domain'] . $info['alias'];  
85 $this->response('success',Code::SUCCESS,$info); 84 $this->response('success',Code::SUCCESS,$info);
86 } 85 }
87 86
@@ -10,6 +10,7 @@ use App\Models\Blog\Blog as BlogModel; @@ -10,6 +10,7 @@ use App\Models\Blog\Blog as BlogModel;
10 use App\Models\Blog\BlogCategory; 10 use App\Models\Blog\BlogCategory;
11 use App\Models\Blog\BlogCategory as BlogCategoryModel; 11 use App\Models\Blog\BlogCategory as BlogCategoryModel;
12 use App\Models\Product\Category; 12 use App\Models\Product\Category;
  13 +use App\Models\RouteMap\RouteMap;
13 use App\Models\User\User; 14 use App\Models\User\User;
14 15
15 class BlogController extends BaseController 16 class BlogController extends BaseController
@@ -35,7 +36,7 @@ class BlogController extends BaseController @@ -35,7 +36,7 @@ class BlogController extends BaseController
35 $user = new User(); 36 $user = new User();
36 foreach ($lists['list'] as $k => $v){ 37 foreach ($lists['list'] as $k => $v){
37 $v['category_name'] = $this->categoryName($v['category_id'],$data); 38 $v['category_name'] = $this->categoryName($v['category_id'],$data);
38 - $v['url'] = $this->user['domain'] .$v['url'].'/'; 39 + $v['url'] = $this->user['domain'] . getRouteMap(RouteMap::SOURCE_BLOG,$v['id']);
39 $v['image_link'] = getImageUrl($v['image']); 40 $v['image_link'] = getImageUrl($v['image']);
40 $v['operator_name'] = $user->getName($v['operator_id']); 41 $v['operator_name'] = $user->getName($v['operator_id']);
41 $lists['list'][$k] = $v; 42 $lists['list'][$k] = $v;
@@ -27,7 +27,7 @@ class NewsCategoryController extends BaseController @@ -27,7 +27,7 @@ class NewsCategoryController extends BaseController
27 $newsModel = new NewsModel(); 27 $newsModel = new NewsModel();
28 foreach ($lists as $k => $v){ 28 foreach ($lists as $k => $v){
29 $v['num'] = $newsModel->formatQuery(['category_id'=>['like','%,' . $v['id'] . ',%']])->count(); 29 $v['num'] = $newsModel->formatQuery(['category_id'=>['like','%,' . $v['id'] . ',%']])->count();
30 - $v['url'] = $this->user['domain'] . $v['alias'].'/'; 30 + $v['url'] = $this->user['domain'].getRouteMap(RouteMap::SOURCE_NEWS_CATE,$v['id']);
31 $lists[$k] = $v; 31 $lists[$k] = $v;
32 } 32 }
33 if(!isset($this->map['name'])){ 33 if(!isset($this->map['name'])){
@@ -8,6 +8,7 @@ use App\Http\Logic\Bside\News\NewsLogic; @@ -8,6 +8,7 @@ use App\Http\Logic\Bside\News\NewsLogic;
8 use App\Http\Requests\Bside\News\NewsRequest; 8 use App\Http\Requests\Bside\News\NewsRequest;
9 use App\Models\News\News as NewsModel; 9 use App\Models\News\News as NewsModel;
10 use App\Models\News\NewsCategory; 10 use App\Models\News\NewsCategory;
  11 +use App\Models\RouteMap\RouteMap;
11 use App\Models\User\User; 12 use App\Models\User\User;
12 13
13 14
@@ -35,7 +36,7 @@ class NewsController extends BaseController @@ -35,7 +36,7 @@ class NewsController extends BaseController
35 $user = new User(); 36 $user = new User();
36 foreach ($lists['list'] as $k => $v){ 37 foreach ($lists['list'] as $k => $v){
37 $v['category_name'] = $this->categoryName($v['category_id'],$data); 38 $v['category_name'] = $this->categoryName($v['category_id'],$data);
38 - $v['url'] = $this->user['domain'] .$v['url'].'/'; 39 + $v['url'] = $this->user['domain'].getRouteMap(RouteMap::SOURCE_NEWS,$v['id']);
39 $v['image_link'] = getImageUrl($v['image']); 40 $v['image_link'] = getImageUrl($v['image']);
40 $v['operator_name'] = $user->getName($v['operator_id']); 41 $v['operator_name'] = $user->getName($v['operator_id']);
41 $lists['list'][$k] = $v; 42 $lists['list'][$k] = $v;
@@ -44,6 +45,8 @@ class NewsController extends BaseController @@ -44,6 +45,8 @@ class NewsController extends BaseController
44 $this->response('success',Code::SUCCESS,$lists); 45 $this->response('success',Code::SUCCESS,$lists);
45 } 46 }
46 47
  48 +
  49 +
47 /** 50 /**
48 * @remark :处理列表返回参数 51 * @remark :处理列表返回参数
49 * @name :handleReturnParam 52 * @name :handleReturnParam
@@ -22,6 +22,9 @@ class BTemplateModuleController extends BaseController @@ -22,6 +22,9 @@ class BTemplateModuleController extends BaseController
22 * @time :2023/6/29 11:33 22 * @time :2023/6/29 11:33
23 */ 23 */
24 public function lists(BTemplateModuleLogic $BTemplateModuleLogic){ 24 public function lists(BTemplateModuleLogic $BTemplateModuleLogic){
  25 + if(!isset($this->map['test_model'])){
  26 + $this->map['test_model'] = 0;
  27 + }
25 $list = $BTemplateModuleLogic->ModuleList($this->map,$this->order); 28 $list = $BTemplateModuleLogic->ModuleList($this->map,$this->order);
26 $this->response('success',Code::SUCCESS,$list); 29 $this->response('success',Code::SUCCESS,$list);
27 } 30 }
@@ -214,15 +214,15 @@ class DomainInfoLogic extends BaseLogic @@ -214,15 +214,15 @@ class DomainInfoLogic extends BaseLogic
214 } 214 }
215 //保存301跳转数据+其他域名 215 //保存301跳转数据+其他域名
216 $data = [ 216 $data = [
217 - 'other_domain'=>json_encode($this->param['other_domain']),  
218 - 'extend_config'=>json_encode($this->param['extend_config']), 217 + 'other_domain'=>json_encode($this->param['other_domain'] ?? []),
  218 + 'extend_config'=>json_encode($this->param['extend_config'] ?? []),
219 'type'=>$this->param['type'], 219 'type'=>$this->param['type'],
220 'private_key' => $this->param['key'] ?? '', 220 'private_key' => $this->param['key'] ?? '',
221 'private_cert' => $this->param['cert'] ?? '', 221 'private_cert' => $this->param['cert'] ?? '',
222 ]; 222 ];
223 $this->model->edit($data,['id'=>$this->param['id']]); 223 $this->model->edit($data,['id'=>$this->param['id']]);
224 //生成证书 224 //生成证书
225 - $this->setDomainSsl($server_info['init_domain'],$info['domain'],$this->param['extend_config'],$this->param['other_domain']); 225 + $this->setDomainSsl($server_info['init_domain'],$info['domain'],$this->param['extend_config'] ?? [],$this->param['other_domain'] ?? []);
226 return $this->success(); 226 return $this->success();
227 } 227 }
228 228
@@ -181,10 +181,6 @@ class CustomTemplateLogic extends BaseLogic @@ -181,10 +181,6 @@ class CustomTemplateLogic extends BaseLogic
181 'route'=>$info['url'], 181 'route'=>$info['url'],
182 ]; 182 ];
183 $this->setRouteDeleteSave($data); 183 $this->setRouteDeleteSave($data);
184 - //"字符串以\"-product\"结尾"  
185 - if (!ends_with($route, "-tag")) {  
186 - $route = $route."-tag";  
187 - }  
188 } 184 }
189 return $route; 185 return $route;
190 } 186 }
@@ -215,10 +215,6 @@ class ProductLogic extends BaseLogic @@ -215,10 +215,6 @@ class ProductLogic extends BaseLogic
215 'route'=>$route, 215 'route'=>$route,
216 ]; 216 ];
217 $this->setRouteDeleteSave($data); 217 $this->setRouteDeleteSave($data);
218 - //"字符串以\"-product\"结尾"  
219 - if (!ends_with($route, "-product")) {  
220 - $route = $route."-product";  
221 - }  
222 } 218 }
223 return $route; 219 return $route;
224 } 220 }
@@ -16,6 +16,7 @@ Route::middleware(['bloginauth'])->group(function () { @@ -16,6 +16,7 @@ Route::middleware(['bloginauth'])->group(function () {
16 //获取当前登录用户项目详情 16 //获取当前登录用户项目详情
17 Route::any('/get_project', [\App\Http\Controllers\Bside\BCom\ComController::class, 'get_project'])->name('get_project'); 17 Route::any('/get_project', [\App\Http\Controllers\Bside\BCom\ComController::class, 'get_project'])->name('get_project');
18 Route::any('/generateToken', [\App\Http\Controllers\Bside\BCom\ComController::class, 'generateToken'])->name('generateToken'); 18 Route::any('/generateToken', [\App\Http\Controllers\Bside\BCom\ComController::class, 'generateToken'])->name('generateToken');
  19 + Route::any('/getLink', [\App\Http\Controllers\Bside\BCom\ComController::class, 'getLink'])->name('getLink');
19 //用户相关路由 20 //用户相关路由
20 Route::prefix('user')->group(function () { 21 Route::prefix('user')->group(function () {
21 Route::any('/', [\App\Http\Controllers\Bside\User\UserController::class, 'lists'])->name('user_lists'); 22 Route::any('/', [\App\Http\Controllers\Bside\User\UserController::class, 'lists'])->name('user_lists');