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', }, ];