Browse Source

关注公众号--提示信息设置

master
liangyuyan 5 years ago
parent
commit
1af108c1f4
  1. 9
      app/Admin/Controllers/v3/SystemConfigController.php
  2. 100
      app/Admin/Forms/v3/OfficialSubscribeInfoForm.php
  3. 2
      app/Admin/routes.php
  4. 2
      app/Libs/Redis/RedisKey.php

9
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()));
}
}

100
app/Admin/Forms/v3/OfficialSubscribeInfoForm.php

@ -0,0 +1,100 @@
<?php
namespace App\Admin\Forms\v3;
use Dcat\Admin\Widgets\Form;
use Symfony\Component\HttpFoundation\Response;
use Illuminate\Support\Facades\Redis;
use App\Libs\Redis\RedisKey;
use Dcat\Admin\Contracts\LazyRenderable;
use Dcat\Admin\Traits\LazyWidget;
use function Graze\GuzzleHttp\JsonRpc\json_decode;
class OfficialSubscribeInfoForm extends Form implements LazyRenderable
{
use LazyWidget;
/**
* Handle the form request.
*
* @param array $input
*
* @return Response
*/
public function handle(array $input)
{
$subscribed = [
'head_title' => $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 [];
}
}

2
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');
});

2
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';
}
Loading…
Cancel
Save