service = new UserService(); } /** * 列表页面 * * @return Grid */ protected function grid() { return Grid::make(new UserRepository(['info']), function (Grid $grid) { $helper = new GridHelper($grid, $this); // 使用高复用价值的列方法 $helper->columnUserInfo(); // 组合列,显示用户ID、用户名和头像 $helper->columnUserContact('phone', 'email', 'wx_id'); // 组合列,显示联系方式 // 添加用户资金账户信息 $helper->columnUserFunds(); // 添加用户物品信息 $helper->columnUserItems(); // 添加用户土地信息 $helper->columnUserLands(); // 添加用户神像buff信息 $helper->columnUserBuffs(); // 添加用户种植作物信息 $helper->columnUserCrops(); $helper->columnTimes(); // 组合列,显示创建和更新时间 // 行操作 $grid->actions(function (Grid\Displayers\Actions $actions){ // 禁用删除按钮 $actions->disableDelete(); // 添加修改密码操作 $actions->append(new ChangePasswordAction()); // 添加相关页面链接操作 $actions->append(new UserRelatedPagesAction()); }); // 筛选器 $grid->filter(function (Grid\Filter $filter) { $helper = new FilterHelper($filter, $this); $helper->equalUserId(); $helper->equal('username','手机号码'); // 手机号筛选 $helper->likeEmail(); // 邮箱筛选 }); }); } /** * 详情页面 * * @param mixed $id * @return Show */ protected function detail($id) { return Show::make($id, new UserRepository(), function (Show $show) { $helper = new ShowHelper($show, $this); // 使用高复用价值的面板方法 $helper->show->divider('基本信息'); $helper->fieldUserId(); $helper->fieldUsername(); $helper->show->field('nickname', '昵称'); $helper->fieldAvatar(); $helper->fieldStatus(); $helper->show->divider('联系信息'); $helper->show->field('phone', '手机号'); $helper->show->field('email', '邮箱'); $helper->show->field('wx_id', '微信号'); $helper->show->divider('安全信息'); $helper->fieldSecretPassword(); $helper->show->field('last_check_at', '最后验证时间'); $helper->show->divider('时间信息'); $helper->show->field('created_at', '创建时间'); $helper->show->field('updated_at', '更新时间'); $helper->show->field('deleted_at', '删除时间'); // 显示其他特殊字段 $show->field('google2fa_secret', 'Google双因素密钥'); }); } /** * 表单页面 * * @return Form */ protected function form() { return Form::make(new UserRepository(), function (Form $form) { $form->display('id', 'ID'); // 用户基本信息 $form->text('username', '用户名') ->required() ->rules('required|max:100'); $form->password('password', '密码') ->help('不修改请留空') ->saving(function ($value) { if ($value) { return \Illuminate\Support\Facades\Hash::make($value); } }); $form->radio('status2', '状态') ->options([ STATUS2::Normal->value => '正常', STATUS2::Restrict->value => '限制登录', STATUS2::Ban->value => '封禁', STATUS2::Hidden->value => '隐藏账户', STATUS2::Deleteing->value => '删除中', ]) ->default(STATUS2::Normal->value); // 添加其他特殊字段 $form->text('google2fa_secret', 'Google双因素密钥'); $form->display('created_at', '创建时间'); $form->display('updated_at', '更新时间'); }); } }