Browse Source

分类绑定到小程序首页导航

master
liangyuyan 5 years ago
parent
commit
12c47091c4
  1. 41
      app/Admin/Actions/Tree/CategoryTie.php
  2. 12
      app/Admin/Controllers/v3/CategoryController.php
  3. 34
      app/Admin/Extensions/TypeCorrelationBind.php
  4. 53
      app/Admin/Forms/CategoryTieForm.php
  5. 7
      app/Admin/routes.php
  6. 1
      app/Models/v3/Category.php
  7. 13
      resources/lang/zh-CN/category-tie.php

41
app/Admin/Actions/Tree/CategoryTie.php

@ -13,10 +13,11 @@ use App\Models\v3\Category as CategoryModel;
class CategoryTie extends AbstractTool
{
/**
* @return string
*/
protected $title = '绑定分类到首页';
protected $title = '绑定分类到首页导航';
/**
* Handle the action request.
@ -28,17 +29,17 @@ class CategoryTie extends AbstractTool
public function handle(Request $request)
{
return $this->response()
->success('Processed successfully.')
->redirect('/category');
->success('跳转到绑定页面' )
->redirect('/categoryTie');
}
/**
* @return string|void
*/
public function href()
{
// public function href()
// {
// return admin_url('category/tie');
}
// }
/**
* @return string|array|void
@ -48,20 +49,20 @@ class CategoryTie extends AbstractTool
// return ['Confirm?', 'contents'];
}
/**
* 添加JS
*
* @return string
*/
protected function script()
{
return <<<JS
$('.category-tie-row').on('click', function () {
// Your code.
window.location.href ='/admin/category/tie';
});
JS;
}
// protected function actionScript()
// {
// return <<<JS
// function (data, target, action) {
// console.log('发起请求之前', data, target, action);
// // return false; 在这里return false可以终止执行后面的操作
// // 更改传递到接口的主键值
// action.options.key = 123;
// }
// JS;
// }
/**
* @param Model|Authenticatable|HasPermissions|null $user

12
app/Admin/Controllers/v3/CategoryController.php

@ -12,6 +12,7 @@ use Dcat\Admin\Controllers\AdminController;
use Dcat\Admin\Show;
use Dcat\Admin\Widgets\Card;
use App\Admin\Forms\CategoryTieForm;
use App\Libs\SsdbClient;
class CategoryController extends AdminController
{
@ -23,12 +24,15 @@ class CategoryController extends AdminController
$tree->branch(function ($branch) {
// 查询分类ssdb
$ssdb = new SsdbClient();
$category = $ssdb->client()->hgetall('applet_index_category');
$select = array_keys($category);
$src = $branch['cover_img_url'];
$logo = "<img src='$src' style='margin-left: 20px; max-width:35px;max-height:35px' class='img'/>";
$actions = '';
$actions = ($branch['parent_id'] == 0) ?'<a href="/admin/category/'.$branch['id'].'/tie" style="margin-left: 20px;">已绑定</a>':$actions;
$actions = (in_array($branch['id'],$select)) ?'<a href="/admin/category/'.$branch['id'].'/tie" style="margin-left: 20px;">已绑定</a>':$actions;
return "{$branch['id']} - {$branch['title']} $logo $actions";
});
@ -60,13 +64,11 @@ class CategoryController extends AdminController
});
}
public function CategoryTieForm(Content $content)
public function CategoryTieForms(Content $content)
{
return $content
->title('绑定分类到首页')
->body(new Card(new CategoryTieForm()), function (Form $form) {
});
->body(new Card(new CategoryTieForm()));
}
/**

34
app/Admin/Extensions/TypeCorrelationBind.php

@ -1,34 +0,0 @@
<?php
namespace App\Admin\Extensions;
use Dcat\Admin\Grid\RowAction;
class TypeCorrelationBind extends RowAction
{
public function title()
{
return '绑定';
}
/**
* 添加JS
*
* @return string
*/
protected function script()
{
return <<<JS
$('.type-bind-row').on('click', function () {
// Your code.
window.location.href ='/admin/coupon/TieForm';
});
JS;
}
public function html()
{
$this->setHtmlAttribute(['class' => 'coupon-edit-row']);
return parent::html();
}
}

53
app/Admin/Forms/CategoryTieForm.php

@ -5,12 +5,11 @@ namespace App\Admin\Forms;
use Dcat\Admin\Widgets\Form;
use Symfony\Component\HttpFoundation\Response;
use App\Libs\SsdbClient;
use App\Models\v3\Category as CategoryModel;
class CategoryTieForm extends Form
{
/**
*
*/
protected $ssdb;
/**
@ -22,19 +21,24 @@ class CategoryTieForm extends Form
*/
public function handle(array $input)
{
$ids = $input['category_ids'];
$category = CategoryModel::select('id','title','cover_img')->whereIn('id',$ids)->get();
$data = [];
if(!empty($category)){
foreach ($category as $key => $value){
$data[$value->id] = json_encode([
'icon' => $value->cover_img,
'name' => $value->title
]);
}
}
$data = [
'activity' => $input['activity'],
'forward' => $input['forward'],
'repay' => $input['repay'],
];
$coupon = $this->ssdb->client()->multi_hset('coupon_rebate_activity',$data);
if($coupon === false){
$category = $this->ssdb->client()->multi_hset('applet_index_category',$data);
if($category === false){
return $this->error('修改失败');
}
return $this->success('修改成功', '/couponTie');
return $this->success('修改成功', '/category');
}
/**
@ -42,19 +46,14 @@ class CategoryTieForm extends Form
*/
public function form()
{
// $this->ssdb = new SsdbClient();
// $coupon = $this->ssdb->client()->hgetall('coupon_rebate_activity');
// if(empty($coupon)){
// $coupon = [
// 'activity'=> 0,
// 'forward'=> '',
// 'repay' => ''
// ];
// }
$this->ssdb = new SsdbClient();
$category = $this->ssdb->client()->hgetall('applet_index_category');
$select = array_keys($category);
// 只查一级
$parentList = CategoryModel::where('parent_id',0)->pluck('title','id')->toArray();
$this->text('id')->required();
$this->image('cover_img')->required();
$this->text('title')->required();
$this->multipleSelect('category_ids','选择分类')->required()->options($parentList)->value($select)->default($select);
}
/**
@ -64,11 +63,7 @@ class CategoryTieForm extends Form
*/
public function default()
{
return [
'activity' => '2',
'forward' => '',
'repay' => '',
];
return [];
}
}

7
app/Admin/routes.php

@ -12,8 +12,8 @@ Route::group([
'middleware' => config('admin.route.middleware'),
], function (Router $router) {
//$router->get('/', 'HomeController@index');
$router->resource('/', 'LanzuCsInfoController');
$router->get('/', 'HomeController@index');
//$router->resource('/', 'LanzuCsInfoController');
$router->resource('/speaker', 'LanzuServiceSpeakerController');
$router->resource('/mp', 'LanzuMpInfoController');
$router->any('/mp_data', 'LanzuMpInfoController@showData');
@ -46,7 +46,7 @@ Route::group([
// 分类
$router->resource('/category', 'v3\CategoryController');
$router->get('/category/tie', 'v3\CategoryController@CategoryTieForm');
$router->get('/categoryTie', 'v3\CategoryController@CategoryTieForms');
// 店铺
$router->resource('/store', 'v3\StoreController');
@ -54,5 +54,6 @@ Route::group([
$router->resource('/goods', 'v3\GoodsController');
// banner
$router->resource('/banner', 'v3\BannerController');
$router->any('/test', 'Test@test');
});

1
app/Models/v3/Category.php

@ -81,4 +81,5 @@ class Category extends Model
return $value;
}
}
}

13
resources/lang/zh-CN/category-tie.php

@ -0,0 +1,13 @@
<?php
return [
'labels' => [
'CategoryTie' => '绑定',
'categoryTie' => '绑定',
],
'fields' => [
'category_ids' => '选择分类',
],
'options' => [
'actions' => '操作'
],
];
Loading…
Cancel
Save