diff --git a/app/Admin/Controllers/v3/SystemConfigController.php b/app/Admin/Controllers/v3/SystemConfigController.php index 5dd8ee5..511c141 100644 --- a/app/Admin/Controllers/v3/SystemConfigController.php +++ b/app/Admin/Controllers/v3/SystemConfigController.php @@ -2,7 +2,7 @@ namespace App\Admin\Controllers\v3; -use App\Admin\Forms\v3\ProgramShareCardForm; +use App\Admin\Forms\v3\OfficialSubscribeInfoForm; use App\Admin\Repositories\v3\SystemConfig; use Dcat\Admin\Form; use Dcat\Admin\Grid; @@ -120,4 +120,11 @@ class SystemConfigController extends AdminController $form->disableCreatingCheck(); }); } + + public function OfficialSubscribeInfoSettingForm(Content $content) + { + return $content + ->title('关注公众号设置') + ->body(new Card(new OfficialSubscribeInfoForm())); + } } diff --git a/app/Admin/Forms/v3/OfficialSubscribeInfoForm.php b/app/Admin/Forms/v3/OfficialSubscribeInfoForm.php new file mode 100644 index 0000000..8326cf7 --- /dev/null +++ b/app/Admin/Forms/v3/OfficialSubscribeInfoForm.php @@ -0,0 +1,100 @@ + $input['head_title'], + 'logo' => $input['logo'], + 'title' => $input['title'], + 'sub_title' => $input['sub_title'], + 'redirect_url' => $input['redirect_url'], + ]; + $notSubscribed = [ + 'head_title' => $input['not_head_title'], + 'logo' => $input['not_logo'], + 'title' => $input['not_title'], + 'sub_title' => $input['not_sub_title'], + 'redirect_url' => $input['not_redirect_url'], + ]; + + $data = [ + 'subscribed' => json_encode($subscribed), + 'not_subscribed' => json_encode($notSubscribed) + ]; + + $res = Redis::hmset(RedisKey::PROGRAM_SHARE_CARD, $data); + if($res !== false){ + return $this->success('修改成功','/official_subscribe_info'); + }else{ + return $this->error('修改失败'); + } + } + + /** + * Build a form here. + */ + public function form() + { + $data = Redis::hgetall(RedisKey::OFFICIAL_SUBSCRIBE_INFO); + + $subscribed = isset($data['subscribed']) ? json_decode( $data['subscribed'],true):[]; + $notSubscribed = isset($data['not_subscribed']) ? json_decode( $data['not_subscribed'],true):[]; + + $this->column(6,function(Form $form) use($subscribed){ + $this->display( 'setting', ' ')->value('已关注公众号提示信息设置'); + $this->text('head_title','顶部标题')->value($subscribed['head_title']); + $this->image('logo','公众号logo连接')->autoUpload()->saveFullUrl() + ->customFormat(function() use($subscribed){ + return [$subscribed['logo']]; + }); + $this->text('title','公众号名称或标题')->value($subscribed['title']); + $this->text('sub_title','副标题,提示语')->value($subscribed['sub_title']); + $this->text('redirect_url','跳转连接')->value($subscribed['redirect_url']); + }); + + $this->column(6,function(Form $form) use($notSubscribed){ + $this->display( 'setting', ' ')->value('未关注公众号提示信息设置'); + $this->text('not_head_title','顶部标题')->value($notSubscribed['head_title']); + $this->image('not_logo','公众号logo连接')->autoUpload()->saveFullUrl() + ->customFormat(function() use($notSubscribed){ + return [$notSubscribed['logo']]; + }); + $this->text('not_title','公众号名称或标题')->value($notSubscribed['title']); + $this->text('not_sub_title','副标题,提示语')->value($notSubscribed['sub_title']); + $this->text('not_redirect_url','跳转连接')->value($notSubscribed['redirect_url']); + }); + } + + /** + * The data of the form. + * + * @return array + */ + public function default() + { + return []; + } + +} diff --git a/app/Admin/routes.php b/app/Admin/routes.php index b85ec8c..484dff2 100644 --- a/app/Admin/routes.php +++ b/app/Admin/routes.php @@ -99,5 +99,7 @@ Route::group([ // 分享小卡片设置 $router->resource('/share_card_setting', 'v3\ShareCardSettingController'); + // 关注公众号设置 + $router->any('/official_subscribe_info', 'v3\SystemConfigController@OfficialSubscribeInfoSettingForm'); }); diff --git a/app/Libs/Redis/RedisKey.php b/app/Libs/Redis/RedisKey.php index c078a39..e7ffd57 100644 --- a/app/Libs/Redis/RedisKey.php +++ b/app/Libs/Redis/RedisKey.php @@ -10,4 +10,6 @@ class RedisKey const ACTIVITY_TYPE_LIMIT_NUMS = 'activity_type_limit_nums'; const PROGRAM_SHARE_CARD = 'program_share_card'; + + const OFFICIAL_SUBSCRIBE_INFO = 'official:subscribe_info'; }