ShopWeiQingBackendRoute.php 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * Name: 芸众商城系统
  5. * Author: 广州市芸众信息科技有限公司
  6. * Profile: 广州市芸众信息科技有限公司位于国际商贸中心的广州,专注于移动电子商务生态系统打造,拥有芸众社交电商系统、区块链数字资产管理系统、供应链管理系统、电子合同等产品/服务。官网 :www.yunzmall.com www.yunzshop.com
  7. * Date: 2021/8/20
  8. * Time: 14:23
  9. */
  10. namespace app\common\route;
  11. use app\common\middleware\AdminPermission;
  12. use app\common\services\Check;
  13. use Illuminate\Support\Str;
  14. class ShopWeiQingBackendRoute extends AbstractShopRoute
  15. {
  16. public $namespace = 'app\\backend';
  17. protected $middleware = [AdminPermission::class];
  18. public function __construct($path)
  19. {
  20. parent::__construct($path);
  21. if (!\YunShop::app()->uniacid) {
  22. return redirect('?c=account&a=display');
  23. }
  24. $yz_module = \app\common\models\Modules::getModuleInfo('yun_shop');
  25. if (config('app.env') != 'dev' && !\app\common\models\WqVersionLog::verifyExist($yz_module->version)) {
  26. $filesystem = app(\Illuminate\Filesystem\Filesystem::class);
  27. $update = new \app\common\services\AutoUpdate(null, null, 300);
  28. \Log::debug('----CLI----');
  29. $plugins_dir = $update->getDirsByPath('plugins', $filesystem);
  30. if (!empty($plugins_dir)) {
  31. \Artisan::call('update:version', ['version' => $plugins_dir]);
  32. }
  33. \app\common\models\WqVersionLog::createLog($yz_module->version);
  34. }
  35. //解析商城路由
  36. if (!request()->route) {
  37. $eid = request()->eid;
  38. if (!empty($eid)) {
  39. $entry = module_entry($eid);
  40. switch ($entry['do']) {
  41. case 'shop':
  42. redirect('?c=site&a=entry&do=shop&m=yun_shop&route=index.index')->send();
  43. exit;
  44. case 'member':
  45. redirect('?c=site&a=entry&do=shop&m=yun_shop&route=member.member.index')->send();
  46. exit;
  47. case 'order':
  48. redirect('?c=site&a=entry&do=shop&m=yun_shop&route=order.order-list.index')->send();
  49. exit;
  50. case 'finance':
  51. redirect('?c=site&a=entry&do=shop&m=yun_shop&route=finance.withdraw-set.see')->send();
  52. exit;
  53. case 'plugins':
  54. redirect('?c=site&a=entry&do=shop&m=yun_shop&route=plugins.get-plugin-data')->send();
  55. exit;
  56. case 'system':
  57. redirect('?c=site&a=entry&do=shop&m=yun_shop&route=setting.shop.index')->send();
  58. exit;
  59. default:
  60. redirect('?c=site&a=entry&do=shop&m=yun_shop&route=index.index')->send();
  61. exit;
  62. }
  63. }
  64. }
  65. //验证密钥
  66. Check::setKey();
  67. }
  68. public function shopMatch($routes, $first)
  69. {
  70. $namespace = $this->namespace;
  71. $class_name = '';
  72. $action = '';
  73. if (class_exists($namespace.'\\controllers\\'.ucfirst(Str::camel($first)).'Controller')) {
  74. $class_name = $namespace.'\\controllers\\'.ucfirst(Str::camel($first)).'Controller';
  75. $action = array_shift($routes);
  76. } else {
  77. $namespace .= '\\modules\\'.$first;
  78. $namespace_module = $namespace;
  79. foreach ($routes as $route) {
  80. if ($class_name) {
  81. $action = $route;
  82. break;
  83. }
  84. $controller = ucfirst(Str::camel($route)).'Controller';
  85. if (class_exists($namespace.'\\controllers\\'.$controller)) {
  86. $class_name = $namespace.'\\controllers\\'.$controller;
  87. } elseif (class_exists($namespace_module.'\\controllers\\'.$controller)) {
  88. $class_name = $namespace_module.'\\controllers\\'.$controller;
  89. } else {
  90. $namespace .= '\\'.$route;
  91. $namespace_module .= '\\modules\\'.$route;
  92. }
  93. }
  94. }
  95. return [$class_name,$action];
  96. }
  97. }