moshaorui 4 mesiacov pred
rodič
commit
53c32a102c

+ 3 - 0
app/Admin/Repositories/DistAdminDistributor.php

@@ -20,6 +20,9 @@ class DistAdminDistributor extends EloquentRepository
      */
     protected $eloquentClass = Model::class;
 
+    /*
+     * 得到指定分销商的域名
+     */
     public static function getDomain($distId)
     {
         $model = new Model();

+ 48 - 0
app/Distributor/Controllers/CacheController.php

@@ -0,0 +1,48 @@
+<?php
+
+namespace App\Distributor\Controllers;
+
+use App\Distributor\Repositories\DistAdminDistributor;
+use App\Http\Controllers\Controller;
+use Dcat\Admin\Layout\Content;
+use Dcat\Admin\Traits\HasUploadedFile;
+use Dcat\Admin\Form;
+use Illuminate\Http\Request;
+
+class CacheController extends Controller
+{
+    use HasUploadedFile;
+
+    public function index(Content $content)
+    {
+        return $content
+            ->body($this->form())
+            ->header(admin_trans_label('cache'))
+            ->description('');
+    }
+
+    protected function form()
+    {
+        return new Form(null, function (Form $form) {
+            $form->title(admin_trans_label('clear_cache'));
+            $form->disableListButton();
+            $form->disableViewCheck();
+            $form->disableEditingCheck();
+            $form->disableCreatingCheck();
+            //$form->disableResetButton();
+            $form->action("/dist-cache/clear")->width(4,2);
+            $form->url('url', admin_trans_label('site_url'))->width(4,2)->value(DistAdminDistributor::getDomain())->readOnly();
+        });
+    }
+
+    public function clear(Request $request)
+    {
+        $url = $request->input('url');
+        $url = $url . '/?__clear_cache=1';
+        //curl 访问
+        curlGet($url,3);
+        $form = new Form();
+        return $form->response()->success('Success');
+    }
+
+}

+ 0 - 1
app/Distributor/Controllers/SettingsController.php

@@ -74,7 +74,6 @@ HTML
     }
 
 
-
     /*
      * 保存配置
      */

+ 11 - 0
app/Distributor/Repositories/DistAdminDistributor.php

@@ -15,6 +15,17 @@ class DistAdminDistributor extends EloquentRepository
     protected $eloquentClass = Model::class;
 
 
+
+    /*
+     * 得到当前分销商的域名
+     */
+    public static function getDomain()
+    {
+        $distId = getDistributorId();
+        $model = new Model();
+        return $model->getDomain($distId);
+    }
+
     /*
      * 得到分销商信息
      */

+ 2 - 2
app/Distributor/routes.php

@@ -39,6 +39,8 @@ Route::group([
     $router->get('dist-settings', 'SettingsController@index');
     $router->post('dist-settings', 'SettingsController@store');
     $router->post('dist-settings/upload', 'SettingsController@upload');
+    $router->get('dist-cache', 'CacheController@index');
+    $router->post('dist-cache/clear', 'CacheController@clear');
     //外观选择
     $router->get('dist-appearance', 'DistAppearanceController@index');
     //菜单管理
@@ -56,10 +58,8 @@ Route::group([
     $router->get('api/pages', 'ApiController@pages');
     $router->get('api/tag', 'ApiController@tag');
     $router->get('api/generate-slug', 'ApiController@generateSlug');
-
 });
 
-
 /*
  * 重写上传路由,修改tinymce上传路径
  */

+ 26 - 0
app/helpers.php

@@ -239,3 +239,29 @@ if (!function_exists('admin_trans_array')) {
     }
 }
 
+
+//curl get
+if (!function_exists('curlGet')) {
+    function curlGet($url,$timeout=10) {
+        $ch = curl_init();
+        curl_setopt($ch, CURLOPT_URL, $url);
+        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);
+        curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
+        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
+        $response = curl_exec($ch);
+        if ($response === false) {
+            return array(
+                'error' => curl_error($ch),
+                'http_code' => null
+            );
+        } else {
+            $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
+            return array(
+                'response' => $response,
+                'http_code' => $http_code
+            );
+        }
+        curl_close($ch);
+    }
+
+}

+ 3 - 0
lang/zh_CN/global.php

@@ -144,6 +144,9 @@ return [
         'pages_tag'             => '文章标签',
         'unique_page'          => '独立页面',
         'init_appearance'         => '初始化主题',
+        'cache'                 => '缓存',
+        'clear_cache'           => '清除缓存',
+        'site_url'                  => '站点URL',
     ],
     'options' => [
         //

+ 2 - 0
lang/zh_CN/menu.php

@@ -36,5 +36,7 @@ return [
         'pages' => '文章',
         'tag' => '标签',
         'site' => '站点',
+        'user_setting' => '用户',
+        'clear_cache' => '清除缓存',
     ],
 ];