Browse Source

知识付费的后台,配置轮播图

lizhen_gitee 4 weeks ago
parent
commit
9836c83404

+ 71 - 0
app/Admin/Controllers/Ask/AskCommonController.php

@@ -0,0 +1,71 @@
+<?php
+
+namespace App\Admin\Controllers\Ask;
+
+use App\Admin\Controllers\Traits\AskTraits\formAskTrait;
+use Dcat\Admin\Widgets\Form;
+
+class AskCommonController extends Form
+{
+
+    use formAskTrait;
+
+
+    protected $audit_options = [
+        0 => '人工审核',
+        1 => '不审',
+        2 => 'AI先审,若疑似,则人工'
+    ];
+
+    public function handle(array $input)
+    {
+        // $input是你接收到的表单数据
+        // 在这里可以写你的处理逻辑
+        // 第一个参数是响应的成功信息,第二个参数是要跳转的路由
+        return $this->response()->success('Processed successfully.')->refresh();
+    }
+
+    public function _table_keyvalue_data(array $data){
+        if(_empty_($data)){
+            return json_encode([]);
+        }
+        $_data = [];
+        foreach ($data as $row){
+            if(_array_key($row, '_remove_', null) == 1){
+                continue;
+            }
+            if(isset($row['_remove_'])){
+                unset($row['_remove_']);
+            }
+            if(!is_array($row)) {
+                $_data[] = $row;
+                continue;
+            }
+            $row_ = [];
+            foreach ($row as $key => $value){
+                if(!is_array($value)){
+                    $row_[$key] = $value;
+                    continue;
+                }
+                unset($value['_def_']);
+                if(!isset($value['keys']) && !isset($value['values'])){
+                    $row_[$key] = $value;
+                    continue;
+                }
+                $_value = [];
+                if(isset($value['keys'][0])){
+                    for($i = 0; $i < count($value['keys']); $i ++){
+                        $_value[$value['keys'][$i]] = $value['values'][$i];
+                    }
+                }else{
+                    for($i = 1; $i <= count($value['keys']); $i ++){
+                        $_value[$value['keys'][$i]] = $value['values'][$i];
+                    }
+                }
+                $row_[$key] = $_value;
+            }
+            $_data[] = $row_;
+        }
+        return json_encode($_data);
+    }
+}

+ 71 - 0
app/Admin/Controllers/Traits/AskTraits/formAskTrait.php

@@ -0,0 +1,71 @@
+<?php
+namespace App\Admin\Controllers\Traits\AskTraits;
+
+use App\Admin\Renderable\BannerRender;
+use App\Admin\Renderable\IconRender;
+use App\Models\Ask\AskTemplate;
+use App\Models\WxIcon;
+use App\Models\WxSlideshow;
+use App\Wen\Utils\AdminUtils;
+use App\Wen\Utils\FieldUtils;
+use App\Wen\Utils\GatewayUtils;
+use App\Wen\Utils\Settings;
+use App\Wen\Utils\SiteUtils;
+use Dcat\Admin\Form\NestedForm;
+use Dcat\Admin\Layout\Content;
+use Dcat\Admin\Widgets\Form;
+use Dcat\Admin\Widgets\Tooltip;
+use Illuminate\Http\Request;
+use Illuminate\Support\Facades\Cache;
+
+trait formAskTrait{
+
+    public function index_config(Content $content)
+    {
+        return $content->title('知识付费配置')
+//            ->body($this->buildPreviewButton())
+//            ->body($this->newline())
+            ->body(
+                <<<HTML
+<div class="card">{$this->form_config()->render()}</div>
+HTML
+            );
+    }
+    protected function form_config(){
+        $form = new Form();
+        $form->confirm('您确定要提交表单吗?', 'content');
+        $form->disableResetButton();
+
+        $form->tab('首页', function (Form $form) {
+
+
+            $form->multipleSelectTable('app_ask_banner', '轮播图')
+                ->title('轮播图库')
+                ->max(10)
+                ->from(BannerRender::make())
+                ->model(WxSlideshow::class, 'id', 'id', 'selectTable:formAskTrait:app_ask_banner')
+                ->help('<a href="'.admin_url('slideshow').'" target="_blank">运营管理-轮播图中心</a><a href="https://doc.minisns.cn/doc/70/" target="_blank" style="color: red;">(ps:如何控制顺序?)&nbsp;</a>')
+                ->default(Settings::get('app_ask_banner', '',true));
+
+
+        });
+
+
+        $form->action('ask/action/config');
+        return $form;
+    }
+
+    public function config(Request $request){
+        SiteUtils::forget_config_data();
+
+
+        Settings::set('app_ask_banner', AdminUtils::_multipleSelectTable_order_process('selectTable:formAdkTrait:app_ask_banner', $request->input('app_ask_banner')), true, true);
+
+
+        $__global_config_version__ = Settings::get('__global_config_version__', 1) + 1;
+        Settings::set('__global_config_version__', $__global_config_version__);
+        GatewayUtils::success('all', 13, [ 'version' => $__global_config_version__, 'file' => basename(__FILE__) ]);
+        return $this->response()->success('成功!');
+    }
+
+}

+ 6 - 1
app/Admin/routes.php

@@ -196,10 +196,15 @@ Route::group([
     $router->post('note/config', 'Note\WxNoteController@index_config');
     $router->post('note/config', 'Note\WxNoteController@index_config');
     $router->post('note/action/config', 'Note\WxNoteController@config');
     $router->post('note/action/config', 'Note\WxNoteController@config');
 
 
-    $router->get('voter/config', 'Voter\WxVoterCommonController@index_config');
+    $router->get('voter/config',  'Voter\WxVoterCommonController@index_config');
     $router->post('voter/config', 'Voter\WxVoterCommonController@index_config');
     $router->post('voter/config', 'Voter\WxVoterCommonController@index_config');
     $router->post('voter/action/config', 'Voter\WxVoterCommonController@config');
     $router->post('voter/action/config', 'Voter\WxVoterCommonController@config');
 
 
+    //知识付费
+    $router->get('ask/config',  'Ask\AskCommonController@index_config');
+    $router->post('ask/config', 'Ask\AskCommonController@index_config');
+    $router->post('ask/action/config', 'Ask\AskCommonController@config');
+
     // 抽奖系统-转盘
     // 抽奖系统-转盘
     $router->get('luckdraw/config', 'LuckDraw\WxLuckDrawController@index_config');
     $router->get('luckdraw/config', 'LuckDraw\WxLuckDrawController@index_config');
     $router->post('luckdraw/config', 'LuckDraw\WxLuckDrawController@index_config');
     $router->post('luckdraw/config', 'LuckDraw\WxLuckDrawController@index_config');