owenmelbz/vue-impersonate

Laravel 5.5+ 辅助工具和 VueJS 2 组件,用于 lab404/laravel-impersonate

0.0.6 2021-04-08 14:07 UTC

This package is auto-updated.

Last update: 2024-09-08 21:38:47 UTC


README

此包添加了一个简单的前端组件,作为自包含的 Vuejs 2 组件编写,允许用户通过 https://github.com/404labfr/laravel-impersonate 提供的 API 容易地模拟他人。

预览

Preview

用法

  1. 通过 composer 安装 composer require owenmelbz/vue-impersonate

  2. 注册服务提供者(如果自动发现不起作用) - 通常在 app.php 提供者数组中完成,例如 OwenMelbz\VueImpersonate\VueImpersonateServiceProvider::class

  3. 有 3 个可发布的组件 - 唯一必需的组件是 JavaScript,您可以使用 php artisan vendor:publish 发布它,然后选择 vue-impersonate-javascript (必需)。这将复制 .vue 组件到 resources/js/components/vue-impersonate.vue - 您可以随意移动它。

  4. 然后,您必须在您的 JavaScript 捆绑中包含该组件,通常通过入口点如 app.js 实现,例如 Vue.component('vue-impersonate', require('./components/vue-impersonate.vue'));

  5. 发布后,您应该确保已正确设置 laravel-impersonate,包括正确的特质、方法和路由以允许模拟。

  6. 一旦设置好 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 中定义它,我们将使用它来显示用户。您必须返回一个包含至少一个 iddisplay_name 字段的用户对象的 JSON 数组。例如

[
    {
        id: 12,
        display_name: 'User X :: user.x@gmail.com',
    },
    {
        id: 14,
        display_name: 'User Y :: user.y@gmail.com',
    },
];