owenmelbz / vue-impersonate
Laravel 5.5+ 辅助工具和 VueJS 2 组件,用于 lab404/laravel-impersonate
Requires
README
此包添加了一个简单的前端组件,作为自包含的 Vuejs 2 组件编写,允许用户通过 https://github.com/404labfr/laravel-impersonate 提供的 API 容易地模拟他人。
预览
用法
-
通过 composer 安装
composer require owenmelbz/vue-impersonate -
注册服务提供者(如果自动发现不起作用) - 通常在
app.php提供者数组中完成,例如OwenMelbz\VueImpersonate\VueImpersonateServiceProvider::class -
有 3 个可发布的组件 - 唯一必需的组件是 JavaScript,您可以使用
php artisan vendor:publish发布它,然后选择vue-impersonate-javascript (必需)。这将复制 .vue 组件到resources/js/components/vue-impersonate.vue- 您可以随意移动它。 -
然后,您必须在您的 JavaScript 捆绑中包含该组件,通常通过入口点如
app.js实现,例如Vue.component('vue-impersonate', require('./components/vue-impersonate.vue')); -
发布后,您应该确保已正确设置 laravel-impersonate,包括正确的特质、方法和路由以允许模拟。
-
一旦设置好 laravel-impersonate,您应在模板中包含 blade 指令
@vueImpersonate- 它应位于您的 Vuejs 容器内,例如#app- 它只为具有canImpersonate权限的用户渲染。
配置
显示名称
您可以通过更改已发布的配置中的 display_name_field 来更改下拉菜单中显示的内容 - 您可以使用访问器/突变器或普通数据库列。
自定义 Vue 指令
如果您想将组件重命名为 vue-impersonate,则必须通过 php artisan vendor:publish 发布配置文件,并在配置中更改 custom_directive 参数。
自定义用户提供者
默认情况下,Laravel 使用提供者来登录用户,这定义在 config/auth.php 中,然后在 providers 数组中。我们使用您定义的提供者中 model 属性中定义的类。默认情况下,它被称为 users,因此我们还将使用配置的类来在前端填充用户列表。
自定义用户列表
如果您想更精细地控制哪些用户显示在下拉菜单中,您可以设置自己的路由并在 custom_route 中定义它,我们将使用它来显示用户。您必须返回一个包含至少一个 id 和 display_name 字段的用户对象的 JSON 数组。例如
[ { id: 12, display_name: 'User X :: user.x@gmail.com', }, { id: 14, display_name: 'User Y :: user.y@gmail.com', }, ];
