Browse Source

生活圈

Panda 3 weeks ago
parent
commit
46f2ed843c

+ 1 - 0
application/admin/lang/zh-cn/banner.php

@@ -17,4 +17,5 @@ return [
     'Type 1'     => '首页',
     'Type 2'     => '商城',
     'Type 3'     => '首页nav',
+    'Type 4'     => '生活圈首页',
 ];

+ 1 - 1
application/admin/model/Banner.php

@@ -46,7 +46,7 @@ class Banner extends Model
 
     public function getTypeList()
     {
-        return ['1' => __('Type 1'), '2' => __('Type 2'), '3' => __('Type 3')];
+        return ['1' => __('Type 1'), '2' => __('Type 2'), '3' => __('Type 3'), '4' => __('Type 4')];
     }
 
 

+ 17 - 2
application/api/controller/OfflineShop.php

@@ -3,6 +3,9 @@
 namespace app\api\controller;
 
 use app\common\controller\Api;
+use app\common\model\OfflineShopModel;
+use app\common\model\OfflineTypeModel;
+use app\utils\DataUtil;
 use think\Db;
 /**
  * 示例接口
@@ -12,10 +15,22 @@ class OfflineShop extends Api
     protected $noNeedLogin = [''];
     protected $noNeedRight = ['*'];
 
+    // 商圈分类
     public function type()
     {
-        $param = $this->request->param();
-
+        $params = $this->request->param();
+        $model = new OfflineTypeModel();
+        $model->setSelect(['id','pid','name','image']);
+        $list = $model->getList(params: $params,orderBy: ['weigh' => 'desc','id' => 'desc']);
+        return $this->success('success',DataUtil::recursion($list,'id','pid'));
     }
 
+    public function list()
+    {
+        $params = $this->request->param();
+
+        $model = new OfflineShopModel();
+        $list = $model->getList(params: $params,orderBy: ['weigh' => 'desc']);
+        return $this->success('success',$list);
+    }
 }

+ 42 - 0
application/common/model/OfflineShopModel.php

@@ -0,0 +1,42 @@
+<?php
+
+namespace app\common\model;
+
+use think\Db;
+use think\Model;
+
+/**
+ * 群组
+ */
+class OfflineShopModel extends BaseModel
+{
+    // 表名
+    protected $name = 'offline_shop';
+
+    // 自动写入时间戳字段
+    protected $autoWriteTimestamp = 'int';
+
+    // 定义时间戳字段名
+    protected $createTime = 'createtime';
+    protected $updateTime = 'updatetime';
+
+    protected int $is_status_search = 1;// 默认使用 status = 1 筛选
+    protected int $is_delete_search = 0;// 默认使用 is_delete = 0 筛选
+
+    /**
+     * 默认查询字段
+     *
+     * @var array|string[]
+     */
+    public array $select = [
+        '*'
+    ];
+
+    public function searchIsHomeAttribute($query, $value, array $params)
+    {
+        if (!in_array($value,[0,1])) {
+            return $query;
+        }
+        return $query->where('is_home', $value);
+    }
+}

+ 8 - 0
application/common/model/OfflineTypeModel.php

@@ -31,4 +31,12 @@ class OfflineTypeModel extends BaseModel
     public array $select = [
         '*'
     ];
+
+    public function searchIsHomeAttribute($query, $value, array $params)
+    {
+        if (!in_array($value,[0,1])) {
+            return $query;
+        }
+        return $query->where('is_home', $value);
+    }
 }

+ 1 - 0
public/.htaccess

@@ -0,0 +1 @@
+ 

+ 1 - 1
public/assets/js/backend/banner.js

@@ -33,7 +33,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                         {field: 'weigh', title: __('Weigh'), operate: false},
                         {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
                         {field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
-                        {field: 'type', title: __('Type'), searchList: {"1":__('Type 1'),"2":__('Type 2'),"3":__('Type 3')}, formatter: Table.api.formatter.normal},
+                        {field: 'type', title: __('Type'), searchList: {"1":__('Type 1'),"2":__('Type 2'),"3":__('Type 3'),"4":__('Type 4')}, formatter: Table.api.formatter.normal},
                         {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
                     ]
                 ]