Sfoglia il codice sorgente

完成积分商品和规格

phperli 3 anni fa
parent
commit
00007f032c

+ 7 - 6
app/Admin/Controllers/CourseFieldController.php

xqd xqd xqd
@@ -132,7 +132,7 @@ class CourseFieldController extends AdminController
                 });
                 $form->text('name')->width(4);
                 $form->table('hole_list', function (Form\NestedForm $table) {
-                    $table->text('sort', trans('course.labels.sort'))->width(12, 0);
+                    $table->text('sort', trans('course.labels.sort'));
                     $table->text('par', trans('course.labels.par'));
                     $table->text('difficulty', trans('course.labels.difficulty'));
                     $table->text('gold_dis', trans('course.labels.gold_dis'));
@@ -160,7 +160,6 @@ class CourseFieldController extends AdminController
                         if ($info = CourseHole::query()->where($map)->first()) {
                             CourseHole::query()->where($map)->update($val);
                         } else {
-                            info($val);
                             CourseHole::query()->create($val);
                         }
                     }
@@ -170,11 +169,13 @@ class CourseFieldController extends AdminController
                         ->orderBy('sort', 'asc')
                         ->get()
                         ->toArray();
-
+                    if($list->isNotEmpty()){
+                        $list = $list->toArray();
+                    }else{
+                        $list = false;
+                    }
                     $courseField = CourseField::find($id);
-                    $courseField->course_id = Cache::get('course_id');
-                    $courseField->name = $form->name;
-                    $courseField->hole_list = json_encode($list);
+                    $courseField->hole_list = $list ? json_encode($list) : '';;
                     $courseField->save();
                 }
                 return $form->response()->success('保存成功')->redirect('course_field/'.$id.'/edit');

+ 124 - 0
app/Admin/Controllers/GoodsController.php

xqd
@@ -0,0 +1,124 @@
+<?php
+
+namespace App\Admin\Controllers;
+
+use App\Models\Goods;
+use App\Models\GoodsAttr;
+use Dcat\Admin\Form;
+use Dcat\Admin\Grid;
+use Dcat\Admin\Show;
+use Dcat\Admin\Http\Controllers\AdminController;
+
+class GoodsController extends AdminController
+{
+    /**
+     * Make a grid builder.
+     *
+     * @return Grid
+     */
+    protected function grid()
+    {
+        return Grid::make(new Goods(), function (Grid $grid) {
+            $grid->model()->orderByDesc('id');
+            $grid->column('id')->sortable();
+            $grid->column('name');
+            $grid->column('img')->image('', 60,60);
+            $grid->column('cover_imgs')->display(function ($cover_imgs) {
+                return json_decode($cover_imgs, true);
+            })->image('', 60, 60);
+            $grid->column('specific');
+            $grid->column('is_recommend')->switch();
+            $grid->column('status')->switch();
+            $grid->column('created_at');
+
+            $grid->filter(function (Grid\Filter $filter) {
+                $filter->equal('id');
+        
+            });
+
+            $grid->disableViewButton();
+        });
+    }
+
+    /**
+     * Make a form builder.
+     *
+     * @return Form
+     */
+    protected function form()
+    {
+        return Form::make(new Goods(), function (Form $form) {
+
+            $form->tab('基本信息', function (Form $form){
+                $form->display('id')->width(4);
+                $form->text('name')->width(4);
+                $form->image('img')->saveFullUrl()->autoUpload()->width(4);
+                $form->multipleImage('cover_imgs')->saveFullUrl()->autoUpload()->uniqueName()->saveAsJson();
+                $form->number('integral')->min(1);
+                $form->number('stock')->min(1);
+                $form->switch('is_recommend');
+                $form->switch('status');
+                $form->editor('introduce');
+                $form->display('created_at')->width(4);
+                $form->display('updated_at')->width(4);
+            });
+
+            $form->tab('规格', function (Form $form){
+                $form->table('specific_list', function (Form\NestedForm $table){
+                    $table->text('title', '名称');
+                    $table->number('integral', '积分')->min(1);
+                    $table->number('stock', '库存');
+                    $table->image('pic_url', '图片')->saveFullUrl()->autoUpload();
+                });
+            });
+
+            $form->saving(function (Form $form) {
+                if (is_array($form->specific_list)) {
+                    $this->specific_list = array_values($form->specific_list);
+                    $form->deleteInput('specific_list');
+                }
+            });
+
+            $form->saved(function (Form $form) {
+                $id = $form->getKey(); //新增数据后返回的主键 id
+                if (!empty($this->specific_list) && is_array($this->specific_list)) {
+                    foreach ($this->specific_list as $val) {
+                        unset($val['id']);
+                        unset($val['_remove_']);
+                        $val['goods_id'] = $id;
+                        $map = ['goods_id' => $id, 'title' => $val['title']];
+                        if ($info = GoodsAttr::query()->where($map)->first()) {
+                            GoodsAttr::query()->where('id', $info->id)->update($val);
+                        } else {
+                            GoodsAttr::query()->create($val); //模型里面要添加 fillable
+                        }
+                    }
+                    $list = GoodsAttr::query()
+                        ->where('goods_id', $id)
+                        ->select('id', 'goods_id', 'title', 'integral', 'pic_url', 'stock')
+                        ->orderBy('id', 'asc')
+                        ->get();
+                    if($list->isNotEmpty()){
+                        $list = $list->toArray();
+                    }else{
+                        $list = false;
+                    }
+                    $goods = Goods::find($id);
+                    $goods->specific_list = $list ? json_encode($list) : '';
+                    $goods->save();
+                }
+                return $form->response()->success('保存成功')->redirect('goods/'.$id.'/edit');
+            });
+
+            $form->disableViewButton();
+            $form->footer(function ($footer) {
+                // 去掉`查看`checkbox
+                $footer->disableViewCheck();
+                // 去掉`继续编辑`checkbox
+                $footer->disableEditingCheck();
+                // 去掉`继续创建`checkbox
+                $footer->disableCreatingCheck();
+            });
+        });
+    }
+}

+ 107 - 101
app/Admin/menu.php

xqd xqd xqd xqd xqd xqd
@@ -1,36 +1,36 @@
 <?php
-$lang = request()->session()->get('admin.config.lang')??'en';
+$lang = request()->session()->get('admin.config.lang') ?? 'en';
 return [
     /**
      * 用户中心
      * ------------------------------------------
      */
     [
-        'id'        => 8,
-        'title'     => trans('menu.User',[],$lang),
-        'icon'      => 'fa-user-circle-o',
-        'uri'       => 'users',
+        'id' => 8,
+        'title' => trans('menu.User', [], $lang),
+        'icon' => 'fa-user-circle-o',
+        'uri' => 'users',
         'parent_id' => 0,
     ],
     [
-        'id'        => 27,
-        'title'     => trans('menu.User_list',[],$lang),
-        'icon'      => '',
-        'uri'       => 'users',
+        'id' => 27,
+        'title' => trans('menu.User_list', [], $lang),
+        'icon' => '',
+        'uri' => 'users',
         'parent_id' => 8,
     ],
     [
-        'id'        => 28,
-        'title'     => trans('menu.User_auth',[],$lang),
-        'icon'      => '',
-        'uri'       => 'user_identify',
+        'id' => 28,
+        'title' => trans('menu.User_auth', [], $lang),
+        'icon' => '',
+        'uri' => 'user_identify',
         'parent_id' => 8,
     ],
     [
-        'id'        => 29,
-        'title'     => trans('menu.Course_user',[],$lang),
-        'icon'      => '',
-        'uri'       => 'course_user',
+        'id' => 29,
+        'title' => trans('menu.Course_user', [], $lang),
+        'icon' => '',
+        'uri' => 'course_user',
         'parent_id' => 8,
     ],
 
@@ -39,50 +39,36 @@ return [
      * ------------------------------------------
      */
     [
-        'id'        => 13,
-        'title'     => trans('menu.Course',[],$lang),
-        'icon'      => 'fa-university',
-        'uri'       => 'courses',
+        'id' => 13,
+        'title' => trans('menu.Course', [], $lang),
+        'icon' => 'fa-university',
+        'uri' => 'courses',
         'parent_id' => 0
     ],
-//    [
-//        'id'        => 30,
-//        'title'     => trans('menu.Course_list',[],$lang),
-//        'icon'      => '',
-//        'uri'       => 'courses',
-//        'parent_id' => 13
-//    ],
-//    [
-//        'id'        => 31,
-//        'title'     => trans('menu.Course_field',[],$lang),
-//        'icon'      => '',
-//        'uri'       => 'course_field',
-//        'parent_id' => 13
-//    ],
 
     /**
      * 球队管理
      * ------------------------------------------
      */
     [
-        'id'        => 22,
-        'title'     => trans('menu.Team',[],$lang),
-        'icon'      => 'fa-group',
-        'uri'       => '',
+        'id' => 22,
+        'title' => trans('menu.Team', [], $lang),
+        'icon' => 'fa-group',
+        'uri' => '',
         'parent_id' => 0
     ],
     [
-        'id'        => 31,
-        'title'     => trans('menu.Team_list',[],$lang),
-        'icon'      => '',
-        'uri'       => 'teams',
+        'id' => 31,
+        'title' => trans('menu.Team_list', [], $lang),
+        'icon' => '',
+        'uri' => 'teams',
         'parent_id' => 22,
     ],
     [
-        'id'        => 23,
-        'title'     => trans('menu.Team_photo',[],$lang),
-        'icon'      => '',
-        'uri'       => 'team_photos',
+        'id' => 23,
+        'title' => trans('menu.Team_photo', [], $lang),
+        'icon' => '',
+        'uri' => 'team_photos',
         'parent_id' => 22,
     ],
 
@@ -91,31 +77,31 @@ return [
      * ------------------------------------------
      */
     [
-        'id'        => 10,
-        'title'     => trans('menu.Games',[],$lang),
-        'icon'      => 'fa-soccer-ball-o',
-        'uri'       => 'games',
+        'id' => 10,
+        'title' => trans('menu.Games', [], $lang),
+        'icon' => 'fa-soccer-ball-o',
+        'uri' => 'games',
         'parent_id' => 0,
     ],
     [
-        'id'        => 20,
-        'title'     => trans('menu.Game_list',[],$lang),
-        'icon'      => '',
-        'uri'       => 'games',
+        'id' => 20,
+        'title' => trans('menu.Game_list', [], $lang),
+        'icon' => '',
+        'uri' => 'games',
         'parent_id' => 10,
     ],
     [
-        'id'        => 21,
-        'title'     => trans('menu.Game_type',[],$lang),
-        'icon'      => '',
-        'uri'       => 'game_types',
+        'id' => 21,
+        'title' => trans('menu.Game_type', [], $lang),
+        'icon' => '',
+        'uri' => 'game_types',
         'parent_id' => 10,
     ],
     [
-        'id'        => 26,
-        'title'     => trans('menu.Game_record',[],$lang),
-        'icon'      => '',
-        'uri'       => 'game_user_scores',
+        'id' => 26,
+        'title' => trans('menu.Game_record', [], $lang),
+        'icon' => '',
+        'uri' => 'game_user_scores',
         'parent_id' => 10,
     ],
 
@@ -124,10 +110,10 @@ return [
      * ------------------------------------------
      */
     [
-        'id'        => 9,
-        'title'     => trans('menu.Feeds',[],$lang),
-        'icon'      => 'fa-commenting-o',
-        'uri'       => 'feeds',
+        'id' => 9,
+        'title' => trans('menu.Feeds', [], $lang),
+        'icon' => 'fa-commenting-o',
+        'uri' => 'feeds',
         'parent_id' => 0,
     ],
 
@@ -136,31 +122,31 @@ return [
      * ------------------------------------------
      */
     [
-        'id'        => 11,
-        'title'     => trans('menu.Operation',[],$lang),
-        'icon'      => 'fa-list-alt',
-        'uri'       => 'operate',
+        'id' => 11,
+        'title' => trans('menu.Operation', [], $lang),
+        'icon' => 'fa-list-alt',
+        'uri' => 'operate',
         'parent_id' => 0,
     ],
     [
-        'id'        => 19,
-        'title'     =>trans('menu.Avatar',[],$lang),
-        'icon'      => '',
-        'uri'       => 'avatar',
+        'id' => 19,
+        'title' => trans('menu.Avatar', [], $lang),
+        'icon' => '',
+        'uri' => 'avatar',
         'parent_id' => 11,
     ],
     [
-        'id'        => 24,
-        'title'     => trans('menu.Feedback',[],$lang),
-        'icon'      => '',
-        'uri'       => 'feedback',
+        'id' => 24,
+        'title' => trans('menu.Feedback', [], $lang),
+        'icon' => '',
+        'uri' => 'feedback',
         'parent_id' => 11,
     ],
     [
-        'id'        => 25,
-        'title'     => trans('menu.Document',[],$lang),
-        'icon'      => '',
-        'uri'       => 'document',
+        'id' => 25,
+        'title' => trans('menu.Document', [], $lang),
+        'icon' => '',
+        'uri' => 'document',
         'parent_id' => 11,
     ],
 
@@ -169,34 +155,54 @@ return [
      * ------------------------------------------
      */
     [
-        'id'        => 18,
-        'title'     => trans('menu.Chat',[],$lang),
-        'icon'      => 'fa-comments',
-        'uri'       => '',
+        'id' => 18,
+        'title' => trans('menu.Chat', [], $lang),
+        'icon' => 'fa-comments',
+        'uri' => '',
         'parent_id' => 0,
-    ],[
-        'id'        => 16,
-        'title'     => trans('menu.chats',[],$lang),
-        'icon'      => '',
-        'uri'       => 'chat',
+    ], [
+        'id' => 16,
+        'title' => trans('menu.chats', [], $lang),
+        'icon' => '',
+        'uri' => 'chat',
         'parent_id' => 18,
-    ],[
-        'id'        => 17,
-        'title'     => trans('menu.chat_team',[],$lang),
-        'icon'      => '',
-        'uri'       => 'chat_team',
+    ], [
+        'id' => 17,
+        'title' => trans('menu.chat_team', [], $lang),
+        'icon' => '',
+        'uri' => 'chat_team',
         'parent_id' => 18,
     ],
 
+    /**
+     * 积分商品
+     * ------------------------------------------
+     */
+    [
+        'id' => 30,
+        'title' => trans('menu.Goods', [], $lang),
+        'icon' => 'fa-shopping-bag',
+        'uri' => '',
+        'parent_id' => 0
+    ],
+    [
+        'id' => 31,
+        'title' => trans('menu.Goods_list', [], $lang),
+        'icon' => '',
+        'uri' => 'goods',
+        'parent_id' => 30
+    ],
+
+
     /**
      * 系统配置
      * ------------------------------------------
      */
     [
-        'id'        => 12,
-        'title'     => trans('menu.Setting',[],$lang),
-        'icon'      => 'fa-gears',
-        'uri'       => 'setting',
+        'id' => 12,
+        'title' => trans('menu.Setting', [], $lang),
+        'icon' => 'fa-gears',
+        'uri' => 'setting',
         'parent_id' => 0
     ],
 

+ 2 - 0
app/Admin/routes.php

xqd
@@ -32,4 +32,6 @@ Route::group([
     $router->resource('/user_identify', 'UserIdentifyController');
     $router->resource('/course_user', 'CourseUserController');
 
+    $router->resource('/goods', 'GoodsController');
+
 });

+ 60 - 0
app/Models/BaseModel.php

xqd
@@ -0,0 +1,60 @@
+<?php
+
+namespace App\Models;
+
+use DateTimeInterface;
+use Illuminate\Database\Eloquent\Factories\HasFactory;
+use Illuminate\Database\Eloquent\Model;
+
+class BaseModel extends Model
+{
+    use HasFactory;
+
+    /**
+     * @param DateTimeInterface $date
+     * @return string
+     * 重写模型的serializeDate方法
+     * "created_at": "2022-05-11T14:31:02.000000Z", 格式变为 "created_at": "2022-05-11 14:45:25",
+     */
+    protected function serializeDate(DateTimeInterface $date)
+    {
+        return $date->format('Y-m-d H:i:s');
+    }
+
+    protected function getCreatedAtAttribute($value)
+    {
+        return date('Y-m-d H:i', strtotime($value));
+    }
+
+    protected function getUpdatedAtAttribute($value)
+    {
+        return date('Y-m-d H:i', strtotime($value));
+    }
+
+    protected function getDeletedAtAttribute($value)
+    {
+        return date('Y-m-d H:i', strtotime($value));
+    }
+
+    //去掉 created_at, updated_at, deleted_at
+    public static function formatData($data)
+    {
+        if(isset($data['created_at'])){
+            unset($data['created_at']);
+        }
+        if(isset($data['updated_at'])){
+            unset($data['updated_at']);
+        }
+        if(isset($data['deleted_at'])){
+            unset($data['deleted_at']);
+        }
+        return $data;
+    }
+
+    public function scopeNotDelete($query)
+    {
+        return $query->whereNull('deleted_at');
+    }
+
+
+}

+ 13 - 0
app/Models/Goods.php

xqd
@@ -0,0 +1,13 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Factories\HasFactory;
+use Illuminate\Database\Eloquent\Model;
+
+class Goods extends BaseModel
+{
+    use HasFactory;
+
+    protected $table = 'goods';
+}

+ 18 - 0
app/Models/GoodsAttr.php

xqd
@@ -0,0 +1,18 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Factories\HasFactory;
+use Illuminate\Database\Eloquent\Model;
+
+class GoodsAttr extends BaseModel
+{
+    use HasFactory;
+
+    const CREATED_AT = null;
+    const UPDATED_AT = null;
+
+    protected $fillable  = [
+        'goods_id', 'title', 'integral', 'pic_url', 'stock'
+    ];
+}

+ 44 - 12
dcat_admin_ide_helper.php

xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd xqd
@@ -81,13 +81,13 @@ namespace Dcat\Admin {
      * @property Grid\Column|Collection NextMsgSeq
      * @property Grid\Column|Collection course_id
      * @property Grid\Column|Collection hole_list
-     * @property Grid\Column|Collection course_field_id
      * @property Grid\Column|Collection par
      * @property Grid\Column|Collection difficulty
      * @property Grid\Column|Collection gold_dis
      * @property Grid\Column|Collection blue_dis
      * @property Grid\Column|Collection white_dis
      * @property Grid\Column|Collection red_dis
+     * @property Grid\Column|Collection course_field_id
      * @property Grid\Column|Collection member_name
      * @property Grid\Column|Collection member_no
      * @property Grid\Column|Collection whs
@@ -137,6 +137,16 @@ namespace Dcat\Admin {
      * @property Grid\Column|Collection forbid_join
      * @property Grid\Column|Collection lookers
      * @property Grid\Column|Collection members
+     * @property Grid\Column|Collection cover_imgs
+     * @property Grid\Column|Collection cat_id
+     * @property Grid\Column|Collection integral
+     * @property Grid\Column|Collection stock
+     * @property Grid\Column|Collection tag
+     * @property Grid\Column|Collection notice
+     * @property Grid\Column|Collection introduce
+     * @property Grid\Column|Collection is_recommend
+     * @property Grid\Column|Collection pic_url
+     * @property Grid\Column|Collection remark
      * @property Grid\Column|Collection zh_country
      * @property Grid\Column|Collection en_country
      * @property Grid\Column|Collection prefix
@@ -164,7 +174,6 @@ namespace Dcat\Admin {
      * @property Grid\Column|Collection allow_join
      * @property Grid\Column|Collection set_date
      * @property Grid\Column|Collection cover_img
-     * @property Grid\Column|Collection notice
      * @property Grid\Column|Collection notice_time
      * @property Grid\Column|Collection black_id
      * @property Grid\Column|Collection likes_count
@@ -194,7 +203,6 @@ namespace Dcat\Admin {
      * @property Grid\Column|Collection usga
      * @property Grid\Column|Collection ball_age
      * @property Grid\Column|Collection bg
-     * @property Grid\Column|Collection remark
      * @property Grid\Column|Collection is_auth
      * @property Grid\Column|Collection online
      * @property Grid\Column|Collection last_login_time
@@ -278,13 +286,13 @@ namespace Dcat\Admin {
      * @method Grid\Column|Collection NextMsgSeq(string $label = null)
      * @method Grid\Column|Collection course_id(string $label = null)
      * @method Grid\Column|Collection hole_list(string $label = null)
-     * @method Grid\Column|Collection course_field_id(string $label = null)
      * @method Grid\Column|Collection par(string $label = null)
      * @method Grid\Column|Collection difficulty(string $label = null)
      * @method Grid\Column|Collection gold_dis(string $label = null)
      * @method Grid\Column|Collection blue_dis(string $label = null)
      * @method Grid\Column|Collection white_dis(string $label = null)
      * @method Grid\Column|Collection red_dis(string $label = null)
+     * @method Grid\Column|Collection course_field_id(string $label = null)
      * @method Grid\Column|Collection member_name(string $label = null)
      * @method Grid\Column|Collection member_no(string $label = null)
      * @method Grid\Column|Collection whs(string $label = null)
@@ -334,6 +342,16 @@ namespace Dcat\Admin {
      * @method Grid\Column|Collection forbid_join(string $label = null)
      * @method Grid\Column|Collection lookers(string $label = null)
      * @method Grid\Column|Collection members(string $label = null)
+     * @method Grid\Column|Collection cover_imgs(string $label = null)
+     * @method Grid\Column|Collection cat_id(string $label = null)
+     * @method Grid\Column|Collection integral(string $label = null)
+     * @method Grid\Column|Collection stock(string $label = null)
+     * @method Grid\Column|Collection tag(string $label = null)
+     * @method Grid\Column|Collection notice(string $label = null)
+     * @method Grid\Column|Collection introduce(string $label = null)
+     * @method Grid\Column|Collection is_recommend(string $label = null)
+     * @method Grid\Column|Collection pic_url(string $label = null)
+     * @method Grid\Column|Collection remark(string $label = null)
      * @method Grid\Column|Collection zh_country(string $label = null)
      * @method Grid\Column|Collection en_country(string $label = null)
      * @method Grid\Column|Collection prefix(string $label = null)
@@ -361,7 +379,6 @@ namespace Dcat\Admin {
      * @method Grid\Column|Collection allow_join(string $label = null)
      * @method Grid\Column|Collection set_date(string $label = null)
      * @method Grid\Column|Collection cover_img(string $label = null)
-     * @method Grid\Column|Collection notice(string $label = null)
      * @method Grid\Column|Collection notice_time(string $label = null)
      * @method Grid\Column|Collection black_id(string $label = null)
      * @method Grid\Column|Collection likes_count(string $label = null)
@@ -391,7 +408,6 @@ namespace Dcat\Admin {
      * @method Grid\Column|Collection usga(string $label = null)
      * @method Grid\Column|Collection ball_age(string $label = null)
      * @method Grid\Column|Collection bg(string $label = null)
-     * @method Grid\Column|Collection remark(string $label = null)
      * @method Grid\Column|Collection is_auth(string $label = null)
      * @method Grid\Column|Collection online(string $label = null)
      * @method Grid\Column|Collection last_login_time(string $label = null)
@@ -480,13 +496,13 @@ namespace Dcat\Admin {
      * @property Show\Field|Collection NextMsgSeq
      * @property Show\Field|Collection course_id
      * @property Show\Field|Collection hole_list
-     * @property Show\Field|Collection course_field_id
      * @property Show\Field|Collection par
      * @property Show\Field|Collection difficulty
      * @property Show\Field|Collection gold_dis
      * @property Show\Field|Collection blue_dis
      * @property Show\Field|Collection white_dis
      * @property Show\Field|Collection red_dis
+     * @property Show\Field|Collection course_field_id
      * @property Show\Field|Collection member_name
      * @property Show\Field|Collection member_no
      * @property Show\Field|Collection whs
@@ -536,6 +552,16 @@ namespace Dcat\Admin {
      * @property Show\Field|Collection forbid_join
      * @property Show\Field|Collection lookers
      * @property Show\Field|Collection members
+     * @property Show\Field|Collection cover_imgs
+     * @property Show\Field|Collection cat_id
+     * @property Show\Field|Collection integral
+     * @property Show\Field|Collection stock
+     * @property Show\Field|Collection tag
+     * @property Show\Field|Collection notice
+     * @property Show\Field|Collection introduce
+     * @property Show\Field|Collection is_recommend
+     * @property Show\Field|Collection pic_url
+     * @property Show\Field|Collection remark
      * @property Show\Field|Collection zh_country
      * @property Show\Field|Collection en_country
      * @property Show\Field|Collection prefix
@@ -563,7 +589,6 @@ namespace Dcat\Admin {
      * @property Show\Field|Collection allow_join
      * @property Show\Field|Collection set_date
      * @property Show\Field|Collection cover_img
-     * @property Show\Field|Collection notice
      * @property Show\Field|Collection notice_time
      * @property Show\Field|Collection black_id
      * @property Show\Field|Collection likes_count
@@ -593,7 +618,6 @@ namespace Dcat\Admin {
      * @property Show\Field|Collection usga
      * @property Show\Field|Collection ball_age
      * @property Show\Field|Collection bg
-     * @property Show\Field|Collection remark
      * @property Show\Field|Collection is_auth
      * @property Show\Field|Collection online
      * @property Show\Field|Collection last_login_time
@@ -677,13 +701,13 @@ namespace Dcat\Admin {
      * @method Show\Field|Collection NextMsgSeq(string $label = null)
      * @method Show\Field|Collection course_id(string $label = null)
      * @method Show\Field|Collection hole_list(string $label = null)
-     * @method Show\Field|Collection course_field_id(string $label = null)
      * @method Show\Field|Collection par(string $label = null)
      * @method Show\Field|Collection difficulty(string $label = null)
      * @method Show\Field|Collection gold_dis(string $label = null)
      * @method Show\Field|Collection blue_dis(string $label = null)
      * @method Show\Field|Collection white_dis(string $label = null)
      * @method Show\Field|Collection red_dis(string $label = null)
+     * @method Show\Field|Collection course_field_id(string $label = null)
      * @method Show\Field|Collection member_name(string $label = null)
      * @method Show\Field|Collection member_no(string $label = null)
      * @method Show\Field|Collection whs(string $label = null)
@@ -733,6 +757,16 @@ namespace Dcat\Admin {
      * @method Show\Field|Collection forbid_join(string $label = null)
      * @method Show\Field|Collection lookers(string $label = null)
      * @method Show\Field|Collection members(string $label = null)
+     * @method Show\Field|Collection cover_imgs(string $label = null)
+     * @method Show\Field|Collection cat_id(string $label = null)
+     * @method Show\Field|Collection integral(string $label = null)
+     * @method Show\Field|Collection stock(string $label = null)
+     * @method Show\Field|Collection tag(string $label = null)
+     * @method Show\Field|Collection notice(string $label = null)
+     * @method Show\Field|Collection introduce(string $label = null)
+     * @method Show\Field|Collection is_recommend(string $label = null)
+     * @method Show\Field|Collection pic_url(string $label = null)
+     * @method Show\Field|Collection remark(string $label = null)
      * @method Show\Field|Collection zh_country(string $label = null)
      * @method Show\Field|Collection en_country(string $label = null)
      * @method Show\Field|Collection prefix(string $label = null)
@@ -760,7 +794,6 @@ namespace Dcat\Admin {
      * @method Show\Field|Collection allow_join(string $label = null)
      * @method Show\Field|Collection set_date(string $label = null)
      * @method Show\Field|Collection cover_img(string $label = null)
-     * @method Show\Field|Collection notice(string $label = null)
      * @method Show\Field|Collection notice_time(string $label = null)
      * @method Show\Field|Collection black_id(string $label = null)
      * @method Show\Field|Collection likes_count(string $label = null)
@@ -790,7 +823,6 @@ namespace Dcat\Admin {
      * @method Show\Field|Collection usga(string $label = null)
      * @method Show\Field|Collection ball_age(string $label = null)
      * @method Show\Field|Collection bg(string $label = null)
-     * @method Show\Field|Collection remark(string $label = null)
      * @method Show\Field|Collection is_auth(string $label = null)
      * @method Show\Field|Collection online(string $label = null)
      * @method Show\Field|Collection last_login_time(string $label = null)

+ 181 - 0
public/request.log

xqd
@@ -927,3 +927,184 @@
 2022-06-23 15:28:40---language-handle-
 2022-06-23 15:28:41---language-handle-
 2022-06-23 15:28:41---language-handle-
+2022-06-23 16:15:13---language-handle-
+2022-06-23 16:15:22---language-handle-
+2022-06-23 16:15:23---language-handle-
+2022-06-23 16:17:16---language-handle-
+2022-06-23 16:17:18---language-handle-
+2022-06-23 16:22:00---language-handle-
+2022-06-23 16:22:24---language-handle-
+2022-06-23 16:22:32---language-handle-
+2022-06-23 16:23:37---language-handle-
+2022-06-23 16:27:01---language-handle-
+2022-06-23 16:29:43---language-handle-
+2022-06-23 16:30:24---language-handle-
+2022-06-23 16:31:34---language-handle-
+2022-06-23 16:31:47---language-handle-
+2022-06-23 16:33:42---language-handle-
+2022-06-23 16:34:42---language-handle-
+2022-06-23 16:35:24---language-handle-
+2022-06-23 16:37:10---language-handle-
+2022-06-23 16:37:41---language-handle-
+2022-06-23 16:39:06---language-handle-
+2022-06-23 16:42:29---language-handle-
+2022-06-23 16:42:50---language-handle-
+2022-06-23 16:43:42---language-handle-
+2022-06-23 16:44:06---language-handle-
+2022-06-23 16:44:50---language-handle-
+2022-06-23 16:46:19---language-handle-
+2022-06-23 16:47:01---language-handle-
+2022-06-23 16:48:21---language-handle-
+2022-06-23 16:48:27---language-handle-
+2022-06-23 16:48:31---language-handle-
+2022-06-23 16:49:13---language-handle-
+2022-06-23 16:49:16---language-handle-
+2022-06-23 16:49:18---language-handle-
+2022-06-23 16:50:13---language-handle-
+2022-06-23 16:50:17---language-handle-
+2022-06-23 16:54:02---language-handle-
+2022-06-23 17:02:07---language-handle-
+2022-06-23 17:03:38---language-handle-
+2022-06-23 17:04:34---language-handle-
+2022-06-23 17:05:09---language-handle-
+2022-06-23 17:06:05---language-handle-
+2022-06-23 17:07:07---language-handle-
+2022-06-23 17:21:15---language-handle-
+2022-06-23 17:21:23---language-handle-
+2022-06-23 17:21:26---language-handle-
+2022-06-23 17:21:51---language-handle-
+2022-06-23 17:22:03---language-handle-
+2022-06-23 17:22:05---language-handle-
+2022-06-23 17:22:13---language-handle-
+2022-06-23 17:22:17---language-handle-
+2022-06-23 17:22:25---language-handle-
+2022-06-23 17:22:45---language-handle-
+2022-06-23 17:22:57---language-handle-
+2022-06-23 17:22:59---language-handle-
+2022-06-23 17:23:23---language-handle-
+2022-06-23 17:23:24---language-handle-
+2022-06-23 17:23:33---language-handle-
+2022-06-23 17:24:12---language-handle-
+2022-06-23 17:26:43---language-handle-
+2022-06-23 17:27:02---language-handle-
+2022-06-23 17:27:13---language-handle-
+2022-06-23 17:27:16---language-handle-
+2022-06-23 17:27:37---language-handle-
+2022-06-23 17:27:39---language-handle-
+2022-06-23 17:31:30---language-handle-
+2022-06-23 17:31:57---language-handle-
+2022-06-23 17:32:41---language-handle-
+2022-06-23 17:33:10---language-handle-
+2022-06-23 17:33:37---language-handle-
+2022-06-23 17:37:23---language-handle-
+2022-06-23 17:37:44---language-handle-
+2022-06-23 17:38:19---language-handle-
+2022-06-23 17:59:13---language-handle-
+2022-06-23 19:14:55---language-handle-
+2022-06-23 19:15:02---language-handle-
+2022-06-23 19:16:12---language-handle-
+2022-06-23 19:17:43---language-handle-
+2022-06-23 19:19:30---language-handle-
+2022-06-24 11:22:44---language-handle-
+2022-06-24 11:22:52---language-handle-
+2022-06-24 11:22:58---language-handle-
+2022-06-24 11:22:58---language-handle-
+2022-06-24 11:22:58---language-handle-
+2022-06-24 11:22:58---language-handle-
+2022-06-24 11:22:59---language-handle-
+2022-06-24 11:22:59---language-handle-
+2022-06-24 11:22:59---language-handle-
+2022-06-24 11:23:00---language-handle-
+2022-06-24 11:31:48---language-handle-
+2022-06-24 11:31:51---language-handle-
+2022-06-24 11:31:51---language-handle-
+2022-06-24 11:31:51---language-handle-
+2022-06-24 11:31:51---language-handle-
+2022-06-24 11:31:51---language-handle-
+2022-06-24 11:31:51---language-handle-
+2022-06-24 11:31:52---language-handle-
+2022-06-24 11:31:52---language-handle-
+2022-06-24 11:31:52---language-handle-
+2022-06-24 11:31:56---language-handle-
+2022-06-24 11:31:57---language-handle-
+2022-06-24 11:31:59---language-handle-
+2022-06-24 11:31:59---language-handle-
+2022-06-24 11:31:59---language-handle-
+2022-06-24 11:31:59---language-handle-
+2022-06-24 11:31:59---language-handle-
+2022-06-24 11:32:00---language-handle-
+2022-06-24 11:32:00---language-handle-
+2022-06-24 11:32:48---language-handle-
+2022-06-24 11:33:03---language-handle-
+2022-06-24 11:33:11---language-handle-
+2022-06-24 11:33:16---language-handle-
+2022-06-24 11:33:20---language-handle-
+2022-06-24 11:33:31---language-handle-
+2022-06-24 11:33:34---language-handle-
+2022-06-24 11:33:36---language-handle-
+2022-06-24 11:33:38---language-handle-
+2022-06-24 11:34:12---language-handle-
+2022-06-24 11:34:16---language-handle-
+2022-06-24 11:34:50---language-handle-
+2022-06-24 11:35:12---language-handle-
+2022-06-24 11:41:11---language-handle-
+2022-06-24 11:41:38---language-handle-
+2022-06-24 11:41:54---language-handle-
+2022-06-24 11:44:27---language-handle-
+2022-06-24 11:44:47---language-handle-
+2022-06-24 11:53:15---language-handle-
+2022-06-24 12:01:03---language-handle-
+2022-06-24 12:05:44---language-handle-
+2022-06-24 12:06:02---language-handle-
+2022-06-24 12:06:13---language-handle-
+2022-06-24 12:06:43---language-handle-
+2022-06-24 13:32:59---language-handle-
+2022-06-24 13:34:34---language-handle-
+2022-06-24 13:35:26---language-handle-
+2022-06-24 13:35:52---language-handle-
+2022-06-24 13:36:15---language-handle-
+2022-06-24 13:36:36---language-handle-
+2022-06-24 13:37:09---language-handle-
+2022-06-24 13:37:57---language-handle-
+2022-06-24 13:39:09---language-handle-
+2022-06-24 13:39:26---language-handle-
+2022-06-24 15:21:47---language-handle-
+2022-06-24 15:21:50---language-handle-
+2022-06-24 15:21:54---language-handle-
+2022-06-24 15:22:08---language-handle-
+2022-06-24 15:22:09---language-handle-
+2022-06-24 15:22:13---language-handle-
+2022-06-24 15:23:31---language-handle-
+2022-06-24 15:23:36---language-handle-
+2022-06-24 15:24:23---language-handle-
+2022-06-24 15:24:26---language-handle-
+2022-06-24 15:25:02---language-handle-
+2022-06-24 15:25:05---language-handle-
+2022-06-24 15:25:48---language-handle-
+2022-06-24 15:25:55---language-handle-
+2022-06-24 15:27:35---language-handle-
+2022-06-24 15:28:01---language-handle-
+2022-06-24 15:28:31---language-handle-
+2022-06-24 15:28:32---language-handle-
+2022-06-24 15:28:57---language-handle-
+2022-06-24 15:28:58---language-handle-
+2022-06-24 15:33:17---language-handle-
+2022-06-24 15:33:45---language-handle-
+2022-06-24 15:33:48---language-handle-
+2022-06-24 15:34:05---language-handle-
+2022-06-24 15:34:08---language-handle-
+2022-06-24 15:34:11---language-handle-
+2022-06-24 15:34:13---language-handle-
+2022-06-24 15:36:06---language-handle-
+2022-06-24 15:36:08---language-handle-
+2022-06-24 15:39:51---language-handle-
+2022-06-24 15:40:11---language-handle-
+2022-06-24 15:40:12---language-handle-
+2022-06-24 15:41:17---language-handle-
+2022-06-24 15:41:19---language-handle-
+2022-06-24 15:41:52---language-handle-
+2022-06-24 15:41:55---language-handle-
+2022-06-24 15:41:57---language-handle-
+2022-06-24 15:41:59---language-handle-
+2022-06-24 15:42:31---language-handle-
+2022-06-24 15:42:32---language-handle-

+ 21 - 0
resources/lang/en/goods.php

xqd
@@ -0,0 +1,21 @@
+<?php
+return [
+    'labels' => [
+        'Goods' => '商品',
+        'goods' => '商品',
+    ],
+    'fields' => [
+        'name' => 'Name',
+        'img' => 'Image',
+        'cover_imgs' => 'Cover images',
+        'cat_id' => 'catgory',
+        'integral' => 'Need integral',
+        'stock' => 'Stock',
+        'introduce' => 'Introduce',
+        'is_recommend' => 'Recommend?',
+        'status' => 'Status?',
+        'specific' => 'Specifications',
+    ],
+    'options' => [
+    ],
+];

+ 21 - 0
resources/lang/zh/goods.php

xqd
@@ -0,0 +1,21 @@
+<?php 
+return [
+    'labels' => [
+        'Good' => '积分商品',
+        'good' => '积分商品',
+    ],
+    'fields' => [
+        'name' => '商品名',
+        'img' => '图片',
+        'cover_imgs' => '封面图',
+        'cat_id' => '分类',
+        'integral' => '兑换积分',
+        'stock' => '库存',
+        'introduce' => '介绍',
+        'is_recommend' => '推荐?',
+        'status' => '上架?',
+        'specific' => '规格',
+    ],
+    'options' => [
+    ],
+];

+ 2 - 0
resources/lang/zh/menu.php

xqd
@@ -39,6 +39,8 @@ return [
     'chats'=>'单聊列表',
     'chat_team'=>'群聊列表',
     'Setting'=>'系统配置',
+    'Goods'=>'积分商品',
+    'Goods_list'=>'商品列表',
 
     'Site_settings'=>'网站设置',
 ];